목차 일부
CONTENTS
Chapter 1 The Building Blocks ... 1
1.1 Starting Mathematica ... 1
1.2 Arithmetic Operations ... 2
1.2.1 Arithmetic Operations ... 2
1.2.2 Complex Numbers ... 5
1.3 Assigni...
더보기
목차 전체
CONTENTS
Chapter 1 The Building Blocks ... 1
1.1 Starting Mathematica ... 1
1.2 Arithmetic Operations ... 2
1.2.1 Arithmetic Operations ... 2
1.2.2 Complex Numbers ... 5
1.3 Assigning Values to Symbols ... 8
1.3.1 Assigning Values to Variables ... 8
1.3.2 Defining Functions ... 13
1.3.3 Storing Expressions in Lists ... 14
1.4 Internal Representation ... 15
1.4.1 The Impression ... 16
1.4.2 The Atomic Types ... 17
1.4.3 Changing Heads and Evaluation ... 19
1.4.4 Compound Expressions ... 21
1.4.5 Position (or Part) and Level Specifications ... 22
1.5 Programming ... 32
1.5.1 Programming Constructs ... 32
1.5.2 Pure Functions ... 37
1.5.3 Iteration Functions ... 42
1.6 Patterns ... 49
l.6.l Patterns in Function Definitions ... 49
1.6.2 Common Patterns ... 53
1.6.3 Conditions on Patterns ... 57
1.6.4 Strings ... 58
1.6.5 Functions With a Variable Number of Arguments ... 59
1.7 Replacement Rules ... 62
1.7.1 Immediate versus Delayed Replacements ... 62
1.7.2 Repeated Rule Application ... 70
1.7.3 What Parts Do Rules Transform? ... 73
1.7.4 When Does a Pattern Match? ... 76
1.8 Getting Information on Commands and Variables ... 78
Chapter 2 Working with Lists ... 83
2.1 The Listable Attribute of Built-in Functions ... 84
2.2 Accessing Parts of Lists ... 90
2.3 Creating Lists ... 95
Chapter 3 Graphics ... 107
3.1 Graphics Overview ... 108
3.1.1 Graphics Functions and Objects ... 108
3.2 Plotting Functions ... 113
3.2.1 X-Y Plots ... 114
3.2.2 Evaluation in Function Plotting Functions ... 117
3.2.3 Multiple Plots in One Graphic ... 125
3.2.4 Using Options to Adjust the Plot ... 130
3.2.5 Density Plots ... 137
3.2.6 Contour Plots ... 139
3.2.7 3-D Surface Plots ... 143
3.2.8 Parametric Plots ... 145
3.3 Plotting Data ... 147
3.3.1 Plotting a List of Data Points ... 147
3.3.2 Three Diswrisional Data Plots ... 155
3.3.3 Conversion of Graphics Objects ... 164
3.3.4 2-D Pixel Graphics ... 165
3.4 Graphics Programming ... 167
3.4.1 Creating Graphics Objects from Graphics Primitives ... 168
3.4.2 Writing Your Own 3-D Data Graphing Function ... 174
3.4.3 Graphics Programming Using Packages ... 176
3.5 Animating Graphics: Mathematica ticii Movies ... 183
3.6 Sound ... 185
Chapter 4 Scoping Construct ... 187
4.1 Local Variables ... 187
4.1.1 Scoping of Symbols ... 188
4.1.2 Scoping of Values of Symbols ... 196
4.1.3 Scoping of Patterns ... 200
4.2 Performance Considerations ... 201
Chapter 5 Functions ... 205
5.1 Defining Functions ... 206
5.2 Evaluation of Function Arguments ... 227
5.3 Functions that Call Other Functions ... 233
5.4 Delayed vs. Immediate Assignment ... 241
5.5 Splicing-In Function Arguments ... 245
5.6 Functions that Remember Their Values ... 247
5.7 Pure Functions ... 248
5.8 Attributes ... 256
5.9 Values Associated with Symbols ... 263
5.10 Variable Scope in Function Definitions ... 273
5.11 Complex Variables ... 275
5.12 Compiled Functions ... 290
5.13 Piecewise Continuous Functions ... 294
Chapter 6 Symbolic Calculation ... 299
6.1 Operations with Polynomials ... 299
6.2 Rational Expressions ... 303
6.3 Differentiation ... 307
6.3.1 Partial Derivative ... 308
6.3.2 Total Derivative ... 310
6.4 Integration ... 314
6.4.1 Indefinite Integration ... 314
6.4.2 Definite Integration ... 317
6.4.3 Line Integrals ... 318
6.4.4 Contour Integration ... 323
6.4.5 Multiple Integrals ... 328
6.5 Power Series ... 329
6.6 Equations ... 336
6.6.1 Solving Equations ... 336
6.6.2 Solving Matrix Equations ... 342
6.6.3 Converting Linear Equations to a Matrix Equation ... 343
6.7 Simplifying Algebraic Expressions Using Patterns ... 347
6.8 Working with Units ... 355
Chapter 7 Numerical Calculations ... 359
7.1 Types of Numbers ... 360
7.2 Precision and Accuracy ... 361
7.3 Numerical Functions ... 369
7.3.1 Root Finding ... 369
7.3.2 Finding the Minimum of a Function ... 379
7.3.3 Numerical Integration ... 381
7.3.4 Line Integration ... 389
7.3.5 Contour Integration ... 390
7.3.6 Sums and Products ... 392
7.3.7 Interpolation Functions ... 395
7.4 Assigning Numerical Values to Symbols ... 402
7.5 Protecting Eunclion Arguments from N[] ... 407
Chapter 8 Vectors, Matrices, and Tensors ... 411
8.1 Linear Algebra ... 412
8.1.1 Vector and Matrix Algebra ... 413
8.1.2 Creating Vectors and Matrices ... 420
8.1.3 Operations on Vectors and Matrices ... 424
8.1.4 Symbolic Versus Numerical Computation ... 436
8.1.5 Solution of Linear Systems ot Equations ... 440
8.1.5 Case Study : Eigenvalues of Hermitian Matrix ... 448
8.2 Vector Field Theory ... 455
8.2.1 \etVector-Analysis ... 455
8.2.2 Electromagnetic Waves in an Anisotropic Medium ... 463
8.3 Cartesian Tensors and Spinors ... 480
8.3.1 Built-in Functions for Cartesian Tensors ... 481
8.3.2 Elastic Waves in a Piezoelectric Crystal ... 493
8.3.3 Spinors ... 509
8.4 General Tensors: MathTensor ... 519
8.4.1 Introduction to MathTensor ... 521
8.4.2 Schwarzschild Metric: Riemann Squared Curvature Invariant ... 533
Chapter 9 Differential Equations ... 541
9.1 Automatic Symbolic Solution ... 542
9.2 Variation of Parameters ... 552
9.3 Series Approximations ... 562
Transforming a Differential Equation ... 573
9.4 Solution by Laplace Transforms ... 578
9.5 Numerical Solution ... 585
9.6 Perturbation Solution ... 594
Chapter 10 Boundary Value Problems ... 603
10.1 Analytic Solution ... 604
10.1.1 Inhomogeneous Boundary Value Problem ... 604
10.1.2 Sturm-Liouville Eigenvalue Problem: Schrodinger Equation of a Particle in a Box ... 607
10.2 Shooting Methods ... 620
10.2.1 Simple Shooting Method ... 620
10.2.2 Shooting to a Fitting Point ... 624
10.3 Finite Difference Method ... 638
10.3.1 A Mathematica Tutorial ... 639
10.3.2 Inhomogeneous Boundary Value Problems ... 644
10.3.3 Eigenvalue Problems ... 650
Chapter 11 Input and Output ... 659
11.1 Output Formats ... 660
11.2 Input and Output of Expressions: Path and Current Directory ... 663
11.3 Input and Output of Graphics and Large Expressions ... 668
11.4 Reading and Writing Files ... 676
11.4.1 Low-level Output to Files ... 677
11.4.2 Low-level Input from Files ... 683
11.4.3 Using Options with Read and ReadList ... 694
11.5 Formatting Numbers ... 698
11.6 Writing Numbers to a File in "e" Format ... 704
11.7 Writing Lists to a File as Arrays ... 713
11.8 Working with Binary Files ... 718
11.8.1 Communicating with FORTRAN ... 719
11.8.2 Communicating with C ... 724
11.9 Working with Files and Directories ... 728
11.9.1 Manipulating Files and Directories ... 729
11.9.2 Converting a DOS Text File to UNIX Format ... 732
11.10 Strings as Streams ... 736
11.11 Input from the Keyboard ... 738
11.12 Defining Print Formats ... 739
Chapter 12 Running Malhematica ... 745
12.1 Various Ways to Run Mathematica ... 745
12.2 Running from a Command Line ... 747
12.3 Reading Expressions from a File ... 750
12.4 Running Mathcmatica in Background ... 751
12.4.1 Input from a File ... 753
12.4.2 Running a Notebook in Background ... 753
12.5 Logging Your Session ... 754
Chapter 13 Mathematica Packages ... 757
13.1 Using Packages ... 757
13.2 Contexts and Context Search Path ... 763
13.3 Motivation for Contexts ... 771
13.4 Writing a Package ... 776
13.5 A Context Scratch Pad ... 778
13.6 Practical Programming ... 784
Chapter 14 Introduction to MathLink Communication ... 789
14.1 Calling C from Mathematics ... 791
14.1.1 Installing an External C Function ... 792
14.1.2 Lists as Arguments and Return Values ... 798
14.1.3 Matrices as Arguments and Return Values ... 802
14.2 Calling FORTRAN from Mathematica ... 813
14.2.1 Calling a FORTRAN Subroutine from C ... 813
14.2.2 Installing a Simple FORTRAN Subroutine ... 817
14.2.3 Installing FORTRAN Matrix Multiplication Subroutine ... 820
Appendix: The Mathematica System ... 831
A.1 Kernel and Front End ... 831
A.2 Mathematica Input ... 833
Index ... 835
더보기 닫기