목차
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
닫기