SlideShare a Scribd company logo
1 of 176
Download to read offline
1
PROGRAMMING
MAXIMA
Arun Umrao
www.sdmsacademy.in
DRAFT COPY - GPL LICENSING
2
Contents
I Modelica Commands 17
1 Maxima Core 19
1.1 Mathematical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.1.1 Factorial Symbol (!) . . . . . . . . . . . . . . . . . . . . . 19
1.1.2 Double Factorial Symbol (!!) . . . . . . . . . . . . . . . . 19
1.1.3 Termination of Line (;) . . . . . . . . . . . . . . . . . . . 20
1.1.4 Negation of Expression (#) . . . . . . . . . . . . . . . . . 20
1.1.5 Evaluate Internally & No Output ($) . . . . . . . . . . . . 20
1.1.6 Do Not Execute Function (’) . . . . . . . . . . . . . . . . 20
1.1.7 Re-evaluation of Specific Input (“) . . . . . . . . . . . . . 21
1.1.8 Variable Assigning Operator (:) . . . . . . . . . . . . . . . 21
1.1.9 Operator Assigner (::) . . . . . . . . . . . . . . . . . . . . 21
1.1.10 Macro Function Definition Operator (::=) . . . . . . . . . 22
1.1.11 Function Operator (:=) . . . . . . . . . . . . . . . . . . . 22
1.1.12 Sum Operator (+) . . . . . . . . . . . . . . . . . . . . . . 23
1.1.13 Subtraction Operator (-) . . . . . . . . . . . . . . . . . . . 23
1.1.14 Product Operator (*) . . . . . . . . . . . . . . . . . . . . 24
1.1.15 Division Operator (/) . . . . . . . . . . . . . . . . . . . . 24
1.1.16 Exponential Operator (ˆ) . . . . . . . . . . . . . . . . . . 25
1.1.17 Equal Operator (=) . . . . . . . . . . . . . . . . . . . . . 26
1.1.18 Less Than Operator (<) . . . . . . . . . . . . . . . . . . . 26
1.1.19 Grater Than Operator (>) . . . . . . . . . . . . . . . . . 26
1.1.20 Less Than or Equals To Operator (<=) . . . . . . . . . . 27
1.1.21 Greater Than or Equals To Operator (>=) . . . . . . . . 27
1.1.22 Lisp Name (?) . . . . . . . . . . . . . . . . . . . . . . . . 27
1.1.23 A List ([ ... ]) . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.1.24 Call Last Garbage (%) . . . . . . . . . . . . . . . . . . . . 28
1.1.25 Previous Statement (%%) . . . . . . . . . . . . . . . . . . 28
1.1.26 Exponential (%e) . . . . . . . . . . . . . . . . . . . . . . . 28
1.1.27 %e to numlog . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.1.28 Negative Exponent as a Quotient (%edispflag) . . . . . . 29
1.1.29 Demoivre Mode (%emode) . . . . . . . . . . . . . . . . . 29
1.1.30 Exponential Numerical (%enumer) . . . . . . . . . . . . . 29
1.1.31 Gamma Constant (%gamma) . . . . . . . . . . . . . . . . 30
3
4 CONTENTS
1.1.32 Pi Value (%pi) . . . . . . . . . . . . . . . . . . . . . . . . 30
1.1.33 Previous Output (%th) . . . . . . . . . . . . . . . . . . . 30
1.1.34 Most Recent Expression ( ) . . . . . . . . . . . . . . . . . 30
1.1.35 Display String (disp) . . . . . . . . . . . . . . . . . . . . . 30
1.2 Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.2.1 Error (error) . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.2.2 Error Size (error size) . . . . . . . . . . . . . . . . . . . . 31
1.2.3 Error Symbol (error syms) . . . . . . . . . . . . . . . . . 31
1.2.4 Error Message (errormsg) . . . . . . . . . . . . . . . . . . 31
1.2.5 Debug Mode Maxima (debugmode) . . . . . . . . . . . . 32
1.2.6 Show Examples (example) . . . . . . . . . . . . . . . . . . 32
1.2.7 Set Numerical Precision (fpprec) . . . . . . . . . . . . . . 32
1.2.8 Toggle to Floating Point (numer) . . . . . . . . . . . . . . 32
1.3 Procedural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.3.1 Interrupt Maxima (kill) . . . . . . . . . . . . . . . . . . . 33
1.3.2 Modes of Variables (mode declare) . . . . . . . . . . . . . 33
1.3.3 Evaluate & Print Expression (print) . . . . . . . . . . . . 34
1.3.4 Labels (labels) . . . . . . . . . . . . . . . . . . . . . . . . 34
1.3.5 Line Number (linenum) . . . . . . . . . . . . . . . . . . . 34
1.3.6 List of Options (myoptions) . . . . . . . . . . . . . . . . . 34
1.3.7 Ordinary Base (obase) . . . . . . . . . . . . . . . . . . . . 34
1.3.8 Print the Reset Option (optionset) . . . . . . . . . . . . . 35
1.3.9 Play Previous Garbage (playback) . . . . . . . . . . . . . 35
1.3.10 Prompting Symbol (prompt) . . . . . . . . . . . . . . . . 35
1.3.11 Quit the Session (quit) . . . . . . . . . . . . . . . . . . . . 35
1.3.12 Rationalized Print (ratprint) . . . . . . . . . . . . . . . . 35
1.3.13 Enter into Lisp System (to lisp) . . . . . . . . . . . . . . . 35
1.3.14 Call Functions of Current Session (backtrace) . . . . . . . 36
1.3.15 Break Maxima Evaluation (break) . . . . . . . . . . . . . 36
1.3.16 Bug Reporting Info (bug report) . . . . . . . . . . . . . . 36
1.3.17 Build Information (build info) . . . . . . . . . . . . . . . . 36
1.3.18 Debug Mode (debugmode) . . . . . . . . . . . . . . . . . 36
1.3.19 Show Evaluation Time (showtime) . . . . . . . . . . . . . 36
1.3.20 Evaluation Time (time) . . . . . . . . . . . . . . . . . . . 36
1.3.21 Promp & Read (read) . . . . . . . . . . . . . . . . . . . . 37
1.3.22 testsuite files . . . . . . . . . . . . . . . . . . . . . . . . . 37
1.3.23 Test The Maxim (run testsuite) . . . . . . . . . . . . . . . 37
1.3.24 Read Function Without Evaluation (readonly) . . . . . . 37
1.3.25 Activate Contexts (activate) . . . . . . . . . . . . . . . . . 38
1.3.26 List of Activated Contexts (activecontexts) . . . . . . . . 38
1.3.27 Additive Function (additive) . . . . . . . . . . . . . . . . 38
1.3.28 Alternative Name for Function (alias) . . . . . . . . . . . 38
1.3.29 Declare String as Alphabic (alphabetic) . . . . . . . . . . 38
1.3.30 Arguments In Expression (args) . . . . . . . . . . . . . . . 38
1.3.31 Atomic Expression (atom) . . . . . . . . . . . . . . . . . . 38
1.3.32 Declare a Function Antisymmetric (antisymmetric) . . . . 39
CONTENTS 5
1.3.33 Check The Integer Type (askinteger) . . . . . . . . . . . . 39
1.3.34 Retrive User Property (get) . . . . . . . . . . . . . . . . . 39
1.3.35 Declare Variable as Integer (integer) . . . . . . . . . . . . 39
1.3.36 Declare Variable as Non-Integer (noninteger) . . . . . . . 40
1.3.37 Integer Variabe (integervalued) . . . . . . . . . . . . . . . 40
1.3.38 Query for Sign of Expression (asksign) . . . . . . . . . . . 40
1.3.39 Declare Variables (assume) . . . . . . . . . . . . . . . . . 40
1.3.40 Declare Variable as Positive (assume pos) . . . . . . . . . 41
1.3.41 Declare As Communative Function (commutative) . . . . 41
1.3.42 Compare Expression (compare) . . . . . . . . . . . . . . . 41
1.3.43 Context (context) . . . . . . . . . . . . . . . . . . . . . . 41
1.3.44 Contexts (contexts) . . . . . . . . . . . . . . . . . . . . . 41
1.3.45 Deactivate Context (deactivate) . . . . . . . . . . . . . . . 41
1.3.46 Delcaration Statement (declare) . . . . . . . . . . . . . . 41
1.4 Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
1.4.1 Declare As Decreasing Function (decreasing) . . . . . . . 42
1.4.2 Declare As Increasing Function (increasing) . . . . . . . . 42
1.4.3 Declare Variable as Even Variable (even) . . . . . . . . . 42
1.4.4 Declare Variable as Odd Variable (odd) . . . . . . . . . . 42
1.4.5 Variable As a Constant (constant) . . . . . . . . . . . . . 42
1.4.6 Check a Constant (constantp) . . . . . . . . . . . . . . . . 42
1.4.7 Get Features (featurep) . . . . . . . . . . . . . . . . . . . 43
1.4.8 Set Feature (features) . . . . . . . . . . . . . . . . . . . . 43
1.4.9 Status (is) . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
1.4.10 Kill Contextx (killcontext) . . . . . . . . . . . . . . . . . 43
1.4.11 Simplify as Left-Associative (lassociative) . . . . . . . . . 43
1.4.12 Recognize Function as N-Array (nary) . . . . . . . . . . . 44
1.4.13 Maximum Negative Expansion (maxnegex) . . . . . . . . 44
1.4.14 Match Declaration (matchdeclare) . . . . . . . . . . . . . 44
1.4.15 Simplify as Multiplicative (multiplicative) . . . . . . . . . 44
1.4.16 Multiply Two Expression (multthru) . . . . . . . . . . . . 44
1.4.17 Negative Distribution (negdistrib) . . . . . . . . . . . . . 44
1.4.18 Create New Context (newcontext) . . . . . . . . . . . . . 45
1.4.19 Numerical Value of Variable (numerval) . . . . . . . . . . 45
1.4.20 Pull Out Constant Term (outative) . . . . . . . . . . . . . 45
1.4.21 Positive Function (posfun) . . . . . . . . . . . . . . . . . . 45
1.4.22 Properties of Atom (properties) . . . . . . . . . . . . . . . 45
1.4.23 Assign a Value to Property (put) . . . . . . . . . . . . . . 46
1.4.24 Simplify as Right-Associative (rassociative) . . . . . . . . 46
1.4.25 Declare Variable as Irrational Variable (irrational) . . . . 46
1.4.26 Declare Variable as Irrational Variable (rational) . . . . . 46
1.4.27 Declare Variable as Complex Variable (complex) . . . . . 46
1.4.28 Declare Variable as Imaginary Variable (imaginary) . . . 46
1.4.29 Declare Variable as Real Variable (real) . . . . . . . . . . 47
1.4.30 Remove Indicator From Atom (rem) . . . . . . . . . . . . 47
1.4.31 Remove Property (remove) . . . . . . . . . . . . . . . . . 47
6 CONTENTS
1.4.32 Scalar Value (scalar) . . . . . . . . . . . . . . . . . . . . . 47
1.4.33 Sign of Expression (sign) . . . . . . . . . . . . . . . . . . 47
1.4.34 Declare Variable as Symetric Function (symmetric) . . . . 48
2 Numeric Evaluation 49
2.1 Number Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.1.1 Big Float (bffac) . . . . . . . . . . . . . . . . . . . . . . . 49
2.1.2 Big Float Zeta Function (bfhzeta) . . . . . . . . . . . . . 49
2.1.3 Convert to Big Float (bfloat) . . . . . . . . . . . . . . . . 49
2.1.4 Is Big Float (bfloatp) . . . . . . . . . . . . . . . . . . . . 50
2.1.5 Digamma Big Float Function (bfpsi) & (bfpsi0) . . . . . . 50
2.1.6 Big Float to Rational Number (bftorat) . . . . . . . . . . 50
2.1.7 Truncate Big Float (bftrunc) . . . . . . . . . . . . . . . . 50
2.1.8 Big Float Zeta Function (bfzeta) . . . . . . . . . . . . . . 50
2.1.9 Complex Big Float (cbffac) . . . . . . . . . . . . . . . . . 50
2.1.10 Floating Point (float) . . . . . . . . . . . . . . . . . . . . 51
2.1.11 Float to Big Float (float2bf) . . . . . . . . . . . . . . . . 51
2.1.12 Is Floating Number (floatnump) . . . . . . . . . . . . . . 51
2.1.13 Float Point Precision (fpprec) . . . . . . . . . . . . . . . . 51
2.1.14 Float Point Print Precission (fpprintprec) . . . . . . . . . 51
2.1.15 Keep Float Points (keepfloat) . . . . . . . . . . . . . . . . 51
2.1.16 Numerical Solution (numer) . . . . . . . . . . . . . . . . . 51
2.1.17 Numerical Power of Negative Integer (numer pbranch) . . 52
2.1.18 Number to Variables (numerval) . . . . . . . . . . . . . . 52
2.1.19 Tolerance in Floating Point (ratepsilon) . . . . . . . . . . 52
2.1.20 Rationalize (rationalize) . . . . . . . . . . . . . . . . . . . 52
2.1.21 Is Rational Number (ratnump) . . . . . . . . . . . . . . . 53
2.1.22 Print Message Rational (ratprint) . . . . . . . . . . . . . 53
2.1.23 Numerical Status (stats numer) . . . . . . . . . . . . . . . 53
3 Conditions 55
3.1 Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.1.1 If Statement (if) . . . . . . . . . . . . . . . . . . . . . . . 55
3.1.2 If-Else Statement (if-else) . . . . . . . . . . . . . . . . . . 56
3.2 Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.2.1 For Statement (for) . . . . . . . . . . . . . . . . . . . . . 56
3.2.2 Do Statement (do) . . . . . . . . . . . . . . . . . . . . . . 57
3.2.3 While Statement (while) . . . . . . . . . . . . . . . . . . . 57
4 Arithmetic 59
4.1 Arithmatic Functions . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.1.1 Absolute Number (abs) . . . . . . . . . . . . . . . . . . . 59
4.1.2 Summation of Terms (sum) . . . . . . . . . . . . . . . . . 59
4.1.3 Numerical Summation of Terms (nusum) . . . . . . . . . 60
4.1.4 Numerical Factor of Algebraic Fraction (numfactor) . . . 60
4.1.5 Product of Terms (product) . . . . . . . . . . . . . . . . . 61
CONTENTS 7
4.1.6 Maximum Value (max) . . . . . . . . . . . . . . . . . . . 61
4.1.7 Minimum Value (min) . . . . . . . . . . . . . . . . . . . . 61
4.1.8 Modulo (mod) . . . . . . . . . . . . . . . . . . . . . . . . 62
4.1.9 Square Root (sqrt) . . . . . . . . . . . . . . . . . . . . . . 62
4.1.10 Sorting Elements (sort) . . . . . . . . . . . . . . . . . . . 62
4.1.11 Simplification Environment (simp) . . . . . . . . . . . . . 62
5 Algebra 63
5.1 Linear Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.1.1 Algebraic Evaluation (algebraic) . . . . . . . . . . . . . . 63
5.1.2 Solving Linear Equation (solve) . . . . . . . . . . . . . . . 63
5.1.3 Simplify Logs, Exponent & Radicals (radcan) . . . . . . . 64
5.1.4 Radical Expansion (radexpand) . . . . . . . . . . . . . . . 64
5.1.5 Rational Simplification (ratsimp) . . . . . . . . . . . . . . 64
5.1.6 Rationalized Simplification Flag (ratsimpexpons) . . . . . 65
5.1.7 Evaluation of Expression in Environment (ev) . . . . . . . 65
5.1.8 Evaluation of Expression (eval) . . . . . . . . . . . . . . . 66
5.1.9 Expansion of Algebraic Relations (expand) . . . . . . . . 66
5.2 Inequality & Polynomial . . . . . . . . . . . . . . . . . . . . . . . 66
5.2.1 Equality (equal) . . . . . . . . . . . . . . . . . . . . . . . 66
5.2.2 Inequality (notequal) . . . . . . . . . . . . . . . . . . . . . 67
5.2.3 Solve Algebraic Polynomials (algsys) . . . . . . . . . . . . 67
5.2.4 Solve Linear Equations (linsolve) . . . . . . . . . . . . . . 68
5.2.5 Check The Stat Of Database (is) . . . . . . . . . . . . . . 68
5.2.6 Check The Stat Of Database (maybe) . . . . . . . . . . . 68
5.2.7 Algebraic Substitution (subst) . . . . . . . . . . . . . . . 69
6 Logarithm 71
6.0.8 Expoential (exp) . . . . . . . . . . . . . . . . . . . . . . . 71
6.0.9 Logarithm (log) . . . . . . . . . . . . . . . . . . . . . . . . 71
6.0.10 Absolute Logarithm (logabs) . . . . . . . . . . . . . . . . 71
6.0.11 Arc Logarithm (logarc) . . . . . . . . . . . . . . . . . . . 71
6.0.12 logconcoeffp . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.0.13 logcontract . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.0.14 Logarithmic Expansion (logexpand) . . . . . . . . . . . . 71
6.0.15 lognegint . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.0.16 Logarithmic Numerical Value (lognumer) . . . . . . . . . 71
6.0.17 Logarithmic Simplification (logsimp) . . . . . . . . . . . . 71
7 Calculus 73
7.1 Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
7.1.1 Finding Limit (limit) . . . . . . . . . . . . . . . . . . . . . 73
7.1.2 Limit Substitution (limsubst) . . . . . . . . . . . . . . . . 73
7.1.3 Limit By Taylor Series (tlimit) . . . . . . . . . . . . . . . 73
7.1.4 Taylor Limit Switch (tlimswitch) . . . . . . . . . . . . . . 74
7.2 Derivative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
8 CONTENTS
7.2.1 Derivative of a Function (diff) . . . . . . . . . . . . . . . . 74
7.2.2 Partial Drivative (gradef) . . . . . . . . . . . . . . . . . . 76
7.2.3 Total Differential (del) . . . . . . . . . . . . . . . . . . . . 76
7.2.4 Dependence of Function (depends) . . . . . . . . . . . . . 77
7.2.5 Show Dependencies (dependencies) . . . . . . . . . . . . . 77
7.2.6 Notation of Derivative (derivabbrev) . . . . . . . . . . . . 77
7.2.7 Value of Function at a Point (atvalue) . . . . . . . . . . . 78
7.2.8 Degree of Derivative (derivdegree) . . . . . . . . . . . . . 78
7.2.9 Partial Derivative (express) . . . . . . . . . . . . . . . . . 79
7.2.10 Selective Derivative (derivlist) . . . . . . . . . . . . . . . . 79
7.2.11 Substitution in Derivatives (derivsubst) . . . . . . . . . . 79
7.3 Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
7.3.1 Anti Derivative of a Function (integrate) . . . . . . . . . . 79
7.3.2 Changing The Variable (changevar) . . . . . . . . . . . . 80
7.3.3 Double Integration (dblint) . . . . . . . . . . . . . . . . . 80
8 Ordinary Differential Equation 83
8.1 Boundary Value Problems . . . . . . . . . . . . . . . . . . . . . . 83
8.1.1 Boundary Value Problem (bc2) . . . . . . . . . . . . . . . 83
8.1.2 Linear Ordinary Differential Equations (desolve) . . . . . 84
8.1.3 Initial Value Problem of First Order (ic1) . . . . . . . . . 84
8.1.4 Initial Value Problem of Second Order (ic2) . . . . . . . . 85
8.2 ODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
8.2.1 Ordinary Deferential Equation of Second Order (ode2) . . 85
9 Trigonometric 87
9.1 Trigonometric Functions . . . . . . . . . . . . . . . . . . . . . . . 87
9.1.1 Sine (sin) . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
9.1.2 Cosine (cos) . . . . . . . . . . . . . . . . . . . . . . . . . . 87
9.1.3 Tangent (tan) . . . . . . . . . . . . . . . . . . . . . . . . . 88
9.1.4 Cotangent (cot) . . . . . . . . . . . . . . . . . . . . . . . . 88
9.1.5 Secant (sec) . . . . . . . . . . . . . . . . . . . . . . . . . . 89
9.1.6 Cosecant (cosec) . . . . . . . . . . . . . . . . . . . . . . . 89
9.2 Hyperbolic Trigonometric Functions . . . . . . . . . . . . . . . . 89
9.2.1 Hyperbolic Sine (sinh) . . . . . . . . . . . . . . . . . . . . 89
9.2.2 Hyperbolic Cosine (cosh) . . . . . . . . . . . . . . . . . . 90
9.2.3 Hyperbolic Tangent (tanh) . . . . . . . . . . . . . . . . . 90
9.2.4 Hyperbolic Cotangent (coth) . . . . . . . . . . . . . . . . 90
9.2.5 Hyperbolic Secant (sech) . . . . . . . . . . . . . . . . . . 91
9.2.6 Hyperbolic Cosecant (csch) . . . . . . . . . . . . . . . . . 91
9.3 Inverse Trigonometric Functions . . . . . . . . . . . . . . . . . . 91
9.3.1 Inverse Sine (asin) . . . . . . . . . . . . . . . . . . . . . . 91
9.3.2 Inverse Cosine (acos) . . . . . . . . . . . . . . . . . . . . . 91
9.3.3 Inverse Tangent (atan) . . . . . . . . . . . . . . . . . . . . 92
9.3.4 Inverse Tangent Type Two (atan2) . . . . . . . . . . . . . 92
9.3.5 Inverse Cotangent (acot) . . . . . . . . . . . . . . . . . . . 92
CONTENTS 9
9.3.6 Inverse Secant (asec) . . . . . . . . . . . . . . . . . . . . . 93
9.3.7 Inverse Cosecant (acsc) . . . . . . . . . . . . . . . . . . . 93
9.4 Inverse Hyperbolic Trigonometric Functions . . . . . . . . . . . . 93
9.4.1 Inverse Hyperbolic Sine (asinh) . . . . . . . . . . . . . . . 93
9.4.2 Inverse Hyperbolic Cosine (acosh) . . . . . . . . . . . . . 94
9.4.3 Inverse Hyperbolic Tangent (atanh) . . . . . . . . . . . . 94
9.4.4 Inverse Hyperbolic Cotangent (acoth) . . . . . . . . . . . 95
9.4.5 Inverse Hyperbolic Secant (asech) . . . . . . . . . . . . . 95
9.4.6 Inverse Hyperbolic Cosecant (acsch) . . . . . . . . . . . . 95
9.5 Trigonometric Identities . . . . . . . . . . . . . . . . . . . . . . . 96
9.5.1 Half Angle (halfangles) . . . . . . . . . . . . . . . . . . . 96
9.5.2 Expansion of Trigonometric Functions (trigexpand) . . . . 96
9.5.3 Sum of Arguments (trigexpandplus) . . . . . . . . . . . . 97
9.5.4 Product of Arguments (trigexpandtimes) . . . . . . . . . 97
9.5.5 Inverse Sequence Flag (triginverses) . . . . . . . . . . . . 98
9.5.6 Expansion of Rational Fractions (trigrat) . . . . . . . . . 98
9.5.7 Reduce Trigonometric Expressions (trigreduce) . . . . . . 99
9.5.8 Negative Arguments Simplification (trigsign) . . . . . . . 99
9.5.9 Trigonometric Simplification (trigsimp) . . . . . . . . . . 99
9.5.10 Demoivre Expansion (demoivre) . . . . . . . . . . . . . . 99
10 Matrix 101
10.1 Mathematical Operaton . . . . . . . . . . . . . . . . . . . . . . . 101
10.1.1 Matrix (matrix) . . . . . . . . . . . . . . . . . . . . . . . 101
10.1.2 Scalar Addition of Matrices (+) . . . . . . . . . . . . . . . 101
10.1.3 Scalar Subtraction of Matrices (-) . . . . . . . . . . . . . 102
10.1.4 Scalar Multiplication of Matrices (*) . . . . . . . . . . . . 102
10.1.5 Scalar Division of Matrix (/) . . . . . . . . . . . . . . . . 103
10.1.6 Exponent of Matrix (ˆ) . . . . . . . . . . . . . . . . . . . 103
10.1.7 Matrix Dot Product (.) . . . . . . . . . . . . . . . . . . . 104
10.2 Inverse of Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
10.2.1 Invert of Matrix Elements (Aˆ-1) . . . . . . . . . . . . . . 105
10.2.2 Inverse of a Matrix (Aˆˆ-1) . . . . . . . . . . . . . . . . . 105
10.2.3 Append Columns (addcol) . . . . . . . . . . . . . . . . . . 105
10.2.4 Append Rows (addrow) . . . . . . . . . . . . . . . . . . . 106
10.2.5 Ajoint of Matrix (adjoint) . . . . . . . . . . . . . . . . . . 106
10.2.6 Augmented Matrix (augcoefmatrix) . . . . . . . . . . . . 106
10.2.7 Cauchy Matrix (cauchy matrix) . . . . . . . . . . . . . . . 107
10.2.8 Characteristics Polynomial (charpoly) . . . . . . . . . . . 108
10.2.9 Coefficient Matrix (coefmatrix) . . . . . . . . . . . . . . . 108
10.2.10Columns of Matrix (col) . . . . . . . . . . . . . . . . . . . 108
10.2.11Column Vectors (columnvector) . . . . . . . . . . . . . . . 109
10.2.12Copy Matrix (copymatrix) . . . . . . . . . . . . . . . . . . 109
10.2.13Determinant Of Matrix (determinant) . . . . . . . . . . . 109
10.2.14Determinant As Fraction (detout) . . . . . . . . . . . . . 109
10.2.15Diagonal Matrix (diagmatrix) . . . . . . . . . . . . . . . . 110
10 CONTENTS
10.2.16Do All Matrix Operations (doallmxops) . . . . . . . . . . 110
10.2.17Do Exponent Operations (domxexpt) . . . . . . . . . . . 110
10.2.18Do Matrix-Matrix Operations (domxmxops) . . . . . . . . 110
10.2.19Do Matrix Products (domxnctimes) . . . . . . . . . . . . 110
10.2.20Do Not Factorize (dontfactor) . . . . . . . . . . . . . . . . 110
10.2.21Do Scalar Matrix Operations (doscmxops) . . . . . . . . . 111
10.2.22Do Scalar Matrix Operation as Matrix (doscmxplus) . . . 111
10.2.23Product of Zero & Non-Scalar Term (dot0nscsimp) . . . . 111
10.2.24Product of Zero & Scalar Term (dot0simp) . . . . . . . . 111
10.2.25Product of One & Other Term (dot1simp) . . . . . . . . . 111
10.2.26Associative of Dot Product (dotassoc) . . . . . . . . . . . 111
10.2.27Product of Constant & Other Term (dotconstrules) . . . . 111
10.2.28Distribution in Dot Product (dotdistrib) . . . . . . . . . . 111
10.2.29Simplified to Exponent (dotexptsimp) . . . . . . . . . . . 111
10.2.30Zero Exponsnt (dotident) . . . . . . . . . . . . . . . . . . 112
10.2.31Dot Screw Rules (dotscrules) . . . . . . . . . . . . . . . . 112
10.3 Matrix Characteristics . . . . . . . . . . . . . . . . . . . . . . . . 112
10.3.1 Echelon Form of Matrix (echelon) . . . . . . . . . . . . . 112
10.3.2 Eigenvalues (eivals) . . . . . . . . . . . . . . . . . . . . . . 112
10.3.3 Eigenvectors (eivects) . . . . . . . . . . . . . . . . . . . . 113
10.3.4 Except Matrix (ematrix) . . . . . . . . . . . . . . . . . . . 113
10.3.5 User Matrix (entermatrix) . . . . . . . . . . . . . . . . . . 113
10.3.6 Generate Matrix (genmatrix) . . . . . . . . . . . . . . . . 114
10.3.7 Identity Matrix (ident) . . . . . . . . . . . . . . . . . . . . 114
10.3.8 Inverse Matrix (invert) . . . . . . . . . . . . . . . . . . . . 114
10.3.9 List Elements of Matrix (list matrix entries) . . . . . . . 115
10.3.10Left Side Delimiter (lmxchar) . . . . . . . . . . . . . . . . 115
10.3.11Right Side Delimiter (rmxchar) . . . . . . . . . . . . . . . 115
10.3.12Adjoin Matrix (adjoin) . . . . . . . . . . . . . . . . . . . . 115
10.3.13Transpose of a Matrix (transpose) . . . . . . . . . . . . . 115
10.3.14Mapping of Matrix (matrixmap) . . . . . . . . . . . . . . 116
10.3.15Expression As Matrix (matrixp) . . . . . . . . . . . . . . 116
10.3.16Trace of Matrix (mattrace) . . . . . . . . . . . . . . . . . 116
10.3.17Minor of Matrix (minor) . . . . . . . . . . . . . . . . . . . 116
10.3.18Determinant of Matrix (newdet) . . . . . . . . . . . . . . 117
10.3.19Permanent of Matrix (permanent) . . . . . . . . . . . . . 117
10.3.20Rank of Matrix (rank) . . . . . . . . . . . . . . . . . . . . 117
10.3.21Rationalize to Matrix (ratmx) . . . . . . . . . . . . . . . . 117
10.3.22Row of Matrix (row) . . . . . . . . . . . . . . . . . . . . . 117
10.3.23Solve To Scalar Matrix (scalarmatrixp) . . . . . . . . . . 118
10.3.24Sub Matrix (submatrix) . . . . . . . . . . . . . . . . . . . 118
10.3.25Triangularization of Matrix (triangularize) . . . . . . . . . 118
10.3.26Zero Matix (zeromatrix) . . . . . . . . . . . . . . . . . . . 118
10.3.27Matrix Element Transpose (matrix element transpose) . . 118
10.3.28Matrix Element Multiplication (matrix element mult) . . 119
10.3.29Matrix Element Addition (matrix element add) . . . . . . 119
CONTENTS 11
10.4 Solution of Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . 119
11 Array 121
12 Special Functions 123
12.1 airy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
12.1.1 airy ai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
12.1.2 airy bi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
12.1.3 airy dai . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
12.1.4 airy dbi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
12.2 Bessel Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
12.2.1 Bessel Function of First Kind (bessel j) . . . . . . . . . . 123
12.2.2 Bessel Function of Second Kind (bessel y) . . . . . . . . . 124
12.2.3 Hyperbolic Bessel Function of First Kind (bessel i) . . . . 124
12.2.4 Hyperbolic Bessel Function of Second Kind (bessel k) . . 125
12.2.5 Expansion of Bessel Function (besselexpand) . . . . . . . 125
12.3 Beta Function (beta) . . . . . . . . . . . . . . . . . . . . . . . . . 125
12.4 Gamma Function (gamma) . . . . . . . . . . . . . . . . . . . . . 126
12.5 Euler Function (euler) . . . . . . . . . . . . . . . . . . . . . . . . 126
12.6 Error Function (erf) . . . . . . . . . . . . . . . . . . . . . . . . . 127
12.7 Laplace Transform (laplace) . . . . . . . . . . . . . . . . . . . . . 127
12.7.1 Inverse Laplace Transform (ilt) . . . . . . . . . . . . . . . 127
12.8 Lagrange Polynomial (lagrange) . . . . . . . . . . . . . . . . . . . 128
12.9 Laguerre Polynomial (laguerre) . . . . . . . . . . . . . . . . . . . 128
12.10Legendre Polynomial . . . . . . . . . . . . . . . . . . . . . . . . . 128
12.10.1Legendre Polynomial of First Kind(legendre p) . . . . . . 129
12.10.2Legendre Polynomial of Second Kind(legendre q) . . . . . 129
12.11Jacobians . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
12.11.1jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
12.11.2jacobi cd . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
12.11.3jacobi cn . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
12.11.4jacobi cs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
12.11.5jacobi dc . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
12.11.6jacobi dn . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
12.11.7jacobi ds . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
12.11.8jacobi nc . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
12.11.9jacobi nd . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
12.11.10
jacobi ns . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
12.11.11
jacobi p . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
12.11.12
jacobi sc . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
12.11.13
jacobi sd . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
12.11.14
jacobi sn . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
12.11.15
inverse jacobi cd . . . . . . . . . . . . . . . . . . . . . . . 130
12.11.16
inverse jacobi cn . . . . . . . . . . . . . . . . . . . . . . . 130
12.11.17
inverse jacobi cs . . . . . . . . . . . . . . . . . . . . . . . 130
12.11.18
inverse jacobi dc . . . . . . . . . . . . . . . . . . . . . . . 130
12 CONTENTS
12.11.19
inverse jacobi dn . . . . . . . . . . . . . . . . . . . . . . . 130
12.11.20
inverse jacobi ds . . . . . . . . . . . . . . . . . . . . . . . 130
12.11.21
inverse jacobi nc . . . . . . . . . . . . . . . . . . . . . . . 130
12.11.22
inverse jacobi nd . . . . . . . . . . . . . . . . . . . . . . . 130
12.11.23
inverse jacobi ns . . . . . . . . . . . . . . . . . . . . . . . 130
12.11.24
inverse jacobi sc . . . . . . . . . . . . . . . . . . . . . . . 130
12.11.25
inverse jacobi sd . . . . . . . . . . . . . . . . . . . . . . . 130
12.11.26
inverse jacobi sn . . . . . . . . . . . . . . . . . . . . . . . 130
12.12fourier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
12.12.1fourint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
12.12.2fourintcos . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
12.12.3fourintsin . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
12.12.4foursimp . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
12.12.5foursin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
12.13elliptic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
12.13.1elliptic e . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
12.13.2elliptic ec . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
12.13.3elliptic eu . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
12.13.4elliptic f . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
12.13.5elliptic kc . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
12.13.6elliptic pi . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
13 Graphics 131
13.1 Contour Plot (contour plot) . . . . . . . . . . . . . . . . . . . . . 131
13.2 Plotting 2D Plot (plot2d) . . . . . . . . . . . . . . . . . . . . . . 132
13.3 Three Dimensional Plotting (plot3d) . . . . . . . . . . . . . . . . 133
13.4 Finding Plot Options (plot options) . . . . . . . . . . . . . . . . 133
13.5 Set Plot Options (set plot option) . . . . . . . . . . . . . . . . . 135
13.6 Spherical To Cartesian (spherical to xyz) . . . . . . . . . . . . . 136
14 Binary Operations 137
14.1 AND Operation (and) . . . . . . . . . . . . . . . . . . . . . . . . 137
14.2 OR Operation (or) . . . . . . . . . . . . . . . . . . . . . . . . . . 137
14.3 NOT Operation (not) . . . . . . . . . . . . . . . . . . . . . . . . 137
15 File Operations 139
15.1 Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
15.1.1 Append Console Transcript to File (appendfile) . . . . . . 139
15.1.2 Read File & Evaluate (batch) . . . . . . . . . . . . . . . . 139
15.1.3 Type of File (file type) . . . . . . . . . . . . . . . . . . . . 139
15.1.4 Evaluation From File From Directory (load) . . . . . . . . 140
15.1.5 Evaluation From File (loadfile) . . . . . . . . . . . . . . . 140
15.1.6 File Load Path Name (load pathname) . . . . . . . . . . . 140
15.1.7 File Load Print Message (loadprint) . . . . . . . . . . . . 140
15.1.8 Show File Contents In Console (printfile) . . . . . . . . . 140
15.1.9 Evaluates Expression From File (batchload) . . . . . . . . 140
CONTENTS 13
15.2 Writing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
15.2.1 Write Transcript in File (writefile) . . . . . . . . . . . . . 141
15.2.2 Write Expressions to File (stringout) . . . . . . . . . . . . 141
15.2.3 file output append . . . . . . . . . . . . . . . . . . . . . . 141
15.2.4 Write Output To a File (with stdout) . . . . . . . . . . . 141
15.2.5 Save A File (save) . . . . . . . . . . . . . . . . . . . . . . 142
15.2.6 Close Opened File (closefile) . . . . . . . . . . . . . . . . 142
15.3 Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
15.3.1 file search . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
15.3.2 file search demo . . . . . . . . . . . . . . . . . . . . . . . 143
15.3.3 file search maxima . . . . . . . . . . . . . . . . . . . . . . 143
15.3.4 file search usage . . . . . . . . . . . . . . . . . . . . . . . 143
15.3.5 file search lisp . . . . . . . . . . . . . . . . . . . . . . . . . 143
15.3.6 file search tests . . . . . . . . . . . . . . . . . . . . . . . . 144
15.3.7 file type lisp . . . . . . . . . . . . . . . . . . . . . . . . . . 144
15.4 Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
15.4.1 file type maxima . . . . . . . . . . . . . . . . . . . . . . . 144
15.4.2 pathname directory . . . . . . . . . . . . . . . . . . . . . 144
15.4.3 pathname name . . . . . . . . . . . . . . . . . . . . . . . 144
15.4.4 pathname type . . . . . . . . . . . . . . . . . . . . . . . . 145
16 Polynomial 147
16.1 Roots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
16.1.1 All Roots of Polynomial (allroots) . . . . . . . . . . . . . 147
16.1.2 All Big Float Roots of Polynomial (bfallroots) . . . . . . 147
16.1.3 All Roots Within Limits (nroots) . . . . . . . . . . . . . . 148
16.1.4 Nth Root of Base (nthroot) . . . . . . . . . . . . . . . . . 148
16.1.5 Real Roots (realroots) . . . . . . . . . . . . . . . . . . . . 148
16.2 Factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
16.2.1 Separation of Coefficients (bothcoef) . . . . . . . . . . . . 149
16.2.2 Coefficient of Term (coeff) . . . . . . . . . . . . . . . . . . 149
16.2.3 Divide Expression (divide) . . . . . . . . . . . . . . . . . . 149
16.2.4 Eliminate Variables (eliminate) . . . . . . . . . . . . . . . 150
16.2.5 Factor of Expression (factor) . . . . . . . . . . . . . . . . 150
16.2.6 Rearrange Factors (factorout) . . . . . . . . . . . . . . . . 151
16.2.7 Rearrange Factors of Sum (factorsum) . . . . . . . . . . . 151
16.2.8 Greatest Common Divisor (gcd) . . . . . . . . . . . . . . 151
16.2.9 Greatest Common Divisor (gcdex) . . . . . . . . . . . . . 152
16.2.10Gaussian Factor (gfactor) . . . . . . . . . . . . . . . . . . 152
16.2.11Highest Power (hipow) . . . . . . . . . . . . . . . . . . . . 152
16.2.12Lowest Power (lopow) . . . . . . . . . . . . . . . . . . . . 152
16.2.13Return The Coefficient (ratcoef) . . . . . . . . . . . . . . 152
16.2.14Remainder (remainder) . . . . . . . . . . . . . . . . . . . 153
16.3 Expansion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
16.3.1 rat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
16.3.2 Return Denominator (ratdenom) . . . . . . . . . . . . . . 153
14 CONTENTS
16.3.3 Expand Ratio (ratdenomdivide) . . . . . . . . . . . . . . 153
16.3.4 Derivative of Rational Number (ratdiff) . . . . . . . . . . 153
16.3.5 Rational Expansion (ratexpand) . . . . . . . . . . . . . . 153
16.3.6 Rational Factor (ratfac) . . . . . . . . . . . . . . . . . . . 153
16.3.7 Is Rational (ratp) . . . . . . . . . . . . . . . . . . . . . . . 153
16.3.8 Rational Simplification (ratsimp) . . . . . . . . . . . . . . 154
16.3.9 Simplify Rational Exponent (ratsimpexpons) . . . . . . . 154
16.3.10Rational Substitution (ratsubst) . . . . . . . . . . . . . . 154
16.3.11Resultant (resultant) . . . . . . . . . . . . . . . . . . . . . 154
17 power series 155
17.1 Binomial Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
17.1.1 Define Taylor Function (deftaylor) . . . . . . . . . . . . . 155
17.1.2 Max Taylor Order (maxtayorder) . . . . . . . . . . . . . . 155
17.1.3 Power Series (powerseries) . . . . . . . . . . . . . . . . . . 155
17.1.4 Taylor Series (taylor) . . . . . . . . . . . . . . . . . . . . . 156
17.1.5 taylor logexpand . . . . . . . . . . . . . . . . . . . . . . . 156
17.1.6 taylor order coefficients . . . . . . . . . . . . . . . . . . . 157
17.1.7 taylor simplifier . . . . . . . . . . . . . . . . . . . . . . . . 157
17.1.8 taylor truncate polynomials . . . . . . . . . . . . . . . . . 157
17.1.9 Depth of Taylor Terms (taylordepth) . . . . . . . . . . . . 157
17.1.10Info of Taylor Series (taylorinfo) . . . . . . . . . . . . . . 157
17.1.11Check Series as Taylor (taylorp) . . . . . . . . . . . . . . 157
17.1.12Print Power Series Message (verbose) . . . . . . . . . . . 157
17.1.13Integer to Poisson (intopois) . . . . . . . . . . . . . . . . 157
17.1.14outofpois . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
17.2 Poisson Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
17.2.1 Poisson Differentiation (poisdiff) . . . . . . . . . . . . . . 158
17.2.2 Poisson Exponent (poisexpt) . . . . . . . . . . . . . . . . 158
17.2.3 Poisson Integration (poisint) . . . . . . . . . . . . . . . . 158
17.2.4 Poisson Limit (poislim) . . . . . . . . . . . . . . . . . . . 158
17.2.5 Poisson Plus (poisplus) . . . . . . . . . . . . . . . . . . . 159
17.2.6 Poisson Simplification (poissimp) . . . . . . . . . . . . . . 159
17.2.7 Poisson Substitution (poissubst) . . . . . . . . . . . . . . 159
17.2.8 Poisson Multiplicaiton (poistimes) . . . . . . . . . . . . . 159
17.2.9 Print Poisson Series (printpois) . . . . . . . . . . . . . . . 159
18 Sets 161
18.1 Properties of Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
18.1.1 Distinct Elements of The Set (cardinality) . . . . . . . . . 161
18.1.2 Disjoin of Sets (disjoin) . . . . . . . . . . . . . . . . . . . 161
18.1.3 Disjoint Sets (disjointp) . . . . . . . . . . . . . . . . . . . 162
18.1.4 Element of a Set (elementp) . . . . . . . . . . . . . . . . . 162
18.1.5 Empty Set (emptyp) . . . . . . . . . . . . . . . . . . . . . 162
18.1.6 External Subset (extremal subset) . . . . . . . . . . . . . 162
18.1.7 flatten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
CONTENTS 15
18.1.8 full listify . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
18.1.9 List From a Set (listify) . . . . . . . . . . . . . . . . . . . 162
18.1.10Construct a Set (makeset) . . . . . . . . . . . . . . . . . . 163
18.1.11Partition of Set (partition set) . . . . . . . . . . . . . . . 163
18.1.12Ordered Permutations of a Set (permutations) . . . . . . 163
18.1.13Random Permutation (random permutation) . . . . . . . 163
18.1.14Check Set Equality (setequalp) . . . . . . . . . . . . . . . 164
18.1.15Check For argument as Set (setp) . . . . . . . . . . . . . 164
18.2 Operations On Sets . . . . . . . . . . . . . . . . . . . . . . . . . . 164
18.2.1 Maximum Element Value of a Set (lmax) . . . . . . . . . 164
18.2.2 Minimum Element Value of a Set (lmin) . . . . . . . . . . 164
18.2.3 Sub Set (subset) . . . . . . . . . . . . . . . . . . . . . . . 165
18.2.4 Predicate Subset (subsetp) . . . . . . . . . . . . . . . . . 165
18.2.5 Symmentric Difference (symmdifference) . . . . . . . . . . 165
18.2.6 Subtraction of Sets (setdifference) . . . . . . . . . . . . . 165
18.2.7 Cartesian Product (cartesian product) . . . . . . . . . . . 165
18.2.8 Intersection of Sets (intersection) . . . . . . . . . . . . . . 166
18.2.9 Power Set (powerset) . . . . . . . . . . . . . . . . . . . . . 166
18.2.10Union Of Sets (union) . . . . . . . . . . . . . . . . . . . . 166
19 Statistics 167
19.1 Plotting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
19.1.1 Bar Plot of Data (barsplot) . . . . . . . . . . . . . . . . . 167
19.1.2 Error Box Plot of Data (boxplot) . . . . . . . . . . . . . . 168
19.1.3 Stem Plot (stemplot) . . . . . . . . . . . . . . . . . . . . . 168
19.1.4 Pie Chart (piechart) . . . . . . . . . . . . . . . . . . . . . 168
19.1.5 Scatterin Plot of Data (scatterplot) . . . . . . . . . . . . . 168
19.1.6 Asterisk Plot of Data (starplot) . . . . . . . . . . . . . . . 168
19.1.7 Histogram Plot (histogram) . . . . . . . . . . . . . . . . . 168
19.2 Regression & Correlation . . . . . . . . . . . . . . . . . . . . . . 168
19.2.1 Building a Sample (build sample) . . . . . . . . . . . . . . 168
19.2.2 Correlation (cor) . . . . . . . . . . . . . . . . . . . . . . . 168
19.2.3 Covariance Matrix (cov) . . . . . . . . . . . . . . . . . . . 168
19.2.4 Covariance of Type One (cov1) . . . . . . . . . . . . . . . 169
19.2.5 Coefficient Variation (cv) . . . . . . . . . . . . . . . . . . 169
19.2.6 List Correlation (list correlations) . . . . . . . . . . . . . 169
19.3 Mean, Median & Deviation . . . . . . . . . . . . . . . . . . . . . 169
19.3.1 Average or Mean (mean) . . . . . . . . . . . . . . . . . . 169
19.3.2 Mean Deviation (mean deviation) . . . . . . . . . . . . . 170
19.3.3 Median (median) . . . . . . . . . . . . . . . . . . . . . . . 170
19.3.4 Deviation from Median (median deviation) . . . . . . . . 171
19.3.5 Continuous Frequency (continuous freq) . . . . . . . . . . 171
19.3.6 Discrete Frequency (discrete freq) . . . . . . . . . . . . . 171
19.3.7 Geometric Means (geometric mean) . . . . . . . . . . . . 171
19.3.8 Harmonic Mean (harmonic mean) . . . . . . . . . . . . . 172
19.3.9 Range of Data (range) . . . . . . . . . . . . . . . . . . . . 172
16 CONTENTS
19.3.10Maximum Value of Sample List (smax) . . . . . . . . . . 172
19.3.11Minimum Value of Sample List (smin) . . . . . . . . . . . 173
19.3.12Standard Deviation (std) . . . . . . . . . . . . . . . . . . 173
19.3.13Standard Deviation Type One (std1) . . . . . . . . . . . . 173
19.3.14Transforming Samples (tranform sample) . . . . . . . . . 173
19.3.15Variance (var) . . . . . . . . . . . . . . . . . . . . . . . . 173
19.3.16Variance of Type One (var1) . . . . . . . . . . . . . . . . 174
19.4 Skew, Kurosis & Moment . . . . . . . . . . . . . . . . . . . . . . 174
19.4.1 Skewness of Data (skewness) . . . . . . . . . . . . . . . . 174
19.4.2 Pearson Skewness (pearson skewness) . . . . . . . . . . . 175
19.4.3 Quartile Skewness (quartile skewness) . . . . . . . . . . . 175
19.4.4 Kurtosis (kurtosis) . . . . . . . . . . . . . . . . . . . . . . 175
19.4.5 noncentral moment . . . . . . . . . . . . . . . . . . . . . . 176
19.4.6 Central Moment of Data (central moment) . . . . . . . . 176
Part I
Maxima Commands
17
Chapter 1
Maxima Core
1.1 Mathematical
1.1.1 Factorial Symbol (!)
It represents to the factorial operator. A n! represents the factorial of n in form
of n × (n − 1) × . . . × 3 × 2 × 1. Factorial of negative number is infinity.
✞
1 (%i1) 5!
✆
The output is
✞
(%o1) 120
✆
Factorial of a fraction number in three place precision is
✞
1 (%i1) 0.5!
✆
The output is
✞
(%o1) 0.886
✆
Factorial of 0.5! is
√
π/2.
1.1.2 Double Factorial Symbol (!!)
It represents to the double factorial operator. A n!! represents the factorial
in form of n × (n − 2) × . . . × 5 × 3 × 1. If n is an odd number otherwise
n × (n − 2) × . . . × 4 × 2 if n is an even number.
✞
1 (%i1) 5!!
✆
The output is
✞
(%o1) 15
✆
19
20 CHAPTER 1. MAXIMA CORE
1.1.3 Termination of Line (;)
Symbol ‘;’ (colon) is used to terminate a line in Maxima console. Every thing
written after the symbol ‘;’ is treated as comments and it is skipped by Maxima
during evaluation of transcript.
✞
1 (%i1) 5!!; double factorial
✆
The output is
✞
(%o1) 15
✆
1.1.4 Negation of Expression (#)
# represents negation of syntactic equality. Note that because of the rules for
evaluation of predicate expressions “not a = b” is equivalent tois(a # b) instead
of “a # b”.
1.1.5 Evaluate Internally & No Output ($)
$ restrict the evaluation of expression internally and the result is not printed in
output console. This operator is always post fixed to transcripts. The syntax is
✞
1 (%i1) <transcript> $
✆
For example
✞
1 (%i1) matrix([1,2],[3,4])$
✆
will be evaluated internally and there is no output in console. Remember that
this symbol must not followed by any string or digits or comments.
1.1.6 Do Not Execute Function (’)
If a function is prefixed with (’) then function is not executed. It just returns
the argument.
✞
1 (%i1) ’integrate(x,x)
✆
The output is
(%o1)
Z
x dx
and function without prefix with (’)
✞
1 (%i2) integrate(x,x)
✆
1.1. MATHEMATICAL 21
The output is
(%o2)
x2
2
1.1.7 Re-evaluation of Specific Input (“)
The double single quote (“) provides re-evaluation of specific input once again.
For example, to evaluate the first input (%i1) once again as fourth input (%i4),
use syntax like
✞
1 (%i4) ’’%i1
✆
Example is
✞
1 (%i2) integrate(x, x);
(%i3) integrate(x^2, x);
3 (%i4) integrate(x^3, x);
(%i5) ’’%i2
✆
The output is
(%o2)
x2
2
(%o3)
x3
3
(%o4)
x4
4
(%o5)
x2
2
1.1.8 Variable Assigning Operator (:)
It assign a value to a variable.
✞
(%i4) a:2
✆
It sets ‘2’ to variable ‘a’.
1.1.9 Operator Assigner (::)
:: is similar to the : but it differs to : by evaluation method. : evaluates only
left hand side but :: evaluates left hand side as well as right hand side.
22 CHAPTER 1. MAXIMA CORE
✞
1 (%i4) y:[a,b,c];%initializing operators
(%i5) y::[10,11,12];%initializing values
3 (%i6) a;%call operator ’a’
✆
✞
(%o4) 10
✆
1.1.10 Macro Function Definition Operator (::=)
::= defines a function which quotes its arguments, and the expression which it
returns is evaluated in the context from which the macro was called.
✞
1 (%i4) g(x) ::= x/99;
(%i5) g(9999);
✆
✞
(%o5) 101
✆
1.1.11 Function Operator (:=)
:= is used to initialize a function. := never evaluates the function body. The
syntax for function operator is like
✞
1 (%i4) <function name>(<independent variable>):=<function body>
✆
For example
✞
1 (%i4) f(x):=sin(x)
✆
(%o4) f(x) := sin(x)
To call the function use following syntax.
✞
1 (%i4) f(<independent variable value>)
✆
If user defined function body consists in-build functions then result is just sym-
bolic otherwise it gives numeric result. For example
✞
1 (%i4) f(x):=sin(x);
(%i5) f(10);
✆
(%o5) sin(10)
To get the numerical result rather than symbolic result then the syntax becomes
like
1.1. MATHEMATICAL 23
✞
(%i4) f(x):=sin(x);
2 (%i5) ev(f(10),numer);
✆
✞
(%o5) -0.54402111088937
✆
define is also used to define a function. Its syntax is
✞
1 (%i4) define(<user define function>, <function body>);
✆
1.1.12 Sum Operator (+)
It is arithmetic additive symbol. It is used to add two or more variables. If
variables are previously assigned the values then variables are replaced by their
corresponding values and resultant sum is printed in output otherwise symbolic
addition is obtained at output. It performs algebraic sum operation. It is
commutative operator and can be used in an array. Maxima sorts operands
before applying ‘+’ operator. Among ‘+’, ‘-’, ‘/’ and ‘*’, it has third highest
priority during arithmetic calculations. Scope of operator must be specified by
using parenthesis brackets.
✞
1 (%i4) 10+11
✆
✞
(%o4) 21
✆
Another example is
✞
1 (%i4) a:10;
(%i5) a+b
✆
(%o5) b + 10
1.1.13 Subtraction Operator (-)
It is arithmetic subtraction symbol. It is used to subtract two or more variables.
If variables are previously assigned values then variables are replaced by their
corresponding values and resultant subtraction is printed in output otherwise
symbolic subtraction is obtained at output. It performs algebraic subtraction
operation. It is not a commutative operator. Among ‘+’, ‘-’, ‘/’ and ‘*’, it has
fourth highest priority during arithmetic calculations. Scope of operator must
be specified by using parenthesis brackets.
✞
(%i4) 10-11
✆
24 CHAPTER 1. MAXIMA CORE
(%o4) − 1
Another example is
✞
1 (%i4) a:10;
(%i5) a-b
✆
(%o5) − b + 10
1.1.14 Product Operator (*)
It is arithmetic multiplicative symbol. It is used to multiply two or more vari-
ables. If variables are previously assigned with values then variables are replaced
by their corresponding values and resultant multiplication is printed in output
otherwise symbolic multiplication is obtained at output. It is commutative op-
erator and can be used in an array. Maxima sorts operands before applying ‘*’
operator. Among ‘+’, ‘-’, ‘/’ and ‘*’, it has second highest priority during arith-
metic calculations. Scope of operator must be specified by using parenthesis
brackets.
✞
(%i4) 10*11
✆
(%o4) 110
Another example is
✞
1 (%i4) a:10;
(%i5) a*b
✆
(%o5) 10 b
1.1.15 Division Operator (/)
It is arithmetic division symbol. It is used to divide two variables. If variables
are previously assigned with values then variables are replaced by their corre-
sponding values and resultant division is printed in output otherwise symbolic
division is obtained at output. It is not a commutative operator. Among ‘+’,
1.1. MATHEMATICAL 25
‘-’, ‘/’ and ‘*’, it has highest priority during arithmetic calculations. Scope of
operator must be specified by using parenthesis brackets.
✞
(%i4) 100/10
✆
(%o4) 10
Another example is
✞
1 (%i4) a:10;
(%i5) a/b
✆
(%o5)
10
b
1.1.16 Exponential Operator (ˆ)
It is arithmetic exponential symbol. It is used to raise the power by a number
over the base value. It is binary and non-commutative operator. Grouping of
terms is required to limit the scope of the operator otherwise its scope is limited
to the succeeding terms only. If base and exponent are symbols then symbolic
output is obtained and if base and exponent are assigned numerical value then
variables are replaced by their corresponding numerical values.
✞
(%i4) 10^2
✆
(%o4) 100
Another example is
✞
1 (%i4) 10^(2^2);
✆
(%o4) 10000
✞
1 (%i5) a^b;
✆
(%o5) ab
26 CHAPTER 1. MAXIMA CORE
1.1.17 Equal Operator (=)
= denotes an equation. It also represents to the equal boolean operator. In
algebraic equations, equal sign indicates that left hand side is equal to the right
hand side for specific values of independent variable. For example
2x + 3y = 10
If we choose x = 2 and y = 2 then left hand side of above equation is equal to
the right hand side of the equation. Symbolically, if a = b then values a and b
are equal.
1.1.18 Less Than Operator (<)
It is mathematical operator that tells whether the left hand side is lesser than
the right hand side term.
✞
1 (%i4) is(a < b);
✆
✞
(%o4) unknown
✆
If terms are purely number then answer is either “true’ or ‘false’.
✞
1 (%i4) is(1 < 2);
✆
✞
(%o4) true
✆
1.1.19 Grater Than Operator (>)
It is mathematical operator that tells whether the left hand side is greater than
the right hand side term.
✞
1 (%i4) is(a > b);
✆
✞
(%o4) unknown
✆
If terms are purely number then answer is either “true’ or ‘false’.
✞
1 (%i4) is(1 > 2);
✆
✞
(%o4) false
✆
1.1. MATHEMATICAL 27
1.1.20 Less Than or Equals To Operator (<=)
It is mathematical operator that tells whether the left hand side is lesser than
or equals to the right hand side term.
✞
1 (%i4) is(a <= b);
✆
✞
(%o4) unknown
✆
If terms are purely number then answer is either “true’ or ‘false’.
✞
1 (%i4) is(1 <= 2);
✆
✞
(%o4) true
✆
1.1.21 Greater Than or Equals To Operator (>=)
It is mathematical operator that tells whether the left hand side is greater than
or equals to the right hand side term.
✞
1 (%i4) is(a >= b);
✆
✞
(%o4) unknown
✆
If terms are purely number then answer is either “true’ or ‘false’.
✞
1 (%i4) is(1 >= 2);
✆
✞
(%o4) false
✆
1.1.22 Lisp Name (?)
The function name which is prefixed by ‘?’ signifies that the name is a Lisp
name, not a Maxima name.
1.1.23 A List ([ ... ])
[ ... ] represents the beginning and end of a list or vector.
✞
1 (%i4) y:[a,b,c];%initializing operators as a list
(%i5) y::[10,11,12];%initializing values as a list
3 (%i6) a;%call operator ’a’ from operator list
✆
✞
(%o4) 10
✆
28 CHAPTER 1. MAXIMA CORE
1.1.24 Call Last Garbage (%)
Symbolic computation, tends to create a good deal of garbage (temporary or
intermediate results that are eventually not used), and effective handling of it
can be crucial to successful completion of some programs. Symbol % is used for
calling last garbage.
✞
1 (%i1) x^2+2$
(%i2) x^2-2$
3 (%i3) solve(%); % calling last garbage
✆
(%o3) [x = −
√
2 x =
√
2]
If % is suffixed by garbage handle like ‘i1’, ‘i2’ or ‘o1’, ‘o2’ etc then specific
garbage can be called.
✞
1 (%i1) x^2+2$
(%i2) x^2-2$
3 (%i3) solve(%i1); % calling first garbage
✆
(%o3) [x = −
√
2i, x =
√
2i]
1.1.25 Previous Statement (%%)
In compound statements, namely block, lambda, or (s1, ..., sn), %% is the value
of the previous statement.
1.1.26 Exponential (%e)
It represents to the exponential base. The series expansion of ‘%e’ is
ex
= 1 +
x
1!
+
x2
2!
+
x3
3!
+ . . .
If x = 1 then above series becomes
e = 1 +
1
1!
+
1
2!
+
1
3!
+ . . .
The numerical value of ‘%e’ lies between 2 < %e < 3 and actually it is ap-
proximately equals to ‘2.718281828459045’. Remember whenever you need to
substitute ‘%e’ with its numerical value, set ‘%enumer’ to true by using the
following syntax
✞
1 (%i1) %enumer:true;
✆
1.1. MATHEMATICAL 29
1.1.27 %e to numlog
When %e to numlog is ‘true’, r some rational number, and x some expression,
%e(r log x)
will be simplified into xr
.
y = er log x
Taking logarithm both side with natural base
loge y = loge er log x
or
loge y = log xr
Taking antilogarithm
y = xr
It should be noted that the radcan command also does the same transformation,
and more complicated transformations of this as well. The logcontract command
“contracts” expressions containing logarithms. By default it is ‘false’.
1.1.28 Negative Exponent as a Quotient (%edispflag)
When %edispflag is ‘true’, Maxima displays %e to a negative exponent as a
quotient. For example, %e−x
is displayed as 1/%ex
. By default it is ‘false’.
1.1.29 Demoivre Mode (%emode)
If %emode is ‘true’ then Demoivre relation enπi
is solved by using relation
eix
= cos(x) + i sin(x)
Remember that ‘n’ must be a whole integer. ‘i’ represents to imaginary constant.
For example
✞
1 (%i1) %e^(5*%i*%pi)
✆
✞
(%o1) -1
✆
1.1.30 Exponential Numerical (%enumer)
It controls that whether ‘%e’ is to be used in output or its numerical value. If
%enumer is ‘false’, ‘%e’ is used other wise its numerical value 2.718281828459045
is placed.
30 CHAPTER 1. MAXIMA CORE
1.1.31 Gamma Constant (%gamma)
It is an Euler-Mascheroni constant. Its numerical value is 0.5772156649015329.
It is defined as the limiting difference between the harmonic series and the
natural logarithm
γ = lim
n→∞
n
X
k=1
1
k
− ln(n)
!
=
Z ∞
1

1
⌊x⌋
−
1
x

dx
Here, ⌊x⌋ represents the floor function.
1.1.32 Pi Value (%pi)
%pi represents to the exponential value and symbolically it is equal to π. Nu-
merical value of π is 3.141592653589793 approximately.
✞
1 (%i1) numer:true;
(%i2) %pi;
✆
✞
(%o1) 3.141592653589793
✆
1.1.33 Previous Output (%th)
%th returns the value of previous output expression identified by a number from
the current output. If there are total n outputs in the current session then mth
previous output is the (n − m)th
output from the begining of session. Syntax
for this function is
✞
1 (%i1) %th(integer)
✆
1.1.34 Most Recent Expression ( )
is the most recent input expression.
✞
1 (%i1) sin(%pi/2)$
(%i2) :lisp $_;
✆
✞
(%o2) ((%SIN) ((MQUOTIENT) $%PI 2))
✆
1.1.35 Display String (disp)
It displays only the value of the arguments rather than equations. This is useful
for complicated arguments which don’t have names or where only the value of
the argument is of interest and not the name. Remember that those inputs
which are only variables are post-fixed by symbol $. It instructs to Maxima to
1.2. ERRORS 31
accept the input as key-value like arguments rather than execute it and show
output. The key-value syntax may be in form of ‘key=value’ or ‘key:value’. If
disp executed successfully, “done” is returns as output by Maxima.
✞
1 (%i1) b[1,2]:x-x^2$
(%i2) x:123$
3 (%i3) disp(x, b[1,2], sin(1.0));
✆
✞
123
x-x^2
0.8414709848078965
(%o3) done
✆
1.2 Errors
1.2.1 Error (error)
The variable error is set to a list describing the error. The first element of error
is a format string, which merges all the strings among the arguments supplied
to error function and the remaining elements are the values of any non-string
arguments. Syntax for error function is
✞
(%i1) error(expr_1, ..., expr_n)
✆
1.2.2 Error Size (error size)
error size modifies error messages according to the size of expressions which
appear in them. If the size of an expression (as determined by the Lisp func-
tion ERROR-SIZE) is greater than error size, the expression is replaced in the
message by a symbol, and the symbol is assigned the expression. The symbols
are taken from the list error syms. The default value of error size is ‘10’.
1.2.3 Error Symbol (error syms)
In error messages, expressions larger than error size are replaced by symbols,
and the symbols are set to the expressions. The symbols are taken from the
list error syms. The first too-large expression is replaced by error syms[1], the
second by error syms[2], and so on.
1.2.4 Error Message (errormsg)
Reprints the most recent error message. The variable error holds the message,
and errormsg formats and prints it.
32 CHAPTER 1. MAXIMA CORE
1.2.5 Debug Mode Maxima (debugmode)
By default, Maxima does not debugs to any errors and mistakes. To set the
debug mode true use debugmode function like
✞
1 (%i4) debugmode(true)
✆
It returns ‘true’ if debug mode is set to true otherwise returns false.
1.2.6 Show Examples (example)
It returns the method for using a function whose name is supplied as an argu-
ment. To see all the listed functions for function example use it like
✞
1 (%i1) example();
✆
To see the example of nroots use it like
✞
1 (%i1) example(nroots);
✆
It returns the method of use of function nroots. At the end of successful execu-
tion of example function, “done” is printed in output console.
1.2.7 Set Numerical Precision (fpprec)
fpprec is used to set the decimal places of decimal numbers ie precision of nu-
merical output. The syntax is
✞
1 (%i1) fpprec : integer for decimal places;
✆
For example
✞
1 (%i1) fpprec : 16
✆
Now the outputs will have sixteen decimal places. If we want to get result upto
five decimal places then set precision to five like
✞
1 (%i1) fpprec : 5
✆
1.2.8 Toggle to Floating Point (numer)
By defalut numer is ‘false’ and the symbols are used in calculations of expression.
If numer is ‘true’ then variables or symbols in expression which have numerical
values are replaced by their values. The syntax is used like
✞
1 (%i1) numer:true % for setting true value
(%i2) numer:false % for setting false value
✆
For example
1.3. PROCEDURAL 33
✞
(%i1) numer:true;
2 (%i2) %e
✆
✞
(%o2) 2.718281828459045
✆
If numer is set to ‘false’ then result is symbolic.
✞
1 (%i1) numer:false;
(%i2) %e
✆
✞
(%o2) %e
✆
1.3 Procedural
1.3.1 Interrupt Maxima (kill)
It removes all bindings (value, function, array, or rule) from the arguments. An
argument may be a symbol or a single array element. The syntax is
✞
1 (%i1) kill(symbol)
(%i2) kill([array element 1, array element 2, ...)
3 (%i3) kill(labels)
(%i4) kill(integers)
5 (%i5) kill(all)%kills all values, function, array or rules
✆
1.3.2 Modes of Variables (mode declare)
mode declare is used to declare the modes of variables and functions for subse-
quent translation or compilation of functions. mode declare is typically placed
at the beginning of definition of a function, at the beginning of a Maxima script,
or executed at the interactive prompt. The syntax used is
✞
1 (%i1) mode_declare ([y_1, y_2, ...], fixnum)%Or
✆
or
✞
1 (%i2) mode_declare (y_1, mode_1, ... y_n, mode_n])
✆
The ‘fixnum’ are “float”, “bignum” etc. For example,
✞
1 (%i1) F(x):=(mode_declare([x], float), x+2.0)
✆
This converts independent variable x as floating value and as well as function
F(x) = x + 2.0 into floating function.
34 CHAPTER 1. MAXIMA CORE
1.3.3 Evaluate  Print Expression (print)
print evaluates and displays expressions one after another, from left to right,
starting at the left edge of the console display. The syntax for the function print
is
✞
1 (%i1) print(expr 1, expr 2, ...., expr n)
✆
✞
1 (%i1) print((a+b)^2, (a-b)^2)
✆
(%o3) b2
− 2 a b + a2
1.3.4 Labels (labels)
labels returns the list of either input or output or intermediate expression labels
which begin with symbol. Typically symbol is the value of either inchar or
outchar or linechar. Syntax for the function is
✞
1 (%i1) labels(symbol)
✆
1.3.5 Line Number (linenum)
It is the line number of the current pair of input and output expressions.
1.3.6 List of Options (myoptions)
myoptions is the list of all options ever reset by the user, whether or not they
get reset to their default value.
1.3.7 Ordinary Base (obase)
obase may be assigned any integer between 2 and 36 (decimal), inclusive. The
default value of obase variable is decimal ‘10’. Other bases are binary ‘2’, octal
‘8’, hexadecimal ‘16’ and ‘32’.
✞
1 (%i1) obase:2$
(%i2) 99;
✆
✞
(%o2) 1100011
✆
1.3. PROCEDURAL 35
1.3.8 Print the Reset Option (optionset)
When optionset is ‘true’, Maxima print outs a message whenever a Maxima
option is reset. This is useful if the user is doubtful of the spelling of some
option and wants to make sure that the variable he assigned a value to was
truly an option variable. The default value is ‘false’.
1.3.9 Play Previous Garbage (playback)
It prints the previously collected garbage by the Maxima. The syntax is
✞
1 (%i1) playback ([inputs, outputs], grind, time, slow)
✆
Argument “slow” is useful in conjunction with save or stringout when creating a
secondary-storage file in order to pick out useful expressions. Argument “time”
displays the computation time for each expression. Argument “grind” displays
input expressions in the same format as the “grind”. Output expressions are
not affected by the “grind” option.
1.3.10 Prompting Symbol (prompt)
prompt is the prompt symbol of the demo function, playback (slow) mode and
the Maxima break loop. The default value is ‘ ’.
1.3.11 Quit the Session (quit)
quit terminates the current Maxima session. It is used like quit().
1.3.12 Rationalized Print (ratprint)
When ratprint is true, a message informing the user about the conversion of
floating point numbers into rational numbers is displayed. The default value is
‘true’.
1.3.13 Enter into Lisp System (to lisp)
to lisp variable let to enter into Lisp system of Maxima. It enables to initiated
new variable, function etc in Maxima that can be used later in Maxima after
returning to Maxima. To return to Maxima,
✞
1 (%i1) to_maxima;
✆
variable is used (including parenthesis brackets).
36 CHAPTER 1. MAXIMA CORE
1.3.14 Call Functions of Current Session (backtrace)
backtrace function is used to call the all functions of current session. The length
of tracing is controled by supplying an integer value as argument to the function.
The syntax used is
✞
1 (%i1) backtrace(length of trace as integer)
✆
1.3.15 Break Maxima Evaluation (break)
This function has syntax like
✞
1 (%i1) break(expr 1, expr 2, ..., expr n)
✆
break evaluates and prints ‘expr 1’ to ‘expr n’ and then causes a Maxima break
at which point the user can examine and change his environment. Upon typing
“exit”; the computation resumes.
1.3.16 Bug Reporting Info (bug report)
It returns the details of Maxima and the link where a bug can be reported.
1.3.17 Build Information (build info)
build info returns the information consisting date, time, building plateform,
Lisp compiler, version of Maxima and host etc used during the compilation and
building of Maxima.
1.3.18 Debug Mode (debugmode)
By default debugmode is false. When a Maxima error occurs, Maxima will start
the debugger if debugmode is ‘true’. The user may enter commands to examine
the call stack, set breakpoints, step through Maxima code, and so on. Enabling
debugmode will not catch Lisp errors.
1.3.19 Show Evaluation Time (showtime)
showtime is ‘true’ then time taken by maxima to evaluate the transcript is shown
at the output. By default it is ‘false’. This variable is useful to check the speed
of execusion of function and provide the ways of script cleaning.
1.3.20 Evaluation Time (time)
time returns the time taken durign the evaluation by Maxima. The handle is
supplied as argument to get the time taken by Maxima in evaluation of specific
function. time can only be applied to output line variables; for any other vari-
ables, time returns unknown. Set showtime as ‘true’ to make Maxima print out
the computation time and elapsed time with each output line.
1.3. PROCEDURAL 37
✞
1 (%i1) integrate(x,x)
(%i2) time(%o1);
✆
✞
(%o2) [0.0]
✆
1.3.21 Promp  Read (read)
read first prints the statement and then ask for one input in the console. The
expression entered in the console is read by Maxima and returns the evaluated
result of the expression in the console. The expression entered into the console
muste be terminated by dollar sign(‘$’).
✞
1 (%i1) a=10;
(%i2) f:read(Enter new value)$
3 Enter new value 2^a$
(%i3) f;
✆
✞
(%o3) 1024
✆
1.3.22 testsuite files
Similar to the run testsuite to check the test pass of a file.
✞
1 (%i1) testsuite_files();
✆
1.3.23 Test The Maxim (run testsuite)
run testsuite tests producing the desired answer are considered “passes” as are
tests that do not produce the desired answer, but are marked as known bugs.
✞
1 (%i1) run_testsuite();
✆
1.3.24 Read Function Without Evaluation (readonly)
If readonlyfunction is used in place of readfunction with similar syntax, then it
returns the expression to console without evaluation.
✞
1 (%i1) a=10;
(%i2) f:readonly(Enter new value)$
3 Enter new value 2^a$
(%i3) f;
✆
(
38 CHAPTER 1. MAXIMA CORE
1.3.25 Activate Contexts (activate)
It activates the contexts. The facts in these contexts are then available to make
deductions and retrieve information. The facts in these contexts are not listed
by facts. Syntax for activate is
✞
(%i1) activate(context 1, context 2, ...)
✆
1.3.26 List of Activated Contexts (activecontexts)
activecontexts is a list of the contexts which are active by way of the activate
they are subcontexts of the current context.
1.3.27 Additive Function (additive)
Function declare, if used as the syntax given below, tells Maxima to recognize
a function as a additive function. The syntax for this is
✞
1 (%i1) declare(f, additive)
✆
1.3.28 Alternative Name for Function (alias)
It assigns an alternative name to Maxima function. Syntax for this function is
✞
1 (%i1) alias(new fcn name 1, old fcn name 1, ...)
✆
1.3.29 Declare String as Alphabic (alphabetic)
Function declare, if used as the syntax given below, tells Maxima to recognize
all characters in the ‘s’ as alphabatic characters. The syntax for this flag is
✞
1 (%i1) declare(s, alphabatic)
✆
1.3.30 Arguments In Expression (args)
It returns the number of arguments in an expression. Syntax used is
✞
1 (%i1) args(expression)
✆
1.3.31 Atomic Expression (atom)
If the function is used like
✞
1 (%i1) atom(expression)
✆
1.3. PROCEDURAL 39
and Maxima returns ‘true’ then ‘expression’ is atomic (i.e. a number, name or
string) otherwise ‘expression’ is non atomic. Thus
✞
1 (%i1) atom(5)
✆
is true while
✞
1 (%i1) atom(a[1])
✆
and
✞
1 (%i2) atom(sin(x))
✆
are ‘false’ (assuming a[1] and x are unbound).
1.3.32 Declare a Function Antisymmetric (antisymmet-
ric)
Function declare, if used as the syntax given below, tells Maxima to recognize
a function as an antisymmetric function. The syntax for this flag is
✞
1 (%i1) declare(f, antisymmetric)
✆
Here function ‘f’ will assumed as an antisymmetric function.
1.3.33 Check The Integer Type (askinteger)
✞
1 (%i1) askinteger(expression, integer type)
✆
attempts to determine from the assume database whether expression is an in-
teger or not. There are three categories of ‘integer type’ - (i) “odd”, (ii) “even”
and (iii) “integer”.
1.3.34 Retrive User Property (get)
✞
1 (%i1) get(a, i)
✆
It retrieves the user property indicated by i associated with atom a or returns
‘false’ if a doesn’t have property i.
1.3.35 Declare Variable as Integer (integer)
Function declare, if used as the syntax given below, tells Maxima to recognize
a variable as an integer. The syntax for this flag is
✞
1 (%i1) declare(var, integer)
✆
Here variable ‘var’ will assumed as an integer.
40 CHAPTER 1. MAXIMA CORE
1.3.36 Declare Variable as Non-Integer (noninteger)
Function declare, if used as the syntax given below, tells Maxima to recognize
a variable as a noninteger. The syntax for this flag is
✞
1 (%i1) declare(var, noninteger)
✆
Here variable ‘var’ will assumed as a noninteger.
1.3.37 Integer Variabe (integervalued)
Function declare, if used as the syntax given below, tells Maxima to recognize
a function as an integervalued function. The syntax for this flag is
✞
1 (%i1) declare(f, integervalued)
✆
Here function ‘f’ will assumed as an integervalued function.
1.3.38 Query for Sign of Expression (asksign)
asksign attempts to deduce the sign of expressions from the sign of operands
within the expression. For example, if a and b are both positive, then a + b is
also positive.
✞
1 (%i1) asksign(1-2)
✆
✞
(%o1) neg
✆
1.3.39 Declare Variables (assume)
It adds predicates to the current context. If a predicate is inconsistent or redun-
dant with the predicates in the current context, it is not added to the context.
The context accumulates predicates from each call to assume. Syntax for the
function assume is
✞
1 (%i1) assume(var condition var values, .....)
✆
‘conditions’ are the mathematical comparision symbols like ‘=’, ‘=’, ‘’, ‘’
and ‘=’ etc. For example
✞
1 (%i1) assume(x1,y1)$
(%i2) is(xy)
✆
✞
(%o2) true
✆
1.3. PROCEDURAL 41
1.3.40 Declare Variable as Positive (assume pos)
When assume pos is ‘true’ and the sign of a parameter x cannot be determined
from the current context or other considerations, sign and asksign (x) return
‘true’. By default it is ‘false’.
1.3.41 Declare As Communative Function (commutative)
Function declare, if used as the syntax given below, tells the simplifier that
function is a commutative function. The syntax for this is
✞
1 (%i1) declare(f, commutative)
✆
1.3.42 Compare Expression (compare)
It returns the comparative result according to the comparative relation between
two supplied arguments to the function compare. Syntax for this function is
✞
1 (%i1) compare(expr 1, expr 2)
✆
If Maxima is unable to compare then it returns “unknown”.
1.3.43 Context (context)
context names the collection of facts maintained by assume, forget. Binding con-
text to a name ‘foo’ changes the current context to ‘foo’. If the specified context
‘foo’ does not yet exist, it is created automatically by a call to newcontext. The
specified context is activated automatically. By default it is “initial”.
1.3.44 Contexts (contexts)
contexts is a list of the contexts which currently exist, including the currently
active context. By default its value is [“initial”, “global”].
1.3.45 Deactivate Context (deactivate)
deactivate deactivates the contexts supplied to the function as its arguments.
✞
1 (%i1) deactivate(context 1, context 2, .....)
✆
1.3.46 Delcaration Statement (declare)
It assigns the atom or list of atoms the property or list of properties respectively.
It is used like
✞
1 (%i1) declare(atom, property)
✆
42 CHAPTER 1. MAXIMA CORE
1.4 Declarations
1.4.1 Declare As Decreasing Function (decreasing)
Function declare, if used as the syntax given below, tells Maxima to recognize
a function as a decreasing function. The syntax for this is
✞
1 (%i1) declare(f, decreasing)
✆
1.4.2 Declare As Increasing Function (increasing)
Function declare, if used as the syntax given below, tells Maxima to recognize
a function as a increasing function. The syntax for this is
✞
1 (%i1) declare(f, increasing)
✆
1.4.3 Declare Variable as Even Variable (even)
Function declare, if used as the syntax given below, tells Maxima to recognize
a symbol as a even integer variable. The syntax for this is
✞
1 (%i1) declare(sym, even)
✆
1.4.4 Declare Variable as Odd Variable (odd)
Function declare, if used as the syntax given below, tells Maxima to recognize
a symbol as a odd integer variable. The syntax for this is
✞
1 (%i1) declare(sym, odd)
✆
1.4.5 Variable As a Constant (constant)
Function declare, if used as the syntax given below, tells Maxima to recognize
a symbol as a constant. The syntax for this is
✞
1 (%i1) declare(sym, constant)
✆
1.4.6 Check a Constant (constantp)
It returns ‘true’ if an expression is a constant expression, otherwise returns
‘false’.
✞
1 (%i1) constantp(expression)
✆
1.4. DECLARATIONS 43
1.4.7 Get Features (featurep)
It attempts to determine whether the object has the feature on the basis of the
facts in the current database. If so, it returns ‘true’, else ‘false’.
✞
1 (%i1) featurep(object name, feature name)
✆
1.4.8 Set Feature (features)
Maxima recognizes certain mathematical properties of functions and variables.
These are called ”features”. The syntax
✞
1 (%i1) declare(x, foo)
✆
gives the property foo to the function or variable x. The declare function used
like
✞
1 (%i1) declare(feature name, feature)
✆
declares a new feature. features is a list of mathematical features.
1.4.9 Status (is)
is asks whether the predicate expression is provable from the facts in the as-
sume database. If predicted expression is provable, it returns ‘true’ otherwise it
returns ‘false’.
✞
1 (%i1) 12$ % it is true as 1 is always less than 2.
(%i2) is(12) % ask the prediction, result is true
✆
✞
(%o2) true
✆
1.4.10 Kill Contextx (killcontext)
It kills the contenxt from the Maxima. Syntax is
✞
1 (%i1) killcontext(context 1, ...)
✆
1.4.11 Simplify as Left-Associative (lassociative)
Function declare, if used as the syntax given below, tells to simplifier that the
function is a left-associative. The syntax for this is
✞
1 (%i1) declare(expr, lassociative)
✆
44 CHAPTER 1. MAXIMA CORE
1.4.12 Recognize Function as N-Array (nary)
Function declare, if used as the syntax given below, tells Maxima to recognize
a function as n-array function. The syntax for this is
✞
1 (%i1) declare(f, nary)
✆
1.4.13 Maximum Negative Expansion (maxnegex)
maxnegex is the largest negative exponent which will be expanded by the expand
command. By default its value is ‘1000’.
1.4.14 Match Declaration (matchdeclare)
Associates a predicate with a variable so that variable matches expressions for
which the predicate returns anything other than false. Syntax is
✞
1 (%i1) matchdeclare(var, predicate)
✆
1.4.15 Simplify as Multiplicative (multiplicative)
Function declare, if used as the syntax given below, tells Maxima to expand an
expression as a multiplicative. The syntax for this is
✞
1 (%i1) declare(expr, multiplicative)
✆
1.4.16 Multiply Two Expression (multthru)
This function multiply two or more expressions with each other. multthru does
not expand exponentiated sums if present in the expressions. This function is
the fastest way to distribute products (commutative or noncommutative) over
sums.
✞
1 (%i1) multthru(expr 1, expr 2)
✆
1.4.17 Negative Distribution (negdistrib)
If this variable is set to ‘true’ this negative coefficient of an expression is dis-
tributed to the all terms of the expression. By default it is ‘true’.
✞
1 (%i1) -(a+b)
✆
(%o1) − b − a
Now, setting negdistrib as ‘false’.
1.4. DECLARATIONS 45
✞
1 (%i1) negdistrib:false$
(%i2) -(a+b)
✆
(%o2) − (b + a)
1.4.18 Create New Context (newcontext)
It creates a new contenxt in the Maxima. Syntax is
✞
(%i1) newcontext(context)
✆
1.4.19 Numerical Value of Variable (numerval)
It declares that a variable have numerical value.
✞
1 (%i1) numerval(var 1, num 1, ....., var n, num n)
✆
1.4.20 Pull Out Constant Term (outative)
Function declare, if used as the syntax given below, tells Maxima to pull out
the constant term from the expression as coefficient. The syntax for this is
✞
1 (%i1) declare(f, outative)
✆
1.4.21 Positive Function (posfun)
Function declare, if used as the syntax given below, tells Maxima to recognize
a function f to be a positive function.
✞
1 (%i1) is (f(x)  0)
✆
yields ‘true’.
✞
1 (%i1) declare(f, posfun)
✆
1.4.22 Properties of Atom (properties)
Returns a list of the names of all the properties associated with the atom. It is
used like
✞
1 (%i1) properties(atom name)
✆
46 CHAPTER 1. MAXIMA CORE
1.4.23 Assign a Value to Property (put)
put assigns value to the property (specified by indicator) of atom. ‘indicator’
may be the name of any property, not just a system-defined property. The
syntax used is
✞
1 (%i1) put(atom, value, indicator)
✆
1.4.24 Simplify as Right-Associative (rassociative)
Function declare, if used as the syntax given below, tells to simplifier that the
function is a a right-associative. The syntax for this is
✞
1 (%i1) declare(expr, rassociative)
✆
1.4.25 Declare Variable as Irrational Variable (irrational)
Function declare, if used as the syntax given below, tells Maxima to recognize
a variable as an irrational variable. The syntax for this flag is
✞
1 (%i1) declare(var, irrational)
✆
Here variable ‘var’ will assumed as an irrational variable.
1.4.26 Declare Variable as Irrational Variable (rational)
Function declare, if used as the syntax given below, tells Maxima to recognize
a variable as a rational variable. The syntax for this flag is
✞
1 (%i1) declare(var, rational)
✆
Here variable ‘var’ will assumed as a rational variable.
1.4.27 Declare Variable as Complex Variable (complex)
Function declare, if used as the syntax given below, tells Maxima to recognize
a variable as a complex variable. The syntax for this flag is
✞
1 (%i1) declare(var, complex)
✆
Here variable ‘var’ will assumed as a complex variable.
1.4.28 Declare Variable as Imaginary Variable (imaginary)
Function declare, if used as the syntax given below, tells Maxima to recognize
a variable as an imaginary variable. The syntax for this flag is
✞
1 (%i1) declare(var, imaginary)
✆
Here variable ‘var’ will assumed as an imaginary variable.
1.4. DECLARATIONS 47
1.4.29 Declare Variable as Real Variable (real)
Function declare, if used as the syntax given below, tells Maxima to recognize
a variable as a real variable The syntax for this flag is
✞
1 (%i1) declare(var, real)
✆
Here variable ‘var’ will assumed as a real variable.
1.4.30 Remove Indicator From Atom (rem)
The syntax for the rem is
✞
1 (%i1) rem(atom, indicator)
✆
It removes the property indicated by ‘indicator’ from ‘atom’. rem reverses the
effect of put. rem returns done if atom had an indicator property when rem was
called, or ‘false’ if it had no such property.
1.4.31 Remove Property (remove)
It removes the properties from the atom. It has syntax like
✞
1 (%i1) rem(atom vector, property vector)
✆
If “all’ is used as argument in place of ‘atom vector’ then ‘property vector’ will
be removed from all atoms.
1.4.32 Scalar Value (scalar)
Function declare, if used as the syntax given below, tells Maxima to recognize
a variable as a scalar variable. The syntax for this flag is
✞
1 (%i1) declare(var, scalar)
✆
Here variable ‘var’ will assumed as a scalar variable.
1.4.33 Sign of Expression (sign)
sign attempts to deduce the sign of expressions from the sign of operands within
the expression. For example, if a and b are both positive, then a + b is also
positive.
✞
1 (%i1) sign(1-2)
✆
✞
(%o1) neg
✆
48 CHAPTER 1. MAXIMA CORE
1.4.34 Declare Variable as Symetric Function (symmetric)
Function declare, if used as the syntax given below, tells Maxima to recognize
a function as a symmetric function. The syntax for this flag is
✞
1 (%i1) declare(f, symmetric)
✆
Here function ‘f’ will assumed as a symmetric function.
Chapter 2
Numeric Evaluation
2.1 Number Theory
2.1.1 Big Float (bffac)
bffac is acronym of “Bigfloat” version of the factorial function. The syntax for
the function is
✞
1 (%i1) bffac(expression, integer)
✆
The second argument ‘integer’ is how many digits to retain and return, it’s a
good idea to request a couple of extra.
2.1.2 Big Float Zeta Function (bfhzeta)
bfhzeta returns the Hurwitz zeta function for the arguments s and h. The return
value is a big float (bfloat); n is the number of digits in the return value. The
Hurwitz zeta function is defined as
zeta(s, h) =
∞
X
n=0
1
(n + h)s
To use this function, “bffac” should be loaded at first. The syntax for this
function is
✞
1 (%i1) bfhzeta(expr s, expr h, num of return digit n)
✆
2.1.3 Convert to Big Float (bfloat)
It converts all numbers and functions of numbers in expression to bigfloat num-
bers. The number of significant digits in the resulting bigfloats is specified by
the global variable fpprec.
✞
1 (%i1) bfloat(expression)
✆
49
50 CHAPTER 2. NUMERIC EVALUATION
2.1.4 Is Big Float (bfloatp)
Returns ‘true’ if expression is a bigfloat number, otherwise ‘false’.
✞
1 (%i1) bfloatp(expression)
✆
2.1.5 Digamma Big Float Function (bfpsi)  (bfpsi0)
bfpsi is the polygamma function of real argument z and integer order n. bfpsi0
is the digamma function. The syntax is
✞
1 (%i1) bfpsi0 (z, fpprec)
✆
or
✞
1 (%i1) bfpsi (0, z, fpprec)
✆
These functions are same and return bigfloat values. fpprec is the bigfloat
precision of the return value.
2.1.6 Big Float to Rational Number (bftorat)
bftorat controls the conversion of bfloats to rational numbers. When bftorat
is ‘false’, ratepsilon conversion take place. When bftorat is ‘true’, generated
rational number generated will accurately represent the bfloat. By default it is
‘false’.
2.1.7 Truncate Big Float (bftrunc)
bftrunc causes trailing zeroes in non-zero bigfloat numbers not to be displayed.
Thus, if bftrunc is ‘false’, bfloat(1) displays as 1.000000000000000B0. Otherwise,
this is displayed as 1.0B0. By default it is ‘true’.
2.1.8 Big Float Zeta Function (bfzeta)
It returns the Riemann zeta function for the argument s. The return value is a
big float (bfloat); n is the number of digits in the return value. The syntax is
✞
1 (%i1) bfzeta(s, n)
✆
2.1.9 Complex Big Float (cbffac)
It returns complex big float and needs to load bffac. The syntax is
✞
1 (%i1) cbffac(complex number, precision points)
✆
2.1. NUMBER THEORY 51
2.1.10 Floating Point (float)
It converts integers, rational numbers and bigfloats in expression to floating
point numbers.
2.1.11 Float to Big Float (float2bf)
When float2bf is ‘false’, a warning message is printed when a floating point
number is converted into a bigfloat number. By default it is ‘true’.
2.1.12 Is Floating Number (floatnump)
It returns ‘true’ if expression is a floating point number, otherwise ‘false’. The
syntax is
✞
1 (%i1) floatnump(expression)
✆
2.1.13 Float Point Precision (fpprec)
fpprec is the number of significant digits for arithmetic on bigfloat numbers.
fpprec does not affect computations on ordinary floating point numbers. By
default its value is ‘16’. It is used like
✞
1 (%i1) fpprec:integer less than 16
✆
2.1.14 Float Point Print Precission (fpprintprec)
fpprintprec is the number of digits to print when printing an ordinary float or
bigfloat number. For ordinary floating point numbers, when fpprintprec has a
value between ‘2’ and ‘16’ (inclusive), the number of digits printed is equal to
fpprintprec. Otherwise, fpprintprec is ‘0’, or greater than ‘16’, and the number
of digits printed is ‘16’. By default its value is ‘0’.
✞
1 (%i1) fpprintprec:integer 2 to 16  0
✆
2.1.15 Keep Float Points (keepfloat)
By default it is ‘false’. When keepfloat is ‘true’, prevents floating point numbers
from being rationalized when expressions which contain them are converted to
canonical rational expression (CRE) form.
2.1.16 Numerical Solution (numer)
numer causes some mathematical functions (including exponentiation) with nu-
merical arguments to be evaluated in floating point. It causes variables in ex-
pression which have been given numerals to be replaced by their values. It also
sets the float.
52 CHAPTER 2. NUMERIC EVALUATION
2.1.17 Numerical Power of Negative Integer (numer pbranch)
By default, this variable is ‘false’. The option variable numer pbranch controls
the numerical evaluation of the power of a negative integer, rational, or floating
point number. When numer pbranch is ‘true’ and the exponent is a floating
point number or the option variable numer the numerical result returns us-
ing the principal branch, otherwise a simplified, but not an evaluated result is
returned.
✞
1 (%i1) (-2)^0.75;
✆
✞
(%o1) (-2)^0.75
✆
✞
1 (%i2) (-2)^0.75,numer_pbranch:true;
✆
✞
(%o2) 1.189207115002721*%i-1.189207115002721
✆
2.1.18 Number to Variables (numerval)
This function assigns the numerical values to the variables. Syntax used like
✞
1 (%i1) numerval (var_1, val_1, ..., var_n, val_n)
✆
2.1.19 Tolerance in Floating Point (ratepsilon)
ratepsilon is the tolerance used in the conversion of floating point numbers
to rational numbers, when the option variable bftorat. By default its value is
2.0e−15
.
2.1.20 Rationalize (rationalize)
Convert all double floats and big floats in the Maxima expression to their exact
rational equivalents. If you are not familiar with the binary representation of
floating point numbers, you might be surprised that
✞
1 (%i1) rationalize (0.1)
✆
does not equal 1/10. This behavior isn’t special to Maxima. The number 1/10
is a repeating, not a terminating, binary representation.
✞
1 (%i1) rationalize(0.1)
✆
The output is
(%o1)
3602879701896397
36028797018963968
2.1. NUMBER THEORY 53
2.1.21 Is Rational Number (ratnump)
Returns ‘true’ if expression is a literal integer or ratio of literal integers, other-
wise ‘false’.
2.1.22 Print Message Rational (ratprint)
When ratprint is ‘true’, a message informing the user of the conversion of floating
point numbers to rational numbers is displayed. By default it is ‘true’.
2.1.23 Numerical Status (stats numer)
If stats numer is ‘true’, inference statistical functions return their results in
floating point numbers. If it is ‘false’, results are given in symbolic and rational
format.
54 CHAPTER 2. NUMERIC EVALUATION
Chapter 3
Conditions
Following conditions can be used in Maxima.
3.1 Linear
3.1.1 If Statement (if)
if is a conditional statement. The syntax for function if is like
✞
1 (%i2) if  condition 
then
3 body if condition true
else
5 body if condition false
✆
✞
1 (%i2) f(x) := if x=1 then (x+1)$
(%i2) f(3)
✆
(%o1) false
The output is false as x 6= 1. Again
✞
(%i2) f(x) : = if x=1 then (x+1)$
2 (%i2) f(1)
✆
(%o1) 2
55
56 CHAPTER 3. CONDITIONS
3.1.2 If-Else Statement (if-else)
if-else is a conditional statement where function body for ‘true’ and ‘false’ con-
ditions are given and only ‘true’ case is printed in output. Syntax for if-else
condition is
✞
(%i2) if  condition 
2 then
body if condition true
4 else
body if condition false
✆
✞
1 (%i2) f(x) : = if x=1 then (x+1) else (x-1)$
(%i2) f(3)
✆
(%o1) 2
3.2 Loop
3.2.1 For Statement (for)
It is loop operator. The syntax for for loop is
✞
(%i1) for initial var
2 thru
bounding limit
4 step
integer
6 do
function body;
✆
For example
✞
1 (%i1) for i:1 thru 10 step 3 do print(2*i);
✆
✞
2
8
14
20
(%o1) done
✆
while statement can be applied with for function.
✞
1 (%i1) for i: 1 while i = 10 do s: s+i;
✆
✞
(%o1) 55
✆
3.2. LOOP 57
3.2.2 Do Statement (do)
The do statement is used for performing iteration.
✞
1 (%i1) for i: 1 while i = 10 do s: s+i;
✆
✞
(%o1) 55
✆
3.2.3 While Statement (while)
It allow the iteration to be performed until the require condition is satisfied.
Generally while statement comes with do statement.
✞
1 (%i1) for i: 1 while i = 10 do s: s+i;
✆
✞
(%o1) 55
✆
58 CHAPTER 3. CONDITIONS
Chapter 4
Arithmetic
Arithmetical functions are followings.
4.1 Arithmatic Functions
4.1.1 Absolute Number (abs)
abs returns the absolute value of an supplied number. If x = 1.20152 then its
absolute value is 1.201. Similarly if x = −1.20152, then its absolute value is
1.201.
✞
1 (%i1) abs(1.20152);
✆
✞
(%o1) 1.201
✆
✞
1 (%i1) abs(-1.20152);
✆
✞
(%o1) 1.201
✆
4.1.2 Summation of Terms (sum)
sum is used for sum evaluation of a series. Syntax for sum is
✞
1 (%i1) sum(expression, variable, initial value, final value)
✆
Summation
n
X
i=1
i2
is expanded as
n
X
i=1
i2
= 12
+ 22
+ 32
+ . . . + n2
59
60 CHAPTER 4. ARITHMETIC
If either initial or final value is symbol, then output is just symbolic representa-
tion of summation. The sum of a series of square of first ‘n’ integers is evaluated
as
✞
1 (%i1) sum(x^2, x, a, b)
✆
The output is
(%o1)
b
X
x=a
x2
If initial  final values are integers then
✞
1 (%i1) sum(x^2,x,1,10)
✆
The output is
✞
(%o1) 385
✆
4.1.3 Numerical Summation of Terms (nusum)
nusum is used for numerical sum evaluation of a series. Syntax for nusum is
✞
1 (%i1) nusum(expression, variable, initial value, final value)
✆
The numerical sum of a series of square of first ‘n’ integers is evaluated as
✞
1 (%i1) nusum(x^2,x,1,n)
✆
The output is
(%o1)
n (n + 1) (2 n + 1)
6
This output is in symbolic form.
4.1.4 Numerical Factor of Algebraic Fraction (numfactor)
It returns the numerical factor from an algrebraic fraction.
✞
1 (%i1) numfactor(15/8 * %e);
✆
The output is
(%o1)
15
8
4.1. ARITHMATIC FUNCTIONS 61
4.1.5 Product of Terms (product)
product is used for product evaluation of a series. Syntax for product is
✞
1 (%i1) product(expression, variable, initial value, final value)
✆
Product
n
Y
i=1
i2
is expanded as
n
Y
i=1
i2
= 12
× 22
× 32
× . . . × n2
If either initial or final value is symbol, then output is just symbolic representa-
tion of product. The product of a series of square of first ‘n’ integers is evaluated
as
✞
1 (%i1) product(x^2, x, a, b)
✆
The output is
(%o1)
b
Y
x=a
x2
If initial  final values are integers then
✞
1 (%i1) product(x^2, x, 1, 5)
✆
✞
(%o1) 14400
✆
4.1.6 Maximum Value (max)
max returns the maximum value of supplied arguments as vector or matrix.
✞
1 (%i1) max(20,15,47,85,0,-2)
✆
✞
(%o1) 85
✆
4.1.7 Minimum Value (min)
min returns the minimum value of supplied arguments as vector or matrix.
✞
1 (%i1) min(20,15,47,85,0,-2)
✆
✞
(%o1) -2
✆
62 CHAPTER 4. ARITHMETIC
4.1.8 Modulo (mod)
It returns the modulo of two expressions as shown in the syntax of this function.
✞
1 (%i1) mod(expression 1, expression 2)
✆
Modulo between two pure integer values is given by
✞
1 (%i1) mod(10,3)
✆
✞
(%o1) 1
✆
Modulo for algebraic relations
✞
1 (%i1) mod(a^3-b^3,a-b);
✆
(
4.1.9 Square Root (sqrt)
It returns the square root of given number.
✞
1 (%i1) numer:true;
(%i2) sqrt(10)
✆
✞
(%o2) 3.16227766016838
✆
4.1.10 Sorting Elements (sort)
4.1.11 Simplification Environment (simp)
When simp is used as an evflag with a value ‘false’, the simplification is sup-
pressed only during the evaluation phase of an expression. The flag can not
suppress the simplification which follows the evaluation phase. The simplifi-
cation is switched off globally. The expression sin(1.0) is not simplified to its
numerical value. The simp-flag switches the simplification on is
✞
1 (%i4) simp:true;
✆
✞
(%o4) true
✆
✞
1 (%i5) x:sin(1.0),simp:false;
✆
✞
(%o5) 0.8414709848078965
✆
Chapter 5
Algebra
This section includes the functions can be used in algebra.
5.1 Linear Equations
5.1.1 Algebraic Evaluation (algebraic)
By default algebraic is ‘false’. It must be set ‘true’ in order to simplify the
algebraic numbers.
5.1.2 Solving Linear Equation (solve)
A linear equation can be solved by using solve function. An algebraic equation,
f(x) = 0 of a variable x, would be arranged in form of f(x) = 0 before getting
the roots of the equation. If equation is in form of f(x) = a then it should be
arranged as f(x) − a = 0 before supplying it as argument to the solve function.
The synopsis of the solve function is
✞
1 (%i1) solve([linear algebraic equation],[variable])
✆
Example is
✞
1 (%i1) solve([x^2-x+1=0],[x])
✆
The output is
(%o1)

x = −
√
3 i − 1
2
, x =
√
3 i + 1
2
#
If we have to solve more than one function then syntax for solve becomes
✞
1 (%i11) x+y=1
✆
63
64 CHAPTER 5. ALGEBRA
(%o11) x + y = 1
✞
1 (%i12) x-y=2
✆
(%o12) x − y = 2
✞
1 (%i13) solve([%o11,%o12])
✆
(%o12)

y = −
1
2
, x =
3
2

5.1.3 Simplify Logs, Exponent  Radicals (radcan)
radcan simplifies expressions, which contain logs, exponentials and radicals. For
a somewhat larger class of expressions, radcan produces a regular form. Two
equivalent expressions in this class do not necessarily have the same appearance,
but their difference can be simplified by radcan to zero. For example

log(x + x2
) − log(x)
a
[log(1 + x)]
a/2
= [log(x + 1)]
a/2
Maxima code is
✞
1 (%i3) radcan((log(x+x^2)-log(x))^a/log(1+x)^(a/2));
✆
(%o3) log (x + 1)
a
2
5.1.4 Radical Expansion (radexpand)
By default it is ‘true’. It controls the expansion of radicals. When it is ‘true’
for all, factors are pulled outside to the radicals. For example, when radexpand
is ‘true’,
√
4x2 becomes 2x as a coefficient of the expression.
5.1.5 Rational Simplification (ratsimp)
It is abbrevation of “rational simplification”. It simplifies the expression and all
of its subexpressions, including the arguments to non-rational functions. The
5.1. LINEAR EQUATIONS 65
result is returned as the quotient of two polynomials in a recursive form. The
syntax used is
✞
1 (%i3) ratsimp(expression, arg 1, arg 2, ... , arg n)
✆
For example
✞
1 (%i3) sin(x)/x + exp((1+log(x))^2 - log(x));
✆
(%o3)
sin (x)
x
+
e(log(x)+1)2
x
✞
1 (%i3) sin(x)/x + exp((1+log(x))^2 - log(x));
(%i4) ratsimp(%);
✆
(%o4)
sin (x) + x2
elog(x)2
+1
x
5.1.6 Rationalized Simplification Flag (ratsimpexpons)
By default it is ‘false’. When ratsimpexpons is true, ratsimp is applied to the
exponents of expressions during simplification.
5.1.7 Evaluation of Expression in Environment (ev)
It evals an expression in the environment as specified by the user in form of
arg1, arg2, . . ., argn. In all of these arguments, at least one must be from the
environments simp, noeval, diff, integrate, expand, detout, derivlist, float, numer,
pred, eval or other valid function names. The syntax used for this function is
✞
(%i3) ev(expression, arg 1, arg 2, ... , arg n)
✆
A function f(x) = x2
+2, is to be derivated with respect to independent variable
‘x’ by using the ev function is
✞
1 (%i3) x+1;
(%i4) ev(%,1);
✆
(%o4) 2
66 CHAPTER 5. ALGEBRA
5.1.8 Evaluation of Expression (eval)
It is used as an argument in the function ev to cause an extra evaluation of
expression or relation.
5.1.9 Expansion of Algebraic Relations (expand)
expand expands to the algebraic relations consisiting product of sum of two
or more independent variables. Exponents of sum of two or more variables or
algebraic constants are splited in simplified terms and numerical constants are
made corresponding coefficients of their respective terms. The syntax used is
✞
(%i3) expand(expression)
✆
For example
✞
1 (%i3) (a+b)^2;
(%i4) expand(%);
✆
(%o4) b2
+ 2ab + a2
Another form of the syntax of expand is
✞
(%i3) expand(expression, mpnum, maximum power of denominator)
✆
Here ‘mpnum’ limits the expansion of those terms whose exponent is less than or
equal to ‘mpnum’ in the numerator. Similarly ‘mpden’ limits the expansion of
those terms whose exponent is less than or equal to ‘mpden’ in the denominator.
This limitation is applicable when power of exponents is positive. It is helpful
to expand the specific radicals in the rational algebraic expression. For example
✞
1 (%i3) (a+b)^2;
(%i4) expand(%, 1);
✆
Does not exapanded as the exponent of numerator is ‘2’ that is greater than
the ‘mpnum’ value ‘1’. Remember if there is negative exponents of a radical
value in rational expressions then their power is made positive by changing their
position from the numerator to denominator and vice versa.
5.2 Inequality  Polynomial
5.2.1 Equality (equal)
equal compares two expressions, whether two expressions are equal or not. The
stat of comparison is returned when it is asked by using function is. It is used
for true state. If the condition is ‘true’, then the function is proven by facts and
assumed in database.
5.2. INEQUALITY  POLYNOMIAL 67
✞
(%i3) equal(x, x^2);
2 (%i4) is(%);
✆
(%o4) unknown
✞
(%i3) equal(x*x,x^2);
2 (%i4) is(%);
✆
(%o4) true
5.2.2 Inequality (notequal)
notequal compares two expressions, whether two expressions are equal or not.
The stat of comparison is returned when it is asked by using function is. It is
used for false state.
✞
(%i3) notqual(x, x^2);
2 (%i4) is(%);
✆
(%o4) unknown
✞
(%i3) notequal(x*x,x^2);
2 (%i4) is(%);
✆
(%o4) false
5.2.3 Solve Algebraic Polynomials (algsys)
algsys used to solve the simultaneous polynomial equations for the list of the
variables. All the polynomial equations and list of variables to be supplied as
arguments to the function must be in vector form. The syntax used is
✞
(%i3) algsys([s^3+1], [s]);
✆
68 CHAPTER 5. ALGEBRA
(%o3)
s = −1
s =
√
3 i + 1
2
s = −
√
3 i − 1
2
5.2.4 Solve Linear Equations (linsolve)
linsolve is used to solve the simultaneous linear equations for the list of variables.
The expressions must be polynomials in the variables and may be equations.
All the linear equations and list of variables to be supplied as arguments to the
function must be in vector form. The syntax used is
✞
1 (%i3) linsolve([2*x+8*y-4*z=10, 2*x+y+4*z=8, x-8*y-z=-20], [x, y, z]);
✆
(%o3) x = −
45
89
y =
198
89
z =
151
89
5.2.5 Check The Stat Of Database (is)
is attempts to determine whether the predicate expression is provable from the
facts in the assume database. If the proven state from the facts is not assumed
then it returns the status ‘unknown’.
✞
1 (%i3) notequal(x*x, x^2);
(%i4) is(%);
✆
(%o4) false
5.2.6 Check The Stat Of Database (maybe)
maybe similar to is, attempts to determine whether the predicate expression
is provable from the facts in the assume database. If state is not assumed in
database, it returns ‘unknown’ result.
✞
(%i3) notequal(x, x^2);
2 (%i4) maybe(%);
✆
5.2. INEQUALITY  POLYNOMIAL 69
(%o4) unknown
✞
(%i5) notequal(x*x, x^2);
2 (%i6) maybe(%);
✆
(%o6) false
5.2.7 Algebraic Substitution (subst)
This function substitutes old variable by new variable. The syntax for this
function is
✞
(%i3) subst(new var, old var, expression);
✆
For example
✞
1 (%i5) subst(y, x, x^n-a^n);
✆
(%o6) yn
− an
70 CHAPTER 5. ALGEBRA
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations
Maxima Commands for Programming, Mathematical Operations and Declarations

More Related Content

What's hot

Troubleshooting Complex Oracle Performance Problems with Tanel Poder
Troubleshooting Complex Oracle Performance Problems with Tanel PoderTroubleshooting Complex Oracle Performance Problems with Tanel Poder
Troubleshooting Complex Oracle Performance Problems with Tanel PoderTanel Poder
 
Machine Learning with Spark MLlib
Machine Learning with Spark MLlibMachine Learning with Spark MLlib
Machine Learning with Spark MLlibTodd McGrath
 
Data Modeling - Enhanced ER diagrams & Mapping.pdf
Data Modeling - Enhanced ER diagrams & Mapping.pdfData Modeling - Enhanced ER diagrams & Mapping.pdf
Data Modeling - Enhanced ER diagrams & Mapping.pdfChristalin Nelson
 
(BDT401) Amazon Redshift Deep Dive: Tuning and Best Practices
(BDT401) Amazon Redshift Deep Dive: Tuning and Best Practices(BDT401) Amazon Redshift Deep Dive: Tuning and Best Practices
(BDT401) Amazon Redshift Deep Dive: Tuning and Best PracticesAmazon Web Services
 
Relational_Algebra_Calculus Operations.pdf
Relational_Algebra_Calculus Operations.pdfRelational_Algebra_Calculus Operations.pdf
Relational_Algebra_Calculus Operations.pdfChristalin Nelson
 
Sizing MongoDB Clusters
Sizing MongoDB Clusters Sizing MongoDB Clusters
Sizing MongoDB Clusters MongoDB
 
Ash masters : advanced ash analytics on Oracle
Ash masters : advanced ash analytics on Oracle Ash masters : advanced ash analytics on Oracle
Ash masters : advanced ash analytics on Oracle Kyle Hailey
 
Bài giảng asp.net
Bài giảng asp.netBài giảng asp.net
Bài giảng asp.netDung Duong
 
Survey of some free Tools to enhance your SQL Tuning and Performance Diagnost...
Survey of some free Tools to enhance your SQL Tuning and Performance Diagnost...Survey of some free Tools to enhance your SQL Tuning and Performance Diagnost...
Survey of some free Tools to enhance your SQL Tuning and Performance Diagnost...Carlos Sierra
 
JSR381 Visual Recognition for Java.pdf
JSR381 Visual Recognition for Java.pdfJSR381 Visual Recognition for Java.pdf
JSR381 Visual Recognition for Java.pdfZoran Sevarac, PhD
 
A quick tour of Mysql 8 roles
A quick tour of Mysql 8 rolesA quick tour of Mysql 8 roles
A quick tour of Mysql 8 rolesGiuseppe Maxia
 
DBA Tasks in Oracle Autonomous Database
DBA Tasks in Oracle Autonomous DatabaseDBA Tasks in Oracle Autonomous Database
DBA Tasks in Oracle Autonomous DatabaseSinanPetrusToma
 
Sql server performance tuning
Sql server performance tuningSql server performance tuning
Sql server performance tuningJugal Shah
 
Trigger, Cursor, Function in SQL Server
Trigger, Cursor, Function in SQL ServerTrigger, Cursor, Function in SQL Server
Trigger, Cursor, Function in SQL ServerNguyễn Phúc
 
Understanding my database through SQL*Plus using the free tool eDB360
Understanding my database through SQL*Plus using the free tool eDB360Understanding my database through SQL*Plus using the free tool eDB360
Understanding my database through SQL*Plus using the free tool eDB360Carlos Sierra
 
Processing Large Data with Apache Spark -- HasGeek
Processing Large Data with Apache Spark -- HasGeekProcessing Large Data with Apache Spark -- HasGeek
Processing Large Data with Apache Spark -- HasGeekVenkata Naga Ravi
 

What's hot (20)

Troubleshooting Complex Oracle Performance Problems with Tanel Poder
Troubleshooting Complex Oracle Performance Problems with Tanel PoderTroubleshooting Complex Oracle Performance Problems with Tanel Poder
Troubleshooting Complex Oracle Performance Problems with Tanel Poder
 
Machine Learning with Spark MLlib
Machine Learning with Spark MLlibMachine Learning with Spark MLlib
Machine Learning with Spark MLlib
 
Data Modeling - Enhanced ER diagrams & Mapping.pdf
Data Modeling - Enhanced ER diagrams & Mapping.pdfData Modeling - Enhanced ER diagrams & Mapping.pdf
Data Modeling - Enhanced ER diagrams & Mapping.pdf
 
(BDT401) Amazon Redshift Deep Dive: Tuning and Best Practices
(BDT401) Amazon Redshift Deep Dive: Tuning and Best Practices(BDT401) Amazon Redshift Deep Dive: Tuning and Best Practices
(BDT401) Amazon Redshift Deep Dive: Tuning and Best Practices
 
Relational_Algebra_Calculus Operations.pdf
Relational_Algebra_Calculus Operations.pdfRelational_Algebra_Calculus Operations.pdf
Relational_Algebra_Calculus Operations.pdf
 
Oracle 12c Architecture
Oracle 12c ArchitectureOracle 12c Architecture
Oracle 12c Architecture
 
Sizing MongoDB Clusters
Sizing MongoDB Clusters Sizing MongoDB Clusters
Sizing MongoDB Clusters
 
Ids
Ids Ids
Ids
 
Ash masters : advanced ash analytics on Oracle
Ash masters : advanced ash analytics on Oracle Ash masters : advanced ash analytics on Oracle
Ash masters : advanced ash analytics on Oracle
 
Bài giảng asp.net
Bài giảng asp.netBài giảng asp.net
Bài giảng asp.net
 
Survey of some free Tools to enhance your SQL Tuning and Performance Diagnost...
Survey of some free Tools to enhance your SQL Tuning and Performance Diagnost...Survey of some free Tools to enhance your SQL Tuning and Performance Diagnost...
Survey of some free Tools to enhance your SQL Tuning and Performance Diagnost...
 
JSR381 Visual Recognition for Java.pdf
JSR381 Visual Recognition for Java.pdfJSR381 Visual Recognition for Java.pdf
JSR381 Visual Recognition for Java.pdf
 
A quick tour of Mysql 8 roles
A quick tour of Mysql 8 rolesA quick tour of Mysql 8 roles
A quick tour of Mysql 8 roles
 
DBA Tasks in Oracle Autonomous Database
DBA Tasks in Oracle Autonomous DatabaseDBA Tasks in Oracle Autonomous Database
DBA Tasks in Oracle Autonomous Database
 
Sql server performance tuning
Sql server performance tuningSql server performance tuning
Sql server performance tuning
 
Percona toolkit
Percona toolkitPercona toolkit
Percona toolkit
 
Trigger, Cursor, Function in SQL Server
Trigger, Cursor, Function in SQL ServerTrigger, Cursor, Function in SQL Server
Trigger, Cursor, Function in SQL Server
 
Deep Dive on Amazon Redshift
Deep Dive on Amazon RedshiftDeep Dive on Amazon Redshift
Deep Dive on Amazon Redshift
 
Understanding my database through SQL*Plus using the free tool eDB360
Understanding my database through SQL*Plus using the free tool eDB360Understanding my database through SQL*Plus using the free tool eDB360
Understanding my database through SQL*Plus using the free tool eDB360
 
Processing Large Data with Apache Spark -- HasGeek
Processing Large Data with Apache Spark -- HasGeekProcessing Large Data with Apache Spark -- HasGeek
Processing Large Data with Apache Spark -- HasGeek
 

Similar to Maxima Commands for Programming, Mathematical Operations and Declarations

Gnu octave help book 01 of 02
Gnu octave help book 01 of 02Gnu octave help book 01 of 02
Gnu octave help book 01 of 02Arun Umrao
 
Notes for GNU Octave - Numerical Programming - for Students 01 of 02 by Arun ...
Notes for GNU Octave - Numerical Programming - for Students 01 of 02 by Arun ...Notes for GNU Octave - Numerical Programming - for Students 01 of 02 by Arun ...
Notes for GNU Octave - Numerical Programming - for Students 01 of 02 by Arun ...ssuserd6b1fd
 
Think Like Scilab and Become a Numerical Programming Expert- Notes for Beginn...
Think Like Scilab and Become a Numerical Programming Expert- Notes for Beginn...Think Like Scilab and Become a Numerical Programming Expert- Notes for Beginn...
Think Like Scilab and Become a Numerical Programming Expert- Notes for Beginn...ssuserd6b1fd
 
Scilab help book 1 of 2
Scilab help book 1 of 2Scilab help book 1 of 2
Scilab help book 1 of 2Arun Umrao
 
Francois fleuret -_c++_lecture_notes
Francois fleuret -_c++_lecture_notesFrancois fleuret -_c++_lecture_notes
Francois fleuret -_c++_lecture_noteshamza239523
 
Java Programming Notes for Beginners by Arun Umrao
Java Programming Notes for Beginners by Arun UmraoJava Programming Notes for Beginners by Arun Umrao
Java Programming Notes for Beginners by Arun Umraossuserd6b1fd
 
Notes and Description for Xcos Scilab Block Simulation with Suitable Examples...
Notes and Description for Xcos Scilab Block Simulation with Suitable Examples...Notes and Description for Xcos Scilab Block Simulation with Suitable Examples...
Notes and Description for Xcos Scilab Block Simulation with Suitable Examples...ssuserd6b1fd
 
Xcos simulation
Xcos simulationXcos simulation
Xcos simulationArun Umrao
 
Introduction to-matlab
Introduction to-matlabIntroduction to-matlab
Introduction to-matlabdeepaindrawal
 
Getstart graphic
Getstart graphicGetstart graphic
Getstart graphicalldesign
 
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...ssuserd6b1fd
 

Similar to Maxima Commands for Programming, Mathematical Operations and Declarations (20)

Gnu octave help book 01 of 02
Gnu octave help book 01 of 02Gnu octave help book 01 of 02
Gnu octave help book 01 of 02
 
Notes for GNU Octave - Numerical Programming - for Students 01 of 02 by Arun ...
Notes for GNU Octave - Numerical Programming - for Students 01 of 02 by Arun ...Notes for GNU Octave - Numerical Programming - for Students 01 of 02 by Arun ...
Notes for GNU Octave - Numerical Programming - for Students 01 of 02 by Arun ...
 
Think Like Scilab and Become a Numerical Programming Expert- Notes for Beginn...
Think Like Scilab and Become a Numerical Programming Expert- Notes for Beginn...Think Like Scilab and Become a Numerical Programming Expert- Notes for Beginn...
Think Like Scilab and Become a Numerical Programming Expert- Notes for Beginn...
 
Scilab help book 1 of 2
Scilab help book 1 of 2Scilab help book 1 of 2
Scilab help book 1 of 2
 
Francois fleuret -_c++_lecture_notes
Francois fleuret -_c++_lecture_notesFrancois fleuret -_c++_lecture_notes
Francois fleuret -_c++_lecture_notes
 
Notes of Java
Notes of JavaNotes of Java
Notes of Java
 
Java Programming Notes for Beginners by Arun Umrao
Java Programming Notes for Beginners by Arun UmraoJava Programming Notes for Beginners by Arun Umrao
Java Programming Notes for Beginners by Arun Umrao
 
Thats How We C
Thats How We CThats How We C
Thats How We C
 
Advanced macro guide
Advanced macro guideAdvanced macro guide
Advanced macro guide
 
Hats guia de_macro
Hats guia de_macroHats guia de_macro
Hats guia de_macro
 
Notes and Description for Xcos Scilab Block Simulation with Suitable Examples...
Notes and Description for Xcos Scilab Block Simulation with Suitable Examples...Notes and Description for Xcos Scilab Block Simulation with Suitable Examples...
Notes and Description for Xcos Scilab Block Simulation with Suitable Examples...
 
Xcos simulation
Xcos simulationXcos simulation
Xcos simulation
 
Introduction to Matlab
Introduction to MatlabIntroduction to Matlab
Introduction to Matlab
 
OPCDE Crackme Solution
OPCDE Crackme SolutionOPCDE Crackme Solution
OPCDE Crackme Solution
 
Introduction to-matlab
Introduction to-matlabIntroduction to-matlab
Introduction to-matlab
 
Introduction to-matlab
Introduction to-matlabIntroduction to-matlab
Introduction to-matlab
 
Matlab ilu
Matlab iluMatlab ilu
Matlab ilu
 
Getstart graphic
Getstart graphicGetstart graphic
Getstart graphic
 
Introduction to-matlab
Introduction to-matlabIntroduction to-matlab
Introduction to-matlab
 
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...
 

More from ssuserd6b1fd

Notes for c programming for mca, bca, b. tech cse, ece and msc (cs) 1 of 5 by...
Notes for c programming for mca, bca, b. tech cse, ece and msc (cs) 1 of 5 by...Notes for c programming for mca, bca, b. tech cse, ece and msc (cs) 1 of 5 by...
Notes for c programming for mca, bca, b. tech cse, ece and msc (cs) 1 of 5 by...ssuserd6b1fd
 
Decreasing increasing functions by arun umrao
Decreasing increasing functions by arun umraoDecreasing increasing functions by arun umrao
Decreasing increasing functions by arun umraossuserd6b1fd
 
Distribution of normal data understanding it numerical way by arun umrao
Distribution of normal data   understanding it numerical way by arun umraoDistribution of normal data   understanding it numerical way by arun umrao
Distribution of normal data understanding it numerical way by arun umraossuserd6b1fd
 
Decreasing and increasing functions by arun umrao
Decreasing and increasing functions by arun umraoDecreasing and increasing functions by arun umrao
Decreasing and increasing functions by arun umraossuserd6b1fd
 
What is meaning of epsilon and delta in limits of a function by Arun Umrao
What is meaning of epsilon and delta in limits of a function by Arun UmraoWhat is meaning of epsilon and delta in limits of a function by Arun Umrao
What is meaning of epsilon and delta in limits of a function by Arun Umraossuserd6b1fd
 
Notes for GNU Octave - Numerical Programming - for Students - 02 of 02 by aru...
Notes for GNU Octave - Numerical Programming - for Students - 02 of 02 by aru...Notes for GNU Octave - Numerical Programming - for Students - 02 of 02 by aru...
Notes for GNU Octave - Numerical Programming - for Students - 02 of 02 by aru...ssuserd6b1fd
 
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...ssuserd6b1fd
 
Think Like Scilab and Become a Numerical Programming Expert- Notes for Beginn...
Think Like Scilab and Become a Numerical Programming Expert- Notes for Beginn...Think Like Scilab and Become a Numerical Programming Expert- Notes for Beginn...
Think Like Scilab and Become a Numerical Programming Expert- Notes for Beginn...ssuserd6b1fd
 
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 5 of 5 by...
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 5 of 5 by...Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 5 of 5 by...
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 5 of 5 by...ssuserd6b1fd
 
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 4 of 5 by...
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 4 of 5 by...Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 4 of 5 by...
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 4 of 5 by...ssuserd6b1fd
 
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 3 of 5 b...
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 3 of 5  b...Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 3 of 5  b...
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 3 of 5 b...ssuserd6b1fd
 
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 2 of 5 by...
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 2 of 5 by...Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 2 of 5 by...
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 2 of 5 by...ssuserd6b1fd
 
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 1 of 5 by...
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 1 of 5 by...Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 1 of 5 by...
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 1 of 5 by...ssuserd6b1fd
 
Work and Energy Notes by Arun Umrao
Work and Energy Notes by Arun UmraoWork and Energy Notes by Arun Umrao
Work and Energy Notes by Arun Umraossuserd6b1fd
 
Notes of Units, Dimensions & Errors for IIT JEE by Arun Umrao
Notes of Units, Dimensions & Errors for IIT JEE by Arun UmraoNotes of Units, Dimensions & Errors for IIT JEE by Arun Umrao
Notes of Units, Dimensions & Errors for IIT JEE by Arun Umraossuserd6b1fd
 
Physics dictionary for CBSE, ISCE, Class X Students by Arun Umrao
Physics dictionary for CBSE, ISCE, Class X Students by Arun UmraoPhysics dictionary for CBSE, ISCE, Class X Students by Arun Umrao
Physics dictionary for CBSE, ISCE, Class X Students by Arun Umraossuserd6b1fd
 
Notes of 8085 micro processor Programming for BCA, MCA, MSC (CS), MSC (IT) &...
Notes of 8085 micro processor Programming  for BCA, MCA, MSC (CS), MSC (IT) &...Notes of 8085 micro processor Programming  for BCA, MCA, MSC (CS), MSC (IT) &...
Notes of 8085 micro processor Programming for BCA, MCA, MSC (CS), MSC (IT) &...ssuserd6b1fd
 
Notes of 8051 Micro Controller for BCA, MCA, MSC (CS), MSC (IT) & AMIE IEI- b...
Notes of 8051 Micro Controller for BCA, MCA, MSC (CS), MSC (IT) & AMIE IEI- b...Notes of 8051 Micro Controller for BCA, MCA, MSC (CS), MSC (IT) & AMIE IEI- b...
Notes of 8051 Micro Controller for BCA, MCA, MSC (CS), MSC (IT) & AMIE IEI- b...ssuserd6b1fd
 
Modlica an introduction by Arun Umrao
Modlica an introduction by Arun UmraoModlica an introduction by Arun Umrao
Modlica an introduction by Arun Umraossuserd6b1fd
 
Maxima & Minima of Functions - Differential Calculus by Arun Umrao
Maxima & Minima of Functions - Differential Calculus by Arun UmraoMaxima & Minima of Functions - Differential Calculus by Arun Umrao
Maxima & Minima of Functions - Differential Calculus by Arun Umraossuserd6b1fd
 

More from ssuserd6b1fd (20)

Notes for c programming for mca, bca, b. tech cse, ece and msc (cs) 1 of 5 by...
Notes for c programming for mca, bca, b. tech cse, ece and msc (cs) 1 of 5 by...Notes for c programming for mca, bca, b. tech cse, ece and msc (cs) 1 of 5 by...
Notes for c programming for mca, bca, b. tech cse, ece and msc (cs) 1 of 5 by...
 
Decreasing increasing functions by arun umrao
Decreasing increasing functions by arun umraoDecreasing increasing functions by arun umrao
Decreasing increasing functions by arun umrao
 
Distribution of normal data understanding it numerical way by arun umrao
Distribution of normal data   understanding it numerical way by arun umraoDistribution of normal data   understanding it numerical way by arun umrao
Distribution of normal data understanding it numerical way by arun umrao
 
Decreasing and increasing functions by arun umrao
Decreasing and increasing functions by arun umraoDecreasing and increasing functions by arun umrao
Decreasing and increasing functions by arun umrao
 
What is meaning of epsilon and delta in limits of a function by Arun Umrao
What is meaning of epsilon and delta in limits of a function by Arun UmraoWhat is meaning of epsilon and delta in limits of a function by Arun Umrao
What is meaning of epsilon and delta in limits of a function by Arun Umrao
 
Notes for GNU Octave - Numerical Programming - for Students - 02 of 02 by aru...
Notes for GNU Octave - Numerical Programming - for Students - 02 of 02 by aru...Notes for GNU Octave - Numerical Programming - for Students - 02 of 02 by aru...
Notes for GNU Octave - Numerical Programming - for Students - 02 of 02 by aru...
 
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...
 
Think Like Scilab and Become a Numerical Programming Expert- Notes for Beginn...
Think Like Scilab and Become a Numerical Programming Expert- Notes for Beginn...Think Like Scilab and Become a Numerical Programming Expert- Notes for Beginn...
Think Like Scilab and Become a Numerical Programming Expert- Notes for Beginn...
 
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 5 of 5 by...
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 5 of 5 by...Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 5 of 5 by...
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 5 of 5 by...
 
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 4 of 5 by...
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 4 of 5 by...Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 4 of 5 by...
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 4 of 5 by...
 
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 3 of 5 b...
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 3 of 5  b...Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 3 of 5  b...
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 3 of 5 b...
 
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 2 of 5 by...
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 2 of 5 by...Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 2 of 5 by...
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 2 of 5 by...
 
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 1 of 5 by...
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 1 of 5 by...Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 1 of 5 by...
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 1 of 5 by...
 
Work and Energy Notes by Arun Umrao
Work and Energy Notes by Arun UmraoWork and Energy Notes by Arun Umrao
Work and Energy Notes by Arun Umrao
 
Notes of Units, Dimensions & Errors for IIT JEE by Arun Umrao
Notes of Units, Dimensions & Errors for IIT JEE by Arun UmraoNotes of Units, Dimensions & Errors for IIT JEE by Arun Umrao
Notes of Units, Dimensions & Errors for IIT JEE by Arun Umrao
 
Physics dictionary for CBSE, ISCE, Class X Students by Arun Umrao
Physics dictionary for CBSE, ISCE, Class X Students by Arun UmraoPhysics dictionary for CBSE, ISCE, Class X Students by Arun Umrao
Physics dictionary for CBSE, ISCE, Class X Students by Arun Umrao
 
Notes of 8085 micro processor Programming for BCA, MCA, MSC (CS), MSC (IT) &...
Notes of 8085 micro processor Programming  for BCA, MCA, MSC (CS), MSC (IT) &...Notes of 8085 micro processor Programming  for BCA, MCA, MSC (CS), MSC (IT) &...
Notes of 8085 micro processor Programming for BCA, MCA, MSC (CS), MSC (IT) &...
 
Notes of 8051 Micro Controller for BCA, MCA, MSC (CS), MSC (IT) & AMIE IEI- b...
Notes of 8051 Micro Controller for BCA, MCA, MSC (CS), MSC (IT) & AMIE IEI- b...Notes of 8051 Micro Controller for BCA, MCA, MSC (CS), MSC (IT) & AMIE IEI- b...
Notes of 8051 Micro Controller for BCA, MCA, MSC (CS), MSC (IT) & AMIE IEI- b...
 
Modlica an introduction by Arun Umrao
Modlica an introduction by Arun UmraoModlica an introduction by Arun Umrao
Modlica an introduction by Arun Umrao
 
Maxima & Minima of Functions - Differential Calculus by Arun Umrao
Maxima & Minima of Functions - Differential Calculus by Arun UmraoMaxima & Minima of Functions - Differential Calculus by Arun Umrao
Maxima & Minima of Functions - Differential Calculus by Arun Umrao
 

Recently uploaded

Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 

Recently uploaded (20)

Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 

Maxima Commands for Programming, Mathematical Operations and Declarations

  • 2. 2
  • 3. Contents I Modelica Commands 17 1 Maxima Core 19 1.1 Mathematical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.1.1 Factorial Symbol (!) . . . . . . . . . . . . . . . . . . . . . 19 1.1.2 Double Factorial Symbol (!!) . . . . . . . . . . . . . . . . 19 1.1.3 Termination of Line (;) . . . . . . . . . . . . . . . . . . . 20 1.1.4 Negation of Expression (#) . . . . . . . . . . . . . . . . . 20 1.1.5 Evaluate Internally & No Output ($) . . . . . . . . . . . . 20 1.1.6 Do Not Execute Function (’) . . . . . . . . . . . . . . . . 20 1.1.7 Re-evaluation of Specific Input (“) . . . . . . . . . . . . . 21 1.1.8 Variable Assigning Operator (:) . . . . . . . . . . . . . . . 21 1.1.9 Operator Assigner (::) . . . . . . . . . . . . . . . . . . . . 21 1.1.10 Macro Function Definition Operator (::=) . . . . . . . . . 22 1.1.11 Function Operator (:=) . . . . . . . . . . . . . . . . . . . 22 1.1.12 Sum Operator (+) . . . . . . . . . . . . . . . . . . . . . . 23 1.1.13 Subtraction Operator (-) . . . . . . . . . . . . . . . . . . . 23 1.1.14 Product Operator (*) . . . . . . . . . . . . . . . . . . . . 24 1.1.15 Division Operator (/) . . . . . . . . . . . . . . . . . . . . 24 1.1.16 Exponential Operator (ˆ) . . . . . . . . . . . . . . . . . . 25 1.1.17 Equal Operator (=) . . . . . . . . . . . . . . . . . . . . . 26 1.1.18 Less Than Operator (<) . . . . . . . . . . . . . . . . . . . 26 1.1.19 Grater Than Operator (>) . . . . . . . . . . . . . . . . . 26 1.1.20 Less Than or Equals To Operator (<=) . . . . . . . . . . 27 1.1.21 Greater Than or Equals To Operator (>=) . . . . . . . . 27 1.1.22 Lisp Name (?) . . . . . . . . . . . . . . . . . . . . . . . . 27 1.1.23 A List ([ ... ]) . . . . . . . . . . . . . . . . . . . . . . . . . 27 1.1.24 Call Last Garbage (%) . . . . . . . . . . . . . . . . . . . . 28 1.1.25 Previous Statement (%%) . . . . . . . . . . . . . . . . . . 28 1.1.26 Exponential (%e) . . . . . . . . . . . . . . . . . . . . . . . 28 1.1.27 %e to numlog . . . . . . . . . . . . . . . . . . . . . . . . . 29 1.1.28 Negative Exponent as a Quotient (%edispflag) . . . . . . 29 1.1.29 Demoivre Mode (%emode) . . . . . . . . . . . . . . . . . 29 1.1.30 Exponential Numerical (%enumer) . . . . . . . . . . . . . 29 1.1.31 Gamma Constant (%gamma) . . . . . . . . . . . . . . . . 30 3
  • 4. 4 CONTENTS 1.1.32 Pi Value (%pi) . . . . . . . . . . . . . . . . . . . . . . . . 30 1.1.33 Previous Output (%th) . . . . . . . . . . . . . . . . . . . 30 1.1.34 Most Recent Expression ( ) . . . . . . . . . . . . . . . . . 30 1.1.35 Display String (disp) . . . . . . . . . . . . . . . . . . . . . 30 1.2 Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 1.2.1 Error (error) . . . . . . . . . . . . . . . . . . . . . . . . . 31 1.2.2 Error Size (error size) . . . . . . . . . . . . . . . . . . . . 31 1.2.3 Error Symbol (error syms) . . . . . . . . . . . . . . . . . 31 1.2.4 Error Message (errormsg) . . . . . . . . . . . . . . . . . . 31 1.2.5 Debug Mode Maxima (debugmode) . . . . . . . . . . . . 32 1.2.6 Show Examples (example) . . . . . . . . . . . . . . . . . . 32 1.2.7 Set Numerical Precision (fpprec) . . . . . . . . . . . . . . 32 1.2.8 Toggle to Floating Point (numer) . . . . . . . . . . . . . . 32 1.3 Procedural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 1.3.1 Interrupt Maxima (kill) . . . . . . . . . . . . . . . . . . . 33 1.3.2 Modes of Variables (mode declare) . . . . . . . . . . . . . 33 1.3.3 Evaluate & Print Expression (print) . . . . . . . . . . . . 34 1.3.4 Labels (labels) . . . . . . . . . . . . . . . . . . . . . . . . 34 1.3.5 Line Number (linenum) . . . . . . . . . . . . . . . . . . . 34 1.3.6 List of Options (myoptions) . . . . . . . . . . . . . . . . . 34 1.3.7 Ordinary Base (obase) . . . . . . . . . . . . . . . . . . . . 34 1.3.8 Print the Reset Option (optionset) . . . . . . . . . . . . . 35 1.3.9 Play Previous Garbage (playback) . . . . . . . . . . . . . 35 1.3.10 Prompting Symbol (prompt) . . . . . . . . . . . . . . . . 35 1.3.11 Quit the Session (quit) . . . . . . . . . . . . . . . . . . . . 35 1.3.12 Rationalized Print (ratprint) . . . . . . . . . . . . . . . . 35 1.3.13 Enter into Lisp System (to lisp) . . . . . . . . . . . . . . . 35 1.3.14 Call Functions of Current Session (backtrace) . . . . . . . 36 1.3.15 Break Maxima Evaluation (break) . . . . . . . . . . . . . 36 1.3.16 Bug Reporting Info (bug report) . . . . . . . . . . . . . . 36 1.3.17 Build Information (build info) . . . . . . . . . . . . . . . . 36 1.3.18 Debug Mode (debugmode) . . . . . . . . . . . . . . . . . 36 1.3.19 Show Evaluation Time (showtime) . . . . . . . . . . . . . 36 1.3.20 Evaluation Time (time) . . . . . . . . . . . . . . . . . . . 36 1.3.21 Promp & Read (read) . . . . . . . . . . . . . . . . . . . . 37 1.3.22 testsuite files . . . . . . . . . . . . . . . . . . . . . . . . . 37 1.3.23 Test The Maxim (run testsuite) . . . . . . . . . . . . . . . 37 1.3.24 Read Function Without Evaluation (readonly) . . . . . . 37 1.3.25 Activate Contexts (activate) . . . . . . . . . . . . . . . . . 38 1.3.26 List of Activated Contexts (activecontexts) . . . . . . . . 38 1.3.27 Additive Function (additive) . . . . . . . . . . . . . . . . 38 1.3.28 Alternative Name for Function (alias) . . . . . . . . . . . 38 1.3.29 Declare String as Alphabic (alphabetic) . . . . . . . . . . 38 1.3.30 Arguments In Expression (args) . . . . . . . . . . . . . . . 38 1.3.31 Atomic Expression (atom) . . . . . . . . . . . . . . . . . . 38 1.3.32 Declare a Function Antisymmetric (antisymmetric) . . . . 39
  • 5. CONTENTS 5 1.3.33 Check The Integer Type (askinteger) . . . . . . . . . . . . 39 1.3.34 Retrive User Property (get) . . . . . . . . . . . . . . . . . 39 1.3.35 Declare Variable as Integer (integer) . . . . . . . . . . . . 39 1.3.36 Declare Variable as Non-Integer (noninteger) . . . . . . . 40 1.3.37 Integer Variabe (integervalued) . . . . . . . . . . . . . . . 40 1.3.38 Query for Sign of Expression (asksign) . . . . . . . . . . . 40 1.3.39 Declare Variables (assume) . . . . . . . . . . . . . . . . . 40 1.3.40 Declare Variable as Positive (assume pos) . . . . . . . . . 41 1.3.41 Declare As Communative Function (commutative) . . . . 41 1.3.42 Compare Expression (compare) . . . . . . . . . . . . . . . 41 1.3.43 Context (context) . . . . . . . . . . . . . . . . . . . . . . 41 1.3.44 Contexts (contexts) . . . . . . . . . . . . . . . . . . . . . 41 1.3.45 Deactivate Context (deactivate) . . . . . . . . . . . . . . . 41 1.3.46 Delcaration Statement (declare) . . . . . . . . . . . . . . 41 1.4 Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 1.4.1 Declare As Decreasing Function (decreasing) . . . . . . . 42 1.4.2 Declare As Increasing Function (increasing) . . . . . . . . 42 1.4.3 Declare Variable as Even Variable (even) . . . . . . . . . 42 1.4.4 Declare Variable as Odd Variable (odd) . . . . . . . . . . 42 1.4.5 Variable As a Constant (constant) . . . . . . . . . . . . . 42 1.4.6 Check a Constant (constantp) . . . . . . . . . . . . . . . . 42 1.4.7 Get Features (featurep) . . . . . . . . . . . . . . . . . . . 43 1.4.8 Set Feature (features) . . . . . . . . . . . . . . . . . . . . 43 1.4.9 Status (is) . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 1.4.10 Kill Contextx (killcontext) . . . . . . . . . . . . . . . . . 43 1.4.11 Simplify as Left-Associative (lassociative) . . . . . . . . . 43 1.4.12 Recognize Function as N-Array (nary) . . . . . . . . . . . 44 1.4.13 Maximum Negative Expansion (maxnegex) . . . . . . . . 44 1.4.14 Match Declaration (matchdeclare) . . . . . . . . . . . . . 44 1.4.15 Simplify as Multiplicative (multiplicative) . . . . . . . . . 44 1.4.16 Multiply Two Expression (multthru) . . . . . . . . . . . . 44 1.4.17 Negative Distribution (negdistrib) . . . . . . . . . . . . . 44 1.4.18 Create New Context (newcontext) . . . . . . . . . . . . . 45 1.4.19 Numerical Value of Variable (numerval) . . . . . . . . . . 45 1.4.20 Pull Out Constant Term (outative) . . . . . . . . . . . . . 45 1.4.21 Positive Function (posfun) . . . . . . . . . . . . . . . . . . 45 1.4.22 Properties of Atom (properties) . . . . . . . . . . . . . . . 45 1.4.23 Assign a Value to Property (put) . . . . . . . . . . . . . . 46 1.4.24 Simplify as Right-Associative (rassociative) . . . . . . . . 46 1.4.25 Declare Variable as Irrational Variable (irrational) . . . . 46 1.4.26 Declare Variable as Irrational Variable (rational) . . . . . 46 1.4.27 Declare Variable as Complex Variable (complex) . . . . . 46 1.4.28 Declare Variable as Imaginary Variable (imaginary) . . . 46 1.4.29 Declare Variable as Real Variable (real) . . . . . . . . . . 47 1.4.30 Remove Indicator From Atom (rem) . . . . . . . . . . . . 47 1.4.31 Remove Property (remove) . . . . . . . . . . . . . . . . . 47
  • 6. 6 CONTENTS 1.4.32 Scalar Value (scalar) . . . . . . . . . . . . . . . . . . . . . 47 1.4.33 Sign of Expression (sign) . . . . . . . . . . . . . . . . . . 47 1.4.34 Declare Variable as Symetric Function (symmetric) . . . . 48 2 Numeric Evaluation 49 2.1 Number Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.1.1 Big Float (bffac) . . . . . . . . . . . . . . . . . . . . . . . 49 2.1.2 Big Float Zeta Function (bfhzeta) . . . . . . . . . . . . . 49 2.1.3 Convert to Big Float (bfloat) . . . . . . . . . . . . . . . . 49 2.1.4 Is Big Float (bfloatp) . . . . . . . . . . . . . . . . . . . . 50 2.1.5 Digamma Big Float Function (bfpsi) & (bfpsi0) . . . . . . 50 2.1.6 Big Float to Rational Number (bftorat) . . . . . . . . . . 50 2.1.7 Truncate Big Float (bftrunc) . . . . . . . . . . . . . . . . 50 2.1.8 Big Float Zeta Function (bfzeta) . . . . . . . . . . . . . . 50 2.1.9 Complex Big Float (cbffac) . . . . . . . . . . . . . . . . . 50 2.1.10 Floating Point (float) . . . . . . . . . . . . . . . . . . . . 51 2.1.11 Float to Big Float (float2bf) . . . . . . . . . . . . . . . . 51 2.1.12 Is Floating Number (floatnump) . . . . . . . . . . . . . . 51 2.1.13 Float Point Precision (fpprec) . . . . . . . . . . . . . . . . 51 2.1.14 Float Point Print Precission (fpprintprec) . . . . . . . . . 51 2.1.15 Keep Float Points (keepfloat) . . . . . . . . . . . . . . . . 51 2.1.16 Numerical Solution (numer) . . . . . . . . . . . . . . . . . 51 2.1.17 Numerical Power of Negative Integer (numer pbranch) . . 52 2.1.18 Number to Variables (numerval) . . . . . . . . . . . . . . 52 2.1.19 Tolerance in Floating Point (ratepsilon) . . . . . . . . . . 52 2.1.20 Rationalize (rationalize) . . . . . . . . . . . . . . . . . . . 52 2.1.21 Is Rational Number (ratnump) . . . . . . . . . . . . . . . 53 2.1.22 Print Message Rational (ratprint) . . . . . . . . . . . . . 53 2.1.23 Numerical Status (stats numer) . . . . . . . . . . . . . . . 53 3 Conditions 55 3.1 Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.1.1 If Statement (if) . . . . . . . . . . . . . . . . . . . . . . . 55 3.1.2 If-Else Statement (if-else) . . . . . . . . . . . . . . . . . . 56 3.2 Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.2.1 For Statement (for) . . . . . . . . . . . . . . . . . . . . . 56 3.2.2 Do Statement (do) . . . . . . . . . . . . . . . . . . . . . . 57 3.2.3 While Statement (while) . . . . . . . . . . . . . . . . . . . 57 4 Arithmetic 59 4.1 Arithmatic Functions . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.1.1 Absolute Number (abs) . . . . . . . . . . . . . . . . . . . 59 4.1.2 Summation of Terms (sum) . . . . . . . . . . . . . . . . . 59 4.1.3 Numerical Summation of Terms (nusum) . . . . . . . . . 60 4.1.4 Numerical Factor of Algebraic Fraction (numfactor) . . . 60 4.1.5 Product of Terms (product) . . . . . . . . . . . . . . . . . 61
  • 7. CONTENTS 7 4.1.6 Maximum Value (max) . . . . . . . . . . . . . . . . . . . 61 4.1.7 Minimum Value (min) . . . . . . . . . . . . . . . . . . . . 61 4.1.8 Modulo (mod) . . . . . . . . . . . . . . . . . . . . . . . . 62 4.1.9 Square Root (sqrt) . . . . . . . . . . . . . . . . . . . . . . 62 4.1.10 Sorting Elements (sort) . . . . . . . . . . . . . . . . . . . 62 4.1.11 Simplification Environment (simp) . . . . . . . . . . . . . 62 5 Algebra 63 5.1 Linear Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.1.1 Algebraic Evaluation (algebraic) . . . . . . . . . . . . . . 63 5.1.2 Solving Linear Equation (solve) . . . . . . . . . . . . . . . 63 5.1.3 Simplify Logs, Exponent & Radicals (radcan) . . . . . . . 64 5.1.4 Radical Expansion (radexpand) . . . . . . . . . . . . . . . 64 5.1.5 Rational Simplification (ratsimp) . . . . . . . . . . . . . . 64 5.1.6 Rationalized Simplification Flag (ratsimpexpons) . . . . . 65 5.1.7 Evaluation of Expression in Environment (ev) . . . . . . . 65 5.1.8 Evaluation of Expression (eval) . . . . . . . . . . . . . . . 66 5.1.9 Expansion of Algebraic Relations (expand) . . . . . . . . 66 5.2 Inequality & Polynomial . . . . . . . . . . . . . . . . . . . . . . . 66 5.2.1 Equality (equal) . . . . . . . . . . . . . . . . . . . . . . . 66 5.2.2 Inequality (notequal) . . . . . . . . . . . . . . . . . . . . . 67 5.2.3 Solve Algebraic Polynomials (algsys) . . . . . . . . . . . . 67 5.2.4 Solve Linear Equations (linsolve) . . . . . . . . . . . . . . 68 5.2.5 Check The Stat Of Database (is) . . . . . . . . . . . . . . 68 5.2.6 Check The Stat Of Database (maybe) . . . . . . . . . . . 68 5.2.7 Algebraic Substitution (subst) . . . . . . . . . . . . . . . 69 6 Logarithm 71 6.0.8 Expoential (exp) . . . . . . . . . . . . . . . . . . . . . . . 71 6.0.9 Logarithm (log) . . . . . . . . . . . . . . . . . . . . . . . . 71 6.0.10 Absolute Logarithm (logabs) . . . . . . . . . . . . . . . . 71 6.0.11 Arc Logarithm (logarc) . . . . . . . . . . . . . . . . . . . 71 6.0.12 logconcoeffp . . . . . . . . . . . . . . . . . . . . . . . . . . 71 6.0.13 logcontract . . . . . . . . . . . . . . . . . . . . . . . . . . 71 6.0.14 Logarithmic Expansion (logexpand) . . . . . . . . . . . . 71 6.0.15 lognegint . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 6.0.16 Logarithmic Numerical Value (lognumer) . . . . . . . . . 71 6.0.17 Logarithmic Simplification (logsimp) . . . . . . . . . . . . 71 7 Calculus 73 7.1 Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 7.1.1 Finding Limit (limit) . . . . . . . . . . . . . . . . . . . . . 73 7.1.2 Limit Substitution (limsubst) . . . . . . . . . . . . . . . . 73 7.1.3 Limit By Taylor Series (tlimit) . . . . . . . . . . . . . . . 73 7.1.4 Taylor Limit Switch (tlimswitch) . . . . . . . . . . . . . . 74 7.2 Derivative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
  • 8. 8 CONTENTS 7.2.1 Derivative of a Function (diff) . . . . . . . . . . . . . . . . 74 7.2.2 Partial Drivative (gradef) . . . . . . . . . . . . . . . . . . 76 7.2.3 Total Differential (del) . . . . . . . . . . . . . . . . . . . . 76 7.2.4 Dependence of Function (depends) . . . . . . . . . . . . . 77 7.2.5 Show Dependencies (dependencies) . . . . . . . . . . . . . 77 7.2.6 Notation of Derivative (derivabbrev) . . . . . . . . . . . . 77 7.2.7 Value of Function at a Point (atvalue) . . . . . . . . . . . 78 7.2.8 Degree of Derivative (derivdegree) . . . . . . . . . . . . . 78 7.2.9 Partial Derivative (express) . . . . . . . . . . . . . . . . . 79 7.2.10 Selective Derivative (derivlist) . . . . . . . . . . . . . . . . 79 7.2.11 Substitution in Derivatives (derivsubst) . . . . . . . . . . 79 7.3 Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 7.3.1 Anti Derivative of a Function (integrate) . . . . . . . . . . 79 7.3.2 Changing The Variable (changevar) . . . . . . . . . . . . 80 7.3.3 Double Integration (dblint) . . . . . . . . . . . . . . . . . 80 8 Ordinary Differential Equation 83 8.1 Boundary Value Problems . . . . . . . . . . . . . . . . . . . . . . 83 8.1.1 Boundary Value Problem (bc2) . . . . . . . . . . . . . . . 83 8.1.2 Linear Ordinary Differential Equations (desolve) . . . . . 84 8.1.3 Initial Value Problem of First Order (ic1) . . . . . . . . . 84 8.1.4 Initial Value Problem of Second Order (ic2) . . . . . . . . 85 8.2 ODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 8.2.1 Ordinary Deferential Equation of Second Order (ode2) . . 85 9 Trigonometric 87 9.1 Trigonometric Functions . . . . . . . . . . . . . . . . . . . . . . . 87 9.1.1 Sine (sin) . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 9.1.2 Cosine (cos) . . . . . . . . . . . . . . . . . . . . . . . . . . 87 9.1.3 Tangent (tan) . . . . . . . . . . . . . . . . . . . . . . . . . 88 9.1.4 Cotangent (cot) . . . . . . . . . . . . . . . . . . . . . . . . 88 9.1.5 Secant (sec) . . . . . . . . . . . . . . . . . . . . . . . . . . 89 9.1.6 Cosecant (cosec) . . . . . . . . . . . . . . . . . . . . . . . 89 9.2 Hyperbolic Trigonometric Functions . . . . . . . . . . . . . . . . 89 9.2.1 Hyperbolic Sine (sinh) . . . . . . . . . . . . . . . . . . . . 89 9.2.2 Hyperbolic Cosine (cosh) . . . . . . . . . . . . . . . . . . 90 9.2.3 Hyperbolic Tangent (tanh) . . . . . . . . . . . . . . . . . 90 9.2.4 Hyperbolic Cotangent (coth) . . . . . . . . . . . . . . . . 90 9.2.5 Hyperbolic Secant (sech) . . . . . . . . . . . . . . . . . . 91 9.2.6 Hyperbolic Cosecant (csch) . . . . . . . . . . . . . . . . . 91 9.3 Inverse Trigonometric Functions . . . . . . . . . . . . . . . . . . 91 9.3.1 Inverse Sine (asin) . . . . . . . . . . . . . . . . . . . . . . 91 9.3.2 Inverse Cosine (acos) . . . . . . . . . . . . . . . . . . . . . 91 9.3.3 Inverse Tangent (atan) . . . . . . . . . . . . . . . . . . . . 92 9.3.4 Inverse Tangent Type Two (atan2) . . . . . . . . . . . . . 92 9.3.5 Inverse Cotangent (acot) . . . . . . . . . . . . . . . . . . . 92
  • 9. CONTENTS 9 9.3.6 Inverse Secant (asec) . . . . . . . . . . . . . . . . . . . . . 93 9.3.7 Inverse Cosecant (acsc) . . . . . . . . . . . . . . . . . . . 93 9.4 Inverse Hyperbolic Trigonometric Functions . . . . . . . . . . . . 93 9.4.1 Inverse Hyperbolic Sine (asinh) . . . . . . . . . . . . . . . 93 9.4.2 Inverse Hyperbolic Cosine (acosh) . . . . . . . . . . . . . 94 9.4.3 Inverse Hyperbolic Tangent (atanh) . . . . . . . . . . . . 94 9.4.4 Inverse Hyperbolic Cotangent (acoth) . . . . . . . . . . . 95 9.4.5 Inverse Hyperbolic Secant (asech) . . . . . . . . . . . . . 95 9.4.6 Inverse Hyperbolic Cosecant (acsch) . . . . . . . . . . . . 95 9.5 Trigonometric Identities . . . . . . . . . . . . . . . . . . . . . . . 96 9.5.1 Half Angle (halfangles) . . . . . . . . . . . . . . . . . . . 96 9.5.2 Expansion of Trigonometric Functions (trigexpand) . . . . 96 9.5.3 Sum of Arguments (trigexpandplus) . . . . . . . . . . . . 97 9.5.4 Product of Arguments (trigexpandtimes) . . . . . . . . . 97 9.5.5 Inverse Sequence Flag (triginverses) . . . . . . . . . . . . 98 9.5.6 Expansion of Rational Fractions (trigrat) . . . . . . . . . 98 9.5.7 Reduce Trigonometric Expressions (trigreduce) . . . . . . 99 9.5.8 Negative Arguments Simplification (trigsign) . . . . . . . 99 9.5.9 Trigonometric Simplification (trigsimp) . . . . . . . . . . 99 9.5.10 Demoivre Expansion (demoivre) . . . . . . . . . . . . . . 99 10 Matrix 101 10.1 Mathematical Operaton . . . . . . . . . . . . . . . . . . . . . . . 101 10.1.1 Matrix (matrix) . . . . . . . . . . . . . . . . . . . . . . . 101 10.1.2 Scalar Addition of Matrices (+) . . . . . . . . . . . . . . . 101 10.1.3 Scalar Subtraction of Matrices (-) . . . . . . . . . . . . . 102 10.1.4 Scalar Multiplication of Matrices (*) . . . . . . . . . . . . 102 10.1.5 Scalar Division of Matrix (/) . . . . . . . . . . . . . . . . 103 10.1.6 Exponent of Matrix (ˆ) . . . . . . . . . . . . . . . . . . . 103 10.1.7 Matrix Dot Product (.) . . . . . . . . . . . . . . . . . . . 104 10.2 Inverse of Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 10.2.1 Invert of Matrix Elements (Aˆ-1) . . . . . . . . . . . . . . 105 10.2.2 Inverse of a Matrix (Aˆˆ-1) . . . . . . . . . . . . . . . . . 105 10.2.3 Append Columns (addcol) . . . . . . . . . . . . . . . . . . 105 10.2.4 Append Rows (addrow) . . . . . . . . . . . . . . . . . . . 106 10.2.5 Ajoint of Matrix (adjoint) . . . . . . . . . . . . . . . . . . 106 10.2.6 Augmented Matrix (augcoefmatrix) . . . . . . . . . . . . 106 10.2.7 Cauchy Matrix (cauchy matrix) . . . . . . . . . . . . . . . 107 10.2.8 Characteristics Polynomial (charpoly) . . . . . . . . . . . 108 10.2.9 Coefficient Matrix (coefmatrix) . . . . . . . . . . . . . . . 108 10.2.10Columns of Matrix (col) . . . . . . . . . . . . . . . . . . . 108 10.2.11Column Vectors (columnvector) . . . . . . . . . . . . . . . 109 10.2.12Copy Matrix (copymatrix) . . . . . . . . . . . . . . . . . . 109 10.2.13Determinant Of Matrix (determinant) . . . . . . . . . . . 109 10.2.14Determinant As Fraction (detout) . . . . . . . . . . . . . 109 10.2.15Diagonal Matrix (diagmatrix) . . . . . . . . . . . . . . . . 110
  • 10. 10 CONTENTS 10.2.16Do All Matrix Operations (doallmxops) . . . . . . . . . . 110 10.2.17Do Exponent Operations (domxexpt) . . . . . . . . . . . 110 10.2.18Do Matrix-Matrix Operations (domxmxops) . . . . . . . . 110 10.2.19Do Matrix Products (domxnctimes) . . . . . . . . . . . . 110 10.2.20Do Not Factorize (dontfactor) . . . . . . . . . . . . . . . . 110 10.2.21Do Scalar Matrix Operations (doscmxops) . . . . . . . . . 111 10.2.22Do Scalar Matrix Operation as Matrix (doscmxplus) . . . 111 10.2.23Product of Zero & Non-Scalar Term (dot0nscsimp) . . . . 111 10.2.24Product of Zero & Scalar Term (dot0simp) . . . . . . . . 111 10.2.25Product of One & Other Term (dot1simp) . . . . . . . . . 111 10.2.26Associative of Dot Product (dotassoc) . . . . . . . . . . . 111 10.2.27Product of Constant & Other Term (dotconstrules) . . . . 111 10.2.28Distribution in Dot Product (dotdistrib) . . . . . . . . . . 111 10.2.29Simplified to Exponent (dotexptsimp) . . . . . . . . . . . 111 10.2.30Zero Exponsnt (dotident) . . . . . . . . . . . . . . . . . . 112 10.2.31Dot Screw Rules (dotscrules) . . . . . . . . . . . . . . . . 112 10.3 Matrix Characteristics . . . . . . . . . . . . . . . . . . . . . . . . 112 10.3.1 Echelon Form of Matrix (echelon) . . . . . . . . . . . . . 112 10.3.2 Eigenvalues (eivals) . . . . . . . . . . . . . . . . . . . . . . 112 10.3.3 Eigenvectors (eivects) . . . . . . . . . . . . . . . . . . . . 113 10.3.4 Except Matrix (ematrix) . . . . . . . . . . . . . . . . . . . 113 10.3.5 User Matrix (entermatrix) . . . . . . . . . . . . . . . . . . 113 10.3.6 Generate Matrix (genmatrix) . . . . . . . . . . . . . . . . 114 10.3.7 Identity Matrix (ident) . . . . . . . . . . . . . . . . . . . . 114 10.3.8 Inverse Matrix (invert) . . . . . . . . . . . . . . . . . . . . 114 10.3.9 List Elements of Matrix (list matrix entries) . . . . . . . 115 10.3.10Left Side Delimiter (lmxchar) . . . . . . . . . . . . . . . . 115 10.3.11Right Side Delimiter (rmxchar) . . . . . . . . . . . . . . . 115 10.3.12Adjoin Matrix (adjoin) . . . . . . . . . . . . . . . . . . . . 115 10.3.13Transpose of a Matrix (transpose) . . . . . . . . . . . . . 115 10.3.14Mapping of Matrix (matrixmap) . . . . . . . . . . . . . . 116 10.3.15Expression As Matrix (matrixp) . . . . . . . . . . . . . . 116 10.3.16Trace of Matrix (mattrace) . . . . . . . . . . . . . . . . . 116 10.3.17Minor of Matrix (minor) . . . . . . . . . . . . . . . . . . . 116 10.3.18Determinant of Matrix (newdet) . . . . . . . . . . . . . . 117 10.3.19Permanent of Matrix (permanent) . . . . . . . . . . . . . 117 10.3.20Rank of Matrix (rank) . . . . . . . . . . . . . . . . . . . . 117 10.3.21Rationalize to Matrix (ratmx) . . . . . . . . . . . . . . . . 117 10.3.22Row of Matrix (row) . . . . . . . . . . . . . . . . . . . . . 117 10.3.23Solve To Scalar Matrix (scalarmatrixp) . . . . . . . . . . 118 10.3.24Sub Matrix (submatrix) . . . . . . . . . . . . . . . . . . . 118 10.3.25Triangularization of Matrix (triangularize) . . . . . . . . . 118 10.3.26Zero Matix (zeromatrix) . . . . . . . . . . . . . . . . . . . 118 10.3.27Matrix Element Transpose (matrix element transpose) . . 118 10.3.28Matrix Element Multiplication (matrix element mult) . . 119 10.3.29Matrix Element Addition (matrix element add) . . . . . . 119
  • 11. CONTENTS 11 10.4 Solution of Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . 119 11 Array 121 12 Special Functions 123 12.1 airy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 12.1.1 airy ai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 12.1.2 airy bi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 12.1.3 airy dai . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 12.1.4 airy dbi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 12.2 Bessel Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 12.2.1 Bessel Function of First Kind (bessel j) . . . . . . . . . . 123 12.2.2 Bessel Function of Second Kind (bessel y) . . . . . . . . . 124 12.2.3 Hyperbolic Bessel Function of First Kind (bessel i) . . . . 124 12.2.4 Hyperbolic Bessel Function of Second Kind (bessel k) . . 125 12.2.5 Expansion of Bessel Function (besselexpand) . . . . . . . 125 12.3 Beta Function (beta) . . . . . . . . . . . . . . . . . . . . . . . . . 125 12.4 Gamma Function (gamma) . . . . . . . . . . . . . . . . . . . . . 126 12.5 Euler Function (euler) . . . . . . . . . . . . . . . . . . . . . . . . 126 12.6 Error Function (erf) . . . . . . . . . . . . . . . . . . . . . . . . . 127 12.7 Laplace Transform (laplace) . . . . . . . . . . . . . . . . . . . . . 127 12.7.1 Inverse Laplace Transform (ilt) . . . . . . . . . . . . . . . 127 12.8 Lagrange Polynomial (lagrange) . . . . . . . . . . . . . . . . . . . 128 12.9 Laguerre Polynomial (laguerre) . . . . . . . . . . . . . . . . . . . 128 12.10Legendre Polynomial . . . . . . . . . . . . . . . . . . . . . . . . . 128 12.10.1Legendre Polynomial of First Kind(legendre p) . . . . . . 129 12.10.2Legendre Polynomial of Second Kind(legendre q) . . . . . 129 12.11Jacobians . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 12.11.1jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 12.11.2jacobi cd . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 12.11.3jacobi cn . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 12.11.4jacobi cs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 12.11.5jacobi dc . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 12.11.6jacobi dn . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 12.11.7jacobi ds . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 12.11.8jacobi nc . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 12.11.9jacobi nd . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 12.11.10 jacobi ns . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 12.11.11 jacobi p . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 12.11.12 jacobi sc . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 12.11.13 jacobi sd . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 12.11.14 jacobi sn . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 12.11.15 inverse jacobi cd . . . . . . . . . . . . . . . . . . . . . . . 130 12.11.16 inverse jacobi cn . . . . . . . . . . . . . . . . . . . . . . . 130 12.11.17 inverse jacobi cs . . . . . . . . . . . . . . . . . . . . . . . 130 12.11.18 inverse jacobi dc . . . . . . . . . . . . . . . . . . . . . . . 130
  • 12. 12 CONTENTS 12.11.19 inverse jacobi dn . . . . . . . . . . . . . . . . . . . . . . . 130 12.11.20 inverse jacobi ds . . . . . . . . . . . . . . . . . . . . . . . 130 12.11.21 inverse jacobi nc . . . . . . . . . . . . . . . . . . . . . . . 130 12.11.22 inverse jacobi nd . . . . . . . . . . . . . . . . . . . . . . . 130 12.11.23 inverse jacobi ns . . . . . . . . . . . . . . . . . . . . . . . 130 12.11.24 inverse jacobi sc . . . . . . . . . . . . . . . . . . . . . . . 130 12.11.25 inverse jacobi sd . . . . . . . . . . . . . . . . . . . . . . . 130 12.11.26 inverse jacobi sn . . . . . . . . . . . . . . . . . . . . . . . 130 12.12fourier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 12.12.1fourint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 12.12.2fourintcos . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 12.12.3fourintsin . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 12.12.4foursimp . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 12.12.5foursin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 12.13elliptic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 12.13.1elliptic e . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 12.13.2elliptic ec . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 12.13.3elliptic eu . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 12.13.4elliptic f . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 12.13.5elliptic kc . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 12.13.6elliptic pi . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 13 Graphics 131 13.1 Contour Plot (contour plot) . . . . . . . . . . . . . . . . . . . . . 131 13.2 Plotting 2D Plot (plot2d) . . . . . . . . . . . . . . . . . . . . . . 132 13.3 Three Dimensional Plotting (plot3d) . . . . . . . . . . . . . . . . 133 13.4 Finding Plot Options (plot options) . . . . . . . . . . . . . . . . 133 13.5 Set Plot Options (set plot option) . . . . . . . . . . . . . . . . . 135 13.6 Spherical To Cartesian (spherical to xyz) . . . . . . . . . . . . . 136 14 Binary Operations 137 14.1 AND Operation (and) . . . . . . . . . . . . . . . . . . . . . . . . 137 14.2 OR Operation (or) . . . . . . . . . . . . . . . . . . . . . . . . . . 137 14.3 NOT Operation (not) . . . . . . . . . . . . . . . . . . . . . . . . 137 15 File Operations 139 15.1 Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 15.1.1 Append Console Transcript to File (appendfile) . . . . . . 139 15.1.2 Read File & Evaluate (batch) . . . . . . . . . . . . . . . . 139 15.1.3 Type of File (file type) . . . . . . . . . . . . . . . . . . . . 139 15.1.4 Evaluation From File From Directory (load) . . . . . . . . 140 15.1.5 Evaluation From File (loadfile) . . . . . . . . . . . . . . . 140 15.1.6 File Load Path Name (load pathname) . . . . . . . . . . . 140 15.1.7 File Load Print Message (loadprint) . . . . . . . . . . . . 140 15.1.8 Show File Contents In Console (printfile) . . . . . . . . . 140 15.1.9 Evaluates Expression From File (batchload) . . . . . . . . 140
  • 13. CONTENTS 13 15.2 Writing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 15.2.1 Write Transcript in File (writefile) . . . . . . . . . . . . . 141 15.2.2 Write Expressions to File (stringout) . . . . . . . . . . . . 141 15.2.3 file output append . . . . . . . . . . . . . . . . . . . . . . 141 15.2.4 Write Output To a File (with stdout) . . . . . . . . . . . 141 15.2.5 Save A File (save) . . . . . . . . . . . . . . . . . . . . . . 142 15.2.6 Close Opened File (closefile) . . . . . . . . . . . . . . . . 142 15.3 Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 15.3.1 file search . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 15.3.2 file search demo . . . . . . . . . . . . . . . . . . . . . . . 143 15.3.3 file search maxima . . . . . . . . . . . . . . . . . . . . . . 143 15.3.4 file search usage . . . . . . . . . . . . . . . . . . . . . . . 143 15.3.5 file search lisp . . . . . . . . . . . . . . . . . . . . . . . . . 143 15.3.6 file search tests . . . . . . . . . . . . . . . . . . . . . . . . 144 15.3.7 file type lisp . . . . . . . . . . . . . . . . . . . . . . . . . . 144 15.4 Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 15.4.1 file type maxima . . . . . . . . . . . . . . . . . . . . . . . 144 15.4.2 pathname directory . . . . . . . . . . . . . . . . . . . . . 144 15.4.3 pathname name . . . . . . . . . . . . . . . . . . . . . . . 144 15.4.4 pathname type . . . . . . . . . . . . . . . . . . . . . . . . 145 16 Polynomial 147 16.1 Roots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 16.1.1 All Roots of Polynomial (allroots) . . . . . . . . . . . . . 147 16.1.2 All Big Float Roots of Polynomial (bfallroots) . . . . . . 147 16.1.3 All Roots Within Limits (nroots) . . . . . . . . . . . . . . 148 16.1.4 Nth Root of Base (nthroot) . . . . . . . . . . . . . . . . . 148 16.1.5 Real Roots (realroots) . . . . . . . . . . . . . . . . . . . . 148 16.2 Factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 16.2.1 Separation of Coefficients (bothcoef) . . . . . . . . . . . . 149 16.2.2 Coefficient of Term (coeff) . . . . . . . . . . . . . . . . . . 149 16.2.3 Divide Expression (divide) . . . . . . . . . . . . . . . . . . 149 16.2.4 Eliminate Variables (eliminate) . . . . . . . . . . . . . . . 150 16.2.5 Factor of Expression (factor) . . . . . . . . . . . . . . . . 150 16.2.6 Rearrange Factors (factorout) . . . . . . . . . . . . . . . . 151 16.2.7 Rearrange Factors of Sum (factorsum) . . . . . . . . . . . 151 16.2.8 Greatest Common Divisor (gcd) . . . . . . . . . . . . . . 151 16.2.9 Greatest Common Divisor (gcdex) . . . . . . . . . . . . . 152 16.2.10Gaussian Factor (gfactor) . . . . . . . . . . . . . . . . . . 152 16.2.11Highest Power (hipow) . . . . . . . . . . . . . . . . . . . . 152 16.2.12Lowest Power (lopow) . . . . . . . . . . . . . . . . . . . . 152 16.2.13Return The Coefficient (ratcoef) . . . . . . . . . . . . . . 152 16.2.14Remainder (remainder) . . . . . . . . . . . . . . . . . . . 153 16.3 Expansion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 16.3.1 rat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 16.3.2 Return Denominator (ratdenom) . . . . . . . . . . . . . . 153
  • 14. 14 CONTENTS 16.3.3 Expand Ratio (ratdenomdivide) . . . . . . . . . . . . . . 153 16.3.4 Derivative of Rational Number (ratdiff) . . . . . . . . . . 153 16.3.5 Rational Expansion (ratexpand) . . . . . . . . . . . . . . 153 16.3.6 Rational Factor (ratfac) . . . . . . . . . . . . . . . . . . . 153 16.3.7 Is Rational (ratp) . . . . . . . . . . . . . . . . . . . . . . . 153 16.3.8 Rational Simplification (ratsimp) . . . . . . . . . . . . . . 154 16.3.9 Simplify Rational Exponent (ratsimpexpons) . . . . . . . 154 16.3.10Rational Substitution (ratsubst) . . . . . . . . . . . . . . 154 16.3.11Resultant (resultant) . . . . . . . . . . . . . . . . . . . . . 154 17 power series 155 17.1 Binomial Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 17.1.1 Define Taylor Function (deftaylor) . . . . . . . . . . . . . 155 17.1.2 Max Taylor Order (maxtayorder) . . . . . . . . . . . . . . 155 17.1.3 Power Series (powerseries) . . . . . . . . . . . . . . . . . . 155 17.1.4 Taylor Series (taylor) . . . . . . . . . . . . . . . . . . . . . 156 17.1.5 taylor logexpand . . . . . . . . . . . . . . . . . . . . . . . 156 17.1.6 taylor order coefficients . . . . . . . . . . . . . . . . . . . 157 17.1.7 taylor simplifier . . . . . . . . . . . . . . . . . . . . . . . . 157 17.1.8 taylor truncate polynomials . . . . . . . . . . . . . . . . . 157 17.1.9 Depth of Taylor Terms (taylordepth) . . . . . . . . . . . . 157 17.1.10Info of Taylor Series (taylorinfo) . . . . . . . . . . . . . . 157 17.1.11Check Series as Taylor (taylorp) . . . . . . . . . . . . . . 157 17.1.12Print Power Series Message (verbose) . . . . . . . . . . . 157 17.1.13Integer to Poisson (intopois) . . . . . . . . . . . . . . . . 157 17.1.14outofpois . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 17.2 Poisson Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 17.2.1 Poisson Differentiation (poisdiff) . . . . . . . . . . . . . . 158 17.2.2 Poisson Exponent (poisexpt) . . . . . . . . . . . . . . . . 158 17.2.3 Poisson Integration (poisint) . . . . . . . . . . . . . . . . 158 17.2.4 Poisson Limit (poislim) . . . . . . . . . . . . . . . . . . . 158 17.2.5 Poisson Plus (poisplus) . . . . . . . . . . . . . . . . . . . 159 17.2.6 Poisson Simplification (poissimp) . . . . . . . . . . . . . . 159 17.2.7 Poisson Substitution (poissubst) . . . . . . . . . . . . . . 159 17.2.8 Poisson Multiplicaiton (poistimes) . . . . . . . . . . . . . 159 17.2.9 Print Poisson Series (printpois) . . . . . . . . . . . . . . . 159 18 Sets 161 18.1 Properties of Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 18.1.1 Distinct Elements of The Set (cardinality) . . . . . . . . . 161 18.1.2 Disjoin of Sets (disjoin) . . . . . . . . . . . . . . . . . . . 161 18.1.3 Disjoint Sets (disjointp) . . . . . . . . . . . . . . . . . . . 162 18.1.4 Element of a Set (elementp) . . . . . . . . . . . . . . . . . 162 18.1.5 Empty Set (emptyp) . . . . . . . . . . . . . . . . . . . . . 162 18.1.6 External Subset (extremal subset) . . . . . . . . . . . . . 162 18.1.7 flatten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
  • 15. CONTENTS 15 18.1.8 full listify . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 18.1.9 List From a Set (listify) . . . . . . . . . . . . . . . . . . . 162 18.1.10Construct a Set (makeset) . . . . . . . . . . . . . . . . . . 163 18.1.11Partition of Set (partition set) . . . . . . . . . . . . . . . 163 18.1.12Ordered Permutations of a Set (permutations) . . . . . . 163 18.1.13Random Permutation (random permutation) . . . . . . . 163 18.1.14Check Set Equality (setequalp) . . . . . . . . . . . . . . . 164 18.1.15Check For argument as Set (setp) . . . . . . . . . . . . . 164 18.2 Operations On Sets . . . . . . . . . . . . . . . . . . . . . . . . . . 164 18.2.1 Maximum Element Value of a Set (lmax) . . . . . . . . . 164 18.2.2 Minimum Element Value of a Set (lmin) . . . . . . . . . . 164 18.2.3 Sub Set (subset) . . . . . . . . . . . . . . . . . . . . . . . 165 18.2.4 Predicate Subset (subsetp) . . . . . . . . . . . . . . . . . 165 18.2.5 Symmentric Difference (symmdifference) . . . . . . . . . . 165 18.2.6 Subtraction of Sets (setdifference) . . . . . . . . . . . . . 165 18.2.7 Cartesian Product (cartesian product) . . . . . . . . . . . 165 18.2.8 Intersection of Sets (intersection) . . . . . . . . . . . . . . 166 18.2.9 Power Set (powerset) . . . . . . . . . . . . . . . . . . . . . 166 18.2.10Union Of Sets (union) . . . . . . . . . . . . . . . . . . . . 166 19 Statistics 167 19.1 Plotting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 19.1.1 Bar Plot of Data (barsplot) . . . . . . . . . . . . . . . . . 167 19.1.2 Error Box Plot of Data (boxplot) . . . . . . . . . . . . . . 168 19.1.3 Stem Plot (stemplot) . . . . . . . . . . . . . . . . . . . . . 168 19.1.4 Pie Chart (piechart) . . . . . . . . . . . . . . . . . . . . . 168 19.1.5 Scatterin Plot of Data (scatterplot) . . . . . . . . . . . . . 168 19.1.6 Asterisk Plot of Data (starplot) . . . . . . . . . . . . . . . 168 19.1.7 Histogram Plot (histogram) . . . . . . . . . . . . . . . . . 168 19.2 Regression & Correlation . . . . . . . . . . . . . . . . . . . . . . 168 19.2.1 Building a Sample (build sample) . . . . . . . . . . . . . . 168 19.2.2 Correlation (cor) . . . . . . . . . . . . . . . . . . . . . . . 168 19.2.3 Covariance Matrix (cov) . . . . . . . . . . . . . . . . . . . 168 19.2.4 Covariance of Type One (cov1) . . . . . . . . . . . . . . . 169 19.2.5 Coefficient Variation (cv) . . . . . . . . . . . . . . . . . . 169 19.2.6 List Correlation (list correlations) . . . . . . . . . . . . . 169 19.3 Mean, Median & Deviation . . . . . . . . . . . . . . . . . . . . . 169 19.3.1 Average or Mean (mean) . . . . . . . . . . . . . . . . . . 169 19.3.2 Mean Deviation (mean deviation) . . . . . . . . . . . . . 170 19.3.3 Median (median) . . . . . . . . . . . . . . . . . . . . . . . 170 19.3.4 Deviation from Median (median deviation) . . . . . . . . 171 19.3.5 Continuous Frequency (continuous freq) . . . . . . . . . . 171 19.3.6 Discrete Frequency (discrete freq) . . . . . . . . . . . . . 171 19.3.7 Geometric Means (geometric mean) . . . . . . . . . . . . 171 19.3.8 Harmonic Mean (harmonic mean) . . . . . . . . . . . . . 172 19.3.9 Range of Data (range) . . . . . . . . . . . . . . . . . . . . 172
  • 16. 16 CONTENTS 19.3.10Maximum Value of Sample List (smax) . . . . . . . . . . 172 19.3.11Minimum Value of Sample List (smin) . . . . . . . . . . . 173 19.3.12Standard Deviation (std) . . . . . . . . . . . . . . . . . . 173 19.3.13Standard Deviation Type One (std1) . . . . . . . . . . . . 173 19.3.14Transforming Samples (tranform sample) . . . . . . . . . 173 19.3.15Variance (var) . . . . . . . . . . . . . . . . . . . . . . . . 173 19.3.16Variance of Type One (var1) . . . . . . . . . . . . . . . . 174 19.4 Skew, Kurosis & Moment . . . . . . . . . . . . . . . . . . . . . . 174 19.4.1 Skewness of Data (skewness) . . . . . . . . . . . . . . . . 174 19.4.2 Pearson Skewness (pearson skewness) . . . . . . . . . . . 175 19.4.3 Quartile Skewness (quartile skewness) . . . . . . . . . . . 175 19.4.4 Kurtosis (kurtosis) . . . . . . . . . . . . . . . . . . . . . . 175 19.4.5 noncentral moment . . . . . . . . . . . . . . . . . . . . . . 176 19.4.6 Central Moment of Data (central moment) . . . . . . . . 176
  • 18.
  • 19. Chapter 1 Maxima Core 1.1 Mathematical 1.1.1 Factorial Symbol (!) It represents to the factorial operator. A n! represents the factorial of n in form of n × (n − 1) × . . . × 3 × 2 × 1. Factorial of negative number is infinity. ✞ 1 (%i1) 5! ✆ The output is ✞ (%o1) 120 ✆ Factorial of a fraction number in three place precision is ✞ 1 (%i1) 0.5! ✆ The output is ✞ (%o1) 0.886 ✆ Factorial of 0.5! is √ π/2. 1.1.2 Double Factorial Symbol (!!) It represents to the double factorial operator. A n!! represents the factorial in form of n × (n − 2) × . . . × 5 × 3 × 1. If n is an odd number otherwise n × (n − 2) × . . . × 4 × 2 if n is an even number. ✞ 1 (%i1) 5!! ✆ The output is ✞ (%o1) 15 ✆ 19
  • 20. 20 CHAPTER 1. MAXIMA CORE 1.1.3 Termination of Line (;) Symbol ‘;’ (colon) is used to terminate a line in Maxima console. Every thing written after the symbol ‘;’ is treated as comments and it is skipped by Maxima during evaluation of transcript. ✞ 1 (%i1) 5!!; double factorial ✆ The output is ✞ (%o1) 15 ✆ 1.1.4 Negation of Expression (#) # represents negation of syntactic equality. Note that because of the rules for evaluation of predicate expressions “not a = b” is equivalent tois(a # b) instead of “a # b”. 1.1.5 Evaluate Internally & No Output ($) $ restrict the evaluation of expression internally and the result is not printed in output console. This operator is always post fixed to transcripts. The syntax is ✞ 1 (%i1) <transcript> $ ✆ For example ✞ 1 (%i1) matrix([1,2],[3,4])$ ✆ will be evaluated internally and there is no output in console. Remember that this symbol must not followed by any string or digits or comments. 1.1.6 Do Not Execute Function (’) If a function is prefixed with (’) then function is not executed. It just returns the argument. ✞ 1 (%i1) ’integrate(x,x) ✆ The output is (%o1) Z x dx and function without prefix with (’) ✞ 1 (%i2) integrate(x,x) ✆
  • 21. 1.1. MATHEMATICAL 21 The output is (%o2) x2 2 1.1.7 Re-evaluation of Specific Input (“) The double single quote (“) provides re-evaluation of specific input once again. For example, to evaluate the first input (%i1) once again as fourth input (%i4), use syntax like ✞ 1 (%i4) ’’%i1 ✆ Example is ✞ 1 (%i2) integrate(x, x); (%i3) integrate(x^2, x); 3 (%i4) integrate(x^3, x); (%i5) ’’%i2 ✆ The output is (%o2) x2 2 (%o3) x3 3 (%o4) x4 4 (%o5) x2 2 1.1.8 Variable Assigning Operator (:) It assign a value to a variable. ✞ (%i4) a:2 ✆ It sets ‘2’ to variable ‘a’. 1.1.9 Operator Assigner (::) :: is similar to the : but it differs to : by evaluation method. : evaluates only left hand side but :: evaluates left hand side as well as right hand side.
  • 22. 22 CHAPTER 1. MAXIMA CORE ✞ 1 (%i4) y:[a,b,c];%initializing operators (%i5) y::[10,11,12];%initializing values 3 (%i6) a;%call operator ’a’ ✆ ✞ (%o4) 10 ✆ 1.1.10 Macro Function Definition Operator (::=) ::= defines a function which quotes its arguments, and the expression which it returns is evaluated in the context from which the macro was called. ✞ 1 (%i4) g(x) ::= x/99; (%i5) g(9999); ✆ ✞ (%o5) 101 ✆ 1.1.11 Function Operator (:=) := is used to initialize a function. := never evaluates the function body. The syntax for function operator is like ✞ 1 (%i4) <function name>(<independent variable>):=<function body> ✆ For example ✞ 1 (%i4) f(x):=sin(x) ✆ (%o4) f(x) := sin(x) To call the function use following syntax. ✞ 1 (%i4) f(<independent variable value>) ✆ If user defined function body consists in-build functions then result is just sym- bolic otherwise it gives numeric result. For example ✞ 1 (%i4) f(x):=sin(x); (%i5) f(10); ✆ (%o5) sin(10) To get the numerical result rather than symbolic result then the syntax becomes like
  • 23. 1.1. MATHEMATICAL 23 ✞ (%i4) f(x):=sin(x); 2 (%i5) ev(f(10),numer); ✆ ✞ (%o5) -0.54402111088937 ✆ define is also used to define a function. Its syntax is ✞ 1 (%i4) define(<user define function>, <function body>); ✆ 1.1.12 Sum Operator (+) It is arithmetic additive symbol. It is used to add two or more variables. If variables are previously assigned the values then variables are replaced by their corresponding values and resultant sum is printed in output otherwise symbolic addition is obtained at output. It performs algebraic sum operation. It is commutative operator and can be used in an array. Maxima sorts operands before applying ‘+’ operator. Among ‘+’, ‘-’, ‘/’ and ‘*’, it has third highest priority during arithmetic calculations. Scope of operator must be specified by using parenthesis brackets. ✞ 1 (%i4) 10+11 ✆ ✞ (%o4) 21 ✆ Another example is ✞ 1 (%i4) a:10; (%i5) a+b ✆ (%o5) b + 10 1.1.13 Subtraction Operator (-) It is arithmetic subtraction symbol. It is used to subtract two or more variables. If variables are previously assigned values then variables are replaced by their corresponding values and resultant subtraction is printed in output otherwise symbolic subtraction is obtained at output. It performs algebraic subtraction operation. It is not a commutative operator. Among ‘+’, ‘-’, ‘/’ and ‘*’, it has fourth highest priority during arithmetic calculations. Scope of operator must be specified by using parenthesis brackets. ✞ (%i4) 10-11 ✆
  • 24. 24 CHAPTER 1. MAXIMA CORE (%o4) − 1 Another example is ✞ 1 (%i4) a:10; (%i5) a-b ✆ (%o5) − b + 10 1.1.14 Product Operator (*) It is arithmetic multiplicative symbol. It is used to multiply two or more vari- ables. If variables are previously assigned with values then variables are replaced by their corresponding values and resultant multiplication is printed in output otherwise symbolic multiplication is obtained at output. It is commutative op- erator and can be used in an array. Maxima sorts operands before applying ‘*’ operator. Among ‘+’, ‘-’, ‘/’ and ‘*’, it has second highest priority during arith- metic calculations. Scope of operator must be specified by using parenthesis brackets. ✞ (%i4) 10*11 ✆ (%o4) 110 Another example is ✞ 1 (%i4) a:10; (%i5) a*b ✆ (%o5) 10 b 1.1.15 Division Operator (/) It is arithmetic division symbol. It is used to divide two variables. If variables are previously assigned with values then variables are replaced by their corre- sponding values and resultant division is printed in output otherwise symbolic division is obtained at output. It is not a commutative operator. Among ‘+’,
  • 25. 1.1. MATHEMATICAL 25 ‘-’, ‘/’ and ‘*’, it has highest priority during arithmetic calculations. Scope of operator must be specified by using parenthesis brackets. ✞ (%i4) 100/10 ✆ (%o4) 10 Another example is ✞ 1 (%i4) a:10; (%i5) a/b ✆ (%o5) 10 b 1.1.16 Exponential Operator (ˆ) It is arithmetic exponential symbol. It is used to raise the power by a number over the base value. It is binary and non-commutative operator. Grouping of terms is required to limit the scope of the operator otherwise its scope is limited to the succeeding terms only. If base and exponent are symbols then symbolic output is obtained and if base and exponent are assigned numerical value then variables are replaced by their corresponding numerical values. ✞ (%i4) 10^2 ✆ (%o4) 100 Another example is ✞ 1 (%i4) 10^(2^2); ✆ (%o4) 10000 ✞ 1 (%i5) a^b; ✆ (%o5) ab
  • 26. 26 CHAPTER 1. MAXIMA CORE 1.1.17 Equal Operator (=) = denotes an equation. It also represents to the equal boolean operator. In algebraic equations, equal sign indicates that left hand side is equal to the right hand side for specific values of independent variable. For example 2x + 3y = 10 If we choose x = 2 and y = 2 then left hand side of above equation is equal to the right hand side of the equation. Symbolically, if a = b then values a and b are equal. 1.1.18 Less Than Operator (<) It is mathematical operator that tells whether the left hand side is lesser than the right hand side term. ✞ 1 (%i4) is(a < b); ✆ ✞ (%o4) unknown ✆ If terms are purely number then answer is either “true’ or ‘false’. ✞ 1 (%i4) is(1 < 2); ✆ ✞ (%o4) true ✆ 1.1.19 Grater Than Operator (>) It is mathematical operator that tells whether the left hand side is greater than the right hand side term. ✞ 1 (%i4) is(a > b); ✆ ✞ (%o4) unknown ✆ If terms are purely number then answer is either “true’ or ‘false’. ✞ 1 (%i4) is(1 > 2); ✆ ✞ (%o4) false ✆
  • 27. 1.1. MATHEMATICAL 27 1.1.20 Less Than or Equals To Operator (<=) It is mathematical operator that tells whether the left hand side is lesser than or equals to the right hand side term. ✞ 1 (%i4) is(a <= b); ✆ ✞ (%o4) unknown ✆ If terms are purely number then answer is either “true’ or ‘false’. ✞ 1 (%i4) is(1 <= 2); ✆ ✞ (%o4) true ✆ 1.1.21 Greater Than or Equals To Operator (>=) It is mathematical operator that tells whether the left hand side is greater than or equals to the right hand side term. ✞ 1 (%i4) is(a >= b); ✆ ✞ (%o4) unknown ✆ If terms are purely number then answer is either “true’ or ‘false’. ✞ 1 (%i4) is(1 >= 2); ✆ ✞ (%o4) false ✆ 1.1.22 Lisp Name (?) The function name which is prefixed by ‘?’ signifies that the name is a Lisp name, not a Maxima name. 1.1.23 A List ([ ... ]) [ ... ] represents the beginning and end of a list or vector. ✞ 1 (%i4) y:[a,b,c];%initializing operators as a list (%i5) y::[10,11,12];%initializing values as a list 3 (%i6) a;%call operator ’a’ from operator list ✆ ✞ (%o4) 10 ✆
  • 28. 28 CHAPTER 1. MAXIMA CORE 1.1.24 Call Last Garbage (%) Symbolic computation, tends to create a good deal of garbage (temporary or intermediate results that are eventually not used), and effective handling of it can be crucial to successful completion of some programs. Symbol % is used for calling last garbage. ✞ 1 (%i1) x^2+2$ (%i2) x^2-2$ 3 (%i3) solve(%); % calling last garbage ✆ (%o3) [x = − √ 2 x = √ 2] If % is suffixed by garbage handle like ‘i1’, ‘i2’ or ‘o1’, ‘o2’ etc then specific garbage can be called. ✞ 1 (%i1) x^2+2$ (%i2) x^2-2$ 3 (%i3) solve(%i1); % calling first garbage ✆ (%o3) [x = − √ 2i, x = √ 2i] 1.1.25 Previous Statement (%%) In compound statements, namely block, lambda, or (s1, ..., sn), %% is the value of the previous statement. 1.1.26 Exponential (%e) It represents to the exponential base. The series expansion of ‘%e’ is ex = 1 + x 1! + x2 2! + x3 3! + . . . If x = 1 then above series becomes e = 1 + 1 1! + 1 2! + 1 3! + . . . The numerical value of ‘%e’ lies between 2 < %e < 3 and actually it is ap- proximately equals to ‘2.718281828459045’. Remember whenever you need to substitute ‘%e’ with its numerical value, set ‘%enumer’ to true by using the following syntax ✞ 1 (%i1) %enumer:true; ✆
  • 29. 1.1. MATHEMATICAL 29 1.1.27 %e to numlog When %e to numlog is ‘true’, r some rational number, and x some expression, %e(r log x) will be simplified into xr . y = er log x Taking logarithm both side with natural base loge y = loge er log x or loge y = log xr Taking antilogarithm y = xr It should be noted that the radcan command also does the same transformation, and more complicated transformations of this as well. The logcontract command “contracts” expressions containing logarithms. By default it is ‘false’. 1.1.28 Negative Exponent as a Quotient (%edispflag) When %edispflag is ‘true’, Maxima displays %e to a negative exponent as a quotient. For example, %e−x is displayed as 1/%ex . By default it is ‘false’. 1.1.29 Demoivre Mode (%emode) If %emode is ‘true’ then Demoivre relation enπi is solved by using relation eix = cos(x) + i sin(x) Remember that ‘n’ must be a whole integer. ‘i’ represents to imaginary constant. For example ✞ 1 (%i1) %e^(5*%i*%pi) ✆ ✞ (%o1) -1 ✆ 1.1.30 Exponential Numerical (%enumer) It controls that whether ‘%e’ is to be used in output or its numerical value. If %enumer is ‘false’, ‘%e’ is used other wise its numerical value 2.718281828459045 is placed.
  • 30. 30 CHAPTER 1. MAXIMA CORE 1.1.31 Gamma Constant (%gamma) It is an Euler-Mascheroni constant. Its numerical value is 0.5772156649015329. It is defined as the limiting difference between the harmonic series and the natural logarithm γ = lim n→∞ n X k=1 1 k − ln(n) ! = Z ∞ 1 1 ⌊x⌋ − 1 x dx Here, ⌊x⌋ represents the floor function. 1.1.32 Pi Value (%pi) %pi represents to the exponential value and symbolically it is equal to π. Nu- merical value of π is 3.141592653589793 approximately. ✞ 1 (%i1) numer:true; (%i2) %pi; ✆ ✞ (%o1) 3.141592653589793 ✆ 1.1.33 Previous Output (%th) %th returns the value of previous output expression identified by a number from the current output. If there are total n outputs in the current session then mth previous output is the (n − m)th output from the begining of session. Syntax for this function is ✞ 1 (%i1) %th(integer) ✆ 1.1.34 Most Recent Expression ( ) is the most recent input expression. ✞ 1 (%i1) sin(%pi/2)$ (%i2) :lisp $_; ✆ ✞ (%o2) ((%SIN) ((MQUOTIENT) $%PI 2)) ✆ 1.1.35 Display String (disp) It displays only the value of the arguments rather than equations. This is useful for complicated arguments which don’t have names or where only the value of the argument is of interest and not the name. Remember that those inputs which are only variables are post-fixed by symbol $. It instructs to Maxima to
  • 31. 1.2. ERRORS 31 accept the input as key-value like arguments rather than execute it and show output. The key-value syntax may be in form of ‘key=value’ or ‘key:value’. If disp executed successfully, “done” is returns as output by Maxima. ✞ 1 (%i1) b[1,2]:x-x^2$ (%i2) x:123$ 3 (%i3) disp(x, b[1,2], sin(1.0)); ✆ ✞ 123 x-x^2 0.8414709848078965 (%o3) done ✆ 1.2 Errors 1.2.1 Error (error) The variable error is set to a list describing the error. The first element of error is a format string, which merges all the strings among the arguments supplied to error function and the remaining elements are the values of any non-string arguments. Syntax for error function is ✞ (%i1) error(expr_1, ..., expr_n) ✆ 1.2.2 Error Size (error size) error size modifies error messages according to the size of expressions which appear in them. If the size of an expression (as determined by the Lisp func- tion ERROR-SIZE) is greater than error size, the expression is replaced in the message by a symbol, and the symbol is assigned the expression. The symbols are taken from the list error syms. The default value of error size is ‘10’. 1.2.3 Error Symbol (error syms) In error messages, expressions larger than error size are replaced by symbols, and the symbols are set to the expressions. The symbols are taken from the list error syms. The first too-large expression is replaced by error syms[1], the second by error syms[2], and so on. 1.2.4 Error Message (errormsg) Reprints the most recent error message. The variable error holds the message, and errormsg formats and prints it.
  • 32. 32 CHAPTER 1. MAXIMA CORE 1.2.5 Debug Mode Maxima (debugmode) By default, Maxima does not debugs to any errors and mistakes. To set the debug mode true use debugmode function like ✞ 1 (%i4) debugmode(true) ✆ It returns ‘true’ if debug mode is set to true otherwise returns false. 1.2.6 Show Examples (example) It returns the method for using a function whose name is supplied as an argu- ment. To see all the listed functions for function example use it like ✞ 1 (%i1) example(); ✆ To see the example of nroots use it like ✞ 1 (%i1) example(nroots); ✆ It returns the method of use of function nroots. At the end of successful execu- tion of example function, “done” is printed in output console. 1.2.7 Set Numerical Precision (fpprec) fpprec is used to set the decimal places of decimal numbers ie precision of nu- merical output. The syntax is ✞ 1 (%i1) fpprec : integer for decimal places; ✆ For example ✞ 1 (%i1) fpprec : 16 ✆ Now the outputs will have sixteen decimal places. If we want to get result upto five decimal places then set precision to five like ✞ 1 (%i1) fpprec : 5 ✆ 1.2.8 Toggle to Floating Point (numer) By defalut numer is ‘false’ and the symbols are used in calculations of expression. If numer is ‘true’ then variables or symbols in expression which have numerical values are replaced by their values. The syntax is used like ✞ 1 (%i1) numer:true % for setting true value (%i2) numer:false % for setting false value ✆ For example
  • 33. 1.3. PROCEDURAL 33 ✞ (%i1) numer:true; 2 (%i2) %e ✆ ✞ (%o2) 2.718281828459045 ✆ If numer is set to ‘false’ then result is symbolic. ✞ 1 (%i1) numer:false; (%i2) %e ✆ ✞ (%o2) %e ✆ 1.3 Procedural 1.3.1 Interrupt Maxima (kill) It removes all bindings (value, function, array, or rule) from the arguments. An argument may be a symbol or a single array element. The syntax is ✞ 1 (%i1) kill(symbol) (%i2) kill([array element 1, array element 2, ...) 3 (%i3) kill(labels) (%i4) kill(integers) 5 (%i5) kill(all)%kills all values, function, array or rules ✆ 1.3.2 Modes of Variables (mode declare) mode declare is used to declare the modes of variables and functions for subse- quent translation or compilation of functions. mode declare is typically placed at the beginning of definition of a function, at the beginning of a Maxima script, or executed at the interactive prompt. The syntax used is ✞ 1 (%i1) mode_declare ([y_1, y_2, ...], fixnum)%Or ✆ or ✞ 1 (%i2) mode_declare (y_1, mode_1, ... y_n, mode_n]) ✆ The ‘fixnum’ are “float”, “bignum” etc. For example, ✞ 1 (%i1) F(x):=(mode_declare([x], float), x+2.0) ✆ This converts independent variable x as floating value and as well as function F(x) = x + 2.0 into floating function.
  • 34. 34 CHAPTER 1. MAXIMA CORE 1.3.3 Evaluate Print Expression (print) print evaluates and displays expressions one after another, from left to right, starting at the left edge of the console display. The syntax for the function print is ✞ 1 (%i1) print(expr 1, expr 2, ...., expr n) ✆ ✞ 1 (%i1) print((a+b)^2, (a-b)^2) ✆ (%o3) b2 − 2 a b + a2 1.3.4 Labels (labels) labels returns the list of either input or output or intermediate expression labels which begin with symbol. Typically symbol is the value of either inchar or outchar or linechar. Syntax for the function is ✞ 1 (%i1) labels(symbol) ✆ 1.3.5 Line Number (linenum) It is the line number of the current pair of input and output expressions. 1.3.6 List of Options (myoptions) myoptions is the list of all options ever reset by the user, whether or not they get reset to their default value. 1.3.7 Ordinary Base (obase) obase may be assigned any integer between 2 and 36 (decimal), inclusive. The default value of obase variable is decimal ‘10’. Other bases are binary ‘2’, octal ‘8’, hexadecimal ‘16’ and ‘32’. ✞ 1 (%i1) obase:2$ (%i2) 99; ✆ ✞ (%o2) 1100011 ✆
  • 35. 1.3. PROCEDURAL 35 1.3.8 Print the Reset Option (optionset) When optionset is ‘true’, Maxima print outs a message whenever a Maxima option is reset. This is useful if the user is doubtful of the spelling of some option and wants to make sure that the variable he assigned a value to was truly an option variable. The default value is ‘false’. 1.3.9 Play Previous Garbage (playback) It prints the previously collected garbage by the Maxima. The syntax is ✞ 1 (%i1) playback ([inputs, outputs], grind, time, slow) ✆ Argument “slow” is useful in conjunction with save or stringout when creating a secondary-storage file in order to pick out useful expressions. Argument “time” displays the computation time for each expression. Argument “grind” displays input expressions in the same format as the “grind”. Output expressions are not affected by the “grind” option. 1.3.10 Prompting Symbol (prompt) prompt is the prompt symbol of the demo function, playback (slow) mode and the Maxima break loop. The default value is ‘ ’. 1.3.11 Quit the Session (quit) quit terminates the current Maxima session. It is used like quit(). 1.3.12 Rationalized Print (ratprint) When ratprint is true, a message informing the user about the conversion of floating point numbers into rational numbers is displayed. The default value is ‘true’. 1.3.13 Enter into Lisp System (to lisp) to lisp variable let to enter into Lisp system of Maxima. It enables to initiated new variable, function etc in Maxima that can be used later in Maxima after returning to Maxima. To return to Maxima, ✞ 1 (%i1) to_maxima; ✆ variable is used (including parenthesis brackets).
  • 36. 36 CHAPTER 1. MAXIMA CORE 1.3.14 Call Functions of Current Session (backtrace) backtrace function is used to call the all functions of current session. The length of tracing is controled by supplying an integer value as argument to the function. The syntax used is ✞ 1 (%i1) backtrace(length of trace as integer) ✆ 1.3.15 Break Maxima Evaluation (break) This function has syntax like ✞ 1 (%i1) break(expr 1, expr 2, ..., expr n) ✆ break evaluates and prints ‘expr 1’ to ‘expr n’ and then causes a Maxima break at which point the user can examine and change his environment. Upon typing “exit”; the computation resumes. 1.3.16 Bug Reporting Info (bug report) It returns the details of Maxima and the link where a bug can be reported. 1.3.17 Build Information (build info) build info returns the information consisting date, time, building plateform, Lisp compiler, version of Maxima and host etc used during the compilation and building of Maxima. 1.3.18 Debug Mode (debugmode) By default debugmode is false. When a Maxima error occurs, Maxima will start the debugger if debugmode is ‘true’. The user may enter commands to examine the call stack, set breakpoints, step through Maxima code, and so on. Enabling debugmode will not catch Lisp errors. 1.3.19 Show Evaluation Time (showtime) showtime is ‘true’ then time taken by maxima to evaluate the transcript is shown at the output. By default it is ‘false’. This variable is useful to check the speed of execusion of function and provide the ways of script cleaning. 1.3.20 Evaluation Time (time) time returns the time taken durign the evaluation by Maxima. The handle is supplied as argument to get the time taken by Maxima in evaluation of specific function. time can only be applied to output line variables; for any other vari- ables, time returns unknown. Set showtime as ‘true’ to make Maxima print out the computation time and elapsed time with each output line.
  • 37. 1.3. PROCEDURAL 37 ✞ 1 (%i1) integrate(x,x) (%i2) time(%o1); ✆ ✞ (%o2) [0.0] ✆ 1.3.21 Promp Read (read) read first prints the statement and then ask for one input in the console. The expression entered in the console is read by Maxima and returns the evaluated result of the expression in the console. The expression entered into the console muste be terminated by dollar sign(‘$’). ✞ 1 (%i1) a=10; (%i2) f:read(Enter new value)$ 3 Enter new value 2^a$ (%i3) f; ✆ ✞ (%o3) 1024 ✆ 1.3.22 testsuite files Similar to the run testsuite to check the test pass of a file. ✞ 1 (%i1) testsuite_files(); ✆ 1.3.23 Test The Maxim (run testsuite) run testsuite tests producing the desired answer are considered “passes” as are tests that do not produce the desired answer, but are marked as known bugs. ✞ 1 (%i1) run_testsuite(); ✆ 1.3.24 Read Function Without Evaluation (readonly) If readonlyfunction is used in place of readfunction with similar syntax, then it returns the expression to console without evaluation. ✞ 1 (%i1) a=10; (%i2) f:readonly(Enter new value)$ 3 Enter new value 2^a$ (%i3) f; ✆ (
  • 38. 38 CHAPTER 1. MAXIMA CORE 1.3.25 Activate Contexts (activate) It activates the contexts. The facts in these contexts are then available to make deductions and retrieve information. The facts in these contexts are not listed by facts. Syntax for activate is ✞ (%i1) activate(context 1, context 2, ...) ✆ 1.3.26 List of Activated Contexts (activecontexts) activecontexts is a list of the contexts which are active by way of the activate they are subcontexts of the current context. 1.3.27 Additive Function (additive) Function declare, if used as the syntax given below, tells Maxima to recognize a function as a additive function. The syntax for this is ✞ 1 (%i1) declare(f, additive) ✆ 1.3.28 Alternative Name for Function (alias) It assigns an alternative name to Maxima function. Syntax for this function is ✞ 1 (%i1) alias(new fcn name 1, old fcn name 1, ...) ✆ 1.3.29 Declare String as Alphabic (alphabetic) Function declare, if used as the syntax given below, tells Maxima to recognize all characters in the ‘s’ as alphabatic characters. The syntax for this flag is ✞ 1 (%i1) declare(s, alphabatic) ✆ 1.3.30 Arguments In Expression (args) It returns the number of arguments in an expression. Syntax used is ✞ 1 (%i1) args(expression) ✆ 1.3.31 Atomic Expression (atom) If the function is used like ✞ 1 (%i1) atom(expression) ✆
  • 39. 1.3. PROCEDURAL 39 and Maxima returns ‘true’ then ‘expression’ is atomic (i.e. a number, name or string) otherwise ‘expression’ is non atomic. Thus ✞ 1 (%i1) atom(5) ✆ is true while ✞ 1 (%i1) atom(a[1]) ✆ and ✞ 1 (%i2) atom(sin(x)) ✆ are ‘false’ (assuming a[1] and x are unbound). 1.3.32 Declare a Function Antisymmetric (antisymmet- ric) Function declare, if used as the syntax given below, tells Maxima to recognize a function as an antisymmetric function. The syntax for this flag is ✞ 1 (%i1) declare(f, antisymmetric) ✆ Here function ‘f’ will assumed as an antisymmetric function. 1.3.33 Check The Integer Type (askinteger) ✞ 1 (%i1) askinteger(expression, integer type) ✆ attempts to determine from the assume database whether expression is an in- teger or not. There are three categories of ‘integer type’ - (i) “odd”, (ii) “even” and (iii) “integer”. 1.3.34 Retrive User Property (get) ✞ 1 (%i1) get(a, i) ✆ It retrieves the user property indicated by i associated with atom a or returns ‘false’ if a doesn’t have property i. 1.3.35 Declare Variable as Integer (integer) Function declare, if used as the syntax given below, tells Maxima to recognize a variable as an integer. The syntax for this flag is ✞ 1 (%i1) declare(var, integer) ✆ Here variable ‘var’ will assumed as an integer.
  • 40. 40 CHAPTER 1. MAXIMA CORE 1.3.36 Declare Variable as Non-Integer (noninteger) Function declare, if used as the syntax given below, tells Maxima to recognize a variable as a noninteger. The syntax for this flag is ✞ 1 (%i1) declare(var, noninteger) ✆ Here variable ‘var’ will assumed as a noninteger. 1.3.37 Integer Variabe (integervalued) Function declare, if used as the syntax given below, tells Maxima to recognize a function as an integervalued function. The syntax for this flag is ✞ 1 (%i1) declare(f, integervalued) ✆ Here function ‘f’ will assumed as an integervalued function. 1.3.38 Query for Sign of Expression (asksign) asksign attempts to deduce the sign of expressions from the sign of operands within the expression. For example, if a and b are both positive, then a + b is also positive. ✞ 1 (%i1) asksign(1-2) ✆ ✞ (%o1) neg ✆ 1.3.39 Declare Variables (assume) It adds predicates to the current context. If a predicate is inconsistent or redun- dant with the predicates in the current context, it is not added to the context. The context accumulates predicates from each call to assume. Syntax for the function assume is ✞ 1 (%i1) assume(var condition var values, .....) ✆ ‘conditions’ are the mathematical comparision symbols like ‘=’, ‘=’, ‘’, ‘’ and ‘=’ etc. For example ✞ 1 (%i1) assume(x1,y1)$ (%i2) is(xy) ✆ ✞ (%o2) true ✆
  • 41. 1.3. PROCEDURAL 41 1.3.40 Declare Variable as Positive (assume pos) When assume pos is ‘true’ and the sign of a parameter x cannot be determined from the current context or other considerations, sign and asksign (x) return ‘true’. By default it is ‘false’. 1.3.41 Declare As Communative Function (commutative) Function declare, if used as the syntax given below, tells the simplifier that function is a commutative function. The syntax for this is ✞ 1 (%i1) declare(f, commutative) ✆ 1.3.42 Compare Expression (compare) It returns the comparative result according to the comparative relation between two supplied arguments to the function compare. Syntax for this function is ✞ 1 (%i1) compare(expr 1, expr 2) ✆ If Maxima is unable to compare then it returns “unknown”. 1.3.43 Context (context) context names the collection of facts maintained by assume, forget. Binding con- text to a name ‘foo’ changes the current context to ‘foo’. If the specified context ‘foo’ does not yet exist, it is created automatically by a call to newcontext. The specified context is activated automatically. By default it is “initial”. 1.3.44 Contexts (contexts) contexts is a list of the contexts which currently exist, including the currently active context. By default its value is [“initial”, “global”]. 1.3.45 Deactivate Context (deactivate) deactivate deactivates the contexts supplied to the function as its arguments. ✞ 1 (%i1) deactivate(context 1, context 2, .....) ✆ 1.3.46 Delcaration Statement (declare) It assigns the atom or list of atoms the property or list of properties respectively. It is used like ✞ 1 (%i1) declare(atom, property) ✆
  • 42. 42 CHAPTER 1. MAXIMA CORE 1.4 Declarations 1.4.1 Declare As Decreasing Function (decreasing) Function declare, if used as the syntax given below, tells Maxima to recognize a function as a decreasing function. The syntax for this is ✞ 1 (%i1) declare(f, decreasing) ✆ 1.4.2 Declare As Increasing Function (increasing) Function declare, if used as the syntax given below, tells Maxima to recognize a function as a increasing function. The syntax for this is ✞ 1 (%i1) declare(f, increasing) ✆ 1.4.3 Declare Variable as Even Variable (even) Function declare, if used as the syntax given below, tells Maxima to recognize a symbol as a even integer variable. The syntax for this is ✞ 1 (%i1) declare(sym, even) ✆ 1.4.4 Declare Variable as Odd Variable (odd) Function declare, if used as the syntax given below, tells Maxima to recognize a symbol as a odd integer variable. The syntax for this is ✞ 1 (%i1) declare(sym, odd) ✆ 1.4.5 Variable As a Constant (constant) Function declare, if used as the syntax given below, tells Maxima to recognize a symbol as a constant. The syntax for this is ✞ 1 (%i1) declare(sym, constant) ✆ 1.4.6 Check a Constant (constantp) It returns ‘true’ if an expression is a constant expression, otherwise returns ‘false’. ✞ 1 (%i1) constantp(expression) ✆
  • 43. 1.4. DECLARATIONS 43 1.4.7 Get Features (featurep) It attempts to determine whether the object has the feature on the basis of the facts in the current database. If so, it returns ‘true’, else ‘false’. ✞ 1 (%i1) featurep(object name, feature name) ✆ 1.4.8 Set Feature (features) Maxima recognizes certain mathematical properties of functions and variables. These are called ”features”. The syntax ✞ 1 (%i1) declare(x, foo) ✆ gives the property foo to the function or variable x. The declare function used like ✞ 1 (%i1) declare(feature name, feature) ✆ declares a new feature. features is a list of mathematical features. 1.4.9 Status (is) is asks whether the predicate expression is provable from the facts in the as- sume database. If predicted expression is provable, it returns ‘true’ otherwise it returns ‘false’. ✞ 1 (%i1) 12$ % it is true as 1 is always less than 2. (%i2) is(12) % ask the prediction, result is true ✆ ✞ (%o2) true ✆ 1.4.10 Kill Contextx (killcontext) It kills the contenxt from the Maxima. Syntax is ✞ 1 (%i1) killcontext(context 1, ...) ✆ 1.4.11 Simplify as Left-Associative (lassociative) Function declare, if used as the syntax given below, tells to simplifier that the function is a left-associative. The syntax for this is ✞ 1 (%i1) declare(expr, lassociative) ✆
  • 44. 44 CHAPTER 1. MAXIMA CORE 1.4.12 Recognize Function as N-Array (nary) Function declare, if used as the syntax given below, tells Maxima to recognize a function as n-array function. The syntax for this is ✞ 1 (%i1) declare(f, nary) ✆ 1.4.13 Maximum Negative Expansion (maxnegex) maxnegex is the largest negative exponent which will be expanded by the expand command. By default its value is ‘1000’. 1.4.14 Match Declaration (matchdeclare) Associates a predicate with a variable so that variable matches expressions for which the predicate returns anything other than false. Syntax is ✞ 1 (%i1) matchdeclare(var, predicate) ✆ 1.4.15 Simplify as Multiplicative (multiplicative) Function declare, if used as the syntax given below, tells Maxima to expand an expression as a multiplicative. The syntax for this is ✞ 1 (%i1) declare(expr, multiplicative) ✆ 1.4.16 Multiply Two Expression (multthru) This function multiply two or more expressions with each other. multthru does not expand exponentiated sums if present in the expressions. This function is the fastest way to distribute products (commutative or noncommutative) over sums. ✞ 1 (%i1) multthru(expr 1, expr 2) ✆ 1.4.17 Negative Distribution (negdistrib) If this variable is set to ‘true’ this negative coefficient of an expression is dis- tributed to the all terms of the expression. By default it is ‘true’. ✞ 1 (%i1) -(a+b) ✆ (%o1) − b − a Now, setting negdistrib as ‘false’.
  • 45. 1.4. DECLARATIONS 45 ✞ 1 (%i1) negdistrib:false$ (%i2) -(a+b) ✆ (%o2) − (b + a) 1.4.18 Create New Context (newcontext) It creates a new contenxt in the Maxima. Syntax is ✞ (%i1) newcontext(context) ✆ 1.4.19 Numerical Value of Variable (numerval) It declares that a variable have numerical value. ✞ 1 (%i1) numerval(var 1, num 1, ....., var n, num n) ✆ 1.4.20 Pull Out Constant Term (outative) Function declare, if used as the syntax given below, tells Maxima to pull out the constant term from the expression as coefficient. The syntax for this is ✞ 1 (%i1) declare(f, outative) ✆ 1.4.21 Positive Function (posfun) Function declare, if used as the syntax given below, tells Maxima to recognize a function f to be a positive function. ✞ 1 (%i1) is (f(x) 0) ✆ yields ‘true’. ✞ 1 (%i1) declare(f, posfun) ✆ 1.4.22 Properties of Atom (properties) Returns a list of the names of all the properties associated with the atom. It is used like ✞ 1 (%i1) properties(atom name) ✆
  • 46. 46 CHAPTER 1. MAXIMA CORE 1.4.23 Assign a Value to Property (put) put assigns value to the property (specified by indicator) of atom. ‘indicator’ may be the name of any property, not just a system-defined property. The syntax used is ✞ 1 (%i1) put(atom, value, indicator) ✆ 1.4.24 Simplify as Right-Associative (rassociative) Function declare, if used as the syntax given below, tells to simplifier that the function is a a right-associative. The syntax for this is ✞ 1 (%i1) declare(expr, rassociative) ✆ 1.4.25 Declare Variable as Irrational Variable (irrational) Function declare, if used as the syntax given below, tells Maxima to recognize a variable as an irrational variable. The syntax for this flag is ✞ 1 (%i1) declare(var, irrational) ✆ Here variable ‘var’ will assumed as an irrational variable. 1.4.26 Declare Variable as Irrational Variable (rational) Function declare, if used as the syntax given below, tells Maxima to recognize a variable as a rational variable. The syntax for this flag is ✞ 1 (%i1) declare(var, rational) ✆ Here variable ‘var’ will assumed as a rational variable. 1.4.27 Declare Variable as Complex Variable (complex) Function declare, if used as the syntax given below, tells Maxima to recognize a variable as a complex variable. The syntax for this flag is ✞ 1 (%i1) declare(var, complex) ✆ Here variable ‘var’ will assumed as a complex variable. 1.4.28 Declare Variable as Imaginary Variable (imaginary) Function declare, if used as the syntax given below, tells Maxima to recognize a variable as an imaginary variable. The syntax for this flag is ✞ 1 (%i1) declare(var, imaginary) ✆ Here variable ‘var’ will assumed as an imaginary variable.
  • 47. 1.4. DECLARATIONS 47 1.4.29 Declare Variable as Real Variable (real) Function declare, if used as the syntax given below, tells Maxima to recognize a variable as a real variable The syntax for this flag is ✞ 1 (%i1) declare(var, real) ✆ Here variable ‘var’ will assumed as a real variable. 1.4.30 Remove Indicator From Atom (rem) The syntax for the rem is ✞ 1 (%i1) rem(atom, indicator) ✆ It removes the property indicated by ‘indicator’ from ‘atom’. rem reverses the effect of put. rem returns done if atom had an indicator property when rem was called, or ‘false’ if it had no such property. 1.4.31 Remove Property (remove) It removes the properties from the atom. It has syntax like ✞ 1 (%i1) rem(atom vector, property vector) ✆ If “all’ is used as argument in place of ‘atom vector’ then ‘property vector’ will be removed from all atoms. 1.4.32 Scalar Value (scalar) Function declare, if used as the syntax given below, tells Maxima to recognize a variable as a scalar variable. The syntax for this flag is ✞ 1 (%i1) declare(var, scalar) ✆ Here variable ‘var’ will assumed as a scalar variable. 1.4.33 Sign of Expression (sign) sign attempts to deduce the sign of expressions from the sign of operands within the expression. For example, if a and b are both positive, then a + b is also positive. ✞ 1 (%i1) sign(1-2) ✆ ✞ (%o1) neg ✆
  • 48. 48 CHAPTER 1. MAXIMA CORE 1.4.34 Declare Variable as Symetric Function (symmetric) Function declare, if used as the syntax given below, tells Maxima to recognize a function as a symmetric function. The syntax for this flag is ✞ 1 (%i1) declare(f, symmetric) ✆ Here function ‘f’ will assumed as a symmetric function.
  • 49. Chapter 2 Numeric Evaluation 2.1 Number Theory 2.1.1 Big Float (bffac) bffac is acronym of “Bigfloat” version of the factorial function. The syntax for the function is ✞ 1 (%i1) bffac(expression, integer) ✆ The second argument ‘integer’ is how many digits to retain and return, it’s a good idea to request a couple of extra. 2.1.2 Big Float Zeta Function (bfhzeta) bfhzeta returns the Hurwitz zeta function for the arguments s and h. The return value is a big float (bfloat); n is the number of digits in the return value. The Hurwitz zeta function is defined as zeta(s, h) = ∞ X n=0 1 (n + h)s To use this function, “bffac” should be loaded at first. The syntax for this function is ✞ 1 (%i1) bfhzeta(expr s, expr h, num of return digit n) ✆ 2.1.3 Convert to Big Float (bfloat) It converts all numbers and functions of numbers in expression to bigfloat num- bers. The number of significant digits in the resulting bigfloats is specified by the global variable fpprec. ✞ 1 (%i1) bfloat(expression) ✆ 49
  • 50. 50 CHAPTER 2. NUMERIC EVALUATION 2.1.4 Is Big Float (bfloatp) Returns ‘true’ if expression is a bigfloat number, otherwise ‘false’. ✞ 1 (%i1) bfloatp(expression) ✆ 2.1.5 Digamma Big Float Function (bfpsi) (bfpsi0) bfpsi is the polygamma function of real argument z and integer order n. bfpsi0 is the digamma function. The syntax is ✞ 1 (%i1) bfpsi0 (z, fpprec) ✆ or ✞ 1 (%i1) bfpsi (0, z, fpprec) ✆ These functions are same and return bigfloat values. fpprec is the bigfloat precision of the return value. 2.1.6 Big Float to Rational Number (bftorat) bftorat controls the conversion of bfloats to rational numbers. When bftorat is ‘false’, ratepsilon conversion take place. When bftorat is ‘true’, generated rational number generated will accurately represent the bfloat. By default it is ‘false’. 2.1.7 Truncate Big Float (bftrunc) bftrunc causes trailing zeroes in non-zero bigfloat numbers not to be displayed. Thus, if bftrunc is ‘false’, bfloat(1) displays as 1.000000000000000B0. Otherwise, this is displayed as 1.0B0. By default it is ‘true’. 2.1.8 Big Float Zeta Function (bfzeta) It returns the Riemann zeta function for the argument s. The return value is a big float (bfloat); n is the number of digits in the return value. The syntax is ✞ 1 (%i1) bfzeta(s, n) ✆ 2.1.9 Complex Big Float (cbffac) It returns complex big float and needs to load bffac. The syntax is ✞ 1 (%i1) cbffac(complex number, precision points) ✆
  • 51. 2.1. NUMBER THEORY 51 2.1.10 Floating Point (float) It converts integers, rational numbers and bigfloats in expression to floating point numbers. 2.1.11 Float to Big Float (float2bf) When float2bf is ‘false’, a warning message is printed when a floating point number is converted into a bigfloat number. By default it is ‘true’. 2.1.12 Is Floating Number (floatnump) It returns ‘true’ if expression is a floating point number, otherwise ‘false’. The syntax is ✞ 1 (%i1) floatnump(expression) ✆ 2.1.13 Float Point Precision (fpprec) fpprec is the number of significant digits for arithmetic on bigfloat numbers. fpprec does not affect computations on ordinary floating point numbers. By default its value is ‘16’. It is used like ✞ 1 (%i1) fpprec:integer less than 16 ✆ 2.1.14 Float Point Print Precission (fpprintprec) fpprintprec is the number of digits to print when printing an ordinary float or bigfloat number. For ordinary floating point numbers, when fpprintprec has a value between ‘2’ and ‘16’ (inclusive), the number of digits printed is equal to fpprintprec. Otherwise, fpprintprec is ‘0’, or greater than ‘16’, and the number of digits printed is ‘16’. By default its value is ‘0’. ✞ 1 (%i1) fpprintprec:integer 2 to 16 0 ✆ 2.1.15 Keep Float Points (keepfloat) By default it is ‘false’. When keepfloat is ‘true’, prevents floating point numbers from being rationalized when expressions which contain them are converted to canonical rational expression (CRE) form. 2.1.16 Numerical Solution (numer) numer causes some mathematical functions (including exponentiation) with nu- merical arguments to be evaluated in floating point. It causes variables in ex- pression which have been given numerals to be replaced by their values. It also sets the float.
  • 52. 52 CHAPTER 2. NUMERIC EVALUATION 2.1.17 Numerical Power of Negative Integer (numer pbranch) By default, this variable is ‘false’. The option variable numer pbranch controls the numerical evaluation of the power of a negative integer, rational, or floating point number. When numer pbranch is ‘true’ and the exponent is a floating point number or the option variable numer the numerical result returns us- ing the principal branch, otherwise a simplified, but not an evaluated result is returned. ✞ 1 (%i1) (-2)^0.75; ✆ ✞ (%o1) (-2)^0.75 ✆ ✞ 1 (%i2) (-2)^0.75,numer_pbranch:true; ✆ ✞ (%o2) 1.189207115002721*%i-1.189207115002721 ✆ 2.1.18 Number to Variables (numerval) This function assigns the numerical values to the variables. Syntax used like ✞ 1 (%i1) numerval (var_1, val_1, ..., var_n, val_n) ✆ 2.1.19 Tolerance in Floating Point (ratepsilon) ratepsilon is the tolerance used in the conversion of floating point numbers to rational numbers, when the option variable bftorat. By default its value is 2.0e−15 . 2.1.20 Rationalize (rationalize) Convert all double floats and big floats in the Maxima expression to their exact rational equivalents. If you are not familiar with the binary representation of floating point numbers, you might be surprised that ✞ 1 (%i1) rationalize (0.1) ✆ does not equal 1/10. This behavior isn’t special to Maxima. The number 1/10 is a repeating, not a terminating, binary representation. ✞ 1 (%i1) rationalize(0.1) ✆ The output is (%o1) 3602879701896397 36028797018963968
  • 53. 2.1. NUMBER THEORY 53 2.1.21 Is Rational Number (ratnump) Returns ‘true’ if expression is a literal integer or ratio of literal integers, other- wise ‘false’. 2.1.22 Print Message Rational (ratprint) When ratprint is ‘true’, a message informing the user of the conversion of floating point numbers to rational numbers is displayed. By default it is ‘true’. 2.1.23 Numerical Status (stats numer) If stats numer is ‘true’, inference statistical functions return their results in floating point numbers. If it is ‘false’, results are given in symbolic and rational format.
  • 54. 54 CHAPTER 2. NUMERIC EVALUATION
  • 55. Chapter 3 Conditions Following conditions can be used in Maxima. 3.1 Linear 3.1.1 If Statement (if) if is a conditional statement. The syntax for function if is like ✞ 1 (%i2) if condition then 3 body if condition true else 5 body if condition false ✆ ✞ 1 (%i2) f(x) := if x=1 then (x+1)$ (%i2) f(3) ✆ (%o1) false The output is false as x 6= 1. Again ✞ (%i2) f(x) : = if x=1 then (x+1)$ 2 (%i2) f(1) ✆ (%o1) 2 55
  • 56. 56 CHAPTER 3. CONDITIONS 3.1.2 If-Else Statement (if-else) if-else is a conditional statement where function body for ‘true’ and ‘false’ con- ditions are given and only ‘true’ case is printed in output. Syntax for if-else condition is ✞ (%i2) if condition 2 then body if condition true 4 else body if condition false ✆ ✞ 1 (%i2) f(x) : = if x=1 then (x+1) else (x-1)$ (%i2) f(3) ✆ (%o1) 2 3.2 Loop 3.2.1 For Statement (for) It is loop operator. The syntax for for loop is ✞ (%i1) for initial var 2 thru bounding limit 4 step integer 6 do function body; ✆ For example ✞ 1 (%i1) for i:1 thru 10 step 3 do print(2*i); ✆ ✞ 2 8 14 20 (%o1) done ✆ while statement can be applied with for function. ✞ 1 (%i1) for i: 1 while i = 10 do s: s+i; ✆ ✞ (%o1) 55 ✆
  • 57. 3.2. LOOP 57 3.2.2 Do Statement (do) The do statement is used for performing iteration. ✞ 1 (%i1) for i: 1 while i = 10 do s: s+i; ✆ ✞ (%o1) 55 ✆ 3.2.3 While Statement (while) It allow the iteration to be performed until the require condition is satisfied. Generally while statement comes with do statement. ✞ 1 (%i1) for i: 1 while i = 10 do s: s+i; ✆ ✞ (%o1) 55 ✆
  • 58. 58 CHAPTER 3. CONDITIONS
  • 59. Chapter 4 Arithmetic Arithmetical functions are followings. 4.1 Arithmatic Functions 4.1.1 Absolute Number (abs) abs returns the absolute value of an supplied number. If x = 1.20152 then its absolute value is 1.201. Similarly if x = −1.20152, then its absolute value is 1.201. ✞ 1 (%i1) abs(1.20152); ✆ ✞ (%o1) 1.201 ✆ ✞ 1 (%i1) abs(-1.20152); ✆ ✞ (%o1) 1.201 ✆ 4.1.2 Summation of Terms (sum) sum is used for sum evaluation of a series. Syntax for sum is ✞ 1 (%i1) sum(expression, variable, initial value, final value) ✆ Summation n X i=1 i2 is expanded as n X i=1 i2 = 12 + 22 + 32 + . . . + n2 59
  • 60. 60 CHAPTER 4. ARITHMETIC If either initial or final value is symbol, then output is just symbolic representa- tion of summation. The sum of a series of square of first ‘n’ integers is evaluated as ✞ 1 (%i1) sum(x^2, x, a, b) ✆ The output is (%o1) b X x=a x2 If initial final values are integers then ✞ 1 (%i1) sum(x^2,x,1,10) ✆ The output is ✞ (%o1) 385 ✆ 4.1.3 Numerical Summation of Terms (nusum) nusum is used for numerical sum evaluation of a series. Syntax for nusum is ✞ 1 (%i1) nusum(expression, variable, initial value, final value) ✆ The numerical sum of a series of square of first ‘n’ integers is evaluated as ✞ 1 (%i1) nusum(x^2,x,1,n) ✆ The output is (%o1) n (n + 1) (2 n + 1) 6 This output is in symbolic form. 4.1.4 Numerical Factor of Algebraic Fraction (numfactor) It returns the numerical factor from an algrebraic fraction. ✞ 1 (%i1) numfactor(15/8 * %e); ✆ The output is (%o1) 15 8
  • 61. 4.1. ARITHMATIC FUNCTIONS 61 4.1.5 Product of Terms (product) product is used for product evaluation of a series. Syntax for product is ✞ 1 (%i1) product(expression, variable, initial value, final value) ✆ Product n Y i=1 i2 is expanded as n Y i=1 i2 = 12 × 22 × 32 × . . . × n2 If either initial or final value is symbol, then output is just symbolic representa- tion of product. The product of a series of square of first ‘n’ integers is evaluated as ✞ 1 (%i1) product(x^2, x, a, b) ✆ The output is (%o1) b Y x=a x2 If initial final values are integers then ✞ 1 (%i1) product(x^2, x, 1, 5) ✆ ✞ (%o1) 14400 ✆ 4.1.6 Maximum Value (max) max returns the maximum value of supplied arguments as vector or matrix. ✞ 1 (%i1) max(20,15,47,85,0,-2) ✆ ✞ (%o1) 85 ✆ 4.1.7 Minimum Value (min) min returns the minimum value of supplied arguments as vector or matrix. ✞ 1 (%i1) min(20,15,47,85,0,-2) ✆ ✞ (%o1) -2 ✆
  • 62. 62 CHAPTER 4. ARITHMETIC 4.1.8 Modulo (mod) It returns the modulo of two expressions as shown in the syntax of this function. ✞ 1 (%i1) mod(expression 1, expression 2) ✆ Modulo between two pure integer values is given by ✞ 1 (%i1) mod(10,3) ✆ ✞ (%o1) 1 ✆ Modulo for algebraic relations ✞ 1 (%i1) mod(a^3-b^3,a-b); ✆ ( 4.1.9 Square Root (sqrt) It returns the square root of given number. ✞ 1 (%i1) numer:true; (%i2) sqrt(10) ✆ ✞ (%o2) 3.16227766016838 ✆ 4.1.10 Sorting Elements (sort) 4.1.11 Simplification Environment (simp) When simp is used as an evflag with a value ‘false’, the simplification is sup- pressed only during the evaluation phase of an expression. The flag can not suppress the simplification which follows the evaluation phase. The simplifi- cation is switched off globally. The expression sin(1.0) is not simplified to its numerical value. The simp-flag switches the simplification on is ✞ 1 (%i4) simp:true; ✆ ✞ (%o4) true ✆ ✞ 1 (%i5) x:sin(1.0),simp:false; ✆ ✞ (%o5) 0.8414709848078965 ✆
  • 63. Chapter 5 Algebra This section includes the functions can be used in algebra. 5.1 Linear Equations 5.1.1 Algebraic Evaluation (algebraic) By default algebraic is ‘false’. It must be set ‘true’ in order to simplify the algebraic numbers. 5.1.2 Solving Linear Equation (solve) A linear equation can be solved by using solve function. An algebraic equation, f(x) = 0 of a variable x, would be arranged in form of f(x) = 0 before getting the roots of the equation. If equation is in form of f(x) = a then it should be arranged as f(x) − a = 0 before supplying it as argument to the solve function. The synopsis of the solve function is ✞ 1 (%i1) solve([linear algebraic equation],[variable]) ✆ Example is ✞ 1 (%i1) solve([x^2-x+1=0],[x]) ✆ The output is (%o1) x = − √ 3 i − 1 2 , x = √ 3 i + 1 2 # If we have to solve more than one function then syntax for solve becomes ✞ 1 (%i11) x+y=1 ✆ 63
  • 64. 64 CHAPTER 5. ALGEBRA (%o11) x + y = 1 ✞ 1 (%i12) x-y=2 ✆ (%o12) x − y = 2 ✞ 1 (%i13) solve([%o11,%o12]) ✆ (%o12) y = − 1 2 , x = 3 2 5.1.3 Simplify Logs, Exponent Radicals (radcan) radcan simplifies expressions, which contain logs, exponentials and radicals. For a somewhat larger class of expressions, radcan produces a regular form. Two equivalent expressions in this class do not necessarily have the same appearance, but their difference can be simplified by radcan to zero. For example log(x + x2 ) − log(x) a [log(1 + x)] a/2 = [log(x + 1)] a/2 Maxima code is ✞ 1 (%i3) radcan((log(x+x^2)-log(x))^a/log(1+x)^(a/2)); ✆ (%o3) log (x + 1) a 2 5.1.4 Radical Expansion (radexpand) By default it is ‘true’. It controls the expansion of radicals. When it is ‘true’ for all, factors are pulled outside to the radicals. For example, when radexpand is ‘true’, √ 4x2 becomes 2x as a coefficient of the expression. 5.1.5 Rational Simplification (ratsimp) It is abbrevation of “rational simplification”. It simplifies the expression and all of its subexpressions, including the arguments to non-rational functions. The
  • 65. 5.1. LINEAR EQUATIONS 65 result is returned as the quotient of two polynomials in a recursive form. The syntax used is ✞ 1 (%i3) ratsimp(expression, arg 1, arg 2, ... , arg n) ✆ For example ✞ 1 (%i3) sin(x)/x + exp((1+log(x))^2 - log(x)); ✆ (%o3) sin (x) x + e(log(x)+1)2 x ✞ 1 (%i3) sin(x)/x + exp((1+log(x))^2 - log(x)); (%i4) ratsimp(%); ✆ (%o4) sin (x) + x2 elog(x)2 +1 x 5.1.6 Rationalized Simplification Flag (ratsimpexpons) By default it is ‘false’. When ratsimpexpons is true, ratsimp is applied to the exponents of expressions during simplification. 5.1.7 Evaluation of Expression in Environment (ev) It evals an expression in the environment as specified by the user in form of arg1, arg2, . . ., argn. In all of these arguments, at least one must be from the environments simp, noeval, diff, integrate, expand, detout, derivlist, float, numer, pred, eval or other valid function names. The syntax used for this function is ✞ (%i3) ev(expression, arg 1, arg 2, ... , arg n) ✆ A function f(x) = x2 +2, is to be derivated with respect to independent variable ‘x’ by using the ev function is ✞ 1 (%i3) x+1; (%i4) ev(%,1); ✆ (%o4) 2
  • 66. 66 CHAPTER 5. ALGEBRA 5.1.8 Evaluation of Expression (eval) It is used as an argument in the function ev to cause an extra evaluation of expression or relation. 5.1.9 Expansion of Algebraic Relations (expand) expand expands to the algebraic relations consisiting product of sum of two or more independent variables. Exponents of sum of two or more variables or algebraic constants are splited in simplified terms and numerical constants are made corresponding coefficients of their respective terms. The syntax used is ✞ (%i3) expand(expression) ✆ For example ✞ 1 (%i3) (a+b)^2; (%i4) expand(%); ✆ (%o4) b2 + 2ab + a2 Another form of the syntax of expand is ✞ (%i3) expand(expression, mpnum, maximum power of denominator) ✆ Here ‘mpnum’ limits the expansion of those terms whose exponent is less than or equal to ‘mpnum’ in the numerator. Similarly ‘mpden’ limits the expansion of those terms whose exponent is less than or equal to ‘mpden’ in the denominator. This limitation is applicable when power of exponents is positive. It is helpful to expand the specific radicals in the rational algebraic expression. For example ✞ 1 (%i3) (a+b)^2; (%i4) expand(%, 1); ✆ Does not exapanded as the exponent of numerator is ‘2’ that is greater than the ‘mpnum’ value ‘1’. Remember if there is negative exponents of a radical value in rational expressions then their power is made positive by changing their position from the numerator to denominator and vice versa. 5.2 Inequality Polynomial 5.2.1 Equality (equal) equal compares two expressions, whether two expressions are equal or not. The stat of comparison is returned when it is asked by using function is. It is used for true state. If the condition is ‘true’, then the function is proven by facts and assumed in database.
  • 67. 5.2. INEQUALITY POLYNOMIAL 67 ✞ (%i3) equal(x, x^2); 2 (%i4) is(%); ✆ (%o4) unknown ✞ (%i3) equal(x*x,x^2); 2 (%i4) is(%); ✆ (%o4) true 5.2.2 Inequality (notequal) notequal compares two expressions, whether two expressions are equal or not. The stat of comparison is returned when it is asked by using function is. It is used for false state. ✞ (%i3) notqual(x, x^2); 2 (%i4) is(%); ✆ (%o4) unknown ✞ (%i3) notequal(x*x,x^2); 2 (%i4) is(%); ✆ (%o4) false 5.2.3 Solve Algebraic Polynomials (algsys) algsys used to solve the simultaneous polynomial equations for the list of the variables. All the polynomial equations and list of variables to be supplied as arguments to the function must be in vector form. The syntax used is ✞ (%i3) algsys([s^3+1], [s]); ✆
  • 68. 68 CHAPTER 5. ALGEBRA (%o3) s = −1 s = √ 3 i + 1 2 s = − √ 3 i − 1 2 5.2.4 Solve Linear Equations (linsolve) linsolve is used to solve the simultaneous linear equations for the list of variables. The expressions must be polynomials in the variables and may be equations. All the linear equations and list of variables to be supplied as arguments to the function must be in vector form. The syntax used is ✞ 1 (%i3) linsolve([2*x+8*y-4*z=10, 2*x+y+4*z=8, x-8*y-z=-20], [x, y, z]); ✆ (%o3) x = − 45 89 y = 198 89 z = 151 89 5.2.5 Check The Stat Of Database (is) is attempts to determine whether the predicate expression is provable from the facts in the assume database. If the proven state from the facts is not assumed then it returns the status ‘unknown’. ✞ 1 (%i3) notequal(x*x, x^2); (%i4) is(%); ✆ (%o4) false 5.2.6 Check The Stat Of Database (maybe) maybe similar to is, attempts to determine whether the predicate expression is provable from the facts in the assume database. If state is not assumed in database, it returns ‘unknown’ result. ✞ (%i3) notequal(x, x^2); 2 (%i4) maybe(%); ✆
  • 69. 5.2. INEQUALITY POLYNOMIAL 69 (%o4) unknown ✞ (%i5) notequal(x*x, x^2); 2 (%i6) maybe(%); ✆ (%o6) false 5.2.7 Algebraic Substitution (subst) This function substitutes old variable by new variable. The syntax for this function is ✞ (%i3) subst(new var, old var, expression); ✆ For example ✞ 1 (%i5) subst(y, x, x^n-a^n); ✆ (%o6) yn − an
  • 70. 70 CHAPTER 5. ALGEBRA