Home

Maxima Manual

image

Contents

1. 287 30 2 Definitions for ctensor 289 30 2 1 Initialization and setup 289 30 2 2 The tensors of curved space 291 30 2 3 Taylor series expansion 294 30 2 4 Frame fields 297 30 2 5 Algebraic classification 297 30 2 6 Torsion and nonmetricity 299 30 2 7 Miscellaneous features 300 30 2 8 Utility functions 303 30 2 9 Variables used by ctensor 308 30 2 10 Reserved names oL 90 2 11 Changes os ceci Ree b nee hts 312 Ol ALBOSOE uva in y o CC COCA o RC 313 31 1 Introduction to atensor 313 31 2 Definitions for atensor 314 OE ao UP dios eee 317 32 1 Introduction to Series 317 32 2 Definitions for Series al 33 Number Theory ss houssmsssses 329 33 1 Definitions for Number Theory 329 34 Symmetries eeu u rect andara E 337 34 1 Definitions for Symmetries 337 du GLOWS sce deceaosedusvsieeeseelndd ew x 353 35 1 Definitions for Groups 399 36 Runtime Environment 355 36 1 Introduction for Runtime Environment
2. 225 arrays System variable 226 asec Function 225 5 eniin hara 141 asech Function 141 asin Function coccion 141 asinh Function 141 askexp System variable 65 askinteger Function 65 asksign Function 65 assoc Function 381 assoc_legendre_p Function 157 assoc_legendre_q Function 157 442 assume Function 109 assume pos Option variable 109 assume pos pred Option variable 110 assumescalar Option variable 109 asymbol Variable 315 asympa Function 149 at Function 2 eene rev er RR ve cds 46 atan Function 142 atan2 Function ss semer Eh POR 142 atanh Function i e ets cis pies 142 atensimp Function 315 atom Function ce ines ia 381 atomgrad Property 170 atrigi Package ui ee ick akg seras nee 142 atvalue Function 170 171 augcoefmatrix Function 230 av Funcuon AA 316 B backsubst Option variable 200 backtrace Function 423 bashindices Function 226 batch Function
3. 322 psi Function 2 3 teehee ds 153 297 pui Function xiardstersebrtePetPRIeXbbseks 343 pui direct Function 345 pui2comp Function 344 pui2ele Function s tr te 344 pui2polynome Function 345 puireduc Function 346 put Function s 5 50 dans is ateneiesen eds 362 Appendix A Function and Variable Index Q gput Function y e ERI RE RETS 363 qq Function cesse seminseniriele iisses 186 quad gag Function 190 quad qagi Function 191 quad qags Function 191 quad qawc Function 192 quad qawf Function 193 quad qawo Function 194 quad qaws Function 195 quanc8 Function eed rr ben 186 quit Euncllon cute oet bici 23 qunit Function i vim e Re ette paa 334 quotient Function 125 R radcan Function 2 70 radexpand Option variable 71 radsubstflag Option variable val random Function osesu br RE dee 33 rank Function iosoertetek e er EIE 245 rassociative Declaration 71 Gat Function er imam roses 125 ratalgdenom Option variable 126 ratchristof Option variable 309 ratcoef
4. 246 scalarp Function 2 46 sese yee e reta 364 scalefactors Function 246 scanmap Function 429 schur2comp Function 351 sconcat FunGbion eee ee eee basses 88 scsimp Punction 25 442 vessie 71 scurvature Function 292 sec Function ecri cioe ete n 142 sech Function occ et ERE eR eri 143 second Function 384 set partitions Function 398 set plot option Function 82 set random state Function 33 set up dot simplifications Function 251 setcheck Option variable 434 setcheckbreak Option variable 434 setdifference Function 398 setelmx Function 246 setify Function oce rr 398 setp Function iode cec e eem ee tees 398 setup autoload Function 364 setval System variable 434 seventh Function 384 sf Function miis reirte 315 show Function 2 gscs0 vee pesmi er neri 101 showcomps Function 263 showratvars Function 101 showtime Option variable 23 sign PFuncton e emer sree ERES 34 signum Punction esperese idees 34 similaritytransform Function 246 simpmetderiv Function 272 simpsum
5. 54 inprod Punction een eee 239 inrt Puncton censis uo tee Ese Een 333 446 integer partitions Function 393 integerp Function 361 integrate Function 182 integrate_use_rootsof Option variable 185 integration_constant_counter System variable IA a Eee Dee ee dc 185 interpolate Function 218 intersect Function 394 intersection Function 394 intfaclim Option variable 124 intopois Function 151 intosum Function 22 2 eti reed RE ERES 67 intpolabs Option variable 219 intpolerror Option variable 219 intpolrel Option variable 219 invarianti Function 303 invariant2 Function 303 inverse_jacobi_cd Function 164 inverse_jacobi_cn Function 163 inverse_jacobi_cs Function 164 inverse_jacobi_dc Function 164 inverse_jacobi_dn Function 163 inverse_jacobi_ds Function 164 inverse_jacobi_nc Function 164 inverse_jacobi_nd Function 164 inverse_jacobi_ns Function 163 inverse_jacobi_sc Function 163 inverse_jacobi_sd Function 163 inverse_jacobi_sn Function
6. ss ss ssnonsses o ss sesesssses 7 2 x 1N 2 5 atanie DE log x x 1 sqrt 3 o A 14 7 sqrt 3 Alternatively the user may compute the roots of the denominator separately and then express the integrand in terms of these roots e g 1 x a x b x c or 1 x 2 a b x a b x c if the denominator is a cubic polynomial Sometimes this will help Maxima obtain a more useful result 186 Maxima Manual Idefint expr x a b Function Attempts to compute the definite integral of expr by using limit to evaluate the indefinite integral of expr with respect to x at the upper limit b and at the lower limit a If it fails to compute the definite integral ldefint returns an expression containing limits as noun forms ldefint is not called from integrate so executing ldefint expr x a b may yield a different result than integrate expr x a b ldefint always uses the same method to evaluate the definite integral while integrate may employ various heuristics and may recognize some special cases potential givengradient Function The calculation makes use of the global variable potentialzeroloc 0 which must be nonlist or of the form indeterminatej expressionj indeterminatek expressionk the former being equivalent to the nonlist expression for all right hand sides in the lat ter The indicated right hand sides are used as the lower limit of integration The su
7. 355 30 2 Interrf pis ia tl gut e e d RERO eee 355 36 3 Definitions for Runtime Environment 359 37 Miscellaneous Options 359 37 1 Introduction to Miscellaneous Options 359 A 359 37 3 Definitions for Miscellaneous Options 359 38 Rules and Patterns 367 38 1 Introduction to Rules and Patterns 367 38 2 Definitions for Rules and Patterns 367 39 IIS as oi eee e 381 39 1 Introduction to Lists 381 39 2 Definitions for Lists sis iced Rete hoes bse dha RE bs 381 U Sele eons cts oe baboons ee eee ee 385 40 1 Introduction to Sets 385 42031 USAGE 22 re PRO e rer eim te eb tn 385 40 1 2 Set Member Iteration 386 40 1 3 BUGS dc cobre tee edid de sade Ra 387 40 1 4 Defining sets with braces 388 40 1 5 Combinatorial and Miscellaneous Functions 389 ADO Authors inn ais ED eed ba 389 40 2 Definitions for Sets 389 41 Function Definition ls 403 41 1 Introduction to Function Definition 403 21 27 FUNCION tas e di a din a 403 41 3 Macri adi ti lat tada ta de 404 Alda S MANTICS ii Conan 404 41 3 2 SimplificatiOn A eet Rt ee 404 41 4 Definitions for Function Definition 406 42 Program
8. 1 6 416 ev sum 1 3 i i 1 inf simpsum 1 406 2 4i7 ev sum i 2 i 1 4 sum 1 i 2 i 1 inf simpsum 2 07 5 hpi lsum expr x L Function Represents the sum of expr for each element x in L A noun form 1sum is returned if the argument L does not evaluate to a list Examples fil lsum x i i 1 2 7 7 2 A01 X x x 4i2 lsum i 2 i rootsof x73 1 2 402 gt i 3 i in rootsof x 1 verbify f Function Returns the verb form of the function name f See also verb noun and nounify Examples Aii verbify foo A01 foo 1412 lisp F00 112 nounify foo 402 foo i3 lisp FOO Chapter 7 Simplification 65 7 Simplification 7 1 Definitions for Simplification askexp System variable When asksign is called askexp is the expression asksign is testing At one time it was possible for a user to inspect askexp by entering a Maxima break with control A askinteger expr integer Function askinteger expr Function askinteger expr even Function askinteger expr odd Function askinteger expr integer attempts to determine from the assume database whether expr is an integer askinteger prompts the user if it cannot tell otherwise and attempt to install the information in the database if possible askinteger expr is equivalent to askinteger expr integer askinteger expr even and askinteger expr odd likewise attempt t
9. 163 invert Function che bee IP e erede 239 is Function 252552500040 3l ishow Function 259 isolate Punctlon ee ern 54 isolate wrt times Option variable 54 3sqrt Function 28 oe eo men heu 32 itr Vanable 2 username 280 J JO Function xb tp ERE UR ans 150 j4 Function embarcar 150 jacobi F nctlon os 2s eenetbesese rori teries 333 jacobi cd Function e eie 163 jacobi cn Function 162 jacobi cs Function mesones sy serbe 163 jacobi dc Function simposios 163 jacobi dn Function 162 jacobi ds Function 163 jacobi nc Punction eor rms 163 jacobi nd Function opere nnrir 163 jacobi ns Function 163 jacobi p Function 158 jacobi sc Function imme 163 jacobi_sd Function 163 jacobi_sn Function 162 jn Funeuon 44 Haba ieee ERAS HR 151 Maxima Manual K kdels Function 2625 0 ber epi eee 265 kdelta Function 264 keepfloat Option variable 124 kill Function ccoo e b pra naiss 20 killcontext Function 112 kinvariant Variable 310 kostka Function 340 kron delta Function 394 kt Variable 45a inst Pie RR ERE 311 L lab
10. askinteger expr even and askinteger expr odd likewise attempt to determine if expr is an even integer or odd integer respectively 401 false To use a result in later calculations you can assign it to a variable or refer to it by its automatically supplied label In addition refers to the most recent calculated result Aii u expand x y 76 6 5 2 4 3 3 4 2 5 6 hol y 6xy 15x y 20x y 15x y 6x y x 112 diff u x 5 4 2 3 3 2 4 5 102 6 y 30 x y 60x y 60x y 30x y 6x 413 factor 7402 5 403 6 y x Maxima knows about complex numbers and numerical constants hit cos hpi 01 1 412 exp hixhpi 02 zd Maxima can do differential and integral calculus hii u expand x y 76 6 5 2 4 3 3 4 2 5 6 hoi y 6xy 15x y 20x y 15x y 6x y x 412 diff 4 x 5 4 2 3 3 2 4 5 102 6 y 30xy 60x y 60x y 30x y 6x 413 integrate 1 1 x 3 x 2x 2 atan log x x 1 sqrt 3 log x 1 03 Sese posee 6 sqrt 3 3 Maxima can solve linear systems and cubic equations Aii linsolve 3 x 4 y 7 2 x a y 13 x yl 7a 52 25 01 Bos Sear po omoes 3a 8 3a 8 hi2 solve x 3 3 x 2 5 x 15 x Chapter 1 Introduction to Maxima 5 502 x sqrt 5 hi x sqrt 5 4i x 3 Maxima can solve nonlinear sets of equations Note that if you don t want a result printed yo
11. 408 define variable Function 409 defint Function 26 0 0 eee eee ee te 181 defmatch Function 368 defrule Function 369 deftaylor Function 317 del Function uo cra so abba ds 172 delete Function 382 deleten Function 308 delta Function cose e v die PEOR se 172 demo Function asirio 11 demoivre Function 65 demoivre Option variable 65 denom Function 117 dependencies System variable 172 443 depends Function 172 derivabbrev Option variable 173 derivdegree Function 173 derivlist Function 174 derivsubst Option variable 174 describe Function 13 desolve Function 23 rtm REOR 211 determinant Function 232 detout Option variable 232 diagmatrix Function 233 diagmatrixp Function 303 diagmetric Option variable 308 diff Punction xe imb exe wees 174 269 diff Special symbol 175 dim Option variable 308 dimension Function 201 direct Function e ete eR e
12. 29 equal Function 30 equalp Function 220 equiv classes Function 391 erf Function eere eet eb EE cess 181 erfflag Option variable 181 errcatch Function 426 error Punctonm i e mee e m Pe remeo Ex 427 error System variable 427 error size Option variable 90 error_syms Option variable 91 errormsg Function 427 euler Function 332 ev Punction erse oro iy eval Operator 31 evenp Function 31 every Function 391 evflag Property zeste 19 evtun Property nid tiere nas 19 evundiff Function 270 example Function 14 exp Function z cessiretkhne pre LP a 50 expand Function 66 expandwrt Function 66 expandwrt denom Option variable 66 expandwrt factored Function 67 explose Function 340 expon Option variable 67 exponentialize Function 67 exponentialize Option variable 67 expop Option variable 67 express Function 175 expt
13. would make the main title of the plot be Sample Data instead of Maxima Plot To make a bar graph with bars which are 0 2 units wide and to plot two possibly different such bar graphs xgraph curves append BarGraph true NoLines true BarWidth 2 create list i 2 i 2 i 1 3 append BarGraph true NoLines true BarWidth 2 create list i 2 7xi72 i 1 3 A temporary file xgraph out is used plot options System variable Elements of this list state the default options for plotting If an option is present in a plot2d or plot3d call that value takes precedence over the default option Otherwise the value in plot options is used Default options are assigned by set plot option Each element of plot options is a list of two or more items The first item is the name of an option and the remainder comprises the value or values assigned to the option In some cases the the assigned value is a list which may comprise several items The plot options which are recognized by plot2d and plot3d are the following Maxima Manual e Option plot format determines which plotting package is used by plot2d and plot3d e Default value gnuplot Gnuplot is the default and most advanced plotting package It requires an external gnuplot installation e Value mgnuplot Mgnuplot is a Tk based wrapper around gnuplot It is included in the Maxima distribution Mgnuplot offers a rudimentary
14. 02 9 18 30 12 48 60 413 y gramschmidt x 2 2 4 3 3 3 35 2 3 2 3 Chapter 27 Matrices and Linear Algebra 239 hes Ut 2 31 gt s Fe 391 2 7 7 2 7 5 5 i4 i innerproduct 15 I Gill y 2 y 2 y 3 i y 3 y 1 05 0 0 0 hach a b m n 1 Function hach is an implementation of Hacijan s linear programming algorithm load kach loads this function demo kach executes a demonstration of this function ident n Function Returns an n by n identity matrix innerproduct x y Function inprod x y Function Returns the inner product also called the scalar product or dot product of x and y which are lists of equal length or both 1 column or 1 row matrices of equal length The return value is conjugate x y where is the noncommutative multiplication operator load eigen loads this function inprod is a synonym for innerproduct invert M Function Returns the inverse of the matrix M The inverse is computed by the adjoint method This allows a user to compute the inverse of a matrix with bfloat entries or polynomials with floating pt coefficients without converting to cre form Cofactors are computed by the determinant function so if ratmx is false the inverse is computed without changing the representation of the elements The current implementation is inefficient for matrices of high order When detout is true the determinant is fa
15. 152 poissimp Function 152 poisson Special symbol 152 poissubst Function 153 poistimes Function 153 poistrim Function 153 polarform Function 61 polartorect Function 215 216 polynome2ele Function 343 posfun Declaration 70 potential Function 186 powerdisp Option variable 321 powers Function 61 powerseries Function 321 powerset Function 397 pred Operator ccc semen ene gees 33 prederror Option variable 429 primep Function 334 print Buncton vorsderpM ERE eer tete 97 printpois Function 153 printprops Function 22 prodhack Option variable 70 prodrac Function sese ste nas 343 product Function esee ttes 61 programmode Option variable 205 prompt Option variable 23 properties Function 362 props Special symbol 362 propvars Function 362 pscom Function 84 psdraw curve Function 83 psexpand Option variable
16. 4i2 printfile tmp out 5 yields 120 6 yields 720 7 yields 5040 8 yields 40320 9 yields 362880 10 yields 3628800 writefile filename Function Begins writing a transcript of the Maxima session to filename All interaction between the user and Maxima is then recorded in this file just as it appears on the console As the transcript is printed in the console output format it cannot be reloaded into Maxima To make a file containing expressions which can be reloaded see save and stringout save stores expressions in Lisp form while stringout stores expressions in Maxima form The effect of executing writefile when filename already exists depends on the un derlying Lisp implementation the transcript file may be clobbered or the file may be appended appendfile always appends to the transcript file It may be convenient to execute playback after writefile to save the display of previous interactions As playback displays only the input and output variables i1 4o1 etc any output generated by a print statement in a function as opposed to a return value is not displayed by playback closefile closes the transcript file opened by writefile or appendfile Chapter 10 Floating Point 105 10 Floating Point 10 1 Definitions for Floating Point bffac expr n Function Bigfloat version of the factorial shifted gamma function The second argument is how many digits to retain and return it s a good idea to request
17. 03 a 4i4 atvalue f x x 0 1 04 1 Aib desolve 4o1 402 GO gGO DD x o5 f x a fe a 1 g x x cos x a e a g 0 1 212 Maxima Manual 416 hot 02 05 diff x x x x 406 la fe a he a he cos x a fe cos x If desolve cannot obtain a solution it returns false icl solution xval yval Function Solves initial value problem for first order differential equation Here solution is a general solution to the equation as found by ode2 xval is an equation for the independent variable in the form x x0 and yval is an equation for the dependent variable in the form y y0 See ode2 for example of usage ic2 solution xval yval dval Function Solves initial value problem for second order differential equation Here solution is a general solution to the equation as found by ode2 xval is an equation for the independent variable in the form x x0 yval is an equation for the dependent variable in the form y y0 and dval is an equation for the derivative of the dependent variable with respect to independent variable evaluated at the point xval See ode2 for example of usage ode2 eqn dvar ivar Function The function ode2 solves ordinary differential equations of first or second order It takes three arguments an ODE eqn the dependent variable dvar and the indepen dent variable ivar When successful it returns either an explicit or implicit solution for the dependent va
18. 08 foorule1 419 plusrule name first 04 09 rulei 4110 mstringp foorule name symbolp foorule name 4010 false true 1111 mstringp plusrule name symbolp plusrule name 4011 true true 4i12 remrule foo foorulel 4012 foo 4113 remrule rule1 7 013 i clear rules Function Executes kill rules and then resets the next rule number to 1 for addition multiplication and exponentiation 380 Maxima Manual Chapter 39 Lists 381 39 Lists 39 1 Introduction to Lists Lists are the basic building block for Maxima and Lisp All data types other than arrays hash tables numbers are represented as Lisp lists These Lisp lists have the form MPLUS A 2 to indicate an expression a 2 At Maxima level one would see the infix notation a 2 Maxima also has lists which are printed as 1 2 gt 7 gt x y for a list with 4 elements Internally this corresponds to a Lisp list of the form MLIST 1 2 7 MPLUS X Y The flag which denotes the type field of the Maxima expression is a list itself since after it has been through the simplifier the list would become MLIST SIMP 1 2 7 MPLUS SIMP X Y 39 2 Definitions for Lists append list_1 list n Function Returns a single list of the elements of list 1 followed by the elements of list 2 append also works on general expressions e g append f a b f c d e yields f a b c d e Do example
19. 230 Maxima Manual demo eigen displays a demonstration of the capabilities of this package batch eigen executes the same demonstration but without the user prompt between succes sive computations The functions in the eigen package are innerproduct unitvector columnvector gramschmidt eigenvalues eigenvectors uniteigenvectors and similaritytransform 27 2 Definitions for Matrices and Linear Algebra addcol M list_1 list_n Function Appends the column s given by the one or more lists or matrices onto the matrix M addrow M list_1 list Function Appends the row s given by the one or more lists or matrices onto the matrix M adjoint M Function Returns the adjoint of the matrix M augcoefmatrix eqn 1 eqn m x 1 x_n Function Returns the augmented coefficient matrix for the variables x 1 x n of the system of linear equations eqn 1 eqn m This is the coefficient matrix with a column adjoined for the constant terms in each equation i e those terms not dependent upon x 1 EM 111 m 2 x a 1 y 5 b c b y a x 0 4i2 augcoefmatrix m x yl 2 1 a 5b 02 a b C charpoly M x Function Returns the characteristic polynomial for the matrix M with respect to variable x That is determinant M diagmatrix length M x 4ii a matrix 3 1 2 41 3 1 01 2 4 4i2 expand charpoly a lambda 2
20. 86 he Constant Midori iras 137 e to numlog Option variable 139 edispflag Option variable 86 emode Option variable 50 enumer Option variable 50 gamma Constant 332 Api Constat mostrar Pe ae bas 137 rnum list System variable 197 Mth Function 2 beber RUE HEP E RES 86 round Lisp function 106 truncate Lisp function 107 System variable 85 A abasep Function 316 abs Function seres nres rones tatii 29 absboxchar Option variable 87 absint Function core RR PREIS 220 acos Function 141 acosh Function iine sopor carre 141 acot Function cocos eee 141 acoth Function 13 44 44 141 acsc Function ceso ce tes das 141 acsch Function viu eeteer tem prx e ree 141 activate Function 109 activecontexts System variable 109 addcol Function 230 additive Keyword 29 addrow Function cce eee 230 adim Variable iria beis 315 adjoin Function eere pert b LR ERR 389 adjoint Function 230 af Runction 2 oi sys dot pdit ele b CODES 315 aform Variable ivi2 c22cseh ade been eut 315 airy Function eerte nh eR
21. 01 pos If you find something that you think might be a set function bug please report it to the Maxima bug database See bug_report 40 1 4 Defining sets with braces If you d like to be able to input sets using braces you may do so by declaring the left brace to be a matchfix operator this is done using the commands 411 matchfix 112 i Clal apply set a Now we can define sets using braces thus i1 matchfix 112 4 al apply set a 3 403 414 a fla b 504 fa fa b To always allow this form of set input place the two commands in lines il and i2 in your maxima init mac file Chapter 40 Sets 389 40 1 5 Combinatorial and Miscellaneous Functions In addition to functions for finite sets Maxima provides some functions related to com binatorics these include the Stirling numbers of the first and second kind the Bell numbers multinomial coefficients partitions of nonnegative integers and a few others Maxima also defines a Kronecker delta function 40 1 6 Authors Stavros Macrakis of Cambridge Massachusetts and Barton Willis of the University of Nebraska at Kearney UNK wrote the Maxima set functions and their documentation 40 2 Definitions for Sets adjoin x a Function Adjoin x to the set a and return a set Thus adjoin x a and union set x a are equivalent however using adjoin may be somewhat faster than using union If a isn t a
22. 02 quotient i3 reveal e 2 sum 3 DABEI 00000000 QAAE sum 3 hi4 reveal e 3 expt negterm expt AR NAS product 2 expt expt 100 Maxima Manual hib reveal e 4 2 2 b product 3 a hob product 2 product 2 2 expt he he 16 reveal e 5 2 2 b 2ab a A06 sum 2 2b 2a 2 he he he hi7 reveal e 6 2 2 D 2ab a ROT b a 2b 2a 2 he he he rmxchar Option variable Default value rmxchar is the character drawn on the right hand side of a matrix See also 1mxchar save filename name 1 name 2 name 3 Function save filename values functions labels Function save filename m n Function save filename name 1 expr 1 Function save filename all Function Stores the current values of name 1 name_2 name 3 in filename The arguments are the names of variables functions or other objects If a name has no value or function associated with it it is ignored save returns filename save stores data in the form of Lisp expressions The data stored by save may be recovered by load filename The effect of executing save when filename already exists depends on the underlying Lisp implementation the file may be clobbered or save may complain with an error message The special form save filename values functions labels stores the items name
23. 406 done 4i7 map numberp la b c d e f g hl 07 false false false false false false false false properties a Function Returns a list of the names of all the properties associated with the atom a props Special symbol props are atoms which have any property other than those explicitly mentioned in infolists such as atvalues matchdeclares etc as well as properties specified in the declare function propvars prop Function Returns a list of those atoms on the props list which have the property indicated by prop Thus propvars atvalue returns a list of atoms which have atvalues put atom value indicator Function Assigns value to the property specified by indicator of atom indicator may be the name of any property not just a system defined property put evaluates its arguments put returns value Examples Aii put foo a b 5 expr 5 01 b a 412 put foo Hello str 02 Hello i3 properties foo Chapter 37 Miscellaneous Options 363 03 user properties str expr 4i4 get foo expr 5 04 b a Aib get foo str 05 Hello qput atom value indicator Function Assigns value to the property specified by indicator of atom This is the same as put except that the arguments are quoted Example Aii foo aa 112 bar bb 113 baz cc 4i4 put foo bar baz 04 bb 1i5 properties aa 405 user properties cc
24. 4069597231924075 x 1 0 4i3 for e in soln do e2 subst e eqn disp expand lhs e2 rhs e2 3 5527136788005E 15 5 32907051820075E 15 4 44089209850063E 15 i 4 88498130835069E 15 4 44089209850063E 15 i 4 88498130835069E 15 3 5527136788005E 15 03 done 4i4 polyfactor true 4i5 allroots eqn 200 Maxima Manual 05 13 5 x 1 0 x 8296749902129361 2 x 1 015755543828121 x 8139194463848151 x 1 098699797110288 backsubst Option variable Default value true When backsubst is false prevents back substitution after the equations have been triangularized This may be helpful in very big problems where back substitution would cause the generation of extremely large expressions breakup Option variable Default value true When breakup is true solve expresses solutions of cubic and quartic equations in terms of common subexpressions which are assigned to intermediate expression labels t1 t2 etc Otherwise common subexpressions are not identified breakup true has an effect only when programmode is false Examples Aii programmode false 112 breakup true 13 solve x 3 x 2 1 sqrt 23 25 1 3 43 eee free Solution sqrt 3 Zi 1 sqrt 3 ji 1 2 2 1 464 x 4t3 _ 2 2 9 t3 3 sqrt 3 fi 1 sqrt 3 ji 1 2 2 1 45 x t3 _ 2 2 9 t3 3 1 1 4t6 x 4t3 9 t3
25. closeps Function This should usually becalled at the end of a sequence of plotting commands It closes the current output stream pstream and sets it to nil It also may be called at the start of a plot to ensure pstream is closed if it was open All commands which write to pstream open it if necessary closeps is separate from the other plotting commands since we may want to plot 2 ranges or superimpose several plots and so must keep the stream open set_plot_option option Function Assigns one of the global variables for plotting option is specified as a list of two or more elements in which the first element is one of the keywords on the plot_options list set_plot_option evaluates its argument set_plot_option returns plot_options after modifying one of its elements See also plot_options plot2d and plot3d Examples Chapter 8 Plotting 83 Modify the grid and x values When a plot options keyword has an assigned value quote it to prevent evaluation Aii set plot option grid 30 40 01 x 1 755559702014E 305 1 755559702014E 305 y 1 755559702014E 305 1 755559702014E 305 t 3 3 grid 30 40 view direction 1 1 1 colour z false transform xy false run viewer true plot format gnuplot gnuplot term default gnuplot out file false nticks 10 adapt depth 10 gnuplot pm3d false gnuplot_preamble gnuplot curve titles default gnuplot curve
26. dx 114 a2 antidiff expr x z x z x z x d I 04 y x he I e y x dx dx 415 a2 first al integrate second al x 405 0 416 antid expr x y x z x d 206 0 y GO e z x dx 17 antidiff expr x y x z x d y x he z x dx hoT I dx 170 Maxima Manual antidiff expr x u x Function Returns an antiderivative of expr with respect to x The expression expr may contain an unknown function u and its derivatives When antidiff succeeds entirely the resulting expression is free of integral signs that is free of the integrate noun Otherwise antidiff returns an expression which is partly or entirely within an integral sign If antidiff cannot make any progress the return value is entirely within an integral sign load antid loads this function The antid package also defines the functions nonzeroandfreeof and linear antidiff is related to antid as follows Let L a list of two elements be the return value of antid Then the return value of antidiff is equal to L 1 integrate L 2 x where x is the variable of integration Examples Aii load antid 4i2 expr exp z x diff zGO x y x z x d 402 y x he zG0 dx 413 al antid expr x z x z x z x d 503 yGO e he y dx Ai4 a2 antidiff expr x z x z x zGO d 404 y x he I he y x dx dx Aib
27. g m defines df dx_i as gi where gi is an expression g i may be a function call but not the name of a function The number of partial derivatives m may be less than the number of arguments n in which case derivatives are defined with respect to x 1 through x_m only gradef a x expr defines the derivative of variable a with respect to x as expr This also establishes the dependence of a on x via depends a x The first argument f x 1 x_n or a is quoted but the remaining arguments g_l g m are evaluated gradef returns the function or variable for which the partial derivatives are defined gradef can redefine the derivatives of Maxima s built in functions For example gradef sin x sqrt 1 sin x 2 redefines the derivative of sin gradef cannot define partial derivatives for a subscripted function printprops f1 fn gradef displays the partial derivatives of the func tions f 1 n as defined by gradef printprops a n an atomgrad displays the partial derivatives of the variables a n a n as defined by gradef gradefs is the list of the functions for which partial derivatives have been defined by gradef gradefs does not include any variables for which partial derivatives have been defined by gradef Gradients are needed when for example a function is not known explicitly but its first derivatives are and it is desired to obtain higher order derivatives gradefs Syst
28. rembox expr label removes only boxes bearing label rembox expr removes all boxes labelled and unlabelled Boxes are drawn by the box dpart and lpart functions Examples Ail expr axd b c h 2 sin pixx 01 sin pi x ad bc 412 dpart dpart expr 1 1 2 2 ad bc 402 sin Api x Ai3 expr2 lpart BAR lpart FOO 4 1 2 FOO Won nm nn n n nn IEI 403 sin pi x 4i4 rembox expr2 unlabelled FOO Won n n nm n qn dw 404 sin pi x 15 rembox expr2 FOO 05 sin pi x 416 rembox expr2 BAR FDO Won non III PAY h BAR noon gn non ow oN Vh BAR Won nnn nm nn BAR Won nm nn nn a d b c 2 h Chapter 6 Expressions 63 LL Won nm nm m nw 11 a d om b C 406 sin pi x Mon m ng qm n nn nn gn gn gn gg d on h 417 rembox expr2 ad bc LoT sin pi x 2 h sum expr i i0 i1 Function Represents a summation of the values of expr as the index i varies from 0 to i 1 Sums may be differentiated added subtracted or multiplied with some automatic simplification being performed The noun form sum is displayed in sigma notation If the upper and lower limits differ by an integer the summand expr is evaluated for each value of the summation index i and the results are added together Otherwise if the simpsum is true the summation is simplifi
29. 18333 x 29079 x 20745 x 25326 x 697 Voir e galement resolvante_produit_sym resolvante_unitaire resolvante_alterneel resolvante_klein resolvante_klein3 resolvante_vierer resolvante resolvante_klein P x Function calcule la transformation de P x par la fonction x_1 x_2 x 4 x 4 Voir e galement resolvante produit sym resolvante unitaire resolvante_alterneel resolvante resolvante_klein3 resolvante_vierer resolvante_diedrale resolvante_klein3 P x Function calcule la transformation de P x par la fonction x 1 x 2 x_4 x 4 Voir e galement resolvante_produit_sym resolvante_unitaire resolvante_alterneel resolvante klein resolvante resolvante_vierer resolvante_diedrale Chapter 34 Symmetries 351 resolvante produit sym P x Function calcule la liste toutes les rVesolvantes produit du polyn ome P x Aii resolvante produit sym x75 3 x 4 2 x 1 x 5 4 10 8 7 6 5 01 y 334 2y L y 2y 21y 31y 14y 4 3 2 10 8 T 6 5 4 y 14y 3y 1 y 3y 14y y 14y 31y 3 2 5 4 O y 2y Ly Ew 34e id 1 4i2 resolvante produit 413 resolvante x75 3 x 4 2 x 1 x a b c la b c resolvante produit 10 8 7 6 5 4 3 2 od y tay My y My Shy 21y 2y 1 Voir e galement resolvante resolvante unitaire resolvante_alterneel resolvante klein resolvante klein3 resolvante_vierer resolvante_diedrale resolvante unitaire P Q x Function c
30. 235 dotexptsimp Option variable 235 dotident Option variable 235 dotscrules Option variable 235 dotsimp Function 244445228288 8820 use 251 dpart Function pavas os use 50 dscalar Function 175 302 444 E echelon Function 235 eigenvalues Function 235 eigenvectors Function 236 eighth Function 442332 382 einstein Function 293 eivals Function 235 eivects Function 236 ele2comp Function 339 ele2polynome Function 339 ele2pui Function 339 elem Function s4s40 ssse sursis 340 elementp Function 391 eliminate Function 117 elliptic_e Function 164 elliptic_ec Function 165 elliptic eu Function 164 elliptic f Function 164 elliptic kc Function 165 elliptic pi Function 165 ematrix Function 236 emptyp Function 2 occi eere 391 endcons Function 382 entermatrix Function 237 entertensor Function 259 entier Function
31. 372 Maxima Manual letsimp expr Function letsimp expr package_name Function letsimp expr package name_1 package_name_n Function Repeatedly applies the substitution rules defined by let until no further change is made to expr letsimp expr uses the rules from current_let_rule_package letsimp expr package_name uses the rules from package_name without changing current_let_rule_package letsimp expr package name_1 package_name_n is equivalent to letsimp expr package_name_1 followed by letsimp package name 2 and so on let_rule_packages Option variable Default value default_let_rule_package let rule packages is a list of all user defined let rule packages plus the default package default let rule package matchdeclare a_1 pred 1 an pred Function Associates a predicate pred_k with a variable or list of variables a_k so that a_k matches expressions for which the predicate returns anything other than false The predicate is the name of a function a function call missing the last argument or true Any expression matches true If the predicate is specified as a function call the expression to be tested is appended to the list of arguments the arguments are evaluated at the time the match is evaluated Otherwise the predicate is specified as a function name and the expression to be tested is the sole argument A predi cate function need not be defined when matchdeclare is called th
32. The init ctensor function reinitializes the ctensor package It removes all arrays and matrices used by ctensor resets all flags resets dim to 4 and resets the frame metric to the Lorentz frame 30 2 2 The tensors of curved space The main purpose of the ctensor package is to compute the tensors of curved space time most notably the tensors used in general relativity When a metric base is used ctensor can compute the following tensors lg ug N lcs mcs ric uric X tracer ein lein riem lriem weyl 292 Maxima Manual uriem ctensor can also work using moving frames When cframe flag is set to true the following tensors can be calculated lfg ufg fri fr lcs mcs lriem ric uric ND lg ug weyl tracer ein lein IN riem uriem christof dis Function A function in the ctensor component tensor package It computes the Christoffel symbols of both kinds The argument dis determines which results are to be imme diately displayed The Christoffel symbols of the first and second kinds are stored in the arrays 1cs i j k and mcs i j k respectively and defined to be symmetric in the first two indices If the argument to christof is lcs or mcs then the unique non zero values of 1cs i j k or mcs i j k respectively will be displayed If the argument is all then the unique non zero values of 1cs i j k and mcs i j k will be displayed If the argument is
33. The weight function w is selected by wfun 196 Maxima Manual 1 w x x a lfa b x eta 2 w x x a lfa b x etalog x a 3 w x x a lfa b x etalog b x 2 w x x a lfa b x etalog x a log b x The optional arguments are epsabs Desired absolute error of approximation Default is 1d 10 limit Size of internal work array limit limlst 2 is the maximum number of subintervals to use Default is 200 epsabs and limit are the desired relative error and the maximum number of subinter vals respectively epsrel defaults to 1e 8 and limit is 200 quad qaws returns a list of four elements an approximation to the integral the estimated absolute error of the approximation the number integrand evaluations an error code The error code fourth element of the return value can have the values 0 no problems were encountered 1 too many sub intervals were done 2 excessive roundoff error is detected 3 extremely bad integrand behavior occurs 6 if the input is invalid Examples Aii quad qaws 1 x 1 27 4 x 1 1 0 5 0 5 1 401 8 750097361672832 1 24321522715422E 10 170 0 4i2 integrate 1 x x 1 2 x 1 2 alpha x 1 1 alpha Is 42 1 positive negative or zero pos alpha alpha 2 pi 2 sqrt 2 2 1 o2 alpha 42 2 413 ev 4 alpha 4 numer 403 8 750097361672829 Chapter 22
34. dirac implements the algebra of Dirac spinors as the Clifford algebra C1 3 1 A call to init atensor dirac is equivalent to init atensor clifford 3 0 1 atensimp expr Function Simplifies an algebraic tensor expression expr according to the rules configured by a call to init atensor Simplification includes recursive application of commutation relations and resolving calls to sf af and av where applicable A safeguard is used to ensure that the function always terminates even for complex expressions alg type Function The algebra type Valid values are universal grassmann clifford symmetric symplectic and lie envelop adim Variable The dimensionality of the algebra atensor uses the value of adim to determine if an indexed object is a valid base vector Defaults to 0 aform Variable Default values for the bilinear forms sf af and av The default is the identity matrix ident 3 asymbol Variable The symbol for base vectors Defaults to v sf u v Function A symmetric scalar function that is used in commutation relations The default implementation checks if both arguments are base vectors using abasep and if that is the case substitutes the corresponding value from the matrix aform af u v Function An antisymmetric scalar function that is used in commutation relations The default implementation checks if both arguments are base vectors using abasep and if that is the case substitutes the corresponding value fro
35. is returned The symbols r1 4r2 are introduced as needed to represent arbitrary parameters in the solution these variables are also appended to the list 4rnum list The method is as follows 1 First the equations are factored and split into subsystems 2 For each subsystem S_i an equation E and a variable x are selected The variable is chosen to have lowest nonzero degree Then the resultant of E and E_j with respect to x is computed for each of the remaining equations E_j in the subsystem S i This yields a new subsystem S_i in one fewer variables as x has been eliminated The process now returns to 1 3 Eventually a subsystem consisting of a single equation is obtained If the equation is multivariate and no approximations in the form of floating point numbers have been introduced then solve is called to find an exact solution 198 Maxima Manual In some cases solve is not be able to find a solution or if it does the solution may be a very large expression If the equation is univariate and is either linear quadratic or biquadratic then again solve is called if no approximations have been introduced If approximations have been introduced or the equation is not univariate and neither linear quadratic or biquadratic then if the switch realonly is true the function realroots is called to find the real valued solutions If realonly is false then allroots is called which looks for real and complex valu
36. sqrt f w e v d u 2 2 2 sqrt c z b y a 30 Col 2 2 2 2 sqrt f z e y d x 244 Maxima Manual matrix element transpose Option variable Default value false matrix element transpose is the operation applied to each element of a matrix when it is transposed matrix element mult can be assigned any unary operator The assigned value may be the name of an operator enclosed in quote marks the name of a function or a lambda expression When matrix element transpose equals transpose the transpose function is ap plied to every element When matrix element transpose equals nonscalars the transpose function is applied to every nonscalar element If some element is an atom the nonscalars option applies transpose only if the atom is declared nonscalar while the transpose option always applies transpose The default value false means no operation is applied See also matrix element add and matrix element mult Examples ii declare a nonscalar 4i2 transpose la bl transpose a 402 b 13 matrix element transpose nonscalars 4i4 transpose la b transpose a 04 b Aib matrix element transpose transpose 416 transpose la b transpose a 406 transpose b 4i7 matrix element transpose lambda x realpart x i imagpart x l 4i8 m matrix 1 5 i 3 2 4il 7 i 111 5 i 1 3 2 fi 408
37. 1 81 44668037931193 40320 20 TERT Operator The double factorial operator Chapter 5 Operators 27 a For an integer float or rational number n n evaluates to the product n n 2 n 4 n 6 n 2 k 1 where k is equal to entier n 2 that is the largest integer less than or equal to n 2 Note that this definition does not coincide with other published definitions for arguments which are not integers For an even or odd integer n n evaluates to the product of all the consecutive even or odd integers from 2 or 1 through n inclusive For an argument n which is not an integer float or rational n yields a noun form genfact n n 2 2 Operator Represents the negation of syntactic equality Note that because of the rules for evaluation of predicate expressions in particular because not expr causes evaluation of expr not a b is not equivalent to a b in some cases Examples 4i1 a b 01 a b 112 is a b 02 false 4i3 a b 03 a b 4i4 not a b 404 true 415 is a b 05 true 416 is not a b 406 true Operator The dot operator for matrix non commutative multiplication When is used in this way spaces should be left on both sides of it e g A B This distinguishes it plainly from a decimal point in a floating point number See also dot dotOnscsimp dotOsimp dotisimp dotassoc dotconstrules dotdistrib do
38. 112 xprimep x integerp x and x gt 1 and primep x Ai3 subset s lambda x every xprimep x 03 2 2 2 2 2 18 3 2 2 5 3 2 5 5 Et 317 Notice that primep 1 is true in Maxima This disagrees with most definitions of prime 394 Maxima Manual intersect a 1 an Function Return a set containing the elements that are common to the sets a 1 through a_n The function intersect must receive one or more arguments Signal an error if any of a 1 through a n isn t a set See also intersection page 394 intersection a 1 a n Function Return a set containing the elements that are common to the sets a 1 through a n The function intersection must receive one or more arguments Signal an error if any of a 1 through a n isn t a set See also intersect page 393 kron delta x y Function The Kronecker delta function kron delta x y simplifies to 1 when is x y is true and it simplifies to zero when sign x yl is pos When sign Ix yl is zero and x y isn t a floating point number neither a double nor a bfloat return 0 Otherwise return a noun form The function kron delta is declared to be symmetric thus for example kron_ delta x y kron delta y x simplifies to zero Here are a few examples ii kron delta a a kron delta a 1 a 01 1 0 4i2 kron delta a b 402 kron delta a b Assuming that a gt b makes sign la bl evaluate
39. 413 C x 1 7 8 2 x 1 sqrt x 1 sqrt x 1 x x 1 3 2 x 1 sqrt x 1 x 1 k03 A sqrt x 1 x 1 114 ratsimp 4 2 sqrt x 1 404 mic 2 sqrt x 1 Aib x a 1 a ratsimpexpons true 2 a 1 a 05 x ratsimpexpons Option variable Default value false When ratsimpexpons is true ratsimp is applied to the exponents of expressions during simplification 132 Maxima Manual ratsubst a b c Function Substitutes a for b in c and returns the resulting expression b may be a sum product power etc ratsubst knows something of the meaning of expressions whereas subst does a purely syntactic substitution Thus subst a x y x y z returns x y z whereas ratsubst returns z a When radsubstf lag is true ratsubst makes substitutions for radicals in expressions which don t explicitly contain them Examples Ail ratsubst a x y 2 x 4 y 3 x 4 y 8 3 4 401 ax y a 412 cos x 4 cos x 3 cos x 2 cos x 1 4 3 2 402 cos x cos x cos x cos x 1 413 ratsubst 1 sin x 2 cos x 72 4 2 2 403 sin x 3 sin x cos x 2 sin x 3 414 ratsubst 1 cos x 72 sin x 2 sin x 4 4 2 04 eos x 2 cos x 1 Aib radsubstflag false 416 ratsubst u sqrt x x 206 x 4i7 radsubstflag true 418 ratsubst u sqrt x x 2 208 u ratvars x 1 x n Function ratvars Function ratvars System variable Decl
40. 422 Maxima Manual Chapter 42 Program Flow 423 42 Program Flow 42 1 Introduction to Program Flow Maxima provides a do loop for iteration as well as more primitive constructs such as go 42 2 Definitions for Program Flow backtrace Function backtrace n Function Prints the call stack that is the list of functions which called the currently active function backtrace prints the entire call stack backtrace n prints the n most recent functions including the currently active function backtrace can be called from a script a function or the interactive prompt not only in a debugging context Examples e backtrace prints the entire call stack hi1 h x g x 7 hi2 g x f x 11 413 f x e x 2 1414 ex backtrace 2 x 13 Aib h 10 0 e x 4489 49 1 x 67 7 2 g x 10 7 3 h x 10 9615 05 ENDE 49 e backtrace n prints the n most recent functions including the currently active function backtrace 1 g x 7 backtrace 1 f x 11 backtrace 1 e x 2 backtrace 1 2 x 13 hii h x i2 g x i3 f x 114 ex Aib h 10 0 h x 10 80 g x 10 7 HO f x 67 7 0 e x 4489 49 9615 05 dupe 49 424 Maxima Manual do Special operator The do statement is used for performing iteration Due to its great generality the do statement will be described in two parts First the usual form will be given which is analogous t
41. A01 f b c d 4i2 delete a f a b a c d a 2 402 f b c d a eighth expr Function Returns the 8 th item of expression or list expr See first for more details endcons expr list Function Returns a new list consisting of the elements of list followed by expr endcons also works on general expressions e g endcons x f a b c gt f a b c x fifth expr Function Returns the 5 th item of expression or list expr See first for more details first expr Function Returns the first part of expr which may result in the first element of a list the first row of a matrix the first term of a sum etc Note that first and its related functions rest and last work on the form of expr which is displayed not the form which is typed on input If the variable inflag is set to true however these functions will look at the internal form of expr Note that the simplifier re orders expressions Thus first x y will be x if inflag is true and y if inflag is false first y x gives the same results The functions second tenth yield the second through the tenth part of their input argument fourth expr Function Returns the 4 th item of expression or list expr See first for more details get a i Function Retrieves the user property indicated by i associated with atom a or returns false if a doesn t have property i get evaluates its arguments Aii put fe transcendental type 01 transcendental 412 put Api
42. Any other Lisp symbol is preceded by a question mark when it appears in Maxima See Section 3 2 Lisp and Maxima page 9 for more on this point Examples Ail an ordinary identifier42 01 an ordinary identifier42 4i2 embedded spaces in an identifier 402 embedded spaces in an identifier 13 symbolp 03 true 4i4 footbar foo bar 04 foo bar foo bar i5 1729 1729 05 1729 1729 116 symbolp foo tbar symbolp 1729 406 true true 417 is foo bar footbar is 11729 1729 07 false false i8 baz quux 208 baz quux Ai9 declare alphabetic 409 done 4110 baz quux 7 010 baz quux 4111 is foo F00 is FOO Foo is Foo foo 4011 false false false 4112 lisp defvar my lisp variable foo MY LISP VARIABLE 2112 xmy lisp variable x 4012 foo 44 Maxima Manual 6 6 Inequality Maxima has the inequality operators lt gt gt and notequal See if for a description of conditional expressions 6 7 Syntax It is possible to define new operators with specified precedence to undefine existing operators or to redefine the precedence of existing operators An operator may be unary prefix or unary postfix binary infix n ary infix matchfix or nofix Matchfix means a pair of symbols which enclose their argument or arguments and nofix means an operator which takes no arguments As examples of
43. L Ou 11 419 transpose m 1 5 ji 7 il 409 L3 4i 3 11 mattrace M Function Returns the trace that is the sum of the elements on the main diagonal of the square matrix M mattrace is called by ncharpoly an alternative to Maxima s charpoly load nchrpl loads this function minor M i j Function Returns the i j minor of the matrix M That is M with row i and column j removed Chapter 27 Matrices and Linear Algebra 245 ncexpt a b Function If a non commutative exponential expression is too wide to be displayed as a b it appears as ncexpt a b ncexpt is not the name of a function or operator the name only appears in output and is not recognized in input ncharpoly M x Function Returns the characteristic polynomial of the matrix M with respect to x This is an alternative to Maxima s charpoly ncharpoly works by computing traces of powers of the given matrix which are known to be equal to sums of powers of the roots of the characteristic polynomial From these quantities the symmetric functions of the roots can be calculated which are nothing more than the coefficients of the characteristic polynomial charpoly works by forming the determinant of x ident n a Thus ncharpoly wins for example in the case of large dense matrices filled with integers since it avoids polynomial arithmetic altogether load nchrp1 loads this file newdet M n Function Computes the determinant of th
44. Option variable 71 simtran Function 246 sin Function pP et peg hee qus 143 sinh Eunctlon venia orar 143 sinnpiflag Option variable 221 sixth Iuncton cec ir apro 384 solve Function 207 solve inconsistent error Option variable utu d edet posee uide Pix ad eT cde 210 solvedecomposes Option variable 210 solveexplicit Option variable 210 solvefactors Option variable 210 solvenullwarn Option variable 210 solveradcan Option variable 210 solvetrigwarn Option variable 210 some Function 242 e RR ees 399 somrac Function 352 sort Function J srta prota raid 34 sparse Option variable 247 spherical_bessel_j Function 159 spherical_bessel_y Function 159 Maxima Manual spherical_hankel1 Function 159 spherical hankel2 Function 160 spherical_harmonic Function 160 splice Punction Rete bere 404 sdfr Function sedis n 20e nine date 134 sqrt Function e iinei p RR NR RUE 35 sqrtdispflag Option variable 35 sstatus Function 23 stardisp Option variable 101 status Function 356 stirling Function emm 399 stirl
45. Symmetries 343 part2cont ppart lvar Function passe de la forme partitionne e a la forme contracte e d un polyno me syme trique La forme contracte e est rendue avec les variables contenues dans lvar 11 part2cont 2xa 3 b 4 11 x yl 3 4 01 2a bx y Autres fonctions de changements de repre sentations contract cont2part explose partpol tcontract tpartpol partpol psym lvar Function psym est un polyno me syme trique en les variables de Ivar Cette fonction rame ne sa repre sentation partitionne e Aii partpol a x y 3 x y x yl 101 3 1 1 a t 01 Autres fonctions de changements de repre sentations contract cont2part explose part2cont tcontract tpartpol permut 1 Function rame ne la liste des permutations de la liste 1 polynome2ele P x Function donne la liste n e 1 e n ou nest le degre du polyno me P en la variable x et ei la i ieme fonction syme trique e le mentaire des racines de P Aii polynome2ele x 7 14 x 5 56 x 3 56 x 22 x hol 7 0 14 0 56 0 56 22 412 ele2polynome 7 0 14 0 56 O 56 22 x 7 5 3 02 x 14x b6x 56 x 22 La re ciproque ele2polynome 1 x prodrac 1 k Function lest une liste contenant les fonctions syme triques e le mentaires sur un ensemble A prodrac rend le polyno me dont les racines sont les produits k a k des e le ments de A pui l sym
46. a 1 an Ca 1 a n Given no arguments multinomial evaluates to 1 A user may use minfactorial to simplify the value returned by multinomial_coeff for example Aii multinomial_coeff 1 2 x x 3 Got 5 9999 4i2 minfactorial 7 x 1 x 2 x 3 402 2 i3 multinomial coeff 6 2 4 Nod RE 2 6 4i4 minfactorial 7 04 10 num distinct partitions n Function num distinct partitions n a Function When n is a nonnegative integer return the number of distinct integer partitions of n If the optional parameter a has the value list return a list of the number of distinct partitions of 1 2 3 n If n isn t a nonnegative integer return a noun form Definition If n k km where k through km are distinct positive integers we call k km a distinct partition of n num partitions n Function num partitions n a Function When n is a nonnegative integer return the number of partitions of n If the optional parameter a has the value list return a list of the number of partitions of 1 2 3 n If n isn t a nonnegative integer return a noun form Aii num partitions 5 cardinality integer partitions 5 h01 7 7 4i2 num partitions 8 list 402 1 1 2 8 5 T dhe 15 221 113 num partitions n 03 num_partitions n For a nonnegative integer n num_partitions n is equal to card
47. a_2 n 1 n 2 Function taylor expr x a n expands the expression expr in a truncated Taylor or Laurent series in the variable x around the point a containing terms through x a n If expr is of the form f x g x and g x has no terms up to degree n then taylor attempts to expand g x up to degree 2 n If there are still no nonzero terms taylor doubles the degree of the expansion of g x so long as the degree of the expansion is less than or equal to n 2 taylordepth taylor expr x 1 x 2 a n returns a truncated power series of degree n in all variables x 1 x 2 about the point a a taylor expr x 1 a 1 n 1 x 2 a 2 n 2 returns a truncated power series in the variables x 1 x_2 about the point a 1 a 2 truncated at n 1 1212 sce taylor expr x 1 x_2 a 1 a2 n 1 n 2 returns a trun cated power series in the variables x 1 x 2 about the point a1 a2 truncated at n 1 n 2 taylor expr x a n asymp returns an expansion of expr in negative powers of x a The highest order term is x a n When maxtayorder is true then during algebraic manipulation of truncated Taylor series taylor tries to retain as many terms as are known to be correct When psexpand is true an extended rational function expression is displayed fully expanded The switch ratexpand has the same effect When psexpand is false a 324
48. bd invariantl Function generates the mixed Euler Lagrange tensor field equations for the invariant density of R 2 The field equations are the components of an array named inv1 invariant2 Function NOT YET IMPLEMENTED generates the mixed Euler Lagrange tensor field equations for the invariant density of ricli j uriem i j The field equations are the components of an array named inv2 bimetric Function NOT YET IMPLEMENTED generates the field equations of Rosen s bimetric theory The field equations are the components of an array named rosen 30 2 8 Utility functions diagmatrixp M Function Returns true if M is a diagonal matrix or 2D array symmetricp M Function Returns true if M is a symmetric matrix or 2D array ntermst f Function gives the user a quick picture of the size of the doubly subscripted tensor array f It prints two element lists where the second element corresponds to NTERMS of the components specified by the first elements In this way it is possible to quickly find the non zero expressions and attempt simplification cdisplay ten Function displays all the elements of the tensor ten as represented by a multidimensional array Tensors of rank 0 and 1 as well as other types of variables are displayed as with 1display Tensors of rank 2 are displayed as 2 dimensional matrices while tensors of higher rank are displayed as a list of 2 dimensional matrices For instan
49. cornisas eee trs 176 gradefs System variable Len gramschmidt Function 238 grind PFunctlon s com scenic Nep de dieu E 92 grind Option variable 92 grobner basis Function 251 gschmit Function 24 4424 eee d 238 H Hach Function cuntur e BER praes 239 halfangles Option variable 142 hermite Function 158 hipow Function 2 u sss bLeMw pea 123 hodge Function ss esset 283 horner Function 2423442844 218 445 I 10 Function merca e eee tede 151 it Function Loaded ded 151 ibase Option variable 93 ic convert Function 0 285 ici Function ie RI nes dede de eia 212 ic2 Function 2 44 Ee re 212 iccl Varable scs eel RR ten 277 icc2 Variable 0 0 eee nete 277 ichri Function cee ieee vera eee 273 ichr2 Runct on reete eere 274 icounter Option variable 264 icurvature Function 274 ident Function oe e eem eR 239 identity Function 393 idiff Function e teme PEOR 269 idim Function nere ere rete 273 idummy Function 264 idummyx Variable 264 iequ Function vertere b ERR oe 203 ieqnprint Option variable 203 if Special operator 427 ifb Variable ov
50. defined with 7 an ordinary function defined with or define an array function defined with or define but enclosing arguments in square brackets 1 a subscripted function defined with or define but enclosing some arguments in square brackets and others in parentheses one of a family of subscripted functions selected by a particular subscript value or a subscripted function defined with a constant subscript dispfun all displays all user defined functions as given by the functions arrays and macros lists omitting subscripted functions defined with constant subscripts dispfun creates an intermediate expression label t1 t2 etc for each displayed function and assigns the function definition to the label In contrast fundef returns the function definition dispfun quotes its arguments the double single quote operator defeats quotation dispfun always returns done Examples a1 m x y 112 f x y as gix y hi4 hx y 415 i 8 y 416 dispfun m f g h h 5 h 10 i 8 rs ES OMNIA ed iu An Ty 1 16 nix y X y tT f x y t Ty 1 18 g x Y gt 469 h y x x 1 t10 h y 412 Maxima Manual 5 1 ft 11 h y 10 y 10 um 4t12 i y 8 8 functions System variable Default value functions is the list of user defined Maxima functions in the current session A user defined function is
51. et part 2 hil kostka 3 3 3 2 2 2 1 1 11 h01 6 lgtreillis n m Function rend la liste des partitions de poids n et de longueur m Chapter 34 Symmetries 341 Aii lgtreillis 4 2 A01 Liss 11 2 21 Voir e galement 1treillis treillis et treinat Itreillis n m Function rend la liste des partitions de poids n et de longueur infe rieure ou e gale a m Wii ltreillis 4 2 501 LES 01 3 1 I2 21 Voir e galement lgtreillis treillis et treinat mon2schur 1 Function la liste repre sente la fonction de Schur S J On a 1 i_1 12 iq avec i 1 lt i 2 lt lt iq La fonction de Schur est S_ i_1 i 2 i q est le mineur de la matrice infinie h_ i j i gt 1 j gt 1 compose des q premie res lignes et des colonnes i 1 1 12 2 1q q On e crit cette fonction de Schur en fonction des formes monomiales en utilisant les fonctions treinat et kostka La forme rendue est un polyno me syme trique dans une de ses repre sentations contracte es avec les variables x_1 x_2 ii mon2schur 1 1 11 01 x1 x2 x3 4i2 mon2schur 3 2 3 402 xi x2 x3 x1 x2 x1 13 mon2schur 1 21 2 403 2 x1 x2 x3 x1 x2 ce qui veut dire que pour 3 variables cela donne 2 x1 x2 x3 x172 x2 x272 x1 x172 x3 x3 2 xl x272 x3 x3 2 x2 Autres fonctions de changements de bases comp2ele comp2pui ele2comp ele2pui elem multi
52. ishow 1c2kdt expr Maxima encountered a Lisp error Error in IMETRIC or a callee IMETRIC or a callee requires less than two arguments Automatically continuing To reenable the Lisp debugger set debugger hook to nil 419 imetric g 09 done 4110 ishow 1c2kdt expr 43 i k 44 j 1 3 i 1 4j k 4t10 g kdelta g kdelta g kdelta g kdelta af 3 4 3 4 j kB 4i11 ishow contract expand li l 4t11 a ag lc 1 Function Simplification rule used for expressions containing the unevaluated Levi Civita symbol levi civita Along with 1c u it can be used to simplify many expressions more efficiently than the evaluation of levi civita For example Chapter 29 itensor 267 Lii 01 i2 t2 i3 t3 i4 t4 Lib 415 lc_u load itensor share tensor itensor lisp eli ishow levi_civita li j k l 1 a l il xa 1 j1 1 J a a levi_civita ijk el2 ishow levi_civita i j k ra il ra 31 3 ijk levi civita a a i j ishow canform contract expand applyb1 el1 1c_1 1c_u 0 ishow canform contract expand applyb1 el2 1c_1 1c_u 0 Function Simplification rule used for expressions containing the unevaluated Levi Civita symbol levi_civita Along with 1c_u it can be used to simplify many expressions more efficiently than the evaluation of levi_civita For details see 1c_1 canten expr Function Simplifies expr by renaming see rename and pe
53. ishow canform a i j a j i 2 2 0 29 2 Definitions for itensor Chapter 29 itensor 259 29 2 1 Managing indexed objects entertensor name Function is a function which by prompting allows one to create an indexed object called name with any number of tensorial and derivative indices Either a single index or a list of indices which may be null is acceptable input see the example under covdiff changename old new expr Function will change the name of all indexed objects called old to new in expr old may be either a symbol or a list of the form name m n in which case only those indexed objects called name with m covariant and n contravariant indices will be renamed to new listoftens Function Lists all tensors in a tensorial expression complete with their indices E g 416 ishow aC i jl k1 bC u 1 v cCUEx yl d 1 e k 4t6 dec a b x y ij uv WiT ishow listoftens 7 k ChtT la b 4 al ishow expr Function displays expr with the indexed objects in it shown having their covariant indices as subscripts and contravariant indices as superscripts The derivative indices are displayed as subscripts separated from the covariant indices by a comma see the examples throughout this document indices expr Function Returns a list of two elements The first is a list of the free indices in expr those that occur only once The second is the list of the dummy indices in expr tho
54. lvar Function de compose le polyno me syme trique sym en les variables contenues de la liste Ivar par les fonctions puissances contenues dans la liste 1 Si le premier e le ment de 1 est donne ce sera le cardinal de l alphabet sinon on prendra le degre du polyno me sym Si il manque des valeurs a la liste 1 des valeurs formelles du type pi sont rajoute es Le polyno me sym peut etre donne sous 3 formes diffe rentes contracte e pui doit alors valoir 1 sa valeur par defaut partitionne e pui doit alors valoir 3 ou e tendue i e le polyno me en entier pui doit alors valoir 2 La fonction elem s utilise de la me me manie re 344 Maxima Manual hi1 pui 01 1 4i2 pui 3 a b u x y z x y zl 2 ala b u ab p3 u CRO2 6 3 i3 ratsimp 4 3 o3 Autres fonctions de changements de bases comp2ele comp2pui ele2comp ele2pui elem mon2schur multi elem multi pui pui2comp pui2ele puireduc schur2comp pui2comp n Ipui Function rend la liste des n premie res fonctions comple tes avec en te te le cardinal en fonction des fonctions puissance donne es dans la liste Ipui Si la liste Ipui est vide le cardinal est N sinon c est son premier e le ment similaire a comp2ele et comp2pui 4i1 pui2comp 2 2 p2 pl 01 2 p1 2 i2 pui2comp 3 2 a1 2 ai p2 ai 2 po wb al p2 p2 al
55. p1 p2 pl p2 2 412 ratsimp 4 3 3 pl p2 pl 02 Bs ply pas 2 resolvante P x f x_1 x d Function calcule la re solvante du polyno me P de la variable x et de degre n gt d par la fonction f exprime e en les variables x 1 x d Il est important pour l efficacite des calculs de ne pas mettre dans la liste x 1 xd les variables n intervenant pas dans la fonction de transformation f Afin de rendre plus efficaces les calculs on peut mettre des drapeaux a la variable resolvante afin que des algorithmes ade quates soient utilise s Si la fonction f est unitaire un polyno me d une variable line aire alterne e une somme de variables syme trique en les variables qui apparaissent dans son expression un produit de variables la fonction de la re solvante de Cayley utilisable qu en degre 5 x1l x2 x2 x3 x3 x4 x4 x5 xb x1 xl x3 x3 xb x5 x2 x2 x4 x4 x1 2 generale le drapeau de resolvante pourra e tre respectivement unitaire lineaire alternee somme Chapter 34 Symmetries 347 e produit e cayley e generale Aii resolvante unitaire 4i2 resolvante x 7 14 x75 56 xx 3 56 x 22 x x 3 1 x 3If resolvante unitaire 7 0 28 0 168 0 1120 154 7840 2772 56448 413952 352352 3076668 3363360 23114112 30494464 175230832 267412992 1338886528 2292126760 3 6 3 9 6 3 x 1
56. science todita 87 batchload Function 87 bc2 Function 220 aten as 21 bdvac Function i erri EET LE re 303 belly Funcion iere rre Lr 389 berlefact Option variable 116 bern Function 5 o a sete ker paupe ps 329 bernpoly Function 329 bessel Function 4 4 us vs 149 bessel i Function 150 bessel j Function 149 bessel k Function 150 bessel y Function 149 besselexpand Option variable 150 beta PFunchlon s e EE TO REIR 151 bezout Function i e Rev 116 bff c FUNCION i naus es 105 bfhzeta Function de Redes 329 bfloat Function s tet nde 105 bfloatp Function nr s 105 bfpsi Function amp rese rper EIER 105 bfpsiO Buuction ds re her andes 105 bftorat Option variable 105 bftrunc Option variable 105 bfzeta Function 2 423 oe es 329 bimetric Function 303 binomial Function 329 block Function ceesre ka eur e LER 407 bothcoef Function 116 box Function eresie dure pL torenti opis 47 boxchar Option variable AT break Function 407 breakup Option variable 200 bug_report Function 7 buil
57. sum sum diff a ct_coords b i j k m j i 1 kg g gt 15 1 dim m 1 dim l m i4 imetric g 404 done hib metricconvert true 405 true 416 ic_convert eqn 406 for i thru dim do for j thru dim do for k thru dim do t f sum sum diff a ct coords b i 45 m j i 1 H lg 1 1 dim m 1 dim l m 286 Maxima Manual 29 2 10 Reserved words The following Maxima words are used by the itensor package internally and should not be redefined Keyword indices2 conti covi deri name concan irpmon 1c0 _1c2kdt0 _lcprod extlc Comments Internal version of indices Lists contravariant indices Lists covariant indices of a indexed object Lists derivative indices of an indexed object Returns the name of an indexed object Chapter 30 ctensor 287 30 ctensor 30 1 Introduction to ctensor ctensor is a component tensor manipulation package To use the ctensor package type load ctensor To begin an interactive session with ctensor type csetup You are first asked to specify the dimension of the manifold If the dimension is 2 3 or 4 then the list of coordinates defaults to x y x y z or x y z t respectively These names may be changed by assigning a new list of coordinates to the variable ct_coords described below and the user is queried about this Care must be taken to avoid the coordinate names conflicting with other object definitions Next the user enters t
58. this partial integral This approach takes only 130 function evaluations Aib block rombergtol 1 e 6 rombergabs 0 0 sum 0 0 n 0 sum romberg f 0 10 rombergabs sum rombergtol rombergtol 0 0 sum romberg f 10 50 405 1 000000001234793 416 n 406 130 So if f x were a function that took a long time to compute the second method would be about 2 times quicker rombergit Option variable Default value 11 The accuracy of the romberg integration command is governed by the global variables rombergtol and rombergit romberg will return a result if the relative difference in successive approximations is less than rombergtol It will try halving the stepsize rombergit times before it gives up 190 Maxima Manual rombergmin Option variable Default value 0 rombergmin governs the minimum number of function evaluations that romberg will make romberg will evaluate its first arg at least 2 rombergmin 2 1 times This is useful for integrating oscillatory functions when the normal converge test might sometimes wrongly pass rombergtol Option variable Default value 1e 4 The accuracy of the romberg integration command is governed by the global variables rombergtol and rombergit romberg will return a result if the relative difference in successive approximations is less than rombergtol It will try halving the stepsize rombergit times before it gives up tldefint expr x a b Function Equivalent to 1de
59. to log a log b for rational numbers a b a 1 log 1 b for b integer always simplifies If it is set to false all of these simplifications will be turned off logsimp if false then no simplification of e to a power containing log s is done lognumer if true then negative floating point arguments to log will always be converted to their absolute value before the log is taken If numer is also true then negative integer arguments to log will also be converted to their absolute value lognegint if true implements the rule log n gt log n i pi for n a positive integer 4e to numlog when true r some rational number and x some expression fe rxlog x will be simplified into x r It should be noted that the radcan command also does this transformation and more complicated transformations of this ilk as well The logcontract command contracts expressions containing log logabs Option variable Default value false When doing indefinite integration where logs are generated e g integrate 1 x x the answer is given in terms of log abs if logabs is true but in terms of log if logabs is false For definite integration the logabs true setting is used because here evaluation of the indefinite integral at the endpoints is often needed logarc Option variable Default value false If true will cause the inverse circular and hyperbolic functions to be converted into logarithmic form logarc exp will cau
60. unless enclosed by block lambda quotes its arguments the double single quote operator defeats quotation Examples e A lambda expression can be assigned to a variable and evaluated like an ordinary function Wii f lambda x x 2 2 01 lambda x x 112 f a 2 202 a e lambda expression may appear in contexts in which a function evaluation is expected 413 lambda x x 2 a 2 203 a 414 apply lambda x x72 a 2 204 a Aib map lambda x x72 la b c d el 2 2 2 2 2 05 a b c d e e Argument variables are local variables Other variables appear to be global variables Global variables are evaluated at the time the lambda expression is evaluated unless some special evaluation is forced by some means such as 414 Maxima Manual 416 a pi hi7 b hes A18 g lambda a axb 408 lambda a a b 419 b gamma 2110 g 1 2 gamma holO a 2 4i11 g2 lambda a a b 4011 lambda a a gamma 4i12 b e 4113 g2 1 2 gamma hoi3 enn 2 e Lambda expressions may be nested Local variables within the outer lambda expression appear to be global to the inner expression unless masked by local variables of the same names 4ii4 h lambda la b h2 lambda a a b h2 1 2 1 4014 lambda a b h2 lambda a a b h2 2 1115 h pi gamma gamma IR lt lt 2 Since lambda quotes its arguments lambda expressi
61. x x x 1 4113 subst a x 120 Maxima Manual 4 3 2 4013 a ta a a i i14 factor th 2 7D 2 3 3 2 4014 x a x a x a x a a a 1 4115 factor 1 x 12 4 8 4 4015 x 1 x x 1 4116 factor 1 x 99 2 6 3 4016 x 1 x x 1 x x 1 10 9 8 T 6 5 4 3 2 x x x xX x X x x x x 1 20 19 17 16 14 13 dul 10 9 7 6 x tx x x x x x x x x x 4 3 60 57 51 48 42 39 33 x x x 1 x tx x x x x x 30 27 21 18 12 9 3 3 SEX eek ox SX AX tae ao factorflag Option variable Default value false When factorflag is false suppresses the factoring of integer factors of rational expressions factorout expr x 1 x_2 Function Rearranges the sum expr into a sum of terms of the form f x 1 x 2 g where g is a product of expressions not containing any x_i and f is factored factorsum expr Function Tries to group terms in factors of expr which are sums into groups of terms such that their sum is factorable factorsum can recover the result of expand x y 72 z w 2 but it can t recover expand x 1 2 x y 2 because the terms have variables in common Example Aii expand x 1 u v 2 a w z 72 2 2 2 2 fot axz az 2awxz 2awztaw x v x 2 2 2 2 Q2uvxtu x aw v 2uv u 4i2 factorsum 7 2 2 502 x 1 a z w W u Chapter 12 Polynomials 121 fasttimes p 1 p_2 Function Returns the product
62. x_n and function body expr define quotes its first argument in most cases and evaluates its second argument unless explicitly quoted However if the first argument is an expression of the form ev expr funmake expr or arraymake expr the first argument is evaluated this allows for the function name to be computed as well as the body define is similar to the function definition operator but when define appears inside a function the definition is created using the value of expr at execution time rather than at the time of definition of the function which contains it All function definitions appear in the same namespace defining a function f within another function g does not limit the scope of f to g Examples Chapter 41 Function Definition 409 Lii foo 2 bar bar 01 2 112 g x f_1 y foox x y f_2 y foo x y define f_3 y foo x y define f_4 y gt foo x y bar 02 g x _1 y foo x y f_2 y 2 x y bar define f 3 y foo x y define f_4 y 2 x y 413 functions 403 gGO hi4 g a bar 404 f_4 y a 2 y hib functions 05 g x f 1 y f 2C 3CpD f_4 y 1416 disptus f 1l E 2 f 3 f 2 116 f_1 y foo x y bar 447 f_2 y 2 xy bar 1 18 f_3 y a 2 y bar 119 f_4 y a 2 y 09 done define variable name default_value mode Function Introduces a global variable into the Maxima environment define variable
63. 0 r sin theta h44 1 M hi9 cmetric false 409 done 4ii0 einstein false 4010 done 4ii1 ntermst ein 1 1 621 1 2 0 1 3 0 1 4 0 2 1 0 2 2 24 2 3 0 2 4 0 3 1 0 3 2 0 3 3 46 3 4 0 4 1 0 4 2 0 296 Maxima Manual 4 3 0 4 4 46 4012 done However if we recompute this example as an approximation that is linear in the variable 1 we get much simpler expressions 4114 ctayswitch true 4014 true 4115 ctayvar 1 015 1 2116 ctaypov 1 4016 1 4117 ctaypt 0 4017 0 4ii8 christof false 4018 done 4119 ricci false 4019 done 4i20 einstein false 4020 done i21 ntermst ein 1 1 6 1 2 0 1 3 0 1 4 0 2 1 0 2 2 131 2 3 2 2 4 0 3 1 0 3 2 2 3 3 9 3 4 0 4 1 0 4 2 0 4 3 0 4 4 9 4021 done 4122 ratsimp ein 1 1 2 2 4 2 2 5022 n11 h22 hi1 1 r 2n331 r sin theta r rr 2 2 4 2 2 h44 1 r h33 h44 1 4 r sin theta rr r Chapter 30 ctensor 297 This capability can be useful for instance when working in the weak field limit far from a gravitational source 30 2 4 Frame fields When the variable cframe flag is set to true the ctensor package performs its calcu lations using a moving frame frame bracket fr fri diagframe Function The frame
64. 02 lambda 7 lambda 10 113 programmode true solve 7 403 lambda 5 lambda 2 4i4 matrix x1 x2 x1 04 x2 a ees LI LI LII Chapter 27 Matrices and Linear Algebra 231 15 ev a lambda 4 th 2 112 x2 2x1 05 2 x1 x2 416 4 1 1 0 406 x2 2x1 0 17 x272 x172 1 2 2 07 x2 231 1 418 solve Ath 2 4 x1 x2 1 2 noe LIRI eene y X9 eee ly sqrt 5 sqrt 5 1 2 xi ss y XA T RARAS 1 sqrt 5 sqrt 5 coefmatrix eqn_1 eqn m x 1 x_n Function Returns the coefficient matrix for the variables eqn 1 eqn m of the system of linear equations x 1 x n col M i Function Returns the ith column of the matrix M The return value is a matrix columnvector L Function covect L Function Returns a matrix of one column and length L rows containing the elements of the list L covect is a synonym for columnvector load eigen loads this function This is useful if you want to use parts of the outputs of the functions in this package in matrix calculations Example Aii load eigen Warning you are redefining the Macsyma function eigenvalues Warning you are redefining the Macsyma function eigenvectors 4i2 columnvector laa bb cc dd aa bb 02 mamana ma en e a o a L3 L3 L3 232 Maxima Manual conjugate x Function Returns the complex conjugate of x load conj
65. 1 Definitions for Statistics 223 Arrays and Tables 254 ERO 225 26 1 Definitions for Arrays and Tables 225 Matrices and Linear Algebra 229 27 1 Introduction to Matrices and Linear Algebra 229 21 421 SOUS o5 ih eee she to 229 21 1 2 MOCOS ue ete aret rd hres ty eases rece cise es o 229 21 1 9 IPOD c kid eg anni pen dr aad eS 229 27 2 Definitions for Matrices and Linear Algebra 230 LIBER O aeo duck Rd don dr Soren cou 251 vi Maxima Manual 20 MONO criar dar Reese RC Rn ed 255 29 1 Introduction to itensor 255 29 1 1 New tensor notation 255 29 1 2 Indicial tensor manipulation 256 29 2 Definitions for itensor 258 29 2 1 Managing indexed objects 259 29 2 2 Tensor symmetries 267 29 2 3 Indicial tensor calculus 269 29 2 4 Tensors in curved spaces 273 29 2 5 Moving frames 4444424444 e eee eda 275 29 2 6 Torsion and nonmetricity 278 29 2 7 Exterior algebra 281 29 2 8 Exporting TeX expressions 284 29 2 9 Interfacing with ctensor 285 29 2 10 Reserved words 286 SU CENSO cocinar owed ae bee RORIS 287 30 1 Introduction to ctensor
66. 16 e q vw q e g hi 2 73 0 remcomps tensor Function Unbinds all values from tensor which were assigned with the components function showcomps Function Shows component assignments of a tensor as made using the components command This function can be particularly useful when a matrix is assigned to an indicial tensor using components as demonstrated by the following example fil load ctensor 01 share tensor ctensor mac 4i2 load itensor 502 share tensor itensor lisp 13 lg matrix sqrt r r 2 m 0 0 0 0 r 0 0 0 0 sin theta r 0 0 0 0 sqrt r 2 m r r sqrt 0 0 0 264 Maxima Manual r 2m 0 r 0 0 403 0 O r sin theta 0 r 2m 0 0 0 sqrt 3 Y 4i4 components g i jl 1 1g 504 done Aib showcomps g i jl 1 r aurtls s 0 0 0 L r 2m 0 r 0 0 465 g ij 0 O r sin theta 0 r 2m 0 0 0 sqrt J r 05 false The showcomps command can also display components of a tensor of rank higher than 2 idummy Function Increments icounter and returns as its value an index of the form n where n is a positive integer This guarantees that dummy indices which are needed in form ing expressions will not conflict with indices already in use see the example under indices idummyx Variable Is the prefix for dummy indices see the example under indices icounter Option
67. 1c2kdt 1110 kdelta 4i11 ishow canform contract expand t11 A 4106 4107 4108 igeowedge flag Option variable Controls the behavior of the wedge product and exterior derivative When set to false the default the notion of differential forms will correspond with that of a totally antisymmetric covariant tensor field When set to true differential forms will agree with the notion of the volume element 29 2 8 Exporting TeX expressions The itensor package provides limited support for exporting tensor expressions to TeX Since itensor expressions appear as function calls the regular Maxima tex command will not produce the expected output You can try instead the tentex command which attempts to translate tensor expressions into appropriately indexed TeX objects tentex expr Function To use the tentex function you must first load tentex as in the following example ii load itensor 01 share tensor itensor lisp 4i2 load tentex 402 share tensor tentex lisp 413 idummyx m 03 m 14 ishow icurvature j k 1 i mi i mi i 1 ill 4t4 ichr2 ichr2 ichr2 ichr2 ichr2 ichr2 jk mi 1 j1 mi k j Lk j k 1y Wib tentex Gamma_ j k m_1 Gamma_ 1 m_1 i Gamma_ j 1 m_1 Gamma_ k m_1 i Gamma_ j 1 k i Gamma_ j k 1 i Note the use of the idummyx assignment to avoid the appearance of the percent sign in the TeX expression which may lead to compile er
68. 2 403 x 1 x 1 x x 1 x x 1 114 quit wfsCchromium Maxima can search the info pages Use the describe command to show all the com mands and variables containing a string and optionally their documentation The question mark is an abbreviation for describe Aii integ 9 J O O1 amp N H maxima info Introduction to Elliptic Functions and Integrals Definitions for Elliptic Integrals Integration Introduction to Integration Definitions for Integration askinteger Definitions for Simplification integerp Definitions for Miscellaneous Options integrate Definitions for Integration integrate use rootsof Definitions for Integration integration constant counter Definitions for Integration Enter space separated numbers all or none 6 5 Info from file usr local info maxima info Function integerp lt expr gt Returns true if lt expr gt is an integer otherwise false Function askinteger expr integer Function askinteger expr Function askinteger expr even 4 Maxima Manual Function askinteger expr odd askinteger expr integer attempts to determine from the assume database whether expr is an integer askinteger will ask the user if it cannot tell otherwise and attempt to install the information in the database if possible askinteger expr is equivalent to askinteger expr integer
69. 2 dx 4i2 substinpart d 2 2 2 402 xX d 4i3 substinpart f1 f 1 x 1 0 403 fix 1 If the last argument to a part function is a list of indices then several subexpressions are picked out each one corresponding to an index of the list Thus hil part x y z LL 31 01 zx piece holds the value of the last expression selected when using the part functions It is set during the execution of the function and thus may be referred to in the function itself as shown below If partswitch is set to true then end is returned when a selected part of an expression doesn t exist otherwise an error message is given Aii expr 27 y73 54x x y72 36 x 2 y y 8 x 3 x 1 3 2 2 3 A01 27y 54A xy 36x y y 8x x 1 412 part expr 2 1 31 2 02 54 y Ai3 sqrt piece 54 403 abs y 414 substpart factor piece expr 1 2 3 51 3 04 Gye ag y x 1 15 expr L x y x 1 2 1 y 1 05 erem ipe S Chapter 5 Operators 37 Z x x 416 substpart xthru piece expr 2 3 y 1 1 406 xcci x Zz Also setting the option inflag to true and calling part or substpart is the same as calling inpart or substinpart substpart x expr n 1 n k Function Substitutes x for the subexpression picked out by the rest of the arguments as in part It returns the new value of expr x may be some operator to be substituted for an operator of expr In some cases x needs to be enclosed i
70. 2 ssil mode declare v 1 mode 1 v 2 mode 2 where the x_1 x 2 are the parameters to the function and the v 1 v_2 are the local variables The names of translated functions are removed from the functions list if savedef is false see below and are added to the props lists Functions should not be translated unless they are fully debugged Expressions are assumed simplified if they are not correct but non optimal code gets generated T hus the user should not set the simp switch to false which inhibits simplification of the expressions to be translated The switch translate if true causes automatic translation of a user s function to Lisp Note that translated functions may not run identically to the way they did before translation as certain incompatabilities may exist between the Lisp and Maxima ver sions Principally the rat function with more than one argument and the ratvars function should not be used if any variables are mode declare d canonical rational expressions CRE Also the prederror false setting will not translate savedef if true will cause the Maxima version of a user function to remain when the function is translate d This permits the definition to be displayed by dispfun and allows the function to be edited transrun if false will cause the interpreted version of all functions to be run provided they are still around rather than the translated version The result retur
71. 2 m hpi mattix o eoe Qj Been eene 0 01 sqrt 2 sqrt r 2m sqrt 2 sqrt r sqrt r sqrt r 2 m Chapter 30 ctensor 299 sms 5 ES cr ne eee ES 3 0 0 3 sqrt 2 sqrt r 2 m sqrt 2 sqrt r 1 hi 0 0 DEC OT TT Te TT TT TT 5 sqrt 2 r sqrt 2 r sin theta 1 hi 0 0 eee ri 3 E E E 1 sqrt 2 r sqrt 2 r sin theta 07 done 417 psi true 4t8 psi 0 0 419 psi 0 1 m t10 psi 2 3 r t11 psi 0 3 4t12 psi 0 4 4012 done 4112 petrovO 012 D The Petrov classification function is based on the algorithm published in Classifying geometries in general relativity III Classification in practice by Pollney Skea and d Inverno Class Quant Grav 17 2885 2902 2000 Except for some simple test cases the implementation is untested as of December 19 2004 and is likely to contain errors 30 2 6 Torsion and nonmetricity ctensor has the ability to compute and include torsion and nonmetricity coefficients in the connection coefficients The torsion coefficients are calculated from a user supplied tensor tr which should be a rank 2 1 tensor From this the torsion coefficients kt are computed according to the following formulae 300 Maxima Manual g tr g tr tr g im kj jm ki ij km kt ijk 2 k km kt g kt ij ijm Note that only the mixed index tensor is calculated and stored in the array kt The nonmetricity coefficients are calcul
72. 3 4106 4t4 t5 tel 416 breakup false 417 solve x73 x2 1 Chapter 22 Equations 201 Solution sqrt 3 fi 1 2 2 sqrt 23 25 1 3 AUT X sqrt 23 25 1 3 6 sqrt 3 54 9 d Bose 6 sqrt 3 54 sqrt 3 fi 1 1 oo a ee 2 2 3 sqrt 23 25 1 3 sqrt 3 1 1 GERS paro vn 6 sqrt 3 54 2 2 sqrt 3 ji 1 2 2 1 T sqrt 23 25 1 3 3 Je 6 sqrt 3 54 sqrt 23 25 1 3 1 tI x de oe 6 sqrt 3 54 sqrt 23 25 1 3 3 dre 6 sqrt 3 54 209 At7 4t8 4t9 dimension eqn Function dimension eqn 1 eqn n Function dimen is a package for dimensional analysis load dimen loads this package demo dimen displays a short demonstration dispflag Option variable Default value true If set to false within a block will inhibit the display of output generated by the solve functions called from within the block Termination of the block with a dollar sign sets dispflag to false funcsolve eqn g t Function Returns g t or depending on whether or not there exists a rational function g t satisfying eqn which must be a first order linear polynomial in for this case g t and g t 1 202 Maxima Manual hil eqn n 1 xf n n 3 f n 1 n 1 n 1 n 2 na 3 fna 1 ne 1 01 n 1 f n n 1 n 2 4i2 funcsolve eqn f
73. 404 lis ay d D 1 1 9 Aib cflength 3 16 cf 1 sqrt 5 2 406 15 5 Deg 1 195 15 Ts 4 1 2 divsum n k Function divsum n Function divsum n k returns the sum of the divisors of n raised to the k th power divsum n returns the sum of the divisors of n 332 Maxima Manual 4ii divsum 12 401 28 412 1 2 3 4 6 12 402 28 413 divsum 12 2 403 210 414 172 272 372 42 672 1272 404 210 euler n Function Returns the n th Euler number for nonnegative integer n For the Euler Mascheroni constant see gamma 4i1 map euler 0 1 2 3 4 5 6 7 8 9 10 hol 1 0 1 0 5 0 61 0 1385 0 50521 gamma Constant The Euler Mascheroni constant 0 5772156649015329 factorial x Function Represents the factorial function Maxima treats factorial x the same as x See li fib n Function Returns the n th Fibonacci number fib 0 equal to 0 and fib 1 equal to 1 and fib n equal to 1 n 1 fib n After calling fib prevfib is equal to fib x 1 the Fibonacci number preceding the last one computed 4i1 map fib 0 1 2 3 4 5 6 7 8 9 10 401 0 1 1 2 3 5 8 13 21 34 55 fibtophi expr Function Expresses Fibonacci numbers in terms of the constant phi which is 1 sqrt 5 2 approximately 1 61803399 By default Maxima does not know about phi After executing tellrat phi 2 phi 1 and al
74. 4112 pickapart expr 6 2 sin x b a 4012 eee log sqrt x 1 1 3 2 piece System variable Holds the last expression selected when using the part functions It is set during the execution of the function and thus may be referred to in the function itself polarform expr Function Returns an expression r e i theta equivalent to expr such that r and theta are purely real powers expr x Function Gives the powers of x occuring in expr load powers loads this function product expr i i 0 i 1 Function Returns the product of the values of expr as the index i varies from i_0 to i_1 The evaluation is similar to that of sum If i 1 is one less than i 0 the product is an empty product and product returns 1 rather than reporting an error See also prodhack Maxima does not simplify products Example Ail product x ix i 1 2 i 1 4 101 x 1 x 3 x 6 x 10 realpart expr Function Returns the real part of expr realpart and imagpart will work on expressions involving trigonometic and hyperbolic functions as well as square root logarithm and exponentiation rectform expr Function Returns an expression a b i equivalent to expr such that a and b are purely real 62 rembox expr unlabelled rembox expr label rembox expr Removes boxes from expr Maxima Manual Function Function Function rembox expr unlabelled removes all unlabelled boxes from expr
75. 58 outative Declaration 70 outchar Option variable 96 outermap Function 430 outofpois Function 152 P packagefile Option variable 96 pade Function 320 part Function update 58 part2cont Function 343 partfrac Function 333 partition Function 59 partition set Function 397 partpol Function 343 partswitch Option variable 59 permanent Function 245 permut Function 414 44uuur 343 permutations Function 397 petrov Function ce epp Ee 298 pfeformat Option variable 97 pickapart Function 59 Maxima Manual piece System variable 61 playback Function sic 424432 nee men 22 plog Function ovn 404404 senc 140 plot options System variable T plot2d Function eee 75 plot2d ps Function ioco ems 82 plot3d Function e hn LIRE E ER RR 81 poisdiff Function 152 poisexpt Function 152 poisint Function ruse oran es 152 poislim Option variable 152 poismap Function ere e 152 poisplus Function
76. AA AAA A 109 Polynomials assu x aw KO RUE ERA E ERROR RE 115 dou METRI Cr TIT 137 LOLAS RT AAA AAA 139 Trigonometri Csemer naneda mi anae oana A r a eaaa 141 Special PUNCHONS 44 esas bbe kh 9 e mc a Ree 147 Orthogonal Polynomials ss dessus See eae ee oe oo ERR 155 FEllipti Functions a ox oe wee a e 161 intu cep 167 Differentiation s a xac edes arm E EAR GR Gok oa CR BL 169 as se s sas ss C Qon hw QR Cao E b aod ai e wi 179 Equations one e tees eR eee e we heh ae ACA C a 197 Ditterential Equations s lt sr scene se eee eis eee es 211 Nimernicals sens dr e AA e Re 215 OLAS wis cae eee AAA ASE A AAA ee es 223 Arrays and Tables s m 225 Matrices and Linear Algebra 99 eee dde wn 229 ANS se dass oo SES e al dE dae wo RR ORC Rar d 251 MENS av ep He Pie DA SEES PEE OS RR 255 GULES M E m 287 ACOSO oe a vor ai 313 Ds dia 317 Number They das a sow VOR a e bees 329 o sensas terass Cn eee eee nee oie sewed das 337 35 36 37 38 39 40 A 42 43 44 Maxima Manual Groups Se eee esas CR e eR BC RU d ms dica ai a AP cR ee eure 353 Runtime Environment cerent 355 Miscellaneous Options 43 66 3 99 x Roo a dees ceeded es 359 Riles and PSH ES rai 367 DisS PTT 381 vr MMC 385 F metion Definition aa 2 36 3 a2 35S oS Soe ao 403 Program Plon diras 423 Debugging 4 4 2d km hoch o ERR OR dvi RS RC RC 431 lon sos a a a ADA AA AAA AAA 439 Function and Variable Index 441 Table of Content
77. Equations 197 22 Equations 22 1 Definitions for Equations rnum_list System variable Default value 4rnum list is the list of variables introduced in solutions by algsys r variables are added to 4rnum list in the order they are created This is convenient for doing substitutions into the solution later on It s recommended to use this list rather than doing concat Cr j algexact Option variable Default value false algexact affects the behavior of algsys as follows If algexact is true algsys always calls solve and then uses realroots on solve s failures If algexact is false solve is called only if the eliminant was not univariate or if it was a quadratic or biquadratic Thus algexact true doesn t guarantee only exact solutions just that algsys will first try as hard as it can to give exact solutions and only yield approximations when all else fails algsys expr 1 expr m x 1 x_n Function algsys eqn 1 eqn_m x 1 x_n Function Solves the simultaneous polynomials expr 1 expr_m or polynomial equations eqn 1 eqn m for the variables x 1 x n An expression expr is equivalent to an equation expr 0 There may be more equations than variables or vice versa algsys returns a list of solutions with each solution given as a list of equations stating values of the variables x_1 x n which satisfy the system of equations If algsys cannot find a solution an empty list
78. Examples 111 x sin 3 x sin x trigexpand true expand 2 2 01 sin x 3 cos x x 4i2 trigexpand sin 10 x y 02 cos 10 x sin y sin 10 x cos y Default value true trigexpandplus controls the sum rule for trigexpand Thus when the trigexpand command is used or the trigexpand switch set to true expansion of sums e g sin x y will take place only if trigexpandplus is true Option variable 144 Maxima Manual trigexpandtimes Option variable Default value true trigexpandtimes controls the product rule for trigexpand Thus when the trigexpand command is used or the trigexpand switch set to true expansion of products e g sin 2 x will take place only if trigexpandtimes is true triginverses Option variable Default value a11 triginverses controls the simplification of the composition of trigonometric and hyperbolic functions with their inverse functions If a11 both e g atan tan x and tan atan x simplify to x If true the arcfun fun x simplification is turned off If false both the arcfun fun x and fun arcfun x simplifications are turned off trigreduce expr x Function trigreduce expr Function Combines products and powers of trigonometric and hyperbolic sin s and cos s of x into those of multiples of x It also tries to eliminate these functions when they occur in denominators If x is omitted then all variables in expr are used See also poissimp Ail trigreduce sin x 2 43
79. FloW sss aid adiu cues 423 42 1 Introduction to Program Flow 423 42 2 Definitions for Program Flow 423 vii viii Maxima Manual 43 Debugging 22i wesweex c tirar ER 431 43 1 Source Level Debugging 431 43 2 Keyword Commands 432 43 3 Definitions for Debugging 433 44 Indices wo RR REDE Omm 9s 439 Appendix A Function and Variable Index 441
80. Function 126 ratdenom Function 127 ratdenomdivide Option variable 127 ratdiff Function aspiro 128 ratdisrep Function 128 rateinstein Option variable 309 ratepsilon Option variable 129 ratexpand Function 129 ratexpand Option variable 129 ratfac Option variable 130 ratmx Option variable 245 ratnumer Function 130 ratnump Function 130 ratp Function uite rro rabia 130 ratprint Option variable 130 ratriemann Option variable 309 ratsimp Function eem ee nns 131 ratsimpexpons Option variable 131 ratsubst Function 131 ratvars Function 132 ratvars System variable 132 ratweight Function 132 133 ratweights System variable 133 ratweyl Option variable 309 ratwtlvl Option variable 133 read Funct lon i etre enmt eee 98 readonly Function 98 realonly Option variable 205 realpart Function 61 realroots Function 205 rearray Function 227 rectform Fu
81. Function Fast Fourier transform and related functions load fft loads these functions into Maxima fft and ift carry out the complex fast Fourier transform and inverse transform respectively on 1 dimensional floating point arrays The size of imaginary_array must equal the size of real array fft and ift operate in place That is on return from fft or ift the original content of the input arrays is replaced by the output The fillarray function can make a copy of an array should it be necessary The discrete Fourier transform and inverse transform are defined as follows Let x be the original data with x i real arrayli 4i imaginary arrayli Let y be the transformed data The forward and inverse transforms are ylk 1 n sum x j exp 2 i pi j k n j 0 n 1 x jl sum y j exp 2 4i Api j k n k O n 1 Suitable arrays can be allocated by the array function For example array my array float n 1 declares a 1 dimensional array with n elements indexed from 0 through n 1 inclusive The number of elements n must be equal to 2 m for some m fft can be applied to real data imaginary array all zeros to obtain sine and cosine coefficients After calling fft the sine and cosine coefficients say a and b can be calculated as a 0 real_array 0 bro O and a jl real array j l real array n j b jl imaginary array j imaginary array n j for j equal to 1 through n 2 1 and a n 2 real array
82. Function iode seem ee ng ities yee bald 91 Maxima Manual exptdispflag Option variable 91 exptisolate Option variable 50 exptsubst Option variable 51 extdiff Function 24 24 Lists EX 283 extract_linear_equations Function 252 extremal_subset Function 392 ezgcd Function 225 05 up to enon GR ES 117 F facexpand Option variable 117 factcomb Function 118 factlim Option variable 67 factor Function 44 4 osseuses 118 factorflag Option variable 120 factorial Function 332 factorout Function 120 factorsum Function 120 facts Function siue una 112 false Constant 24428eesueuvsss 137 fast central elements Function 252 fast linsolve Function 251 fasttimes Function 121 fb Variable oer cadgnnie ENIRO nese 310 feature Declaration 355 featurep Function 356 features Declaration 112 Tft Function AAA ninrin io as 216 fib Function 25 dubbi Eora eens pure 332 fibtophi Function Rem 332 fifth Runction siae eese neta y 382 file search Function 91 file search demo Option variable 92 file search lisp Option
83. If the evaluation of the arguments does not lead to the evaluation of any throw then the value of catch is the value of expr n ii lambda x if x lt O then throw x else f x 112 gd catch map 1 Chis g 11 2 3 71 03 C1 2 9 TUD hi4 g C 1 2 3 71 404 3 The function g returns a list of f of each element of 1 if 1 consists only of non negative numbers otherwise g catches the first negative element of 1 and throws it up compfile filename 1 n Function Translates Maxima functions f 1 f n into Lisp and writes the translated code into the file filename The Lisp translations are not evaluated nor is the output file processed by the Lisp compiler translate creates and evaluates Lisp translations compile file trans lates Maxima into Lisp and then executes the Lisp compiler See also translate translate file and compile file compile f1 n Function compile functions Function compile all Function Translates Maxima functions f 1 f n into Lisp evaluates the Lisp translations and calls the Lisp function COMPILE on each translated function compile returns a list of the names of the compiled functions compile all or compile functions compiles all user defined functions compile quotes its arguments the double single quotes operator defeats quotation define f x 1 x_n expr Function Defines a function named f with arguments x 1
84. On the other hand interpolate x 2 a 2 x a 2 2 a complains that 0 5 a is not a floating point number An adaptive integrator which uses the Newton Cotes 8 panel quadrature rule is avail able See qq 24 4 Definitions for Fourier Series equalp x y Function Returns true if equal x y otherwise false doesn t give an error message like equal x y would do in this case remfun f expr Function remfun f expr x Function remfun f expr replaces all occurrences of f arg by arg in expr remfun f expr x replaces all occurrences of f arg by arg in expr only if arg contains the variable x funp f expr Function funp f expr x Function funp f expr returns true if expr contains the function f funp f expr x returns true if expr contains the function f and the variable x is somewhere in the argument of one of the instances of f absint f x halfplane Function absint f x Function absint f x a b Function absint f x halfplane returns the indefinite integral of f with respect to x in the given halfplane pos neg or both f may contain expressions of the form abs x abs sin x abs a exp abs b abs x absint f x is equivalent to absint f x pos absint f x a b returns the definite integral of f with respect to x from a to b f may include absolute values Chapter 24 Numerical 221 fourier f x p Function Returns a list of the Fourier coefficients of f
85. Options In this section various options are discussed which have a global effect on the operation of Maxima Also various lists such as the list of all user defined functions are discussed 37 2 Share The Maxima share directory contains programs and other files of interest to Maxima users but not part of the core implementation of Maxima These programs are typically loaded via 1oad or setup autoload lisp maxima sharedir displays the location of the share directory within the user s file system printfile share usg prints an out of date list of share packages Users may find it more informative to browse the share directory using a file system browser 37 3 Definitions for Miscellaneous Options aliases System variable Default value aliases is the list of atoms which have a user defined alias set up by the alias ordergreat orderless functions or by declaring the atom a noun with declare alphabetic Declaration declare char alphabetic adds char to Maxima s alphabet which initially con tains the letters A through Z a through z 4 and _ char is specified as a string of length 1 e g Aii declare alphabetic hot done i2 foo bar 502 foo bar 4i3 atom foo bar 403 true apropos string Function Searches for Maxima names which have string appearing anywhere within them Thus apropos exp returns a list of all the flags and functions which have exp as part of their names s
86. Returns the n th Bernoulli polynomial in the variable x bfzeta s n Function 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 load bffac loads this function bfhzeta s h n Function 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 sum k h s k O inf load bffac loads this function binomial x y Function The binomial coefficient x y x y If x and y are integers then the numer ical value of the binomial coefficient is computed If y or x y is an integer the binomial coefficient is expressed as a polynomial burn n Function Returns the n th Bernoulli number for integer n burn may be more efficient than bern for large isolated n perhaps n greater than 105 or so as bern computes all the Bernoulli numbers up to index n before returning burn exploits the observation that rational Bernoulli numbers can be approximated by transcendental zetas with tolerable efficiency load bffac loads this function 330 Maxima Manual cf expr Function Converts expr into a continued fraction expr is an expression comprising continued fractions and square roots of integers Operands in the expression may be combined with arithmetic operators Aside from continued fractions
87. Scalar base to a matrix exponent element by element 218 exp y pi he 4e he 408 a b he he e Matrix base to a matrix exponent This is not carried out element by element 119 x y pi he a b 17 3 1 09 8 11 e Noncommutative matrix multiplication 4110 x y 3 17 pi 8 b 17 4e 4010 11 a 8 pi 11b 8 Ze r MES 17 pi 8 he 3 pi 11 e 4011 17a 8b 11b 3a 242 Maxima Manual e Noncommutative matrix exponentiation A scalar base b to a matrix power M is carried out element by element and so b m is the same as b m i12 x 3 3833 1719 4012 4584 395 i13 e y pi he he e 41013 a b e e e A matrix raised to a 1 exponent with noncommutative exponentiation is the matrix inverse if it exists 4114 x 1 11 3 Lee 211 211 4014 8 17 J 211 211 4115 x x 1 1 0 4015 o 1 matrixmap f M Function Returns a matrix with element i j equal to f CM i j1 See also map fullmap fullmapl and apply matrixp expr Function Returns true if expr is a matrix otherwise false matrix element add Option variable Default value matrix element add is the operation invoked in place of addition in a matrix mul tiplication matrix element add can be assigned any n ary operator that is a function which handles any numbe
88. Tables 227 rearray A dim 1 dim_n Function Changes the dimensions of an array The new array will be filled with the elements of the old one in row major order If the old array was too small the remaining elements are filled with false 0 0 or 0 depending on the type of the array The type of the array cannot be changed remarray A 1 A_n Function remarray all Function Removes arrays and array associated functions and frees the storage occupied remarray all removes all items in the global list arrays It may be necessary to use this function if it is desired to redefine the values in a hashed array remarray returns the list of arrays removed use fast arrays Option variable if true then only two types of arrays are recognized 1 The art q array t in Common Lisp which may have several dimensions indexed by integers and may hold any Lisp or Maxima object as an entry To construct such an array enter a make_array any 3 4 then a will have as value an array with twelve slots and the indexing is zero based 2 The Hash table array which is the default type of array created if one does b x 1 y 2 and b is not already an array a list or a matrix if it were one of these an error would be caused since x 1 would not be a valid subscript for an art q array a list or a matrix Its indices also known as keys may be any object It only takes one key at a time b x 1 u y would ignore the u Referencing is
89. The vertical range is set to y range All options are assumed to have default values unless otherwise specified by set plot option Examples hii plot2d sin x x 5 51 8 412 plot2d secGO x 2 2 ly 20 20 nticks 200 Anywhere there may be an ordinary expression there may be a parametric expres sion parametric_expr is a list of the form parametric x expr y_expr t range options Here x_expr and y_expr are expressions of 1 variable var which is the first element of the range trange The plot is of the path traced out by the pair x expr y_expr as var varies in trange In the following example we plot a circle then we do the plot with only a few points used so that we get a star and finally we plot this together with an ordinary function of X Examples e Plot a circle with a parametric plot Aii plot2d parametric cos t sin t t pi 2 pix2 nticks 80 e Plot a star join eight points on the circumference of a circle 412 plot2d parametric cos t sin t t Api 2 pix2 nticks 811 e Plot a cubic polynomial with an ordinary plot and a circle with a parametric plot Ai3 plot2d x 3 2 parametric cos t sin t t 5 51 nticks 80111 x 3 3 Discrete expressions may also be used instead or ordinary or parametric expressions discrete expr is a list of the form discrete x list y list or discrete xy_list where xy_list is a list of x y pairs Exam
90. a couple of extra load bffac loads this function algepsilon Option variable Default value 1078 algepsilon is used by algsys bfloat expr Function Converts all numbers and functions of numbers in expr to bigfloat numbers The number of significant digits in the resulting bigfloats is specified by the global variable fpprec When float2bf is false a warning message is printed when a floating point number is converted into a bigfloat number since this may lead to loss of precision bfloatp expr Function Returns true if expr is a bigfloat number otherwise false bfpsi n z fpprec Function bfpsiO z fpprec Function bfpsi is the polygamma function of real argument z and integer order n bfpsiO is the digamma function bfpsiO z fpprec is equivalent to bfpsi 0 z fpprec These functions return bigfloat values fpprec is the bigfloat precision of the return value load bffac loads these functions bftorat Option variable Default value false bftorat controls the conversion of bfloats to rational numbers When bftorat is false ratepsilon will be used to control the conversion this results in relatively small rational numbers When bftorat is true the rational number generated will accurately represent the bfloat bftrunc Option variable Default value true bftrunc causes trailing zeroes in non zero bigfloat numbers not to be displayed Thus if bftrunc is false bfloat 1 displays as 1 000000000000
91. a definition may be computed at runtime it is useful to use define and possibly buildq 41 3 Macros buildq variables expr Function expr is any single Maxima expression and variables is a list of elements of the form atom or atom value 41 3 1 Semantics The elements of the list variables are evaluated left to right the syntax atom is equivalent to atom atom then these values are substituted into expression in parallel If any atom appears as a single argument to the special form splice i e splice atom inside expr then the value associated with that atom must be a Maxima list and it is spliced into expr instead of substituted 41 3 2 Simplification The arguments to buildq need to be protected from simplification until the substi tutions have been carried out This code should effect that by using buildq can be useful for building functions on the fly One of the powerful things about Maxima is that you can have your functions define other functions to help solve the problem Further below we discuss building a recursive function for a series solution This defining of functions inside functions usually uses define which evaluates its arguments A number of examples are included under splice splice atom Function This is used with buildq to construct a list This is handy for making argument lists in conjunction with buildq mprint x buildq u x if debuglevel gt 3 print splice
92. a function constructed by define or A function may be defined at the Maxima prompt or in a Maxima file loaded by 1oad or batch Lisp functions however are not added to functions fundef f Function Returns the definition of the function f The argument may be the name of a macro defined with 7 an ordinary function defined with or define an array function defined with or define but enclosing arguments in square brackets a subscripted function defined with or define but enclosing some arguments in square brackets and others in parentheses 2 one of a family of subscripted functions selected by a particular subscript value or a subscripted function defined with a constant subscript fundef quotes its argument the double single quote operator defeats quotation fundef f returns the definition of f In contrast dispfun f creates an interme diate expression label and assigns the definition to the label funmake name arg_1 arg n Function Returns an expression name arg 1 arg n The return value is simplified but not evaluated so the function is not called funmake evaluates its arguments Examples e funmake evaluates its arguments but not the return value fil det a b c b 2 4xa c 412 x 8 413 y 10 hi4 z 12 415 f det 416 funmake f x y zl 406 det 8 10 12 i7 s 07 284 e Maxima simplifies funmake s return value Chapter 41 Functi
93. a value is specified but there is no atvalue specified and it can t be otherwise evaluated then a noun form of the at is returned which displays in a two dimensional form at carries out multiple substitutions in series not parallel See also atvalue For other functions which carry out substitutions see also subst and ev Examples 4i1 atvalue f x y x 0 y 1 a 2 2 01 a 112 atvalue diff f x y x x 0 1 y 02 2 1 13 printprops all atvalue d f 01 02 2 1 doi 101 0 Chapter 6 Expressions 47 f 0 1 a 403 done 114 diff 4 f x y 2 u x y 72 x d d 502 8 f x y f x y 2 u x y E u x y dx dx 415 at 5 x 0 y 1 I 2 d 05 16 a 2u 0 1 u x y 1 dx Ix 0 y 1 box expr Function box expr a Function Returns expr enclosed in a box The return value is an expression with box as the operator and expr as the argument box is drawn on the display when display2d is true box expr a encloses expr in a box labelled by the symbol a The label is truncated if it is longer than the width of the box A boxed expression does not evaluate to its content so boxed expressions are effec tively excluded from computations boxchar is the character used to draw the box in box and in the dpart and lpart functions Examples boxchar Option variable Default value boxchar is the character used to draw the box
94. a variable u v w x y or z then a must be an expression linear in those variables e g 6 u 4 v 2 Where b is other than those variables then a must also be free of those variables and furthermore free of sines or cosines poissubst a b c d n isa special type of substitution which operates on a and b as in type 1 above but where d is a Poisson series expands cos d and sin d to order n so as to provide the result of substituting a d for b in c The idea is that d is an expansion in terms of a small parameter For example poissubst u v cos v 4e 3 yields cos u 1 4e 2 2 sin u x e e73 6 poistimes a b Function Is functionally identical to intopois axb poistrim Function is a reserved function name which if the user has defined it gets applied during Pois son multiplication It is a predicate function of 6 arguments which are the coefficients of the u v zin a term Terms for which poistrim is true for the coefficients of that term are eliminated during multiplication printpois a Function Prints a Poisson series in a readable format In common with outofpois it will convert a into a Poisson encoding first if necessary psi x Function psi n x Function The derivative of log gamma x Maxima does not know how to compute a numerical value of psi However the function bfpsi in the bffac package can compute numerical values 154 Maxima Manual Chapter 17 Orthogonal Pol
95. a2 first al integrate second al x 405 0 416 antid expr x y x z x d 406 0 y x 4e z2 x dx 4i7 antidiff expr x y x z x d 07 I y x he zQ0 dx dx atomgrad Property atomgrad is the atomic gradient property of an expression This property is assigned by gradef Chapter 20 Differentiation 171 atvalue expr x 1 a 1 x m a m c Function atvalue expr x 1 a 1 c Function Assigns the value c to expr at the point x a Typically boundary values are estab lished by this mechanism expr is a function evaluation f x 1 x am or a derivative diff f x 1 x_m x 1 n_l x_n nm in which the function arguments explicitly appear n i is the order of differentiation with respect to x_i The point at which the atvalue is established is given by the list of equations x 1 adl xun aum If there is a single variable x 1 the sole equation may be given without enclosing it in a list printprops f1 2 atvalue displays the atvalues of the functions f 1 f2 as specified by calls to atvalue printprops f atvalue displays the atvalues of one function f printprops all atvalue displays the atvalues of all functions for which atvalues are defined The symbols 01 62 represent the variables x_1 x 2 when atvalues are dis played atvalue evaluates its arguments atvalue returns c the atvalue Examples 4i1 a
96. append for an example assoc key list default Function assoc key list Function This function searches for the key in the left hand side of the input list of the form x y Z where each of the list elements is an expression of a binary operand and 2 elements For example x 1 273 a b etc The key is checked againts the first operand assoc returns the second operand if the key is found If the key is not found it either returns the default value default is optional and defaults to false atom expr Function Returns true if expr is atomic ie a number name or string else false Thus atom 5 is true while atom a 1 and atom sin x are false asuming a 1 and x are unbound cons expr list Function Returns a new list constructed of the element expr as its first element followed by the elements of list cons also works on other expressions e g cons x f a b c gt f x a b c copylist list Function Returns a copy of the list list 382 Maxima Manual delete expr 1 expr_2 Function delete expr 1 expr_2 n Function Removes all occurrences of expr 1 from expr_2 expr 1 may be a term of expr 2 if it is a sum or a factor of expr 2 if it is a product Aii delete sin x x sin x y A01 y x delete expr 1 expr 2 n removes the first n occurrences of expr_1 from expr_2 If there are fewer than n occurrences of expr 1 in expr 2 then all occurrences will be deleted Aii delete a f a b c d a
97. are the right eigenvectors and the right unit eigenvectors respectively eivects is a synonym for eigenvectors The package eigen mac is loaded automatically when eigenvalues or eigenvectors is referenced If eigen mac is not already loaded load eigen loads it After loading all functions and variables in the package are available The flags that affect this function are nondiagonalizable is set to true or false depending on whether the matrix is nondiagonalizable or diagonalizable after eigenvectors returns hermitianmatrix when true causes the degenerate eigenvectors of the Hermitian matrix to be orthogonalized using the Gram Schmidt algorithm knowneigvals when true causes the eigen package to assume the eigenvalues of the matrix are known to the user and stored under the global name listeigvals listeigvals should be set to a list similar to the output eigenvalues The function algsys is used here to solve for the eigenvectors Sometimes if the eigenvalues are messy algsys may not be able to find a solution In some cases it may be possible to simplify the eigenvalues by first finding them using eigenvalues command and then using other functions to reduce them to something simpler Fol lowing simplification eigenvectors can be called again with the knowneigvals flag set to true ematrix m n x i j Function Returns an m by n matrix all elements of which are zero except for the i j element which is x Chapter 2
98. are user variables not Maxima options or switches created by or or functional binding functions all user defined functions created by arrays declared and undeclared arrays created by or macros any macros defined by the user myoptions all options ever reset by the user whether or not they are later reset to their default values rules user defined pattern matching and simplification rules created by tellsimp tellsimpafter defmatch or defrule aliases atoms which have a user defined alias created by the alias ordergreat orderless functions or by declaring the atom as a noun with declare dependencies atoms which have functional dependencies created by the depends or gradef functions Chapter 37 Miscellaneous Options 361 gradefs functions which have user defined derivatives created by the gradef func tion props atoms which have any property other than those mentioned above such as atvalues matchdeclares etc as well as properties specified in the declare function let rule packages a list of all the user defined let rule packages plus the special package default let rule package default let rule package is the name of the rule package used when one is not explicitly set by the user integerp expr Function Returns true if expr is a literal numeric integer otherwise false integerp returns false if its argument is a symbol even if the argument is declared integer E
99. argument is an array instead of a func tion arrayinfo A Function Returns a list of information about the array A For hashed arrays it returns a list of hashed the number of subscripts and the subscripts of every element which has a value For declared arrays it returns a list of declared the number of subscripts and the bounds that were given the the array function when it was called on A Do example arrayinfo for an example arraymake name i 1 i n Function Returns the expression name i l1 in This is reminiscent of funmake except the return value is an unevaluated array ref erence instead of an unevaluated function call 226 Maxima Manual arrays System variable Default value arrays is a list of all the arrays that have been allocated both declared and unde clared See also array arrayapply arrayinfo arraymake fillarray listarray and rearray bashindices expr Function Iransforms the expression expr by giving each summation and product a unique in dex This gives changevar greater precision when it is working with summations or products The form of the unique index is jnumber The quantity number is deter mined by referring to gensumnum which can be changed by the user For example gensumnum 0 resets it fillarray A B Function Fills array A from B which is a list or an array If A is a floating point integer array then B should be either a list of floating point intege
100. at L i 1 when the remainder r i 2 is zero hi1 gcdex x72 1 x 3 4 2 X 4x 1 x 4 01 R y jo 17 17 i2 4 x72 1 x 3 4 4 1 402 R 0 Note that the gcd in the following is 1 since we work in k y x not the y 1 we would expect in k y x Ail gcdex x y 1 y 2 1 x 401 R 0p s x1 gcfactor n Function Factors the Gaussian integer n over the Gaussian integers i e numbers of the form a b 4i where a and b are rational integers i e ordinary integers Factors are normalized by making a and b non negative gfactor expr Function Factors the polynomial expr over the Gaussian integers that is the integers with the imaginary unit 4i adjoined This is like factor expr a 2 1 where a is i Example Aii gfactor x 4 1 hol x 1 x 1 x 11 x 41 gfactorsum expr Function is similar to factorsum but applies gfactor instead of factor hipow expr x Function Returns the highest explicit exponent of x in expr x may be a variable or a general expression If x does not appear in expr hipow returns O 124 Maxima Manual hipow does not consider expressions equivalent to expr In particular hipow does not expand expr so hipow expr x and hipow expand expr x may yield different results Examples Aii hipow y 3 x 2 x y 4 x 01 2 4i2 hipow x y 75 x 02 1 13 hipow expand x y 5 x 403 5 114 hipow
101. attempts to rename each index to the value of niceindicespref 1 unless that name appears in the summand or multiplicand in which case niceindices tries the succeeding elements of niceindicespref in turn until an unused variable is found If the entire list is exhausted additional indices are constructed by appending integers to the value of niceindicespref 1 e g 10 i1 i2 niceindices returns an expression niceindices evaluates its argument Example Aii niceindicespref 01 li j k 1 m n 4i2 product sum f foo i j bar foo 1 inf bar 1 inf inf inf Fog 02 pog gt f bar i j foo Fog bar 1 foo 1 4i3 niceindices 7 inf inf J pr Chapter 32 Series 319 03 II gt f i j 1 k niceindicespref Option variable Default value i j K 1 m n niceindicespref is the list from which niceindices takes the names of indices for sums and products The elements of niceindicespref are typically names of variables although that is not enforced by niceindices Example Aii niceindicespref p q r s t ul 4i2 product sum f foo i j bar foo 1 inf bar 1 inf inf inf ZZ pog N 02 pog gt f bar i j foo n bar 1 foo 1 4i3 niceindices 7 inf inf Pro 403 bog gt f i jq p Lob wf q zz 1 T pd nusum expr x i0 i 1 Function Carries out indefinite hypergeometric summation of expr with r
102. be nary If declare j nary is done this tells the simplifier to simplify e g j j a b j c d to j a b c a See also syntax 5 2 nofix nofix operators are used to denote functions of no arguments The mere presence of such an operator in a command will cause the corresponding function to be evaluated For example when one types exit to exit from a Maxima break exit is behaving similar to a nofix operator The function nofix x is a syntax extension function which declares x to be a nofix operator See also syntax 5 3 operator See operators 5 4 postfix postfix operators like the prefix variety denote functions of a single argument but in this case the argument immediately precedes an occurrence of the operator in the input string e g 3 The postfix x function is a syntax extension function to declare x to be postfix operator See also syntax 5 5 prefix A prefix operator is one which signifies a function of one argument which argument immediately follows an occurrence of the operator prefix x is a syntax extension function to declare x to be a prefix operator See also syntax 26 Maxima Manual 5 6 Definitions for Operators npn Operator The factorial operator For any complex number x including integer rational and real numbers except for negative integers x is defined as gamma x 1 For an integer x x simplifies to the product of the integers from 1 to x inclusive 0
103. bound vari able such as a function argument is found being used as a function tr bound function applyp does not affect the code generated in such cases For example an expression such as g f x f x41 will trigger the warning message Chapter 41 Function Definition 419 tr file tty messagesp Option variable Default value false When tr file tty messagesp is true messages generated by translate file dur ing translation of a file are displayed on the console and inserted into the UNLISP file When false messages about translation of the file are only inserted into the UNLISP file tr float can branch complex Option variable Default value true Tells the Maxima to Lisp translator to assume that the functions acos asin asec and acsc can return complex results The ostensible effect of tr float can branch complex is the following However it appears that this flag has no effect on the translator output When it is true then acos x is of mode any even if x is of mode float as set by mode declare When false then acos x is of mode float if and only if x is of mode float tr function call default Option variable Default value general false means give up and call meval expr means assume Lisp fixed arg function general the default gives code good for mexprs and mlexprs but not macros general assures variable bindings are correct in compiled code In general mode when translating F X if F is a bound va
104. c 414 expand 1 atb c d 1 0 ho bdtad t tbctac 50 Maxima Manual dpart expr n 1 n k Function Selects the same subexpression as part but instead of just returning that subex pression as its value it returns the whole expression with the selected subexpression displayed inside a box The box is actually part of the expression Ail dpart x y z 2 1 2 1 y 401 x 2 zu noni exp x Function Represents the exponential function Instances of exp x in input are simplified to e x exp does not appear in simplified expressions demoivre if true causes e a b 4i to simplify to e a cos b Ai sin b if b is free of Zi See demoivre emode when true causes 4e Api 4i x to be simplified See 4emode enumer when true causes e to be replaced by 2 718 whenever numer is true See Zenumer emode Option variable Default value true When emode is true he Api 4i x is simplified as follows he f4pi hi x simplifies to cos Api x 4i sin fpi x if x is an integer or a mul tiple of 1 2 1 3 1 4 or 1 6 and then further simplified For other numerical x 4e Api i x simplifies to 4e Api Ai y where y is x 2k for some integer k such that abs y 1 When emode is false no special simplification of 4e Api 4i x is carried out enumer Option variable Default value false When enumer is true 4e is replaced by
105. cause the three variables a b and c to not refer to their global values but rather have these special values for as long as the code executes inside the block or inside functions called from inside the block This is called dynamic binding since the variables last from the start of the block to the time it exits Once you return from the block or throw out of it the old values if any of the variables will be restored It is certainly a good idea to protect your variables in this way Note that the assignments in the block variables are done in parallel T his means that if you had used c a in the above the value of c would have been the value of a at the time you just entered the block but before a was bound Thus doing something like 404 Maxima Manual block la a expri a a 3 exprn will protect the external value of a from being altered but would let you access what that value was Thus the right hand side of the assignments is evaluated in the entering context before any binding occurs Using just block x would cause the x to have itself as value just as if it would have if you entered a fresh Maxima session The actual arguments to a function are treated in exactly same way as the variables in a block Thus in f x expri exprn and EC we would have a similar context for evaluation of the expressions as if we had done block x 1 expri exprn Inside functions when the right hand side of
106. conmetderiv can relate the derivative of the contravariant metric tensor with the Christoffel symbols as seen from the following 272 hii load itensor 01 share tensor itensor lisp 112 ishow g a b c ab 112 E C 4i3 ishow conmetderiv g LL D a 41 a ta 8 ichr2 g ichr2 41 simpmetderiv expr stop Simplifies expressions containing products of the derivatives of the metric tensor Specifically simpmetderiv recognizes two identities ab ab ab a 8 8 8 g g kdelta d bc bc d bc d c d hence ab ab 8 8 78 8 d bc bc d and ab ab g 8 g 8 which follows from the symmetries of the Christoffel symbols Maxima Manual Function The simpmetderiv function takes one optional parameter which when present causes the function to stop after the first successful substitution in a product expression The simpmetderiv function also makes use of the global variable flipflag which determines how to apply a canonical ordering to the product indices Put together these capabilities can be used to achieve powerful simplifications that are difficult or impossible to accomplish otherwise This is demonstrated through the following example that explicitly uses the partial simplification features of simpmetderiv to obtain a contractible expression Aii load itensor 01 share tensor itensor lisp 4i2 imetric g 02 done 413 ishow g a b g b c g a b
107. differential L form On these objects a multiplication operation known as the exterior product or wedge product is defined Unfortunately not all authors agree on the definition of the wedge product Some authors prefer a definition that corresponds with the notion of antisymmetrization in these works the wedge product of two vector fields for instance would be defined as aa aa ij j i a Poe sr i j 5 More generally the product of a p form and a q form would be defined as 1 k1 kp 11 1q A N B ses D A B i1 ip ji ja ptq ii ip ji jq k1 kp 11 1q where D stands for the Kronecker delta Other authors however prefer a geometric definition that corresponds with the notion of the volume element a Ma aa aa i j ij ji and in the general case 1 ki kp 11 1q A B D A B 11 1p j1 jq p a il ip j1 jq k1 kp 11 1q Since itensor is a tensor algebra package the first of these two definitions appears to be the more natural one Many applications however utilize the second definition To resolve this dilemma a flag has been implemented that controls the behavior of the wedge product if igeowedge flag is false the default the first tensorial definition is used otherwise the second geometric definition will be applied T Operator The wedge product operator is denoted by the tilde This is a binary operator Its arguments should be expressions involving scalars covariant tensors of rank one o
108. done by b x 1 gt y 2 Of course the key may be a list e g b x 1 u y would be valid This is incompatible with the old Maxima hash arrays but saves consing An advantage of storing the arrays as values of the symbol is that the usual conven tions about local variables of a function apply to arrays as well The Hash table type also uses less consing and is more efficient than the old type of Maxima hashar To obtain consistent behaviour in translated and compiled code set translate fast arrays to be true 228 Maxima Manual Chapter 27 Matrices and Linear Algebra 229 27 Matrices and Linear Algebra 27 1 Introduction to Matrices and Linear Algebra 27 1 1 Dot The operator represents noncommutative multiplication and scalar product When the operands are 1 column or 1 row matrices a and b the expression a b is equivalent to sum ali b i i 1 length a If a and b are not complex this is the scalar product also called the inner product or dot product of a and b The scalar product is defined as conjugate a b when a and b are complex innerproduct in the eigen package provides the complex scalar product When the operands are more general matrices the product is the matrix product a and b The number of rows of b must equal the number of columns of a and the result has number of rows equal to the number of rows of a and number of columns equal to the number of columns of b To distinguish as an arithmetic opera
109. each iteration of the body The optional termination tests end_tests can be used to terminate execution of the do otherwise it will terminate when the list is exhausted or when a return is executed in the body In fact list may be any non atomic expression and successive parts are taken Aii for f in log rho atan do ldisp f 1 AEL 0 1 12 rho 1 Api t3 4 414 ev t3 numer 404 0 78539816 Chapter 42 Program Flow 427 errcatch expr 1 expr_n Function Evaluates expr 1 expr n one by one and returns expr n a list if no error occurs If an error occurs in the evaluation of any argument errcatch prevents the error from propagating and returns the empty list without evaluating any more arguments errcatch is useful in batch files where one suspects an error might occur which would terminate the batch if the error weren t caught error expr 1 expr_n Function error System variable Evaluates and prints expr_1 expr_n and then causes an error return to top level Maxima or to the nearest enclosing errcatch 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 expr 1 expr_n and the remaining elements are the values of any non string arguments errormsg formats and prints error This is effectively reprinting the most recent error message errormsg Function for
110. elapsed per function call the number of calls and the total time elapsed untimer removes functions from the list of timed functions Chapter 43 Debugging 435 timer quotes its arguments f x x 2 g f timer g does not put f on the timer list If trace f is in effect then timer f has no effect trace and timer cannot both be in effect at the same time See also timer devalue untimer f 1 fn Function untimer Function Given functions 1 n untimer removes each function from the timer list With no arguments untimer removes all functions currently on the timer list After untimer f is executed timer info f still returns previously collected tim ing statistics although timer info with no arguments does not return informa tion about any function not currently on the timer list timer f resets all timing statistics to zero and puts f on the timer list again timer devalue Option variable Default value false When timer devalue is true Maxima subtracts from each timed function the time spent in other timed functions Otherwise the time reported for each function in cludes the time spent in other functions Note that time spent in untimed functions is not subtracted from the total time See also timer and timer info timer_info 1 f n Function timer info Function Given functions f_ 1 f n timer info returns a matrix containing timing informa tion for each funct
111. envisioned Example Chapter 12 Polynomials 127 hii s axx bxx 5 4i2 ratcoef s a b 402 x ratdenom expr Function Returns the denominator of expr after coercing expr to a canonical rational expres sion CRE The return value is a CRE expr is coerced to a CRE by rat if it is not already a CRE This conversion may change the form of expr by putting all terms over a common denominator denom is similar but returns an ordinary expression instead of a CRE Also denom does not attempt to place all terms over a common denominator and thus some expressions which are considered ratios by ratdenom are not considered ratios by denon ratdenomdivide Option variable Default value true When ratdenomdivide is true ratexpand expands a ratio in which the numerator is a sum into a sum of ratios all having a common denominator Otherwise ratexpand collapses a sum of ratios into a single ratio the numerator of which is the sum of the numerators of each ratio Examples Chii 01 412 413 403 414 Lib 05 416 406 expr x 2 x 1 y2 7 ratdenomdivide true ratexpand expr y 7 y FT y FT ratdenomdivide false ratexpand expr 7 128 Maxima Manual 117 ratexpand expr2 AMD em ratdiff expr x Function Differentiates the rational expression expr with respect to x expr must be a ra tio of polynomials or a polynomial in x The argument x may b
112. expr Function Computes the limit of expr as the real variable x approaches the value val from the direction dir dir may have the value plus for a limit from above minus for a limit from below or may be omitted implying a two sided limit is to be computed limit uses the following special symbols inf positive infinity and minf negative infinity On output it may also use und undefined ind indefinite but bounded and infinity complex infinity lhospitallim is the maximum number of times L Hospital s rule is used in limit This prevents infinite looping in cases like limit cot x csc x x 0 tlimswitch when true will cause the limit package to use Taylor series when possible limsubst prevents limit from attempting substitutions on unknown forms This is to avoid bugs like limit f n f n 1 n inf giving 1 Setting limsubst to true will allow such substitutions limit with one argument is often called upon to simplify constant expressions for example limit inf 1 example limit displays some examples For the method see Wang P Evaluation of Definite Integrals by Symbolic Manip ulation Ph D thesis MAC TR 92 October 1971 limsubst Option variable default value false prevents limit from attempting substitutions on unknown forms This is to avoid bugs like limit f n f n 1 n inf giving 1 Setting limsubst to true will allow such substitutions tlimit expr x val dir Function tlimit expr x val
113. f phi m phi 408 sqrt 1 m sin phi 4i9 diff elliptic f phi m m elliptic e phi m 1 m elliptic f phi m 109 A SaaS Sass mee EE MASH cos phi sin phi ii E 2 1 m 2 sqrt 1 m sin phi Support for elliptic functions and integrals was written by Raymond Toy It is placed under the terms of the General Public License GPL that governs the distribution of Maxima 18 2 Definitions for Elliptic Functions jacobi_sn u m Function The Jacobian elliptic function sn u m jacobi_cn u m Function The Jacobian elliptic function cn u m jacobi dn u m Function The Jacobian elliptic function dn u m Chapter 18 Elliptic Functions 163 jacobi ns u m Function The Jacobian elliptic function ns u m 1 sn u m jacobi sc u m Function The Jacobian elliptic function sc u m sn u m cn u m jacobi sd u m Function The Jacobian elliptic function sd u m sn u m dn u m jacobi nc u m Function The Jacobian elliptic function nc u m 1 cn u m jacobi cs u m Function The Jacobian elliptic function cs u m en u m sn u m jacobi_cd u m Function The Jacobian elliptic function cd u m cn u m dn u m jacobi nd u m Function The Jacobian elliptic function nc u m 1 cn u m jacobi ds u m Function The Jacobian elliptic function ds u m dn u m sn u m jacobi dc u m Function The Jacobian elliptic fun
114. f1 f2 2 e3 2 ei e2 f1 y 2 2 4 2 9 e2 6 el e2 el f2 2 2 2 2 4 9 el e3 6 e2 3 el e2 f1 f2 2 el e3 e2 1 2 2 2 3 2 y 9 el 27 e2 e3 3 el e2 el e2 f1 f2 2 2 3 5 15 e2 2 ei e3 el e2 f1 f2 2 e2 e3 fi y 2 3 3 2 2 3 27 e3 18 el e2 4e1 e3 4 e2 el e2 f2 2 3 3 2 2 27 e3 el 9 ei e2 e3 e2 f1 f2 2 4 2 6 el e2 e3 9 e3 f1 f2 e3 fi Recherche du polyno me dont les racines sont les somme a u ou a est racine de z 2 el z e2 et u est racine de z 2 f1 z f2 Aii ratsimp direct z 2 e1 z e2 z 2 f1 z f2 z a u Flu 3 25 Chapter 34 Symmetries 339 4 3 2 01 y 2 f1 2 e1 y 2 f2 f1 3 ei f1 2 e2 2 2 2 2 el y 2 f1 2 e1 f2 el f1 2 e2 el fil 2 2 2 2 el e2 y 2 ei f1 2 e2 e1 2 e2 f1 el e2 f1 2 e2 direct peut prendre deux drapeaux possibles elementaires et puissances valeur par de faut qui permettent de de composer les polyno mes syme triques apparaissant dans ce calcul par les fonctions syme triques e le mentaires ou les fonctions puissances respectivement Fonctions de sym utilis ees dans cette fonction multi orbit donc orbit pui direct multi elem donc elem multi pui donc pui pui2ele ele2pui si le drapeau direct est a puissances ele2comp m 1 Function passe des fonctions syme triques e le mentaires aux fonc
115. false then the display of the elements will not occur The array elements mcs i j k are defined in such a manner that the final index is contravariant ricci dis Function A function in the ctensor component tensor package ricci computes the covariant symmetric components ric i j of the Ricci tensor If the argument dis is true then the non zero components are displayed uricci dis Function This function first computes the covariant components ric i j of the Ricci tensor Then the mixed Ricci tensor is computed using the contravariant metric tensor If the value of the argument dis is true then these mixed components uric i jl the index i is covariant and the index j is contravariant will be displayed directly Otherwise ricci false will simply compute the entries of the array uric i j without displaying the results scurvature Function returns the scalar curvature obtained by contracting the Ricci tensor of the Rie mannian manifold with the given metric Chapter 30 ctensor 293 einstein dis Function A function in the ctensor component tensor package einstein computes the mixed Einstein tensor after the Christoffel symbols and Ricci tensor have been ob tained with the functions christof and ricci If the argument dis is true then the non zero values of the mixed Einstein tensor ein i j will be displayed where j is the contravariant index The variable rateinstein will cause the rational sim plification o
116. filename something Otherwise the final component is simply replaced by filename file search filename Function file search filename pathlist Function file search searches for the file filename and returns the path to the file as a string if it can be found otherwise file search returns false file search filename searches in the default search directories which are specified by the file search maxima file search lisp and file search demo variables file search first checks if the actual name passed exists before attempting to match it to wildcard file search patterns See file search maxima concerning file search patterns The argument filename can be a path and file name or just a file name or if a file search directory includes a file search pattern just the base of the file name without an extension For example file search home wfs special zeta mac file search zeta mac file search zeta all find the same file assuming the file exists and home wfs special mac is in file search maxima file search filename pathlist searches only in the directories specified by path list which is a list of strings The argument pathlist supersedes the default search 92 Maxima Manual directories so if the path list is given file search searches only the ones specified and not any of the default search directories Even if there is only one directory in pathlist it must still be given as a one element
117. form is used for the representation of Taylor series The notion of a rational expression is extended so that the exponents of the variables can be positive or negative rational numbers rather than just positive integers and the coefficients can themselves be rational expressions as described above rather than just polynomials These are represented internally by a recursive polynomial form which is similar to and is a generalization of CRE form but carries additional information such as the degree of truncation As with CRE form the symbol T follows the line label of such expressions 12 2 Definitions for Polynomials algebraic Option variable Default value false algebraic must be set to true in order for the simplification of algebraic integers to take effect 116 Maxima Manual berlefact Option variable Default value true When berlefact is false then the Kronecker factoring algorithm will be used oth erwise the Berlekamp algorithm which is the default will be used bezout pl p2 x Function an alternative to the resultant command It returns a matrix determinant of this matrix is the desired resultant bothcoef expr x Function Returns a list whose first member is the coefficient of x in expr as found by ratcoef if expr is in CRE form otherwise by coeff and whose second member is the remaining part of expr That is A B where expr A x B Example Aii islinear expr x block cl c bothcoef rat expr
118. fpprintprec Option variable 106 frame bracket Function 297 freeof Function viciosos rosita sine 51 full listify Function 392 fullmap Function 3l fullmapl Function 31 fullratsimp Function 121 fullratsubst Function 121 fullsetify Function 393 funcsolve Function 201 functions System variable 412 fimdef Function 412 funmake Function 412 funp Function ien 214 mate bbs 220 G gamma Function 151 gammalim Option variable 151 gauss Function 223 ged FUNCHON 24282 rss tete e Eee 122 g dex Function eee erm 122 123 gcfactor Function 123 gdet System variable 309 gen_laguerre Function 158 genfact Function 52 genindex Option variable 360 genmatrix Function 237 gensumnum Option variable 360 get Punction 4 22244444 ir es 382 getch r Function rogar as 226 gfactor Function 123 gfactorsum Function 123 globalsolve Option variable 202 go Function AA 427 gradef Function
119. function encountered in an integrand which is unknown to Maxima and x is the variable which occurs as an argument to the first occurrence of p found outside of an integral in the case of secondkind equations or is the only other variable besides the variable of integration in firstkind equations If the attempt to search for x fails the user will be asked to supply the independent variable tech first n 1 guess none which will cause neumann and firstkindseries to use f x as an initial guess ieqnprint Option variable Default value true ieqnprint governs the behavior of the result returned by the ieqn command When ieqnprint is false the lists returned by the ieqn function are of the form solution technique used nterms flag where flag is absent if the solution is exact Otherwise it is the word approximate or incomplete corresponding to an inexact or non closed form solution respectively If a series method was used nterms gives the number of terms taken which could be less than the n given to ieqn if an error prevented generation of further terms lhs eqn Function Returns the left side of the equation eqn If the argument is not an equation lhs returns the argument See also rhs Example 204 Maxima Manual il e x 2 y 2 272 2 2 2 01 y x Z 4i2 lhs e 2 2 02 y x Ai3 rhs e 2 03 z linsolve expr 1 expr m x 1 x n Function Solves the list of simultaneous linear e
120. in the index i symoper all is also an allowable form which indicates all indices obey the symmetry condition For example given an object b with 5 covariant indices decsym b 5 3 sym 1 2 anti 3 4 cyc a11 declares b symmetric in its first and second and antisymmetric in its third and fourth covariant indices and cyclic in all of its contravariant indices Either list of symmetry declarations may be null The function which performs the simplifications is canform as the example below illustrates 4i1 load itensor 501 share tensor itensor lisp 112 expr contract expand a i1 j1 k1 kdels i j k i1 j1 k1 j i3 ishow expr t3 a a a a a a kji kij jki jik ikj ijk 114 decsym a 3 0 sym a11 1 404 done Aib ishow canform expr Zt 5 6a ijk 416 remsym a 3 0 406 done 417 decsym a 3 0 anti al1 07 done 118 ishow canform expr C4t8 0 419 remsym a 3 0 409 done 4110 decsym a 3 0 cyc a11 1 0 4010 done 4i11 ishow canform expr Cht11 3a 3a ik j ijk 4112 dispsym a 3 0 4012 Lieve DLP 2 311 UJ Removes all symmetry properties from tensor which has m covariant indices and n contravariant indices Simplifies expr by renaming dummy indices and reordering all indices as dictated by symmetry conditions imposed on them If allsym is true then all indices are assumed symmetric otherwise symmetry information provided by decsym decl
121. indicial tensor manipulation package may be loaded by load itensor Demos are also available try demo tensor In itensor a tensor is represented as an indexed object This is a function of 3 groups of indices which represent the covariant contravariant and derivative indices The covariant indices are specified by a list as the first argument to the indexed object and the contravariant indices by a list as the second argument If the indexed object lacks either of these groups of indices then the empty list is given as the corresponding argument Thus g a bl c represents an indexed object called g which has two covariant indices a b one contravariant index c and no derivative indices The derivative indices if they are present are appended as additional arguments to the symbolic function representing the tensor They can be explicitly specified by the user or be created in the process of differentiation with respect to some coordinate variable Since ordinary differentiation is commutative the derivative indices are sorted alphanumerically unless iframe flag is set to true indicating that a frame metric is being used This canon ical ordering makes it possible for Maxima to recognize that for example t C a b 1 j Chapter 29 itensor 257 is the same as t a b j i Differentiation of an indexed object with respect to some coordinate whose index does not appear as an argument to the indexed object would
122. is free of its dummy variable An indefinite integral is not free of its variable of integration i1 freeof i sum f i i O n0 A01 true 112 freeof x integrate x 2 x 0 1 402 true 113 freeof x integrate x 2 x 403 false genfact x y z Function Returns the generalized factorial defined as x x z x 2z x y 1 z Thus for integral x genfact x x 1 x and genfact x x 2 2 x imagpart expr Function Returns the imaginary part of the expression expr imagpart is a computational function not a simplifying function See also abs carg polarform rectform and realpart infix op Function infix op lbp rbp Function infix op lbp rbp Ipos rpos pos Function Declares op to be an infix operator An infix operator is a function of two arguments with the name of the function written between the arguments For example the subtraction operator is an infix operator infix op declares op to be an infix operator with default binding powers left and right both equal to 180 and parts of speech left and right both equal to any Chapter 6 Expressions 53 infix op lbp rbp declares op to be an infix operator with stated left and right binding powers and default parts of speech left and right both equal to any infix op lbp rbp lpos rpos pos declares op to be an infix operator with stated left and right binding powers and parts of speech The pr
123. is straightforward Although all of Maxima s powerful sim plification capacity is at hand a complex metric with intricate functional and coordinate dependencies can easily lead to expressions whose size is excessive and whose structure is hidden In addition many calculations involve intermediate expressions which swell causing programs to terminate before completion Through experience a user can avoid avoid many of these difficulties Because of the special way in which tensors and tensor operations are represented in terms of symbolic operations on their indices expressions which in the component repre sentation would be unmanageable can sometimes be greatly simplified by using the special routines for symmetrical objects in itensor In this way the structure of a large expression may be more transparent On the other hand because of the the special indicial represen tation in itensor in some cases the user may find difficulty with the specification of the metric function definition and the evaluation of differentiated indexed objects 29 1 1 New tensor notation Until now the itensor package in Maxima has used a notation that sometimes led to incorrect index ordering Consider the following for instance 112 imetric g 402 done 113 ishow g j k g 1 112 aCEi 31 122 ii jk 1163 g g a 256 Maxima Manual 4i4 ishow contract k 1 t4 a This result is incorrect unless a happens to be a symmetric
124. is useful in user written packages which are often translated or compiled define variable carries out the following steps 1 mode declare name mode declares the mode of name to the translator See mode declare for a list of the possible modes 2 If the variable is unbound default_value is assigned to name 3 declare name special declares it special 4 Associates name with a test function to ensure that name is only assigned values of the declared mode The value check property can be assigned to any variable which has been defined via define variable with a mode other than any The value check property is a lambda expression or the name of a function of one variable which is called when an attempt is made to assign a value to the variable The argument of the value check function is the would be assigned value 410 Maxima Manual define variable evaluates default value and quotes name and mode define variable returns the current value of name which is default_value if name was unbound before and otherwise it is the previous value of name Examples foo is a Boolean variable with the initial value true Aii define variable foo true boolean 01 true 4i2 foo 502 true i3 foo false 03 false 4i4 foo hpi Error foo was declared mode boolean has value pi an error Quitting To debug this try debugmode true 415 foo 05 false bar is an integer variable which
125. l1 op n returns true if some element op 1 op_n is equal to the operator of expr optimize expr Function Returns an expression that produces the same value and side effects as expr but does so more efficiently by avoiding the recomputation of common subexpressions optimize also has the side effect of collapsing its argument so that all common subexpressions are shared Do example optimize for examples optimprefix Option variable Default value 7 optimprefix is the prefix used for generated symbols by the optimize command ordergreat v 1 v n Function Sets up aliases for the variables v 1 v n such that v 1 v_2 gt gt v_n and v n gt any other variable not mentioned as an argument See also orderless ordergreatp expr_1 expr_2 Function Returns true if expr_2 precedes expr 1 in the ordering set up with the ordergreat function orderless v 1 v n Function Sets up aliases for the variables v_1 v n such that v 1 lt v 2 lt lt v n and v n any other variable not mentioned as an argument Thus the complete ordering scale is numerical constants declared constants declared scalars lt first argument to orderless lt lt last argument to orderless lt variables which begin with A lt lt variables which begin with Z lt last argument to ordergreat lt lt first argument to ordergreat lt declared mainvars See also ordergreat and mainvar o
126. list The user may modify the default search directories See file search maxima file search is invoked by load with file search maxima and file search lisp as the search directories file search maxima Option variable file search lisp Option variable file search demo Option variable These variables specify lists of directories to be searched by load demo and some other Maxima functions The default values of these variables name various directories in the Maxima installation The user can modify these variables either to replace the default values or to append additional directories For example file search maxima usr local foo mac usr local bar mac replaces the default value of file_search_maxima while file_search_maxima append file_search_maxima usr local foo mac usr local bar mac appends two additional directories It may be convenient to put such an expression in the file maxima init mac so that the file search path is assigned automatically when Maxima starts Multiple filename extensions and multiple paths can be specified by special wildcard constructions The string expands into the sought after name while a comma separated list enclosed in curly braces foo bar baz expands into multiple strings For example supposing the sought after name is neumann home wis gcj lisp mac expands into home wfs neumann lisp home gcj neumann lisp ho
127. manque des valeurs a la liste ele des valeurs formelles du type ei sont rajoute es Le polyno me sym peut etre donne sous 3 formes diffe rentes contracte e elem doit alors valoir 1 sa valeur par de faut partitionne e elem doit alors valoir 3 ou e tendue i e le polyno me en entier elem doit alors valoir 2 L utilsation de la fonction pui se re alise sur le me me mode le Sur un alphabet de cardinal 3 avec el la premie re fonction syme trique e le mentaire valant 7 le polyno me syme trique en 3 variables dont la forme contracte e ne de pendant ici que de deux de ses variables est x 4 2 x y se de compose ainsi en les fonctions syme triques e le mentaires Aii elem 3 7 x 4 2 x y x yl 01 7 e3 7 e2 7 49 e2 21 e3 2 49 e2 2 e2 412 ratsimp 2 402 28 e3 2 e2 198 e2 2401 Autres fonctions de changements de bases comp2ele comp2pui ele2comp ele2pui mon2schur multi_elem multi_pui pui pui2comp pui2ele puireduc schur2comp explose pc Ivar Function rend le polyno me syme trique associe a la forme contracte e pc La liste Ivar con tient les variables hii explose axx 1 x y zl 101 aztrayraxs il Autres fonctions de changements de repre sentations contract cont2part part2cont partpol tcontract tpartpol kostka part_1 part_2 Function e crite par P ESPERET calcule le nombre de Kostka associe aux partition part_1
128. may also be lists of atoms and flags respectively in which case each of the atoms gets all of the properties declare quotes its arguments declare always returns done The possible flags and their meanings are constant makes a i a constant as is Api mainvar makes a i a mainvar The ordering scale for atoms numbers lt constants e g he pi lt scalars lt other variables lt mainvars scalar makes a i a scalar nonscalar makes a i behave as does a list or matrix with respect to the dot operator noun makes the function a i a noun so that it won t be evaluated automatically evfun makes a i known to the ev function so that it will get applied if its name is mentioned See evfun evflag makes a i known to the ev function so that it will be bound to true during the execution of ev if it is mentioned See evflag bindtest causes a i to signal an error if it ever is used in a computation unbound Maxima currently recognizes and uses the following features of objects Chapter 6 Expressions 49 even odd integer rational irrational real imaginary and complex The useful features of functions include increasing decreasing oddfun odd function evenfun even function commutative or symmetric antisymmetric lassociative and rassociative The a i and fi may also be lists of objects or features featurep object feature determines if object has been declared to have feature See also features disolate exp
129. may be assigned any integer between 2 and 35 decimal inclusive When ibase is greater than 10 the numerals comprise the decimal numerals 0 through 9 plus capital letters of the alphabet A B C as needed The numerals for base 35 the largest acceptable base comprise 0 through 9 and A through Y See also obase inchar Option variable Default value 4i inchar is the prefix of the labels of expressions entered by the user Maxima auto matically constructs a label for each input expression by concatenating inchar and linenum inchar may be assigned any string or symbol not necessarily a single character Aii inchar input 01 input input1 expand a b 3 3 2 2 3 01 b 3ab 3a bra input2 See also labels ldisp expr 1 expr n Function Displays expressions expr 1 expr n to the console as printed output ldisp assigns an intermediate expression label to each argument and returns the list of labels See also disp Ail e a b 3 3 01 b a i2 f expand e 3 2 2 3 02 b 3ab 3a b a 4i3 ldisp e f 3 94 Maxima Manual t3 b a 3 2 2 3 t4 b 3ab 3a b a 04 4t3 t4 114 4t3 3 04 b a 115 1t4 3 2 2 3 05 b 3ab 3a b a ldisplay expr 1 expr_n Function Displays expressions expr 1 expr n to the console as printed output Each ex pression is printed as an equation of the form 1hs rhs in which 1hs is one of the argume
130. n Dependent equations eliminated 4 3 02 nn n 1 n 2 Warning this is a very rudimentary implementation many safety checks and obvious generalizations are missing globalsolve Option variable Default value false When globalsolve is true solved for variables are assigned the solution values found by solve Examples Aii globalsolve true 4i2 solve x 3 y 2 2x y 5 x yl Solution 17 412 X 7 1 t3 yop 7 03 t2 931 113 x 17 03 7 hid y 1 04 mium 7 Aib globalsolve false 416 kill x y 4i7 solve x 3 y 2 2 x y 5 x yl Solution 67 x Chapter 22 Equations 203 1 18 y 08 t7 t8 118 x 408 x 119 y 409 y ieqn ie unk tech n guess Function inteqn is a package for solving integral equations load inteqn loads this pack age ie is the integral equation unk is the unknown function tech is the technique to be tried from those given above tech first means try the first technique which finds a solution tech all means try all applicable techniques n is the maximum number of terms to take for taylor neumann firstkindseries or fredseries it is also the maximum depth of recursion for the differentiation method guess is the initial guess for neumann or firstkindseries Default values for the 2nd thru 5th parameters are unk p x where p is the first
131. nor mally yield zero This is because Maxima would not know that the tensor represented by the indexed object might depend implicitly on the corresponding coordinate By modify ing the existing Maxima function diff in itensor Maxima now assumes that all indexed objects depend on any variable of differentiation unless otherwise stated This makes it possible for the summation convention to be extended to derivative indices It should be noted that itensor does not possess the capabilities of raising derivative indices and so they are always treated as covariant The following functions are available in the tensor package for manipulating indexed objects At present with respect to the simplification routines it is assumed that indexed objects do not by default possess symmetry properties This can be overridden by setting the variable allsym false to true which will result in treating all indexed objects completely symmetric in their lists of covariant indices and symmetric in their lists of contravariant indices The itensor package generally treats tensors as opaque objects Tensorial equations are manipulated based on algebraic rules specifically symmetry and contraction rules In addition the itensor package understands covariant differentiation curvature and torsion Calculations can be performed relative to a metric of moving frame depending on the setting of the iframe flag variable A sample session below demonstrates how to loa
132. not displayed and the label may be referenced in the same way as displayed output labels See also 4 hh and 4th Intermediate expression labels can be generated by some functions The flag programmode controls whether solve and some other functions generate intermediate expression labels instead of returning a list of expressions Some other functions such as 1display always generate intermediate expression labels first rest labels inchar returns the most recent input label See also inchar outchar linechar and infolists linenum System variable The line number of the current pair of input and output expressions myoptions System variable Default value myoptions is the list of all options ever reset by the user whether or not they get reset to their default value nolabels Option variable Default value false When nolabels is true input and output labels are generated but not appended to labels the list of all input and output labels kill labels kills the labels on the labels list but does not kill any labels generated since nolabels was assigned true It seems likely this behavior is simply broken See also batch batchload and labels 29 Maxima Manual optionset Option variable Default value false When optionset is true Maxima prints out 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 h
133. number of subintervals respectively epsrel defaults to 1e 8 and limit is 200 quad qawc returns a list of four elements an approximation to the integral the estimated absolute error of the approximation the number integrand evaluations an error code The error code fourth element of the return value can have the values no problems were encountered too many sub intervals were done 0 1 2 excessive roundoff error is detected 3 extremely bad integrand behavior occurs 6 if the input is invalid Examples hi1 quad qawc 27 5 x 1 72 47 5 1 x 2 0 5 401 3 130120337415925 1 306830140249558E 8 495 0 hi2 integrate 2 alpha x 1 2 4 alpha x 2 1 x 0 5 Principal Value alpha alpha 94 9 4 Log q Aa alpha alpha 64 4 4 644 4 402 eee alpha 2 4 2 3 alpha 3 alpha 2 alpha 2 2 alpha 2 24 atan 4 4 24 atan 4 alphaf m ep 3535553555555 385555 S onc ccec2c 2 2 2 2 2 alpha alpha 24 2 24 2 4i3 ev 4 alpha 5 numer 03 3 130120337415917 quad_qawf f x x a omega trig epsabs limit maxpl limlst Function Numerically compute the a Fourier type integral using the Quadpack QAWF routine The integral is L f z w z dz The weight function w is selected by trig 194 Maxima Manual cos w x cos omegaz sin w x sin omegaz The optional arguments are epsabs Desired absolute error of approximation Default
134. of the polynomials p 1 and p 2 by using a special algorithm for multiplication of polynomials p 1 and p 2 should be multivariate dense and nearly the same size Classical multiplication is of order n 1 n 2 where n 1 is the degree of p 1 and n 2 is the degree of p 2 fasttimes is of order max n 1 n 2 1 585 fullratsimp expr Function fullratsimp repeatedly applies ratsimp followed by non rational simplification to an expression until no further change occurs and returns the result When non rational expressions are involved one call to ratsimp followed as is usual by non rational general simplification may not be sufficient to return a simplified result Sometimes more than one such call may be necessary fullratsimp makes this process convenient fullratsimp expr x 1 x_n takes one or more arguments similar to ratsimp and rat Example hil expr x a 2 1 72x x a 2 1072 x a 1 a 2 2 a 2 2 x 1 XX 1 A01 j 1 eee eene a x c 112 ratsimp expr 2a a x es Bd 02 a x 1 113 fullratsimp expr a 403 x 1 4i4 rat expr a 2 4 a 2 2 E Y 2 2 i Clo4 R o mmm a x 1 fullratsubst a b c Function is the same as ratsubst except that it calls itself recursively on its result until that result stops changing This function is useful when the replacement expression and the replaced expression have one or more variables in common fullratsubst will also a
135. or more expressions as a function of one variable In all cases expr is an expression to be plotted on the vertical axis as a function of one variable x range the range of the horizontal axis is a list of the form variable min max where variable is a variable which appears in expr y range the range of the vertical axis is a list of the form y min max plot2d expr x range plots expr as a function of the variable named in x range over the range specified in x range If the vertical range is not otherwise specified by set plot option it is chosen automatically All options are assumed to have default values unless otherwise specified by set plot option plot2d expr x range y range plots expr as a function of the variable named in x range over the range specified in x range The vertical range is set to y range All 76 Maxima Manual options are assumed to have default values unless otherwise specified by set_plot_ option plot2d expr 1 expr n x range plots expr 1 expr n as a function of the variable named in x range over the range specified in x range If the vertical range is not otherwise specified by set plot option it is chosen automatically All options are assumed to have default values unless otherwise specified by set plot option plot2d expr_1 expr n x range y range plots expr 1 expr n as a function of the variable named in x range over the range specified in x range
136. product dotassoc Option variable Default value true When dotassoc is true an expression A B C simplifies to A B C Chapter 27 Matrices and Linear Algebra 235 dotconstrules Option variable Default value true When dotconstrules is true a non commutative product of a constant and another term is simplified to a commutative product Turning on this flag effectively turns on dotOsimp dotOnscsimp and dotisimp as well dotdistrib Option variable Default value false When dotdistrib is true an expression A B C simplifies to A B A C dotexptsimp Option variable Default value true When dotexptsimp is true an expression A A simplifies to A 2 dotident Option variable Default value 1 dotident is the value returned by X 0 dotscrules Option variable Default value false When dotscrules is true an expression A SC or SC A simplifies to SC A and A SC B simplifies to SC A B echelon M Function Returns the echelon form of the matrix M The echelon form is computed from M by elementary row operations such that the first non zero element in each row in the resulting matrix is a one and the column elements under the first one in each row are all zero Aii m matrix 2 1 a 5 b la b cl 2 1 a 5b 401 L a b 4i2 echelon m a 1 5b Ed ses 2 2 402 R 2c tbab 0 1 2 2b a a eigenvalues M Function eivals M Function R
137. re alise l ope ration inverse La fonction tcontract teste en plus la syme trie du polyno me Aii psym explose 2 a 3 b x 4 y x y z 3 4 3 4 3 4 3 4 fo1 2a byz 2a bxz 2a by z 2a bx Z 3 4 3 4 2a bxy 2a bx y 412 contract psym x y zl 3 4 402 2a bx y Autres fonctions de changements de repre sentations cont2part explose part2cont partpol tcontract tpartpol direct p 1 p n y Ivar_1 Ivar n Function calcul l image directe voir M GIUSTI D LAZARD et A VALIBOUZE ISSAC 1988 Rome associe e a la fonction f en les listes de variables lvar_1 Ivar_n et 338 Maxima Manual aux polyno mes p 1 p n d une variable y l arite de la fonction f est importante pour le calcul Ainsi si l expression de f ne depend pas d une variable non seulement il est inutile de donner cette variable mais cela diminue conside rablement lees calculs si on ne le fait pas fil direct z 2 ei z e2 z 2 f1 z f2 z bev axu u v la b 2 01 y el fl y 2 2 2 2 4 e2 f2 el 2 e2 f1 2 f2 ei fi ae ww a a a a a a a a mm a ee a ii a ee ne ee ne me me me ee ee ee ee ee ee me ee 2 4i2 ratsimp 4 2 2 2 402 y el f1 y ei 4 e2 2 e2 f1 Ai3 ratsimp direct z 3 ei z 2 e2 z e3 z 2 fix z f2 z bev atu Clu v la b 6 5 2 2 2 4 403 y 2e1fiy 2ei 6 e2 f2 2e2 e1 1 y 3 3 3 9 e3 5 el e2 2 e1
138. real and imaginary parts a and b on return The outputs are calculated as a r cos t b r sin t The input arrays must be the same size and 1 dimensional The array size need not be a power of 2 polartorect is the inverse function of recttopolar recttopolar real_array imaginary array Function Translates complex values of the form a b i to the form r e hit load fft loads this function into Maxima See also fft The real and imaginary parts a and b are taken from real array and imaginary array respectively The original values of the input arrays are replaced by the magnitude and angle r and t on return The outputs are calculated as r sqrt a 2 b 2 t atan2 b a The computed angle is in the range pi to Api The input arrays must be the same size and 1 dimensional The array size need not be a power of 2 recttopolar is the inverse function of polartorect 216 Maxima Manual ift real array imaginary_array Function Fast inverse discrete Fourier transform load fft loads this function into Max ima ift carries out the inverse complex fast Fourier transform on 1 dimensional floating point arrays The inverse transform is defined as x j sum y j exp 2 4i pi j k n k O n 1 See fft for more details fft real array imaginary_array Function ift real array imaginary_array Function recttopolar real_array imaginary_array Function polartorect magnitude_array phase_array
139. simplifies to 1 For a floating point number x x simplifies to the value of gamma x 1 For x equal to n 2 where n is an odd integer x simplifies to a rational factor times sqrt Api since gamma 1 2 is equal to sqrt pi If x is anything else x is not simplified The variables factlim minfactorial and factcomb control the simplification of expressions containing factorials The functions gamma bffac and cbffac are varieties of the gamma function makegamma substitutes gamma for factorials and related functions See also binomial e The factorial of an integer half integer or floating point argument is simplified unless the operand is greater than factlim ii factlim 10 412 0 0 2 1 4 77 61 2011 105 sqrt Api 502 1 81 44668037931193 40320 20 16 e The factorial of a complex number known constant or general expression is not simplified Even so it may be possible simplify the factorial after evaluating the operand hit Chi 1 pi e cos 1 sin 1 01 Ghi 1 fpi e sin 1 cos 1 412 ev 4 numer enumer 02 Chi 1 7 188082728976031 4 260820476357003 1 227580202486819 e The factorial of an unbound symbol is not simplified 411 kill foo 4i2 foo 202 foo e Factorials are simplified not evaluated Thus x may be replaced even in a quoted expression hi1 C O 7 2 4 77 8 20 105 sqrt Api fol
140. tensor The reason why this happens is that although itensor correctly maintains the order within the set of covariant and contravariant indices once an index is raised or lowered its position relative to the other set of indices is lost To avoid this problem a new notation has been developed that remains fully compatible with the existing notation and can be used interchangeably In this notation contravariant indices are inserted in the appropriate positions in the covariant index list but with a minus sign prepended Functions like contract and ishow are now aware of this new index notation and can process tensors appropriately In this new notation the previous example yields a correct result 15 ishow g j k DD gCE i 11 DD a CE j1 0038 il jk Zt 5 g a g i i6 ishow contract lk t6 a Presently the only code that makes use of this notation is the 1c2kdt function Through this notation it achieves consistent results as it applies the metric tensor to resolve Levi Civita symbols without resorting to numeric indices Since this code is brand new it probably contains bugs While it has been tested to make sure that it doesn t break anything using the old tensor notation there is a considerable chance that new tensors will fail to interoperate with certain functions or features These bugs will be fixed as they are encountered until then caveat emptor 29 1 2 Indicial tensor manipulation The
141. terms in the match pattern and in the expression to be matched However if all match predicates are mutually exclusive the match result Chapter 38 Rules and Patterns 373 is insensitive to ordering as one match predicate cannot accept terms matched by another Calling matchdeclare with a variable a as an argument changes the matchdeclare property for a if one was already declared only the most recent matchdeclare is in effect when a rule is defined Later changes to the matchdeclare property via matchdeclare or remove do not affect existing rules propvars matchdeclare returns the list of all variables for which there is a matchdeclare property printprops a matchdeclare returns the predicate for variable a printprops all matchdeclare returns the list of predicates for all matchdeclare variables remove a matchdeclare removes the matchdeclare property from a The functions defmatch defrule tellsimp tellsimpafter and let construct rules which test expressions against patterns matchdeclare quotes its arguments matchdeclare always returns done Examples e q matches an expression not containing x or 4e Aii matchdeclare q freeof x e matchfix Idelimiter rdelimiter Function matchfix Idelimiter rdelimiter arg pos pos Function Declares a matchfix operator with left and right delimiters Idelimiter and rdelimiter The delimiters are specified as strings A matchfix operator is a function of any num
142. the switch trigsign Two share packages extend the simplification rules built into Maxima ntrig and atrigi Do describe command for details 15 2 Definitions for Trigonometric acos x Function Arc Cosine acosh x Function Hyperbolic Arc Cosine acot x Function Arc Cotangent acoth x Function Hyperbolic Arc Cotangent acsc x Function Arc Cosecant acsch x Function Hyperbolic Arc Cosecant asec x Function Arc Secant asech x Function Hyperbolic Arc Secant asin x Function Arc Sine asinh x Function Hyperbolic Arc Sine 142 atan x Arc Tangent atan2 y x yields the value of atan y x in the interval pi to pi atanh x Hyperbolic Arc Tangent atrigl Maxima Manual Function Function Function Package The atrig1 package contains several additional simplification rules for inverse trigono metric functions Together with rules already known to Maxima the following angles are fully implemented 0 pi 6 pi 4 4pi 3 and pi 2 Corresponding angles in the other three quadrants are also available Do load atrig1 to use them cos x Cosine cosh x Hyperbolic Cosine cot x Cotangent coth x Hyperbolic Cotangent csc x Cosecant csch x Hyperbolic Cosecant halfangles Default value false When halfangles is true half angles are simplified away ntrig Function Function Function Functi
143. the variable modulus mod p m specifies a modulus m to be used instead of the current value of modulus See modulus oddp expr Function is true if expr is an odd integer false is returned in all other cases pred Operator As an argument in a call to ev expr pred causes predicates expressions which evaluate to true or false to be evaluated See ev make random state n Function make random state s Function make random state true Function make random state false Function A random state object represents the state of the random number generator The state comprises 627 32 bit words make random state n returns a new random state object created from an integer seed value equal to n modulo 2732 n may be negative make random state s returns a copy of the random state s make random state true returns a new random state object using the current computer clock time as the seed make random state false returns a copy of the current state of the random num ber generator set random state s Function Copies s to the random number generator state set random state always returns done random x Function Returns a pseudorandom number If x is an integer random x returns an integer from 0 through x 1 inclusive If x is a floating point number random x returns a nonnegative floating point number less than x random complains with an error if x is neither an integer nor a float or if x is not pos
144. then log a b will also simplify to log a log b for rational numbers a b a 1 log 1 b for integer b always simplifies If it is set to false all of these simplifications will be turned off lognegint Option variable Default value false If true implements the rule log n gt log n i pi for n a positive integer lognumer Option variable Default value false If true then negative floating point arguments to log will always be converted to their absolute value before the log is taken If numer is also true then negative integer arguments to log will also be converted to their absolute value logsimp Option variable Default value true If false then no simplification of 4e to a power containing log s is done plog x Function Represents the principal branch of the complex valued natural logarithm with pi lt carg x lt pi Chapter 15 Trigonometric 141 15 Trigonometric 15 1 Introduction to Trigonometric Maxima has many trigonometric functions defined Not all trigonometric identities are programmed but it is possible for the user to add many of them using the pattern matching capabilities of the system The trigonometric functions defined in Maxima are acos acosh acot acoth acsc acsch asec asech asin asinh atan atanh cos cosh cot coth csc csch sec sech sin sinh tan and tanh There are a number of commands especially for handling trigonometric functions see trigexpand trigreduce and
145. to an n arity function by composition an example should make this clear When the optional argument init isn t defined we have Wii rreduce f 1 2 3 01 f 1 1Q 3 12 rreduce f 1 2 3 4 402 f 1 2 3 4 Notice that the function f is first applied to the rightmost list elements thus the name rreduce When init is defined the second argument to the inner most function evaluation is init for example Aii rreduce f 1 2 3 4 401 f 1 2 3 4 The function rreduce makes it easy to find the product or sum of the elements of a list Aii rreduce args set a b 01 b a 398 Maxima Manual 112 rreduce args set 1 2 3 4 5 402 120 See also See lreduce page 394 See tree_reduce page 401 and See xreduce page 401 setdifference a b Function Return a set containing the elements in the set a that are not in the set b Signal an error if a or b is not a set setify a Function Construct a set from the elements of the list a Duplicate elements of the list a are deleted and the elements are sorted according to the predicate orderlessp Signal an error if a isn t a list setp a Function Return true if and only if a is a Maxima set The function setp checks that the operator of its argument is set it doesn t check that its argument is a simplified set Thus Aii setp set a a simp false 01 true The function setp could be c
146. to exponentials without setting the global variable exponentialize When the variable exponentialize is true all circular and hyperbolic functions are converted to exponential form The default value is false demoivre converts complex exponentials into circular functions exponentialize and demoivre cannot both be true at the same time expop Option variable Default value 0 expop is the highest positive exponent which is automatically expanded Thus x 1 73 when typed will be automatically expanded only if expop is greater than or equal to 3 If it is desired to have x 1 n expanded where n is greater than expop then executing expand x 1 n will work only if maxposex is not less than n factlim Option variable Default value 1 factlim specifies the highest factorial which is automatically expanded If it is 1 then all integers are expanded intosum expr Function Moves multiplicative factors outside a summation to inside If the index is used in the outside expression then the function tries to find a reasonable index the same as it does for sumcontract This is essentially the reverse idea of the outative property of summations but note that it does not remove this property it only bypasses it In some cases a scanmap multthru expr may be necessary before the intosum lassociative Declaration declare g lassociative tells the Maxima simplifier that g is left associative E g g g a b g Cc d will si
147. transcendental type Chapter 39 Lists 383 413 put Ai algebraic type 114 typeof expr block ql if numberp expr then return algebraic if not atom expr then return maplist typeof expr q get expr type if q false then errcatch error expr is not numeric else q Aib typeof 2 e x hpi x is not numeric 405 transcendental algebraic transcendental 416 typeof 2 4e Zpi 406 transcendental algebraic transcendental last expr Function Returns the last part term row element etc of the expr length expr Function Returns by default the number of parts in the external displayed form of expr For lists this is the number of elements for matrices it is the number of rows and for sums it is the number of terms see dispform The length command is affected by the inflag switch So e g length a b c gives 2 if inflag is false Assuming exptdispflag is true but 3 if inflag is true the internal representation is essentially a b 1 c 1 listarith Option variable default value true if false causes any arithmetic operations with lists to be sup pressed when true list matrix operations are contagious causing lists to be converted to matrices yielding a result which is always a matrix However list list operations should return lists listp expr Function Returns true if expr is a list else false makelist expr i 1 0 i 1 Fu
148. true for at least one a i in a Since sets are unordered some is free to evaluate f a_i in any order some may or may not evaluate f for all a i in a Because the order of evaluation isn t specified the predicate f should not have side effects or signal errors for any input To use some on multiple set arguments they should first be converted to an ordered sequence so that their relative alignment becomes well defined Given one or more lists as arguments some f L_1 L n returns true if f x 1 X_n returns true for at least one x 1 x n in L 1 L_n respectively some may or may not evaluate f for every combination x 1 x_n Since lists are ordered some evaluates in the order of increasing index If the global flag maperror is true the default all lists L_1 L_n must have equal lengths otherwise some signals an error When maperror is false the list arguments are effectively truncated each to the length of the shortest list The Maxima function is is automatically applied after evaluating the predicate f Aii some a b 5 1 2 8 01 true 4i2 some 2 3 2 71 402 true stirlingl n m Function The Stirling number of the first kind When n and m are nonnegative integers the magnitude of stirling1 n m is the number of permutations of a set with n members that have m cycles For details see Graham Knuth and Patashnik Concrete Mathematics We use a recursi
149. u Including a call like Chapter 41 Function Definition 405 mprint matrix is mat with length length mat is equivalent to putting in the line if debuglevel gt 3 print matrix is mat with length length mat A more non trivial example would try to display the variable values and their names mshow a b c should become print Ca Hen a LU b 1L b ile and c IM c so that if it occurs as a line in a program we can print values 4i1 foo x y z mshow x y Zz 412 foo 1 2 3 x2 1 y 72 andz 23 The actual definition of mshow is the following Note how buildq lets you build quoted structure so that the u lets you get the variable name Note that in macros the result is a piece of code which will then be substituted for the macro and evaluated mshow 1 block ans n length 1 for i 1 thru n do ans append ans buildq lu 1 i 1 Pu u if i lt n then ans append ans if i lt n 1 then else and JJ buildq u ans print splice u The splice also works to put arguments into algebraic operations hi1 buildq a b c d splice a 401 d c b Note how the simplification only occurs after the substitution The operation ap plying to the splice in the first case is the while in the second it is the yet logically you might think splice a splice a could be replaced by 2 splice a No simplification takes place with the buildq T
150. uppercase lowercase or mixed case is ignored E g Lisp foo F00 and Foo all correspond to Maxima foo 2 A Lisp identifier which is all uppercase or all lowercase and enclosed in vertical bars corresponds to a Maxima identifier with case reversed That is uppercase is changed to lowercase and lowercase to uppercase E g Lisp F00 and foo correspond to Maxima foo and FOO respectively 3 A Lisp identifier which is mixed uppercase and lowercase and enclosed in vertical bars corresponds to a Maxima identifier with the same case E g Lisp Foo corresponds to Maxima Foo The Lisp macro allows the use of Maxima expressions in Lisp code expr expands to a Lisp expression equivalent to the Maxima expression expr msetq foo x y This has the same effect as entering Aii foo x yl The Lisp function displa prints an expression in Maxima format hii lisp x y z MLIST SIMP X Y 2 hi1 lisp displa MLIST SIMP X Y 2 x y z NIL Functions defined in Maxima are not ordinary Lisp functions The Lisp function mfuncall calls a Maxima function For example 411 foo x y x y 4i2 lisp mfuncall foo a b MTIMES SIMP A B Some Lisp functions are shadowed in the Maxima package namely the following complement continue float functionp array exp listen signum atan asin acos asinh acosh atanh tanh cosh sinh tan break and gcd Chapter 3 Help 11 3
151. used with the operator be declared totally antisymmetric in their covariant indices Otherwise the results will be incorrect Chapter 29 itensor 283 extdiff expr i Function Computes the exterior derivative of expr with respect to the index i The exterior derivative is formally defined as the wedge product of the partial derivative operator and a differential form As such this operation is also controlled by the setting of igeowedge flag For instance Chii 01 412 t2 413 03 414 414 Lib 05 416 46 LiT t7 hodge expr load itensor share tensor itensor lisp ishow extdiff v i j decsym a 2 0 anti all ishow extdiff a Lli j k a a a igeowedge flag true ishow extdiff v i j ishow extdiff a li j k a a a j k i ik j i j k Function Compute the Hodge dual of expr For instance 11 01 12 402 13 403 414 404 15 416 C4t6 hi7 load itensor share tensor itensor lisp imetric g done idim 4 done icounter 100 100 decsym A 3 0 anti a11 15 ishow AC i j k1 1 2 A ijk ishow canform hodge i 42 43 44 levi civita E A 1 4102 2 43 4 284 Maxima Manual t7 0 0 6 118 ishow canform hodge 1 42 43 48 44 75 46 KT 4t8 levi civita levi civita g g 1 4106 2 41078 g g A ey 43 4108 4 48 X45 6 77M 419
152. variable default 1 determines the numerical suffix to be used in generating the next dummy index in the tensor package The prefix is determined by the option idummy default D kdelta L1 L2 Function is the generalized Kronecker delta function defined in the itensor package with L1 the list of covariant indices and L2 the list of contravariant indices kdelta i j returns the ordinary Kronecker delta The command ev expr kdelta causes the evaluation of an expression containing kdelta l to the dimension of the man ifold Chapter 29 itensor 265 In what amounts to an abuse of this notation itensor also allows kdelta to have 2 covariant and no contravariant or 2 contravariant and no covariant indices in effect providing a co ntra variant unit matrix capability This is strictly considered a programming aid and not meant to imply that kdelta i jl is a valid tensorial object kdels L1 L2 Function Symmetricized Kronecker delta used in some calculations For instance Aii load itensor 01 share tensor itensor lisp 412 kdelta 1 2 2 1 02 1 13 kdels 1 2 2 1 403 1 14 ishow kdelta a b c d c d d C 1 14 kdelta kdelta kdelta kdelta a b a b 4i4 ishow kdels a b c d c d d c t4 kdelta kdelta kdelta kdelta a b a b levi civita L Function is the permutation or Levi Civita tensor which yields 1 if the list L consists of an even permutation of integ
153. x h x 7 403 I f x y dy g x 034 diff 4 x h x 404 I f x y dy f x h x h x f x g x g x x x x g x For the tensor package the following modifications have been incorporated 1 The derivatives of any indexed objects in expr will have the variables x_i appended as additional arguments Then all the derivative indices will be sorted 2 The x_i may be integers from 1 up to the value of the variable dimension default value 4 This will cause the differentiation to be carried out with respect to the x i th member of the list coordinates which should be set to a list of the names of the coordinates e g x y z t If coordinates is bound to an atomic variable then that variable subscripted by x_i will be used for the variable of differentiation This permits an array of coordinate names or subscripted names like X 1 X 2 to be used If coordinates has not been assigned a value then the variables will be treated as in 1 above Special symbol When diff is present as an evflag in call to ev all differentiations indicated in expr are carried out dscalar f Function Applies the scalar d Alembertian to the scalar function f load ctensor loads this function express expr Function Expands differential operator nouns into expressions in terms of partial derivatives express recognizes the operators grad div curl laplacian express also expands the cros
154. x 1 01 true 4i2 assume a gt 1 02 a gt 1 413 is log log a 1 1 gt O and a 2 1 gt 2 a 403 true notequal expr 1 expr 2 Function Represents the negation of equal expr 1 expr_2 Note that because of the rules for evaluation of predicate expressions in particular because not expr causes evaluation of expr notequal is not equivalent to not equal in some cases Examples 211 equal a b A01 equal a b 12 maybe equal a b 02 unknown 113 notequal a b 03 notequal a b 4i4 not equal a b macsyma was unable to evaluate the predicate equal a b an error Quitting To debug this try debugmode true 415 maybe notequal a b 405 unknown 416 maybe not equal a b 406 unknown WiT assume a gt b LoT a gt b 118 equal a b 08 equal a b 419 maybe equal a b 209 false Chapter 5 Operators 31 4110 notequal a b 4010 notequal a b 4i11 not equal a b 4011 true 4i12 maybe notequal a b 4012 true i13 maybe not equal a b 7 013 true eval Operator As an argument in a call to ev expr eval causes an extra evaluation of expr See ev evenp expr Function Returns true if expr is an even integer false is returned in all other cases fix x Function A synonym for entier x fullmap f expr 1 Function Similar to map but fullmap keeps mapping dow
155. x 4 5 5 Ly 10 10 gnuplot_preamble e Uses a very complicated gnuplot preamble to produce fancy x axis labels Note that the gnuplot_preamble string must be entered without any line breaks my_preamble set xzeroaxis set xtics 2pi 6 283 3pi 2 4 712 pi plot2d cos x sin x tan x cot x x 2 pi 2 pi ly 2 2 gnuplot_preamble my preamble e Uses a very complicated gnuplot preamble to produce fancy x axis labels and produces PostScript output that takes advantage of the advanced text formatting Chapter 8 Plotting 81 available in gnuplot Note that the gnuplot_preamble string must be entered without any line breaks my preamble set xzeroaxis set xtics 2 Symbol p 6 283 3 Symbol p plot2d cos x sin x tan x x 2 4pi 2 pil Ly 2 2 gnuplot preamble my preamble gnuplot term ps gnuplot out file t e A three dimensional plot using the gnuplot pm3d terminal plot3d atan x 2 y73 4 x 4 4 ly 4 4 grid 50 50 gnuplot e A three dimensional plot without a mesh and with contours projected on the bottom plane my_preamble set pm3d at s unset surface set contour set cntrparam levels 20 plot3d atan x 2 y 3 4 x 4 4 ly 4 4 grid 50 501 gnuplot pm3d true gnuplot preamble my preamble e A plot where the z axis is represented by color only Note that the gnuplot_ preamble string must be entered without any
156. x y 5 x y 404 5 Aib hipow expand x y 5 x y 405 0 intfaclim Option variable Default value 1000 intfaclim is the largest divisor which will be tried when factoring a bignum integer When intfaclim is false this is the case when the user calls factor explicitly or if the integer is a fixnum i e fits in one machine word factors of any size are considered intfaclim is set to false when factors are computed in divsum totient and primep Internal calls to factor respect the user specified value of intfaclim Setting intfaclim to a smaller value may reduce the time spent factoring large integers keepfloat Option variable Default value 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 lratsubst L expr Function is analogous to subst L expr except that it uses ratsubst instead of subst The first argument of lratsubst is an equation or a list of equations identical in format to that accepted by subst The substitutions are made in the order given by the list of equations that is from left to right load lrats loads fullratsubst and lratsubst Examples Aii load lrats e subst can carry out multiple substitutions lratsubst is analogous to subst i2 subst la b c dl a c 402 d b 413 lratsubst a 2 b c 2 d a e xcx a c 03 td acierad
157. x defined on the interval pi pil foursimp 1 Function Simplifies sin n Api to 0 if sinnpiflag is true and cos n Api to 1 n if cosnpiflag is true sinnpiflag Option variable Default value true See foursimp cosnpiflag Option variable Default value true See foursimp fourexpand 1 x p limit Function Constructs and returns the Fourier series from the list of Fourier coefficients 1 up through limit terms limit may be inf x and p have same meaning as in fourier fourcos f x p Function Returns the Fourier cosine coefficients for f x defined on 0 pil foursin f x p Function Returns the Fourier sine coefficients for f x defined on LO pil totalfourier f x p Function Returns fourexpand foursimp fourier f x p x p inf fourint f x Function Constructs and returns a list of the Fourier integral coefficients of f x defined on minf inf fourintcos f x Function Returns the Fourier cosine integral coefficients for f x on 0 inf fourintsin f x Function Returns the Fourier sine integral coefficients for f x on 0 inf 222 Maxima Manual Chapter 25 Statistics 223 25 Statistics 25 1 Definitions for Statistics gauss mean sd Function Returns a random floating point number from a normal distribution with mean mean and standard deviation sd 224 Maxima Manual Chapter 26 Arrays and Tables 225 26 Arrays and Tables 26 1 Definitions for Arrays
158. y 2 x x 3 9 2 gt 3 x 2 polysimp f yields 0 if and only if f is in the ideal generated by expr 1 expr_m that is if and only if f is a polynomial combination of the elements of expr 1 expr_m set_up_dot_simplifications eqns check_through_degree Function set_up_dot_simplifications eqns Function The eqns are polynomial equations in non commutative variables The value of current_variables is the list of variables used for computing degrees The equations must be homogeneous in order for the procedure to terminate If you have checked overlapping simplifications in dot_simplifications above the degree of f then the following is true dotsimp f yields 0 if and only if f is in the ideal generated by the equations i e if and only if f is a polynomial combination of the elements of the equations The degree is that returned by nc_degree This in turn is influenced by the weights of individual variables declare weight x 1 w 1 x_n w_n Function Assigns weights w_1 w n to x 1 x_n respectively These are the weights used in computing nc degree nc degree p Function Returns the degree of a noncommutative polynomial p See declare weights dotsimp f Function Returns 0 if and only if f is in the ideal generated by the equations i e if and only if f is a polynomial combination of the elements of the equations 252 Maxima Manual fast central elements x 1 x n n Function I
159. 000B0 Otherwise this is displayed as 1 0BO 106 Maxima Manual cbffac z fpprec Function Complex bigfloat factorial load bffac loads this function float expr Function Converts integers rational numbers and bigfloats in expr to floating point numbers It is also an evflag float causes non integral rational numbers and bigfloat numbers to be converted to floating point float2bf Option variable Default value false When float2bf is false a warning message is printed when a floating point number is converted into a bigfloat number since this may lead to loss of precision floatnump expr Function Returns true if expr is a floating point number otherwise false fpprec Option variable Default value 16 fpprec is the number of significant digits for arithmetic on bigfloat numbers fpprec does not affect computations on ordinary floating point numbers See also bfloat and fpprintprec fpprintprec Option variable Default value 0 fpprintprec is the number of digits to print when printing a bigfloat number making it possible to compute with a large number of digits of precision but have the answer printed out with a smaller number of digits When fpprintprec is 0 or greater than or equal to fpprec then the value of fpprec controls the number of digits used for printing When fpprintprec has a value between 2 and fpprec 1 then it controls the num ber of digits used The minimal number of digits used is
160. 03 Zz 114 limit f x g x 1 x 0 minus g x 1 404 limit f x x 0 Aib inpart 5 1 2 05 g x 1 isolate expr x Function Returns expr with subexpressions which are sums and which do not contain var replaced by intermediate expression labels these being atomic symbols like t1 t2 This is often useful to avoid unnecessary expansion of subexpressions which don t contain the variable of interest Since the intermediate labels are bound to the subexpressions they can all be substituted back by evaluating the expression in which they occur exptisolate default value false if true will cause isolate to examine exponents of atoms like 4e which contain var isolate wrt times if true then isolate will also isolate wrt products See isolate wrt times Do example isolate for examples isolate wrt times Option variable Default value false When isolate wrt times is true isolate will also isolate wrt products E g compare both settings of the switch on Chapter 6 Expressions 55 hii isolate wrt times true 4i2 isolate expand a b c 2 c t2 Qa 443 2b 2 2 t4 b 2ab a 2 04 c 4t3 c 4t2 c t4 14 isolate wrt times false 4i5 isolate expand a b c 2 c 2 05 c 2bc 2ac amp t4 listconstvars Option variable Default value false When listconstvars is true it will cause listofvars to include e Api 4i and any variables declared constant in the list
161. 0767837852378778 x 1 733751846381093 y 1535675710019696 hib solve 1 a x x 3 x 3 sqrt 3 i 1 sqrt 4a 27 1 1 3 ob Dtm M RARE 2 2 6 sqrt 3 2 sqrt 3 fi 1 eem emm m a 2 2 Chapter 22 Equations sqrt 4a 27 1 1 3 d ip 6 sqrt 3 2 3 sqrt 3 fi 1 sqrt 4a 27 1 1 3 fe e Ce E 2 2 6 sqrt 3 2 sqrt 3 fi 1 paa 2 2 eee ee ees X 3 sqrt 4a 27 1 1 3 Si I 6 sqrt 3 2 3 sqrt 4 a 27 1 1 3 a a di as 6 sqrt 3 2 3 sqrt 4a 27 1 1 3 CA ie 6 sqrt 3 2 416 solve x 3 1 sqrt 3 fi 1 sqrt 3 fi 1 406 x m emen y X m e lt 2 2 hi7 solve x 6 1 sqrt 3 ji 1 sqrt 3 fi 1 07 x QE mese nmm e X31 2 2 sqrt 3 fi 1 sqrt 3 fi 1 X y X o 2 2 418 ev x 6 1 1 6 sqrt 3 hi 1 oB 2 ed 64 19 expand 4 409 0 4110 x72 1 4010 x 1 4111 solve x 4011 x 1 x 1 209 210 Maxima Manual 4112 ev th 2 1 4012 0 solvedecomposes Option variable Default value true When solvedecomposes is true solve calls polydecomp if asked to solve polynomi als solveexplicit Option variable Default value false When solveexplicit is true inhibits solve from returning implicit solutions that is solutions of the form F x 0 where F is some function solvefactors Option variab
162. 0k 16k x pa 720 4112 taylor x 1 n x 0 4 2 2 3 2 3 n n x n 3n 2n x Ch012 T 1 n x t de noo 2 6 4 3 2 4 n 6n iin 6n x 24 4113 taylor sin y x x 0 3 y 0 3 3 2 y y CHOISI T y gc 9 2 xx 6 2 3 2 y y 2 1 y 3 cba oux cete en X 2 12 6 12 4114 taylor sin y x x yl 0 3 3 2 2 3 x 3yx 3y x y hola T y g seems 6 4115 taylor 1 sin y x x 0 3 y 0 3 1 y 1 1 i 2 326 Maxima Manual L0o15 T F som y Hess 4 4 5 ao E Ge a X y 6 2 6 3 y y 1 3 t l1 2 X 2 4 y 4116 taylor 1 sin y x x y 0 3 3 2 2 3 1 Xty 7x 21yx 21y x 7y o1 T dede SE ecu Ee Seu x y 6 360 taylordepth Option variable Default value 3 If there are still no nonzero terms taylor doubles the degree of the expansion of g x so long as the degree of the expansion is less than or equal to n 2 taylordepth taylorinfo expr Function Returns information about the Taylor series expr The return value is a list of lists Each list comprises the name of a variable the point of expansion and the degree of the expansion taylorinfo returns false if expr is not a Taylor series Example 111 taylor 1 y72 1 x x 0 3 ly a inf 2 2 019 17 y a Ba y ay 01 a 2 2 1 a 2a y a y a x 2 2 2 1 a 2a y a y a x 2 2 3 tod a 2a y a
163. 111 x 2 diff y x 3 y x sin x x 2 dy sin x Chapter 23 Differential Equations 213 401 412 02 413 403 1 114 04 415 405 416 406 17 07 ode2 4 y x ic1i o2 x pi y 0 cos x 1 y 3 x gt diff y x 2 y diff y x 3 0 2 dy dy 3 y 0 2 dx dx ode2 5 y x 3 y 6 ki y es x k2 6 ratsimp ic2 o5 x 0 y 0 diff y x 2 3 2y 3 y See ee 6 be2 05 x 0 y 1 x 1 y 3 3 y 10 y 3 Le ES 214 Maxima Manual Chapter 24 Numerical 215 24 Numerical 24 1 Introduction to Numerical 24 2 Fourier packages The fft package comprises functions for the numerical not symbolic computation of the fast Fourier transform load fft loads this package See fft The fourie package comprises functions for the symbolic computation of Fourier series load fourie loads this package There are functions in the fourie package to calcu late Fourier integral coefficients and some functions for manipulation of expressions See Definitions for Fourier Series 24 3 Definitions for Numerical polartorect magnitude array phase array Function Translates complex values of the form r e 4i t to the form a b i load fft loads this function into Maxima See also fft The magnitude and phase r and t are taken from magnitude array and phase array respectively The original values of the input arrays are replaced by the
164. 13 partition la b f a cl a 403 b cl la f a partswitch Option variable Default value false When partswitch is true end is returned when a selected part of an expression doesn t exist otherwise an error message is given pickapart expr n Function Assigns intermediate expression labels to subexpressions of expr at depth n an in teger Subexpressions at greater or lesser depths are not assigned labels pickapart returns an expression in terms of intermediate expressions equivalent to the original expression expr See also part dpart lpart inpart and reveal Examples 111 expr atb 2 sin x 2 3 log 1 sqrt x 1 2 sinx bta 401 log sqrt x 1 1 o 3 2 4i2 pickapart expr 0 2 sin x bta 4t2 log sqrt x 1 1 60 Maxima Manual 02 4t2 113 pickapart expr 1 Cht3 log agrt x 1 1 2 sin x t4 enn 3 b a CES S S 2 05 4tb t4 4t3 Aib pickapart expr 2 116 log sqrt x 1 1 2 117 sin x 1 18 b a 168 t7 08 t6 2 3 418 pickapart expr 3 Cht9 sqrt x 1 1 2 t10 x b a sin t10 010 log t9 2 3 4110 pickapart expr 4 ht 11 sqrt x 1 sin x b a Chapter 6 Expressions 61 Coll o9 dome log t11 1 3 2 4i11 pickapart expr 5 4t12 x 1 2 sin x b a 012 Fee log sqrt t12 1 3 2
165. 165 elliptic eu u m The incomplete elliptic integral of the second kind defined as u T EE 2 i dn v m dv uis dt 0 0 1 t This is related to elliptic by where 7 sn u m E u m E m where sin sn u m See also elliptic e page 164 Maxima Manual Function Function Function Function Function Function Function Function Function Chapter 18 Elliptic Functions 165 elliptic pi n phi m Function The incomplete elliptic integral of the third kind defined as d o 1 nsin 0 J 1 msin 0 Only the derivative with respect to phi is known by Maxima elliptic kc m Function The complete elliptic integral of the first kind defined as T d o vV1 msin 0 For certain values of m the value of the integral is known in terms of Gamma func tions Use makegamma to evaluate them elliptic_ec m Function The complete elliptic integral of the second kind defined as i Jiman Ode 0 For certain values of m the value of the integral is known in terms of Gamma func tions Use makegamma to evaluate them 166 Maxima Manual Chapter 19 Limits 167 19 Limits 19 1 Definitions for Limits Ihospitallim Option variable Default 4 lhospitallim is the maximum number of times L Hospital s rule is used in limit This prevents infinite looping in cases like limit cot x csc x x 0 limit expr x val dir Function limit expr x val Function limit
166. 2 402 2 al j SSSH SSS ase Seas sees cn 2 3 413 ratsimp 4 2 3 p2 al 2 p3 3 al p2 al 403 2 a1 go RSE AEREAS ES 2 6 Autres fonctions de changements de bases comp2ele comp2pui ele2comp ele2pui elem mon2schur multi_elem multi_ pui pui pui2ele puireduc schur2comp pui2ele n Ipui Function re alise le passage des fonctions puissances aux fonctions syme triques e le mentaires Si le drapeau pui2ele est girard on re cupe re la liste des fonctions syme triques e le mentaires de 1 a n et s il est e gal a close la n ie me fonction syme trique e le mentaire Autres fonctions de changements de bases Chapter 34 Symmetries 345 comp2ele comp2pui ele2comp ele2pui elem mon2schur multi elem multi pui pui pui2comp puireduc schur2comp pui2polynome x Ipui Function calcul le polyno me en x dont les fonctions puissances des racines sont donne es dans la liste Ipui Aii pui 01 1 4i2 kill labels 00 done Aii polynome2ele x 3 4 x 2 5 x 1 x 401 3 4 5 1 12 ele2pui 3 402 3 4 6 7 413 pui2polynome x 72 3 2 403 x 4x 5x 1 Autres fonctions a voir polynome2ele ele2polynome pui direct orbite lvar_1 lvar_n d_1 d_2 d_n Function Soit f un polynome en n blocs de variables lvar 1 lvar n Soit c i le nombre de variables dans lvar i Et SC le produit des n groupes syme triques d
167. 2 one to the left of the point and one to the right The value 1 for fpprintprec is illegal round x Lisp function round x divisor Lisp function Round the floating point x to the nearest integer The argument must be an ordinary float not a bigfloat The beginning the name indicates this is a Lisp function ii round 2 8 401 3 Chapter 10 Floating Point 107 truncate x Lisp function truncate x divisor Lisp function Truncate the floating point x towards 0 to become an integer The argument must be an ordinary float not a bigfloat The beginning the name indicates this is a Lisp function hii truncate 2 8 01 2 4i2 truncate 2 4 402 2 13 truncate 2 8 403 2 108 Maxima Manual Chapter 11 Contexts 109 11 Contexts 11 1 Definitions for Contexts activate context 1 context n Function Activates the contexts context 1 context n The facts in these contexts are then available to make deductions and retrieve information The facts in these contexts are not listed by facts The variable activecontexts is the list of contexts which are active by way of the activate function activecontexts System variable Default value activecontexts is a list of the contexts which are active by way of the activate function as opposed to being active because they are subcontexts of the current context assume pred 1 pred n Function Adds predicate
168. 203 pos hi4 sign a 1 204 pnz Aib assume pos pred lambda x display x true 416 asksign a x a 206 pos 4i7 asksign a 1 x a 1 407 pos 4i8 asksign foo a x 7 foo a 08 pos Ai9 asksign foo a bar b x foo a Chapter 11 Contexts 111 x 7 bar b 209 pos 4110 asksign log a X a Is a 1 positive negative or zero p 4010 pos Aiii asksign a b x a x b x a x b Is b a positive negative or zero P 1011 neg context Option variable Default value initial context names the collection of facts maintained by assume and forget assume adds facts to the collection named by context while forget removes facts Binding context 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 See context for a general description of the context mechanism contexts Option variable Default value initial global contexts is a list of the contexts which currently exist including the currently active context The context mechanism makes it possible for a user to bind together and name a selected portion of his database called a context Once this is done the user can have Maxima assume or forget large numbers of facts merely by activating or deactivating their context Any symbolic atom can be a
169. 22 5 41 Jacobi jacobi_p n a b x n gt 1 a b gt 1 A amp S page 789 associated Legendre P assoc legendre p n m xp gt 1 A amp S 22 5 37 8 6 6 8 2 5 associated Legendre Q assoclegendre q n m x gt 1 m gt 1 G amp R 8 706 Legendre P legendre p n m x n gt 1 AS 22 5 35 Legendre Q legendre_q n m x n 1 A amp S 8 6 19 spherical Hankel 1st spherical hankell n m 1 A amp S 10 1 36 x spherical Hankel 2nd spherical hankel2 n m 1 A amp S 10 1 17 x spherical Bessel J spherical bessel j n x n gt 1 A amp S 10 1 8 10 1 15 spherical Bessel Y spherical bessel y nx n gt 1 A amp S 10 1 9 10 1 15 spherical harmonic spherical harmonic n nnxiy 1 m lt n Merzbacher 9 64 ultraspherical ultraspherical n a x n gt 1 A amp S 22 5 27 Gegenbauer The specfun package is primarily intended for symbolic computation It is hoped that it gives accurate floating point results as well however no claims are made that the algorithms are well suited for numerical evaluation Some effort however has been made to provide good numerical performance When all arguments except for the order are floats but 156 Maxima Manual not bigfloats many functions in specfun call a float modedeclared version of the Jacobi function This greatly speeds floating point evaluation of the orthogonal polynomials specfun handles most domain errors by returning an unevaluated function No sim plification rules based
170. 27 taylor_truncate_polynomials Option variable nr 327 taylordepth Option variable 326 taylorinfo Function 326 taylorp Function reris pesones RE ERE 326 taytorat Function 327 tcl output Function 97 98 tcontract Function eed mtd 352 tellrat Function oi ses RR REIP Ra 134 tellsimp Function 375 tellsimpafter Function 376 tensorkill System variable 311 Appendix A Function and Variable Index tentex Function ccce rt teet 284 tenth Function 384 tex PUMCHON soto ares 102 103 third Function saisissant sens 384 throw Function olen jee e e ondes 430 time Function ve et RE PIRE recreo 356 timer Function d esse ERR 434 timer devalue Option variable 435 timer info Function 435 tldefint Function 190 tlimit BF nctlon e e dees pwned 167 tlimswitch Option variable 167 to lisp Function ier tem ciri irori 23 todd_coxeter Function 353 totaldisrep Function 135 totalfourier Function 221 totient Function 334 tpartpol Function 352 tr Variable e be REPUERMEROEIS 311 tr array as ref Option variable 418 tr bound fu
171. 3 mcs 1 L1 d 2a Cht4 mcs 1 2 2 x Cht5 mcs liy a 8 x d x 416 mcs m 1 4 4 2d x tT mcs 2 25 24 1 a cos y 4t8 mcs 2 3 3 sin y 2 x sin y 49 mcs oo do 33 1 a t10 mcs cos y sin y Chapter 30 ctensor 289 d x 4t11 mcs 4 4 1 2a 4011 done 30 2 Definitions for ctensor 30 2 1 Initialization and setup csetup Function A function in the ctensor component tensor package which initializes the package and allows the user to enter a metric interactively See ctensor for more details cmetric dis Function cmetric Function A function in the ctensor component tensor package that computes the metric inverse and sets up the package for further calculations If cframe_flag is false the function computes the inverse metric ug from the user defined matrix 1g The metric determinant is also computed and stored in the variable gdet Furthermore the package determines if the metric is diagonal and sets the value of diagmetric accordingly If the optional argument dis is present and not equal to false the user is prompted to see the metric inverse If cframe_flag is true the function expects that the values of fri the inverse frame matrix and 1fg the frame metric are defined From these the frame matrix fr and the inverse frame metric ufg are computed ct coordsys coordinate system extra arg Function ct coordsys coordinate system Function Sets up a pred
172. 3 Garbage Collection Symbolic computation tends to create a good deal of garbage and effective handling of this can be crucial to successful completion of some programs Under GCL on UNIX systems where the mprotect system call is available including SUN OS 4 0 and some variants of BSD a stratified garbage collection is available This limits the collection to pages which have been recently written to See the GCL documen tation under ALLOCATE and GBC At the Lisp level doing setq si notify gbc t will help you determine which areas might need more space 3 4 Documentation The Maxima on line user s manual can be viewed in different forms From the Maxima interactive prompt the user s manual is viewed as plain text by the command i e the describe function The user s manual is viewed as info hypertext by the info viewer program and as a web page by any ordinary web browser example displays examples for many Maxima functions For example Aii example integrate yields 112 test f block u u integrate f x ratsimp f diff u x 402 test f block u u integrate f x ratsimp f diff u x 413 test sin x 403 0 114 test 1 x 1 404 0 hib test 1 x72 1 405 0 and additional output 3 5 Definitions for Help demo filename Function Evaluates Maxima expressions in filename and displays the results demo pauses after evaluating each expression and continues after the user enters a car
173. 416 Maxima Manual array yi dimi dim2 should be used when first declaring the bounds of the array If all the elements of the array are of mode fixnum float use fixnum float instead of complete Also if every element of the array is of the same mode say m then mode declare completearray yi m should be used for efficient translation Numeric code using arrays might run faster by declaring the expected size of the array as in mode_declare completearray a 10 10 float for a floating point number array which is 10 x 10 One may declare the mode of the result of a function by using function f 1 f 2 as an argument here f 1 f 2 are the names of functions For example the expression mode declare function f 1 f 2 fixnum declares that the values returned by f 1 f 2 are single word integers modedeclare is a synonym for mode declare mode identity arg_1 arg_2 Function A special form used with mode declare and macros to declare e g a list of lists of flonums or other compound data object The first argument to mode identity is a primitive value mode name as given to mode declare i e one of float fixnum number list or any and the second argument is an expression which is evaluated and returned as the value of mode identity However if the return value is not allowed by the mode declared in the first argument an error or warning is signalled The import
174. 416 get aa cc 406 bb i7 qput foo bar baz 407 bar 418 properties foo 408 value user properties baz 419 get C foo baz 09 bar rem atom indicator Function Removes the property indicated by indicator from atom remove a 1 p 1 a n p n Function remove a 1 a m p 1 p n Function remove a operator Function remove a transfun Function remove all p Function Removes properties associated with atoms remove a p_l an p n removes property p_k from atom a_k remove a 1 am p_l p n removes properties p_l p n from atoms a 1 a m There may be more than one pair of lists remove all p removes the property p from all atoms which have it The removed properties may be system defined properties such as function or mode_ declare or user defined properties A property may be transfun to remove the translated Lisp version of a function After executing this the Maxima version of the function is executed rather than the translated version 364 Maxima Manual remove a operator or equivalently remove a op removes from a the op erator properties declared by prefix infix nary postfix matchfix or nofix Note that the name of the operator must be written as a quoted string remove always returns done whether or not an atom has a specified property This behavior is unlike the more specific remove functions remva
175. 5 405 load ctensor share tensor ctensor mac ct coordsys r cos theta cos phi r cos theta sin phi r sin theta r theta phi done lg trigsimp 1g 1 0 0 2 o r 0 2 2 0 O r cos theta ct coords r theta phi dim 3 Transformation functions can also be used when cframe_flag is true Chii 01 412 02 413 403 load ctensor share tensor ctensor mac cframe_flag true true ct coordsys r cos theta cos phi r cos theta sin phi r sin theta r theta phi l done Chapter 30 ctensor 291 114 fri cos phi cos theta cos phi r sin theta sin phi r cos theta 404 sin phi cos theta sin phi r sin theta cos phi r cos theta sin theta r cos theta 0 hib cmetric 05 false 416 lg trigsimp 1g 1 0 0 2 406 Lo r 0 2 2 O O r cos theta The optional argument extra arg can be any one of the following cylindrical tells ct coordsys to attach an additional cylindrical coordinate minkowski tells ct coordsys to attach an additional coordinate with negative metric signature all tells ct coordsys to call cmetric and christof false after setting up the metric If the global variable verbose is set to true ct coordsys displays the values of dim ct coords and either 1g or 1fg and fri depending on the value of cframe flag init ctensor Function Initializes the ctensor package
176. 5 x 5 2E 155 112 expr2 horner A x keepfloat true 402 1 0E 155 x 5 5 x 5 2E 155 413 ev expr x 1e155 Maxima encountered a Lisp error floating point overflow Automatically continuing To reenable the Lisp debugger set debugger hook to nil 114 ev expr2 x 1e155 04 7 0E 154 interpolate f x x a b Function interpolate f a b Function Finds the zero of function f as variable x varies over the range a b The function must have a different sign at each endpoint If this condition is not met the action of the function is governed by intpolerror If intpolerror is true then an error oc curs otherwise the value of intpolerror is returned thus for plotting intpolerror might be set to 0 0 Otherwise given that Maxima can evaluate the first argument in the specified range and that it is continuous interpolate is guaranteed to come up with the zero or one of them if there is more than one zero The accuracy of interpolate is governed by intpolabs and intpolrel which must be non negative floating point numbers interpolate will stop when the first arg evaluates to some thing less than or equal to intpolabs or if successive approximants to the root differ by no more than intpolrel one of the approximants gt The default values of Chapter 24 Numerical 219 intpolabs and intpolrel are 0 0 so interpolate gets as good an answer as is pos sible with the single precision arithmetic we have The fi
177. 7 Matrices and Linear Algebra 237 entermatrix m n Function Returns an m by n matrix reading the elements interactively If n is equal to m Maxima prompts for the type of the matrix diagonal symmetric antisymmetric or general and for each element Each response is terminated by a semicolon or dollar sign If n is not equal to m Maxima prompts for each element The elements may be any expressions which are evaluated entermatrix evaluates its arguments hi1 n 3 12 m entermatrix n n Is the matrix 1 Diagonal 2 Symmetric 3 Antisymmetric 4 General Answer 1 2 3 or 4 1 Row 1 Column 1 atb n Row 2 Column 2 a b n 1 Row 3 Column 3 a b n 2 Matrix entered 413 m 3 b a 0 0 03 4 0 b a 0 5 0 0 b a genmatrix a 12 j 2 i1 j 1 Function genmatrix a i_2 j_2 il Function genmatrix a i 2 j 2 Function Returns a matrix generated from a taking element a i 1 j 1 as the upper left el ement and a i 2 j 2 as the lower right element of the matrix Here a is an array created by array but not by make array or an array function An array function is created like other functions with or define but arguments are enclosed in square brackets instead of parentheses If j 1 is omitted it is assumed equal to i 1 If both j 1 and i 1 are omitted both are assumed equal to 1 If a selected element i j of the array is undef
178. A 1 B ER a b AB 1 2 sqrt x sqrt X X 4 X X 4 3 X 3 90 Maxima Manual dispterms expr Function Displays expr in parts one below the other That is first the operator of expr is displayed then each term in a sum or factor in a product or part of a more general expression is displayed separately This is useful if expr is too large to be otherwise displayed For example if P1 P2 are very large expressions then the display program may run out of storage space in trying to display P1 P2 all at once However dispterms P1 P2 displays P1 then below it P2 etc When not using dispterms if an exponential expression is too wide to be displayed as A B it appears as expt A B or as ncexpt A B in the case of A B error size Option variable Default value 10 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 function 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 Otherwise the expression is smaller than error size and the expression is displayed in the message See also error and error syms Example The size of U as determined by ERROR SIZE is 24 Wii U C D E B A cos X 1 15 4i2 error size 20 113 error Example expression
179. Aii ratweight a 1 b 1 A01 Cas 1 b 1 Ai2 expri rat a b 1 Ai3 expri 2 2 2 403 R b O44 2 b ta 2a 1 4i4 ratwtlvl 1 Aib expri 2 405 R 2 b 9 a 1 ratweights System variable Default value ratweights is the list of weights assigned by ratweight The list is cumulative each call to ratweight places additional items in the list kill ratweights and save ratweights both work as expected ratwtlvl Option variable Default value false ratwtlvl is used in combination with the ratweight function to control the trun cation of canonical rational expressions CRE For the default value of false no truncation occurs remainder p 1 p_2 Function remainder p 1 p 2 x 1 x n Function Returns the remainder of the polynomial p 1 divided by the polynomial p 2 The arguments x 1 x_n are interpreted as in ratvars remainder returns the second element of the two element list returned by divide resultant p 1 p 2 x Function resultant Variable Computes the resultant of the two polynomials p 1 and p 2 eliminating the variable x The resultant is a determinant of the coefficients of x in p 1 and p 2 which equals zero if and only if p 1 and p_2 have a non constant factor in common 134 Maxima Manual If p 1 or p 2 can be factored it may be desirable to call factor before calling resultant The variable resultant controls which algorithm will be used to compute the re su
180. An alternate method is used to compute the frame bracket ifb if the iframe bracket form flag is set to false 4i8 block iframe bracket form false ishow ifb a b c 448 iframes T 6 7 6 LT ifr ifr ifr ifr ifri a b 7 a AT b c 46 Function Since in this version of Maxima contraction identities for ifr and ifri are always defined as is the frame bracket ifb this function does nothing ifb Variable The frame bracket The contribution of the frame metric to the connection coefficients is expressed using the frame bracket Chapter 29 itensor 277 iccl icc2 The frame bracket itself is defined in terms of the frame field and frame metric Two alternate methods of computation are used depending on the value of frame_ bracket_form If true the default or if the itorsion_flag is true d e f ifb ifr ifr ifri ifri ifri itr abc b o a d e a e d a f de Otherwise e d d e ifb ifr ifr ifr ifr ifri abc b c e b e C ad Variable Connection coefficients of the first kind In itensor defined as icci ichri ikti inmci abc abc abc abc In this expression if iframe_flag is true the Christoffel symbol ichr1 is replaced with the frame connection coefficient ifci If itorsion_flag is false ikt1 will be omitted It is also omitted if a frame base is used as the torsion is already calculated as part of the frame bracket Lastly of inonmet flag is false inmc1 will not be present
181. Examples Aii lispdisp false 412 foo bar 202 foo bar 113 lispdisp true 414 foo bar 204 foo bar load filename Function Evaluates expressions in filename thus bringing variables functions and other objects into Maxima The binding of any existing object is clobbered by the binding recovered from filename To find the file load calls file search with file search maxima and file search lisp as the search directories If load succeeds it returns the name of the file Otherwise load prints an error message load works equally well for Lisp code and Maxima code Files created by save translate file and compile file which create Lisp code and stringout which creates Maxima code can all be processed by load load calls loadfile to load Lisp files and batchload to load Maxima files See also loadfile batch batchload and demo loadfile processes Lisp files batch batchload and demo process Maxima files See file search for more detail about the file search mechanism load evaluates its argument loadfile filename Function Evaluates Lisp expressions in filename loadfile does not invoke file search so filename must include the file extension and as much of the path as needed to find the file loadfile can process files created by save translate file and compile file The user may find it more convenient to use load instead of loadfile loadfile quotes its argument so filename must be a literal s
182. Function tlimit expr Function Returns limit with tlimswitch set to true tlimswitch Option variable Default value false When tlimswitch is true it causes the limit package to use Taylor series when possible 168 Maxima Manual Chapter 20 Differentiation 169 20 Differentiation 20 1 Definitions for Differentiation antid expr x u x Function Returns a two element list such that an antiderivative of expr with respect to x can be constructed from the list T he expression expr may contain an unknown function u and its derivatives Let L a list of two elements be the return value of antid Then L 1 integrate L 2 x is an antiderivative of expr with respect to x When antid succeeds entirely the second element of the return value is zero Other wise the second element is nonzero and the first element is nonzero or zero If antid cannot make any progress the first element is zero and the second nonzero load antid loads this function The antid package also defines the functions nonzeroandfreeof and linear antid is related to antidiff as follows Let L a list of two elements be the return value of antid Then the return value of antidiff is equal to L 1 integrate L 2 x where x is the variable of integration Examples Aii load antid 112 expr exp z x diff zGO x y x z x d 02 y x he z x dx Ai3 al antid expr x z x z x z x d 403 yGO he he E y x
183. GUI for gnuplot but has fewer overall features than the plain gnuplot interface Mgnuplot requires an external gnuplot installation and Tcl Tk e Value openmath Openmath is a Tcl Tk GUI plotting program It is in cluded in the Maxima distribution e Value ps Generates simple PostScript files directly from Maxima Much more sophisticated PostScript output can be generated from gnuplot by leaving the option plot_format unspecified to accept the default and setting the option gnuplot_term to ps e Option run_viewer controls whether or not the appropriate viewer for the plot format should be run e Default value true Execute the viewer program e Value false Do not execute the viewer program e gnuplot_term Sets the output terminal type for gnuplot e Default value default Gnuplot output is displayed in a separate graphical window e Value dumb Gnuplot output is displayed in the Maxima console by an ASCII art approximation to graphics e Value ps Gnuplot generates commands in the PostScript page description language If the option gnuplot_out_file is set to filename gnuplot writes the PostScript commands to filename Otherwise the commands are printed to the Maxima console e Option gnuplot_out_file Write gnuplot output to a file e Default value false No output file specified e Value filename Example gnuplot_out_file myplot ps This exam ple sends PostScript output to the file myplot ps when used in conjuncti
184. ION resarcir et repe rain 142 cosh Function i pec cscceees tie eR 142 cosnpiflag Option variable 221 Cot Function cei Sade ede pe 142 coth Function edes b RED IRE LETS 142 covdiff Function eec hum 274 covect Function 22242424 host sdiu yes 231 create list Function 252 csc F ticlloh 44 demeure rhin bear ane 142 sch Function 2536 22e made lines 142 cs tup Function siceecibpeeb recita 289 ct_coords Option variable 311 ct_coordsys Function 289 ctaylor Function 343 semestre 294 ctaypov Option variable 309 ctaypt Option variable 309 ctayswitch Option variable 309 ctayvar Option variable 309 ctorsion_flag Option variable 308 ctransform Function 300 ctrgsimp Option variable 308 current_let_rule_package Option variable Ter 368 D dblint P nctlon cete bre e edere 180 deactivate Function issues 112 debugmode Option variable 16 declare Function 48 declare translated Function 421 declare weight Function 251 decsym Function 267 default_let_rule_package Option variable Pc 368 d fcon Function cci RR ped 261 define Function
185. Maxima Manual Maxima is a computer algebra system implemented in Lisp Maxima is derived from the Macsyma system developed at MIT in the years 1968 through 1982 as part of Project MAC MIT turned over a copy of the Macsyma source code to the Department of Energy in 1982 that version is now known as DOE Macsyma A copy of DOE Macsyma was maintained by Professor William F Schelter of the University of Texas from 1982 until his death in 2001 In 1998 Schelter obtained permission from the Department of Energy to release the DOE Macsyma source code under the GNU Public License and in 2000 he initiated the Maxima project at SourceForge to maintain and develop DOE Macsyma now called Maxima Maxima Manual Chapter 1 Introduction to Maxima 3 1 Introduction to Maxima Start Maxima with the command maxima Maxima will display version information and a prompt End each Maxima command with a semicolon End the session with the command quit Here s a sample session wfsCchromium maxima Maxima 5 9 1 http maxima sourceforge net Using Lisp CMU Common Lisp 19a Distributed under the GNU Public License See the file COPYING Dedicated to the memory of William Schelter This is a development version of Maxima The function bug_report provides bug reporting information hii factor 10 8 4 2 01 2 3 5 7 i2 expand x y 6 6 5 2 4 3 3 4 2 5 6 402 y 6xy 15x y 20x y 15x y 6x y x 413 factor x 6 1 2
186. Maxima Manual multivariate expression is displayed just as in the rational function package When psexpand is multi then terms with the same total degree in the variables are grouped together See also the taylor logexpand switch for controlling expansion Examples Aii taylor sqrt sin x a x 1 x 0 3 2 2 a 1 x a 2a 1 x 01 T 1 2 8 3 2 3 Za 9a 9a 1 x 48 412 4 2 3 x 402 T l1 m tee sst 6 413 taylor sqrt x 1 x 0 5 2 3 4 5 x x x 5x TR 403 T i 4 4 2 8 16 128 256 hi4 4 2 404 T 1 x Aib product 1 x i 2 5 i 1 inf 1 x 2 inf Fog i 2 5 tro x 1 Fog i 1 hob O 2 a i 416 ev taylor x 0 3 keepfloat 2 3 406 T 1 2 5 x t 3 3 5 x 6 5625 x 417 taylor 1 log x 1 x 0 3 2 3 1 1 X X 19 x 507 T p s ss ape sassa 4 X 2 2 24 720 418 taylor cos x sec x x 0 5 4 2 x Chapter 32 Series 325 408 T x 6 119 taylor cos x sec x 73 x 0 5 409 T 0 4110 taylor 1 cos x sec x 73 x 0 5 2 4 1 1 11 347 6767 x 15377 x fo10 T 6 4 2 15120 604800 7983360 X 2x 120 x 4i11 taylor sqrt 1 k 2 sin x 2 x 0 6 2 2 4 2 4 k x 3k 4k x 4o11 T 1 2 24 6 4 2 6 45 k 6
187. N n if 405 gt binomial n i4 binomial n n i x 1 i n n n x 1 x 1 x 1 2 Ai6 ultraspherical n 3 2 2 Chapter 17 Orthogonal Polynomials 157 406 genfact 3 n 1 gt 3 binomial n 1 1 i 1 n binomial n 1 n if n 1 3 n 1 n genfact 2 n 1 2 The first and last terms of the sum are added outside the summation Removing these two terms avoids Maxima bugs associated with 0 terms in a sum that should evaluate to 1 but evaluate to 0 in a Maxima summation Because the sum index runs from 1 to n 1 the lower sum index will exceed the upper sum index when n 0 setting sumhack to true provides a fix For example Aii load specfun 412 declare n integer i3 e legendre p n x 414 ev e sum n 0 Lower bound to sum 1 is greater than the upper bound 1 an error Quitting To debug this try debugmode true hib ev e sum n 0 sumhack true 05 1 Most functions in specfun have a gradef property derivatives with respect to the order or other function parameters are undefined and an attempt to compute such a derivative yields an error message The specfun package and its documentation were written by Barton Willis of the Uni versity of Nebraska at Kearney It is released under the terms of the General Public License GPL Send bug reports and comments on this package to willisb unk edu In your report please include the Maxima ver
188. Note that the condition while i lt 10 is equivalent to unless i gt 10 and also thru 10 Aii series 1 112 term exp sin x 4i3 for p 1 unless p gt 7 do term diff term x p Series series subst x 0 term x p i4 series s 6 5 4 2 x x x x x 04 x 1 90 240 15 8 2 which gives 8 terms of the Taylor series for e sin x Aii poly 0 4i2 for i 1 thru 5 do for j i step 1 thru 1 do poly poly i x j i3 poly 5 4 3 2 503 5x 9x 12x 14x 15 x 414 guess 3 0 4i5 for i 1 thru 10 do guess subst guess x 0 5 x 10 x if abs guess 2 10 0 00005 then return guess 05 3 162280701754386 This example computes the negative square root of 10 using the Newton Raphson iteration a maximum of 10 times Had the convergence criterion not been met the value returned would have been done Instead of always adding a quantity to the control variable one may sometimes wish to change it in some other way for each iteration In this case one may use next expression instead of step increment This will cause the control variable to be set to the result of evaluating expression each time through the loop 416 for count 2 next 3 count thru 20 do display count count 2 count 6 426 Maxima Manual count 18 As an alternative to for variable value do the syntax for variable from value do may be used This permits the from value to be pla
189. Q0 01 x Maxima s orderlessp has another bug that can cause problems with set functions namely that the ordering predicate orderlessp is not transitive The simplest known example that shows this is 388 Maxima Manual Chil qr x 28 112 r x 1 2 413 s x x 2 4i4 orderlessp q r 504 true Aib orderlessp r s 405 true 416 orderlessp q s 406 false This bug can cause trouble will all set functions as well as with Maxima functions in general It s likely but not certain that if all set members are either in CRE form or have been simplified using ratsimp this bug will not manifest Maxima s orderless and ordergreat mechanisms are incompatible with the set func tions If you need to use either orderless or ordergreat issue these commands before constructing any sets and do not use the unorder command You may encounter two other minor bugs Maxima versions 5 5 and earlier had a bug in the tex function that makes the empty set incorrectly translate to TeX this bug is fixed in the Maxima 5 9 0 Additionally the setup autoload function in Maxima 5 9 0 is broken a fix is in the nset init lisp file located in the directory maxima share contrib nset Maxima s sign function has a bug that may cause the Kronecker delta function to mis behave for example Aii kron delta 1 sqrt 2 sqrt 2 2 401 0 The correct value is 1 the bug is related to the sign bug Aii sign 1 sqrt 2 sqrt 2 2
190. RETIA 148 airy ai Function 148 airy bi Function 149 airy dai Function 148 airy dbi Funcion cited pierde 149 alg type Function ood eer eet dns 315 algebraic Option variable 115 algepsilon Option variable 105 algexact Option variable 197 algsys Function 197 alias Function cota 16 aliases System variable 359 all dotsimp denoms Option variable 253 allbut Keyword 29 allroots Function 199 allsym Option variable 267 alphabetic Declaration 359 and Operator vacas py hha eee UPPER 28 antid Function 169 antidiff Function 170 antisymmetric Declaration 29 append Function 381 appendfile Function 87 apply Function miserias e tede IRSE RR 406 applyi Function 367 apply2 Function 367 applyb1 Function 367 apropos Function 359 args Function ocre est 360 array Function ecco men dass ge 225 arrayapply Function 225 arrayinfo Function 225 arraymake Function
191. Reprints the most recent error message The variable error holds the message and errormsg formats and prints it Special operator Used in iterations See do for a description of Maxima s iteration facilities go tag Function if is used within a block to transfer control to the statement of the block which is tagged with the argument to go To tag a statement precede it by an atomic argument as another statement in the block For example block x x 1 loop x 1 go loop The argument to go must be the name of a tag appearing in the same block One cannot use go to transfer to tag in a block other than the one containing the go Special operator The if statement is used for conditional execution The syntax is if condition then expr 1 5 else expr 2 The result of an if statement is expr_1 if condition is true and expr 2 otherwise expr 1 and expr 2 are any Maxima expressions including nested if statements and condition is an expression which evaluates to true or false and is composed of relational and logical operators which are as follows Operation Symbol Type less than lt relational infix less than lt or equal to relational infix 428 Maxima Manual equality syntactic relational infix negation of E relational infix equality value equal relational function negation of equal notequal relational function greater than gt or equal to relational infix greater than gt relational infi
192. UGGER THROUGH EMACS If the user is running the code under GNU emacs in a shell window dbl shell or is running the graphical interface version xmaxima then if he stops at a break point he will see his current position in the source file which will be displayed in the other half of the window either highlighted in red or with a little arrow pointing at the right line He can advance single lines at a time by typing M n Alt n Under Emacs you should run in a db1 shell which requires the db1 e1 file in the elisp directory Make sure you install the elisp files or add the Maxima elisp directory to your path e g add the following to your emacs file or the site init el setq load path cons usr share maxima 5 9 1 emacs load path autoload dbl db1 then in emacs M x dbl should start a shell window in which you can run programs for example Maxima gcl gdb etc This shell window also knows about source level debugging and display of source code in the other window The user may set a break point at a certain line of the file by typing C x space This figures out which function the cursor is in and then it sees which line of that function the cursor is on If the cursor is on say line 2 of foo then it will insert in the other window the command br foo 2 to break foo at its second line To have this enabled the user must have maxima mode el turned on in the window in which the file foobar mac is visiting There ar
193. Variable Connection coefficients of the second kind In itensor defined as C fe c G icc2 ichr2 ikt2 inmc2 ab ab ab ab In this expression if iframe flag is true the Christoffel symbol ichr2 is replaced with the frame connection coefficient ifc2 If itorsion flag is false ikt2 will be omitted It is also omitted if a frame base is used as the torsion is already calculated as part of the frame bracket Lastly of inonmet flag is false inmc2 will not be present 278 Maxima Manual ifcl Variable Frame coefficient of the first kind also known as Ricci rotation coefficients This tensor represents the contribution of the frame metric to the connection coefficient of the first kind Defined as ifc2 Variable Frame coefficient of the first kind This tensor represents the contribution of the frame metric to the connection coefficient of the first kind Defined as a permutation of the frame bracket ifb with the appropriate indices raised and lowered as necessary cd ifc2 ifg ifci ab abd ifr Variable The frame field Contracts with the inverse frame field ifri to form the frame metric ifg ifri Variable The inverse frame field Specifies the frame base basis vectors Along with the frame metric it forms the basis of all calculations based on frames ifg Variable The frame metric Defaults to kdelta but can be changed using components ifgi Variable The inverse frame metric Contracts with the frame metric
194. a 4i b and a 4i b may both be displayed the same way noeval Special symbol noeval suppresses the evaluation phase of ev This is useful in conjunction with other switches and in causing expressions to be resimplified without being reevaluated noun Declaration noun is one of the options of the declare command It makes a function so declared a noun meaning that it won t be evaluated automatically noundisp Option variable Default value false When noundisp is true nouns display with a single quote This switch is always true when displaying function definitions nouns Special symbol nouns is an evflag When used as an option to the ev command nouns converts all noun forms occurring in the expression being ev d to verbs i e evaluates them See also noun nounify verb and verbify numer Special symbol numer causes some mathematical functions including exponentiation with numerical arguments to be evaluated in floating point It causes variables in expr which have been given numervals to be replaced by their values It also sets the float switch on numerval x 1 expr 1 var n expr n Function Declares the variables x 1 x_n to have numeric values equal to expr_1 expr_ n The numeric value is evaluated and substituted for the variable in any expressions in which the variable occurs if the numer flag is true See also ev The expressions expr 1 expr n can be any expressions not necessarily nu
195. a This is one area where we differ from Abramowitz and Stegun who use the modular angle for the elliptic functions The following relationships are true m k and k sin a The elliptic functions and integrals are primarily intended to support symbolic compu tation Therefore most of derivatives of the functions and integrals are known However if floating point values are given a floating point result is returned Support for most of the other properties of elliptic functions and integrals other than derivatives has not yet been written Some examples of elliptic functions hi1 jacobi_sn u m A01 jacobi sn u m 412 jacobi_sn u 1 502 tanh u 413 jacobi_sn u 0 03 sin u 4i4 diff jacobi_sn u m u 404 jacobi cn u m jacobi dn u m Aib diff jacobi sn u m m 405 jacobi cn u m jacobi dn u m elliptic e asin jacobi sn u m m U essen Saas ar 2 m 1 m 2 jacobi cn u m jacobi sn u m T eee ee mmm mmm mmm mm 2 1 m Some examples of elliptic integrals Aii elliptic f phi m 01 elliptic_f phi m 162 Maxima Manual 4i2 elliptic f phi 0 402 phi 13 elliptic f phi 1 phi pi 203 log tan 2 4 4i4 elliptic e phi 1 404 sin phi Aib elliptic e phi 0 405 phi 416 elliptic kc 1 2 1 406 elliptic_kc 2 117 makegamma 7 21 gamma 4 CeO SSS 4 sqrt pi 4i8 diff elliptic
196. a particular call is evaluated the expansion is substi tuted for the call This requires slightly less storage than when macroexpansion is set to expand and is just as fast but has the disadvantage that the origi nal macro call is no longer remembered and hence the expansion will be seen if display or grind is called See documentation for translate and macros for more details mode checkp Option variable Default value true When mode checkp is true mode declare checks the modes of bound variables mode check errorp Option variable Default value false When mode check errorp is true mode declare calls error mode check warnp Option variable Default value true When mode check warnp is true mode errors are described mode declare y 1 mode 1 y n mode n Function mode declare is used to declare the modes of variables and functions for subsequent translation or compilation of functions mode declare is typically placed at the beginning of a function definition at the beginning of a Maxima script or executed at the interactive prompt The arguments of mode declare are pairs consisting of a variable and a mode which is one of boolean fixnum number rational or float Each variable may also be a list of variables all of which are declared to have the same mode If a variable is an array and if every element of the array which is referenced has a value then array yi complete dimi dim2 rather than
197. a time f x with the double single quotes applied to f instead of f x2 means return the verb form of f applied to x 4 2 Definitions for Command Line alias new name 1 old name 1 new name n old name n Function provides an alternate name for a user or system function variable array etc Any even number of arguments may be used debugmode Option variable Default value 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 See debugging for a list of debugger commands Enabling debugmode will not catch Lisp errors Chapter 4 Command Line 17 ev expr arg 1 arg_n Function Evaluates the expression expr in the environment specified by the arguments arg 1 arg_n The arguments are switches Boolean flags assignments equations and functions ev returns the result another expression of the evaluation The evaluation is carried out in steps as follows 1 First the environment is set up by scanning the arguments which may be any or all of the following e simp causes expr to be simplified regardless of the setting of the switch simp which inhibits simplification if false e noeval supresses the evaluation phase of ev see step 4 below This is useful in conjunction with the other switches and in causing expr to be resimplified without being reevalua
198. aal aa0 25 4 20 40 120 8 24 koll esse see RSS 30 4112 expand 4 Lo12 wee Ponts The expression quickly becomes complicated if not simplified at each stage so the simplification must be part of the definition Hence the buildq is useful for building the form 41 4 Definitions for Function Definition apply x 1 x n Function Returns the result of applying the function f to the list of arguments x 1 x n f is the name of a function or a lambda expression This is useful when it is desired to compute the arguments to a function before applying that function For example if 1 is the list 1 5 10 2 4 3 then apply min 1 gives 10 2 apply is also useful when calling functions which do not have their arguments evaluated if it is desired to cause evaluation of them For example if filespec is a variable bound to the list test case then apply closefile filespec is equivalent to closefile test case In general the first argument to apply should be preceded by a to make it evaluate to itself Since some atomic variables have the same name as certain functions the values of the variable would be Chapter 41 Function Definition 407 used rather than the function because apply has its first argument evaluated as well as its second block v_1 v m expr 1 expr_n Function block expr 1 expr_n Function block evaluates expr 1
199. about the delta function Example Aii laplace delta t a sin b t t s Is a positive negative or zero p as 401 sin a b e dependencies System variable Default value dependencies is the list of atoms which have functional dependencies assigned by depends or gradef The dependencies list is cumulative each call to depends or gradef appends additional items See depends and gradef depends 1 x 1 n x_n Function Declares functional dependencies among variables for the purpose of computing derivatives In the absence of declared dependence diff f x yields zero If Chapter 20 Differentiation 173 depends f x is declared diff f x yields a symbolic derivative that is a diff noun Each argument f 1 x 1 etc can be the name of a variable or array or a list of names Every element of f i perhaps just a single element is declared to depend on every element of x_i perhaps just a single element If some fi is the name of an array or contains the name of an array all elements of the array depend on x_i diff recognizes indirect dependencies established by depends and applies the chain rule in these cases remove f dependency removes all dependencies declared for f depends returns a list of the dependencies established The dependencies are ap pended to the global variable dependencies depends evaluates its arguments diff is the only Maxima command which recognizes dependencie
200. age file in order to pick out useful expressions playback time displays the computation time for each expression playback grind displays input expressions in the same format as the grind func tion Output expressions are not affected by the grind option See grind Arguments may be combined e g playback 5 10 grind time slow printprops a i Function printprops a 1 a n i Function printprops all i Function Displays the property with the indicator i associated with the atom a a may also be a list of atoms or the atom all in which case all of the atoms with the given Chapter 4 Command Line 23 property will be used For example printprops f gl atvalue printprops is for properties that cannot otherwise be displayed i e for atvalue atomgrad gradef and matchdeclare prompt Option variable Default value _ prompt is the prompt symbol of the demo function playback slow mode and the Maxima break loop as invoked by break quit Function Terminates the Maxima session Note that the function must be invoked as quit O or quit not quit by itself To stop a lengthy computation type control C The default action is to return to the Maxima prompt If debugger hook is nil control C opens the Lisp debugger See also debugging remfunction f 1 fn Function remfunction all Function Removes the user defined functions f 1 f n from Maxima remfunction all removes all fu
201. alcule la rVesolvante du polynN ome P x par le polyn ome Q x Voir e galement resolvante produit sym resolvante resolvante_alterneel resolvante_ klein resolvante klein3 resolvante vierer resolvante diedrale resolvante vierer P x Function calcule la transformation de P x par la fonction x 1 x_2 x_3 x 4 Voir e galement resolvante produit sym resolvante unitaire resolvante_alterneel resolvante_klein resolvante_klein3 resolvante resolvante_diedrale schur2comp P Lvar Function P est un polyno mes en les variables contenues dans la liste l var Chacune des variables de Ivar repre sente une fonction syme trique comple te On repre sente dans Ivar la ie me fonction syme trique complete comme la concate nation de la lettre h avec l entier i hi Cette fonction donne l expression de P en fonction des fonctions de Schur Aii schur2comp hi h2 h3 h1 h2 h3 01 s 1 2 412 schur2comp a h3 h3 02 s a 3 352 Maxima Manual somrac 1 k Function la liste 1 contient les fonctions syme triques e le mentaires d un polyno me P On calcul le polyno mes dont les racines sont les sommes K a K distinctes des racines de P Voir e galement prodrac tcontract pol Ivar Function teste si le polyno me pol est syme trique en les variables contenues dans la liste Ivar Si oui il rend une forme contracte e comme la fonction contract Autres fonctions de changements de repre sentations
202. ames assigned to setcheck must be quoted if they would otherwise evaluate to something other than themselves For example if x y and z are already bound then enter setcheck x y z to put them on the list of variables to check No printout is generated when a variable on the setcheck list is assigned to itself e g X X setcheckbreak Option variable Default value false When setcheckbreak is true Maxima will present a break prompt whenever a variable on the setcheck list is assigned a new value The break occurs before the assignment is carried out At this point setval holds the value to which the variable is about to be assigned Hence one may assign a different value by assigning to setval See also setcheck and setval setval System variable Holds the value to which a variable is about to be set when a setcheckbreak occurs Hence one may assign a different value by assigning to setval See also setcheck and setcheckbreak timer f1 n Function timer Function Given functions f 1 f n timer puts each one on the list of functions for which timing statistics are collected timer f timer g puts f and then g onto the list the list accumulates from one call to the next With no arguments timer returns the list of timed functions Maxima records how much time is spent executing each function on the list of timed functions timer info returns the timing statistics including the average time
203. ameter inftype determines the integration interval as follows inf The interval is from a to positive infinity minf The interval is from negative infinity to a both The interval is the entire real line The optional arguments epsrel and limit are the desired relative error and the maxi mum number of subintervals respectively epsrel defaults to 1e 8 and limit is 200 quad qagi returns a list of four elements an approximation to the integral the estimated absolute error of the approximation the number integrand evaluations an error code The error code fourth element of the return value can have the values 0 no problems were encountered 1 too many sub intervals were done 2 excessive roundoff error is detected 3 extremely bad integrand behavior occurs 4 failed to converge 5 integral is probably divergent or slowly convergent 6 if the input is invalid Examples Aii quad qagi x 2 exp 4 x x 0 inf 01 0 03125 2 95916102995002E 11 105 0 Ai2 integrate x 2 exp 4 x x 0 inf 1 502 32 quad_qawc f x x c a b epsrel limit Function Numerically compute the Cauchy principal value of b EP a T C using the Quadpack QAWC routine The function to be integrated is f x x c with dependent variable x and the function is to be integrated over the interval a to b Chapter 21 Integration 193 The optional arguments epsrel and limit are the desired relative error and the maxi mum
204. and Tables array name dim_I1 dim n Function array name type dim 1 dim_n Function array name 1 name_m dim_1 dim_n Function Creates an n dimensional array n may be less than or equal to 5 The subscripts for the ith dimension are the integers running from 0 to dim_i array name dim_1 dim_n creates a general array array name type dim 1 dim_n creates an array with elements of a speci fied type type can be fixnum for integers of limited size or flonum for floating point numbers array name_l name_m dim 1 dim_n creates m arrays all of the same dimensions If the user assigns to a subscripted variable before declaring the corresponding array an undeclared array is created Undeclared arrays otherwise known as hashed arrays because hash coding is done on the subscripts are more general than declared arrays The user does not declare their maximum size and they grow dynamically by hashing as more elements are assigned values The subscripts of undeclared arrays need not even be numbers However unless an array is rather sparse it is probably more efficient to declare it when possible than to leave it undeclared The array function can be used to transform an undeclared array into a declared array arrayapply A i 1 i n Function Evaluates A i1 in where A is an array and i 1 i n are integers This is reminiscent of apply except the first
205. and returns the evaluated expression The expression is terminated with a semicolon or dollar sign See also readonly Aii foo 42 12 foo read foo is foo enter new value foo is 42 enter new value atb 73 413 foo 03 b a Chapter 9 Input and Output 99 readonly expr 1 expr n Function Prints expr 1 expr n then reads one expression from the console and returns the expression without evaluation The expression is terminated with a semicolon or dollar sign iil aa 7 112 foo readonly Enter an expression Enter an expression 2 aa aa 402 2 413 foo read Enter an expression Enter an expression 2 aa 403 128 See also read reveal expr depth Function Replaces parts of expr at the specified integer depth with descriptive summaries Sums and differences are replaced by sum n where n is the number of operands of the sum Products are replaced by product n where n is the number of operands of the product Exponentials are replaced by expt Quotients are replaced by quotient Unary negation is replaced by negterm When depth is greater than or equal to the maximum depth of expr reveal expr depth returns expr unmodified reveal evaluates its arguments reveal returns the summarized expression Example Aii e expand a b 2 expand exp a exp b 72 2 2 QE Be b a 2b 2a 2 he he 4e 4i2 reveal e 1
206. and square roots factors in the expression must be integer or rational numbers Maxima does not know about operations on continued fractions outside of cf cf evaluates its arguments after binding listarith to false cf returns a continued fraction represented as a list A continued fraction a 1 b 1 c is represented by the list a b c The list elements a b c must evaluate to integers expr may also contain sqrt n where nis an integer In this case cf will give as many terms of the continued fraction as the value of the variable cflength times the period A continued fraction can be evaluated to a number by evaluating the arithmetic representation returned by cfdisrep See also cfexpand for another way to evaluate a continued fraction See also cfdisrep cfexpand and cflength Examples e expr is an expression comprising continued fractions and square roots of integers Oui ef I5 3 1 111 9 7 3 7 4 3 20 01 59 17 2 1 1 1 27 112 cf 3 17 1 2 5 sqrt 11 8 13 402 0 41 1 1 3 2 1 4 1 9 14 9 2 e cflength controls how many periods of the continued fraction are computed for algebraic irrational numbers Aii cflength 1 112 cf 1 sqrt 5 2 02 1 1 1 1 2 113 cflength 2 hi4 cf 1 sqrt 5 2 04 ity ty ty dy ty Es Le 3 hi5 cflength 3 16 cf 1 sqrt 5 2 406 15 T ty Wy 14 1 1 1 ty 21 e Acontinu
207. ant thing is that the mode of the expression as determined by the Maxima to Lisp translator will be that given as the first argument independent of anything that goes on in the second argument E g x 3 3 mode identity fixnum x yields an error mode identity flonum x returns 3 3 This has a number of uses e g if you knew that first 1 returned a number then you might write mode_ identity number first 1 However a more efficient way to do it would be to define a new primitive firstnumb x buildq x mode identity number x and use firstnumb every time you take the first of a list of numbers transcompile Option variable Default value true When transcompile is true translate and translate file generate declarations to make the translated code more suitable for compilation compfile sets transcompile true for the duration Chapter 41 Function Definition 417 translate 1 f n Function translate functions Function translate all Function Translates the user defined functions f 1 f n from the Maxima language into Lisp and evaluates the Lisp translations Typically the translated functions run faster than the originals translate all or translate functions translates all user defined functions Functions to be translated should include a call to mode declare at the beginning when possible in order to produce more efficient code For example f xXd x2 5 2 block C v 1 v
208. anual unitvector x Function uvect x Function Returns x norm x this is a unit vector in the same direction as x load eigen loads this function uvect is a synonym for unitvector vectorsimp expr Function Applies simplifications and expansions according to the following global flags expandall expanddot expanddotplus expandcross expandcrossplus expandcrosscross expandgrad expandgradplus expandgradprod expanddiv expanddivplus expanddivprod expandcurl expandcurlplus expandcurlcurl expandlaplacian expandlaplacianplus and expandlaplacianprod All these flags have default value false The plus suffix refers to employing additivity or distributivity The prod suffix refers to the expansion for an operand that is any kind of product expandcrosscross Simplifies p q r to p r q p q r expandcurlcurl Simplifies curlcurlp to graddivp divgradp expandlaplaciantodivgrad Simplifies laplacianp to divgradp expandcross Enables expandcrossplus and expandcrosscross expandplus Enables expanddotplus expandcrossplus expandgradplus expanddivplus expandcurlplus and expandlaplacianplus expandprod Enables expandgradprod expanddivprod and expandlaplacianprod These flags have all been declared evflag vect cross Option variable Default value false When vect cross is true it allows DIFF X Y T to work where is defined in SHARE VECT where VECT CROSS is set to true anyway zeromatrix
209. arations will be used The dummy indices are renamed in the same manner as in the rename Function Function Chapter 29 itensor 269 function When canform is applied to a large expression the calculation may take a considerable amount of time This time can be shortened by calling rename on the expression first Also see the example under decsym Note canform may not be able to reduce an expression completely to its simplest form although it will always return a mathematically correct result 29 2 3 Indicial tensor calculus diff expr v 1 n 1 v 2 22 Function is the usual Maxima differentiation function which has been expanded in its abilities for itensor It takes the derivative of expr with respect to v 1 n 1 times with respect to v_2 n_2 times etc For the tensor package the function has been modified so that the v i may be integers from 1 up to the value of the variable dim This will cause the differentiation to be carried out with respect to the v_ith member of the list vect_coords If vect_coords is bound to an atomic variable then that variable subscripted by v i will be used for the variable of differentiation This permits an array of coordinate names or subscripted names like x 1 x 2 to be used idiff expr v_1 n_1 v 2 n 2 Function Indicial differentiation Unlike diff which differentiates with respect to an indepen dent variable idiff can be used to differentiate with respect to a coordi
210. are not yet computed The noun may be applied to its arguments by ev i nouns where i is the noun form of interest integrate handles definite integrals separately from indefinite and employs a range of heuristics to handle each case Special cases of definite integrals include limits of integration equal to zero or infinity inf or minf trigonometric functions with limits of integration equal to zero and pi or 2 pi rational functions integrals related to the definitions of the beta and psi functions and some logarithmic and trigonometric integrals Processing rational functions may include computation of residues If an applicable special case is not found an attempt will be made to compute the indefinite integral and evaluate it at the limits of integration This may include taking a limit as a limit of integration goes to infinity or negative infinity see also 1defint Special cases of indefinite integrals include trigonometric functions exponential and logarithmic functions and rational functions integrate may also make use of a short table of elementary integrals integrate may carry out a change of variable if the integrand has the form f g x diff gGO x integrate attempts to find a subexpression g x such that the derivative of g x divides the integrand This search may make use of derivatives defined by the gradef function See also changevar and antid Chapter 21 Integration 183 If none of the preceding heuristics
211. arentheses around integrate here f 2 a integrate x 3 x 1 a 4 a 1 03 f 2 a 4 4 hi4 _2 7 404 600 Chapter 21 Integration 185 integration constant counter System variable Default value 0 integration constant counter is a counter which is updated each time a constant of integration named by Maxima e g integrationconstanti is introduced into an expression by indefinite integration of an equation integrate use rootsof Option variable Default value false When integrate use rootsof is true and the denominator of a rational function cannot be factored integrate returns the integral in a form which is a sum over the roots not yet known of the denominator For example with integrate use rootsof set to false integrate returns an un solved integral of a rational function in noun form Aii integrate use rootsof false 112 integrate 1 1 x x 5 x p x 4x 5 Tres dx 2x 1 3 2 2 5 atan x x 1 log x x 1 sqrt 3 h02 VS ss Fons 7 14 7 sqrt 3 Now we set the flag to be true and the unsolved part of the integral will be expressed as a summation over the roots of the denominator of the rational function Ai3 integrate use rootsof true Ai4 integrate 1 1 x x 5b x 2 N 4r4 4 Ar4 5 log x 114 gt nn ew e ew e ww ww ww ww nm 2 3 Yr4 2 r4 3 2 r4 in rootsof x x 1 hod 2
212. ares main variables x_1 x_n for rational expressions x_n if present in a rational expression is considered the main variable Otherwise x n 1 is considered the main variable if present and so on through the preceding variables to x_1 which is considered the main variable only if none of the succeeding variables are present If a variable in a rational expression is not present in the ratvars list it is given a lower priority than x 1 The arguments to ratvars can be either variables or non rational functions such as sin x The variable ratvars is a list of the arguments of the function ratvars when it was called most recently Each call to the function ratvars resets the list ratvars clears the list Chapter 12 Polynomials 133 ratweight x 1 w_1 x_n w n Function ratweight Function Assigns a weight w i to the variable x i This causes a term to be replaced by 0 if its weight exceeds the value of the variable ratwtlvl default yields no truncation The weight of a term is the sum of the products of the weight of a variable in the term times its power For example the weight of 3 x 172 x_2 is 2 w 1 w 2 Trun cation according to ratwtlvl is carried out only when multiplying or exponentiating canonical rational expressions CRE ratweight returns the cumulative list of weight assignments Note The ratfac and ratweight schemes are incompatible and may not both be used at the same time Examples
213. ariable Default value false When stringdisp is true strings are displayed enclosed in double quote marks Otherwise quote marks are not displayed stringdisp is always true when displaying a function definition stringdisp is a Lisp variable so it must be written with a leading question mark a Examples Aii stringdisp false 4i2 This is an example string 402 This is an example string 413 foo O print This is a string in a function definition 503 fooQ print This is a string in a function definition 114 stringdisp true Aib This is an example string 505 This is an example string stringout filename expr 1 expr 2 expr 3 Function stringout filename m n Function stringout filename input Function stringout filename functions Function stringout filename values Function stringout writes expressions to a file in the same form the expressions would be typed for input The file can then be used as input for the batch or demo commands and it may be edited for any purpose stringout can be executed while writefile is in progress The general form of stringout writes the values of one or more expressions to the output file Note that if an expression is a variable only the value of the variable is written and not the name of the variable As a useful special case the expressions may be input labels Aii 4i2 i3 or output labels 401 402 403 If grind i
214. ariables maperror Option variable Default value true When maperror is false causes all of the mapping functions for example Chapter 42 Program Flow 429 map f expr 1 expr 2 to 1 stop when they finish going down the shortest expi if not all of the expi are of the same length and 2 apply f to expr_1 expr 2 if the expr i are not all the same type of object If maperror is true then an error message is displayed in the above two instances maplist f expr 1 expr_n Function Returns a list of the applications of f to the parts of the expressions expr 1 expr n f is the name of a function or a lambda expression maplist differs from map f expr 1 expr n which returns an expression with the same main operator as expr i has except for simplifications and the case where map does an apply prederror Option variable Default value true When prederror is true an error message is displayed whenever the predicate of an if statement or an is function fails to evaluate to either true or false If false unknown is returned instead in this case The prederror false mode is not supported in translated code however maybe is supported in translated code See also is and maybe return value Function May be used to exit explicitly from a block bringing its argument See block for more information scanmap f expr Function scanmap f expr bottomup Function Recursively applies f t
215. ariables are in table todd coxeter state 2 Then table i gives the table for the ith variable mulcoset coset i table varnum coset Example Aii symet n create list if j i 1 then p i j 3 else if not i j then p i j 2 else Plisi j 1 n 1 i 1 J lt 3 gt 01 symet n create list if j i 1 then p i j lt 2 gt else if not i j then p i j else p i i j 1 n 1 is 1 J 112 p i j concat x i concat x j 402 pti j concat x i concat x j 113 symet 5 2 3 2 2 3 03 x1 xl x2 y X2 x1 x3 x2 x3 lt 2 gt lt 2 gt lt 2 gt lt 3 gt lt 2 gt x3 x1 x4 x2 x4 x3 x4 x4 4i4 todd coxeter 403 Rows tried 426 504 120 Aib todd_coxeter 03 x1 Rows tried 213 405 60 416 todd_coxeter 03 x1 x2 Rows tried 71 406 20 354 Maxima Manual WiT table todd coxeter state 2 18 table 1 408 Array SIGNED BYTE 30 0 2 1 3 7 6 5 4 8 11 17 9 12 14 13 20 16 10 18 1915 000000000000 0 0 0 Note only the elements 1 thru 20 of this array 408 are meaningful table 1 4 7 indicates coset4 varl coset7 Chapter 36 Runtime Environment 355 36 Runtime Environment 36 1 Introduction for Runtime Environment maxima init mac is a file which is loaded automatically when Maxima starts You can use maxima init mac to customize your Maxima environment maxima init mac if it exi
216. ase the memory taken up by the value of a symbol one unbinds the output label which shows the bound value as well as unbinding the symbol itself kill quotes its arguments The double single quotes operator defeats the quo tation Chapter 4 Command Line 21 kill symbol unbinds all properties of symbol In contrast remvalue remfunction remarray and remrule unbind a specific property kill always returns done even if an argument has no binding labels symbol Function labels System variable Returns the list of input output or intermediate expression labels which begin with symbol Typically symbol is the value of inchar outchar or linechar The label character may be given with or without a percent sign so for example i and i yield the same result If no labels begin with symbol labels returns an empty list The function labels quotes its argument The double single quotes operator defeats quotation For example labels inchar returns the input labels which begin with the current input label character The variable labels is the list of input output and intermediate expression labels including all previous labels if inchar outchar or linechar were redefined By default Maxima displays the result of each user input expression giving the result an output label The output display is suppressed by terminating the input with dollar sign instead of semicolon An output label is generated but
217. ated from the user supplied nonmetricity vector nm From this the nonmetricity coefficients nmc are computed as follows where D stands for the Kronecker delta When ctorsion flag is set to true the values of kt are substracted from the mixed indexed connection coefficients computed by christof and stored in mcs Similarly if cnonmet flag is set to true the values of nmc are substracted from the mixed indexed connection coefficients If necessary christof calls the functions contortion and nonmetricity in order to compute kt and nm contortion tr Function Computes the 2 1 contortion coefficients from the torsion tensor tr nonmetricity nm Function Computes the 2 1 nonmetricity coefficients from the nonmetricity vector nm 30 2 7 Miscellaneous features ctransform M Function A function in the ctensor component tensor package which will perform a coordi nate transformation upon an arbitrary square symmetric matrix M The user must input the functions which define the transformation Formerly called transform findde A n Function returns a list of the unique differential equations expressions corresponding to the elements of the n dimensional square array A Presently n may be 2 or 3 deindex is a global list containing the indices of A corresponding to these unique differential Chapter 30 ctensor 301 equations For the Einstein tensor ein which is a two dimensional array if com puted for the metric in
218. atensor recognizes as base vectors indexed symbols where the symbol is that stored in asymbol and the index runs between 1 and adim For indexed symbols and indexed symbols only the bilinear forms sf af and av are evaluated The evaluation substitutes the value of aform i j in place of fun v il v jl where v represents the value of asymbol and fun is either af or sf or it substitutes v aform i jl in place of av v i v jl LI LI LJ LJ LJ LJ LJ LJ y Ld m Needless to say the functions sf af and av can be redefined When the atensor package is loaded the following flags are set dotscrules true dotdistrib true dotexptsimp false If you wish to experiment with a nonassociative algebra you may also consider setting dotassoc to false In this case however atensimp will not always be able to obtain the desired simplifications 31 2 Definitions for atensor init atensor alg type opt dims Function init atensor alg type Function Initializes the atensor package with the specified algebra type alg type can be one of the following universal The universal algebra has no commutation rules grassmann The Grassman algebra is defined by the commutation relation u v v u 0 clifford The Clifford algebra is defined by the commutation relation u v v u 2 sf u v where sf is a symmetric scalar valued function For this algebra opt dims can be up to three nonnegative integers representing the number of positive degen erate an
219. ative algebra in affine package 38 2 Definitions for Rules and Patterns apply1 expr rule 1 rule_n Function Repeatedly applies rule 1 to expr until it fails then repeatedly applies the same rule to all subexpressions of expr left to right until rule_1 has failed on all subexpressions Call the result of transforming expr in this manner expr_2 Then rule_2 is applied in the same fashion starting at the top of expr_2 When rule_n fails on the final subexpression the result is returned maxapplydepth is the depth of the deepest subexpressions processed by apply1 and apply2 See also applyb1 apply2 and let apply2 expr rule 1 rule_n Function If rule 1 fails on a given subexpression then rule 2 is repeatedly applied etc Only if all rules fail on a given subexpression is the whole set of rules repeatedly applied to the next subexpression If one of the rules succeeds then the same subexpression is reprocessed starting with the first rule maxapplydepth is the depth of the deepest subexpressions processed by apply1 and apply2 See also apply1 and let applybl expr rule 1 rule_n Function Repeatedly applies rule 1 to the deepest subexpression of expr until it fails then repeatedly applies the same rule one level higher i e larger subexpressions until rule_1 has failed on the top level expression Then rule_2 is applied in the same fashion to the result of rule 1 After rule n has been applied to the top lev
220. ator of C b isn t a list To convert just the top level operator of a list to a set see setify page 398 identity x Function The identity function evaluates to its argument for all inputs To determine if every member of a set is true you can use Ail every identity true true 01 true integer_partitions n Function integer partitions n len Function If the optional second argument len isn t specified return the set of all partitions of the integer n When len is specified return all partitions that have length len or less in this case zeros are appended to each partition with fewer than len terms to make each partition have exactly len terms In either case each partition is a list sorted from greatest to least We say a list a1 m is a partition of a nonnegative integer n provided 1 each a is a nonzero integer and 2 a am n Thus 0 has no partitions Aii integer partitions 3 01 ii 1 1 I2 1 817 4i2 s integer partitions 25 413 cardinality s 403 1958 114 map lambda x apply x s 504 25 Aib integer partitions 5 3 105 112 2 1 ES 1 1 9 2 0 4 1 0 5 0 017 416 integer partitions 5 2 406 3 2 4 1 DE OFF To find all partitions that satisfy a condition use the function subset here is an example that finds all partitions of 10 that consist of prime numbers Aii s integer partitions 10
221. bda expression of n arguments The arguments a 1 a n may be lists or nonlists List arguments may have different lengths Arguments other than lists are treated as lists of length 1 for the purpose of constructing the outer product The result of applying f to the outer product is organized as a nested list The depth of nesting is equal to the number of list arguments arguments other than lists do not contribute a nesting level A list at nesting depth k has the same length as the k th list argument outermap evaluates its arguments See also map maplist and apply Examples hi1 f x y x y 4i2 outermap f 2 3 5 la b c dl 402 2 a 2 b 2 c 2 dl 3 a 3 b 3 c 3 d 5 5 b 5 c 5 dll Ai3 outermap lambda x yl y x 55 99 Z W Z W Z W 503 5 Le 11 55 55 99 99 4i4 g lambda x y zl x y z Aib outermap g la b cl pi 11 17 05 la 11 Api 17 Apil b 11 pi b 17 pil c 11 pi c 17 pil 416 flatten 406 a 11 pi a 17 pi b 11 Api b 17 Api c 11 pi c 17 pil Chapter 43 Debugging 431 43 Debugging 43 1 Source Level Debugging Maxima has a built in source level debugger The user can set a breakpoint at a function and then step line by line from there The call stack may be examined together with the variables bound at that level The command help or h shows the list of debugger command
222. be Chapter 12 Polynomials 125 e If only one substitution is desired then a single equation may be given as first argument 4i4 lratsubst a 2 b a 3 04 ab modulus Option variable Default value false When modulus is a positive number p operations on rational numbers as returned by rat and related functions are carried out modulo p using the so called balanced modulus system in which n modulo p is defined as an integer k in p 1 2 0 p 1 2 when p is odd or p 2 1 0 p 2 when p is even such that a p k equals n for some integer a If expr is already in canonical rational expression CRE form when modulus is reset then you may need to re rat expr e g expr rat ratdisrep expr in order to get correct results Typically modulus is set to a prime number If modulus is set to a positive non prime integer this setting is accepted but a warning message is displayed Maxima will allow zero or a negative integer to be assigned to modulus although it is not clear if that has any useful consequences num expr Function Returns the numerator of expr if it is a ratio If expr is not a ratio expr is returned num evaluates its argument quotient p 1 p_2 Function quotient p 1 p 2 x 1 x_n Function Returns the polynomial p 1 divided by the polynomial p 2 The arguments x 1 x n are interpreted as in ratvars quotient returns the first element of the two element lis
223. ber of arguments such that the arguments occur between matching left and right delimiters The delimiters may be any strings so long as the parser can distinguish the delimiters from the operands and other expressions and operators In practice this rules out unparseable delimiters such as and and may require isolating the delimiters with white space The right delimiter can be the same or different from the left delimiter A left delimiter can be associated with only one right delimiter two different matchfix operators cannot have the same left delimiter An existing operator may be redeclared as a matchfix operator without changing its other properties In particular built in operators such as addition can be declared matchfix but operator functions cannot be defined for built in operators matchfix Idelimiter rdelimiter arg pos pos declares the argument part of speech arg pos and result part of speech pos and the delimiters ldelimiter and rdelimiter The function to carry out a matchfix operation is an ordinary user defined function The operator function is defined in the usual way with the function definition operator or define The arguments may be written between the delimiters or with the left delimiter as a quoted string and the arguments following in parentheses dispfun Idelimiter displays the function definition The only built in matchfix operator is the list constructor Parentheses and doubl
224. bracket b Computes the frame bracket according to the following definition c C c d e ifb ifri ifri ifr ifr ab d e e d a b 30 2 5 Algebraic classification A new feature as of November 2004 of ctensor is its ability to compute the Petrov classification of a 4 dimensional spacetime metric For a demonstration of this capability see the file share tensor petrov dem nptetrad Function Computes a Newman Penrose null tetrad np and its raised index counterpart npi See petrov for an example The null tetrad is constructed on the assumption that a four diemensional orthonor mal frame metric with metric signature is being used The components of the null tetrad are related to the inverse frame matrix as follows np fri fri sqrt 2 1 il 2 np fri fri sqrt 2 2 1 2 np fri Ai fri sqrt 2 3 3 4 np fri fi fri sqrt 2 4 3 4 psi dis Function Computes the five Newman Penrose coefficients psi 0 psi 4 If psi is set to true the coefficients are displayed See petrov for an example These coefficients are computed from the Weyl tensor in a coordinate base If a frame base is used the Weyl tensor is first converted to a coordinate base which can be a 298 Maxima Manual computationally expensive procedure For this reason in some cases it may be more advantageous to use a coordinate base in the first place before the Weyl tensor is computed Note however that con
225. c cess of the integrations may depend upon their values and order potentialzeroloc is initially set to 0 qq Function The package qq which may be loaded with 1oad qq contains a function quanc8 which can take either 3 or 4 arguments The 3 arg version computes the integral of the function specified as the first argument over the interval from lo to hi as in quanc8 function lo hi The function name should be quoted The 4 arg version will compute the integral of the function or expression first arg with respect to the variable second arg over the interval from lo to hi as in quanc8 lt f x or expression in x gt x lo hi The method used is the Newton Cotes 8th order polynomial quadrature and the routine is adaptive It will thus spend time dividing the interval only when necessary to achieve the error conditions specified by the global variables quanc8 relerr default value 1 0e 4 and quanc8_abserr default value 1 0e 8 which give the relative error test integral function computed value lt quanc8 relerr integral function and the absolute error test lintegral function computed value lt quanc8 abserr printfile qq usg yields additional information quanc8 expr a b Function An adaptive integrator Demonstration and usage files are provided The method is to use Newton Cotes 8 panel quadrature rule hence the function name quanc8 available in 3 or 4 arg versions Absolute and relative error checks a
226. cat xx 3 expand x y 3 401 xx 3 y 343 x y 243 x 2 y x 3 disp expr 1 expr 2 Function is like display but only the value of the arguments are displayed rather than equa tions 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 dispcon tensor_1 tensor_2 Function dispcon all Function Displays the contraction properties of its arguments as were given to defcon dispcon a11 displays all the contraction properties which were defined display expr_1 expr 2 Function Displays equations whose left side is expr i unevaluated and whose right side is the value of the expression centered on the line This function is useful in blocks and for statements in order to have intermediate results displayed The arguments to display are usually atoms subscripted variables or function calls See also disp Aii display B 1 21 01 done display2d Option variable Default value true When display2d is false the console display is a string 1 dimensional form rather than a display 2 dimensional form display format internal Option variable Default value false When display format internal is true expressions are displayed without being transformed in ways that hide the internal mathematical representation The display then corresponds to what inpart returns rather than part Examples User part inpart a b A B
227. ccept its arguments in the format of lratsubst That is the first argument may be a single substitution equation or a list of such equations while the second argument is the expression being processed load lrats loads fullratsubst and lratsubst Examples 122 gcd p 1 p_2 x_1 Maxima Manual Ail load lrats e subst can carry out multiple substitutions lratsubst is analogous to subst 12 subst la b c dl a c 02 d b 4i3 lratsubst a 2 b c 2 d a e xcx a c 403 d ac e ad bc e If only one substitution is desired then a single equation may be given as first argument 14 lratsubst a 2 b a 3 504 ab e fullratsubst is equivalent to ratsubst except that it recurses until its result stops changing hib ratsubst b a a 2 a 3 2 405 a b 16 fullratsubst bra a 2 a 3 2 406 a b e fullratsubst also accepts a list of equations or a single equation as first argu ment hi7 fullratsubst a 2 b b 2 c c 2 a a 3 b c 407 b 18 fullratsubst a 2 b a a 3 2 408 a b e fullratsubst may cause an indefinite recursion i9 errcatch fullratsubst b a 2 a 2 a 3 Lisp stack overflow RESET Returns the greatest common divisor of p 1 and p 2 The flag gcd determines which algorithm is employed Setting gcd to ez eez subres red or spmod selects the ezgcd New eez gcd subresultant prs reduced or modular algorithm respecti
228. ce the Riemann tensor of the Schwarzschild metric can be viewed as 304 Maxima Manual Aii load ctensor 401 share tensor ctensor mac 12 ratfac true 402 true 113 ct coordsys exteriorschwarzschild all 403 done 4i4 riemann false 504 done Aib cdisplay riem 0 0 0 0 2 3m r 2m m 2m 0 0 0 4 3 4 f r r riem eur m r 2m T 3 0 0 0 4 r m r 2 m 0 0 0 4 r 2m r 2m 0 0 0 4 Y riem i2 FO 0 0 0 0 0 o 0 0 0 0 0 Pp w aS SSS SSS o o o o LL LL LU LL LU LU LU LL LU LJ N 18 18 JE JE JE JE JE JE JE JE JE JE JE JE JE 305 Chapter 30 ctensor 4 m r 2m laca r 0 o o 0 0 0 o Il SP od riem o o o o o o La LL LJ LJ LU LC C3 LL riem o o o o o o 18 18 0 18 18 18 18 18 18 r 2m CN en LI I I I LL riem 18 18 18 18 18 18 0 r 2m JE 2 r 18 r 2m r LI LL LL LI LL LI LL o o l l l l l l l l l l o o o o r 2m r o o o o o o CU LL LJ LJ E LJ LJ da L5 L3 riem m N Maxima Manual 306 o o e l l l l l l l l o o o r 2m r o o o o o o LL LL LJ LJ LL LJ LJ LL L5 L3 riem o o o o o o
229. ced after the step or next value or after the termination condition If from value is omitted then 1 is used as the initial value Sometimes one may be interested in performing an iteration where the control variable is never actually used It is thus permissible to give only the termination conditions omitting the initialization and updating information as in the following example to compute the square root of 5 using a poor initial guess Aii x 1000 4i2 thru 20 do x 0 5 x 5 0 x 413 x 403 2 23606797749979 114 sqrt 5 numer 404 2 23606797749979 If it is desired one may even omit the termination conditions entirely and just give do body which will continue to evaluate the body indefinitely In this case the function return should be used to terminate execution of the do Aii newton f x ly df dfx df diff f Cx x do y ev df x x f x y if abs f x lt 5e 6 then return x 112 sqr x x72 5 0 4i3 newton sqr 1000 403 2 236068027062195 Note that return when executed causes the current value of x to be returned as the value of the do The block is exited and this value of the do is returned as the value of the block because the do is the last statement in the block One other form of the do is available in Maxima The syntax is for variable in list end tests do body The elements of list are any expressions which will successively be assigned to the variable on
230. ch additionally satisfy the specified degree bounds taylor series is a univariate Taylor series numer deg bound and denom deg bound are positive integers specifying degree bounds on the numerator and denominator taylor series can also be a Laurent series and the degree bounds can be inf which causes all rational functions whose total degree is less than or equal to the length of the power series to be returned Total degree is defined as numer deg bound denom deg bound Length of a power series is defined as truncation level 1 min 0 order of series i1 taylor 1 x x 2 x73 x 0 3 2 3 401 T 1 xt x x 112 pade 1 1 1 402 x 1 413 t taylor 83787 x 10 45552 x 9 187296 x 8 387072 x T 86016 x 6 1507328 x 5 1966080 x 4 4194304 x 3 25165824 x 2 Chapter 32 Series 321 67108864 x 134217728 134217728 x 0 10 2 3 4 5 6 7 x 3x X 15 x 23 x 21 x 189 x 403 T 1 gt 2 16 32 1024 2048 32768 65536 8 9 10 5853 x 2847 x 83787 x 2 4194304 8388608 134217728 414 pade t 4 4 04 There is no rational function of degree 4 numerator denominator with this power series expansion You must in general have degree of the numerator and degree of the denominator adding up to at least the degree of the power series in order to have enough unknown coefficients to solve Aib
231. change 148 16 3 airy airy_ airy_ Maxima Manual Definitions for Special Functions x Function The Airy function Ai If the argument x is a number the numerical value of airy x is returned Otherwise an unevaluated expression airy x is returned The Airy equation diff y x x 2 x y x 0 has two linearly independent so lutions named ai and bi This equation is very popular as an approximation to more complicated problems in many mathematical physics settings load airy loads the functions ai bi dai and dbi The airy package contains routines to compute ai and bi and their derivatives dai and dbi The result is a floating point number if the argument is a number and an unevaluated expression otherwise An error occurs if the argument is large enough to cause an overflow in the expo nentials or a loss of accuracy in sin or cos This makes the range of validity about 2800 to 10738 for ai and dai and 2800 to 25 for bi and dbi These derivative rules are known to Maxima e diff ai x x yields dai x e diff dai x x yields x ai x diff bi x x yields dbi x e diff dbi x x yields x bi x Function values are computed from the convergent Taylor series for abs x lt 3 and from the asymptotic expansions for x lt 3 or x gt 3 as needed This results in only very minor numerical discrepancies at x 3 and x 3 For details see Abramowitz and Stegun Handbook of Mathematical Fu
232. chdeclare b constinterval a 4i4 matchdeclare x atom 4i5 remove integrate outative defmatch checklimits integrate f x a b declare integrate outative 416 integrate sin t t Api x 2 pi x x 2 pi 406 I sin t dt x Api 4i7 checklimits 7 LoT b x 2 fpi a x Api x t f sin t 1418 a 408 x Api 1419 b 209 x 2 Api 4110 f 4010 sin t 4111 x 4011 t defrule rulename pattern replacement Function Defines and names a replacement rule for the given pattern If the rule named ru lename is applied to an expression by apply1 applyb1 or apply2 every subex pression matching the pattern will be replaced by the replacement All variables in the replacement which have been assigned values by the pattern match are assigned those values in the replacement which is then simplified The rules themselves can be treated as functions which transform an expression by one operation of the pattern match and replacement If the match fails the original expression is returned disprule rulename 1 rulename 2 Function disprule all Function Display rules with the names rulename_1 rulename n as returned by defrule tellsimp or tellsimpafter or a pattern defined by defmatch 370 Maxima Manual For example the first rule modifying sin is named sinrulel disprule all displays all rules See also letrules which displays rules de
233. coefficients computed from nm by nonmetricity tensorkill System variable Variable indicating if the tensor package has been initialized Set and used by csetup reset by init ctensor ct coords Option variable Default value An option in the ctensor component tensor package ct_coords contains a list of coordinates While normally defined when the function csetup is called one may redefine the coordinates with the assignment ct coords j1 j2 jn where the j s are the new coordinate names See also csetup 30 2 10 Reserved names The following names are used internally by the ctensor package and should not be redefined Name Description lgO Evaluates to lfg if frame metric used lg otherwise _ug Evaluates to ufg if frame metric used ug otherwise cleanup Removes items drom the deindex list contract4 Used by psi filemet O Used by csetup when reading the metric from a file finddel Used by findde 312 findde2 findde3 kdelt O newmet setflags readvalue resimp sermet txyzsum tmetric triemann tricci trrc yespO 30 2 11 Changes Maxima Manual Used by findde Used by findde Kronecker delta not generalized Used by csetup for setting up a metric interactively Used by init ctensor Used by csetup for entering a metric as Taylor series Frame metric used by cmetric when cframe flag true Riemann tensor in frame base used when cframe flag true Ricci
234. context and the facts contained in that context will be retained in storage until destroyed one by one by calling forget or destroyed as a whole by calling kill to destroy the context to which they belong Contexts exist in a hierarchy with the root always being the context global which contains information about Maxima that some functions need When in a given 112 Maxima Manual context all the facts in that context are active meaning that they are used in deductions and retrievals as are all the facts in any context which is a subcontext of the active context When a fresh Maxima is started up the user is in a context called initial which has global as a subcontext See also facts newcontext supcontext killcontext activate deactivate assume and forget deactivate context 1 context n Function Deactivates the specified contexts context_1 context n facts item Function facts Function If item is the name of a context facts item returns a list of the facts in the specified context If item is not the name of a context facts item returns a list of the facts known about item in the current context Facts that are active but in a different context are not listed facts O ie without an argument lists the current context features Declaration Maxima recognizes certain mathematical properties of functions and variables These are called features declare x foo gives the property foo to t
235. contract cont2part explose part2cont partpol tpartpol tpartpol pol Ivar Function teste si le polyno me pol est syme trique en les variables contenues dans la liste Ivar Si oui il rend sa forme partionne e comme la fonction partpol Autres fonctions de changements de repre sentations contract cont2part explose part2cont partpol tcontract treillis n Function rame ne toutes les partitions de poids n 4i1 treillis 4 h01 L 41 3 1 2 2 2 1 1 1 1 1 11 Voir e galement 1gtreillis ltreillis et treinat treinat part Function rame ne la liste des partitions infe rieures a la partition part pour l ordre naturel 11 treinat 5 401 1511 12 treinat 1 1 1 1 115 502 51 4 1 3 21 3 1 11 2 2 1 2 1 1 1 1 1 1 1 111 4i3 treinat 3 2 403 51 4 1 3 21 Voir e galement lgtreillis ltreillis et treillis Chapter 35 Groups 353 35 Groups 35 1 Definitions for Groups todd coxeter relations subgroup Function todd coxeter relations Function Find the order of G H where G is the Free Group modulo relations and H is the subgroup of G generated by subgroup subgroup is an optional argument defaulting to In doing this it produces a multiplication table for the right action of G on G H where the cosets are enumerated H Hg2 Hg3 This can be seen internally in the todd coxeter state The multiplication tables for the v
236. cos x 2 x cos 2 x cos 2 x 1 1 CHAT SESS e e xc The trigonometric simplification routines will use declared information in some simple cases Declarations about variables are used as follows e g Aii declare j integer e even o odd 412 sin x e 1 2 pi 402 cos x 413 sin x o 1 2 pi 403 cos x trigsign Option variable Default value true When trigsign is true it permits simplification of negative arguments to trigono metric functions E g sin x will become sin x only if trigsign is true trigsimp expr Function Employs the identities sin x cos x 1 and cosh x sinh x 1 to simplify expressions containing tan sec etc to sin cos sinh cosh trigreduce ratsimp and radcan may be able to further simplify the result demo trgsmp dem displays some examples of trigsimp Chapter 15 Trigonometric 145 trigrat expr Function Gives a canonical simplifyed quasilinear form of a trigonometrical expression expr is a rational fraction of several sin cos or tan the arguments of them are linear forms in some variables or kernels and pi n n integer with integer coefficients The result is a simplified fraction with numerator and denominator linear in sin and cos Thus trigrat linearize always when it is possible Aii trigrat sin 3x a sin a pi 3 401 sqrt 3 sin 2 a cos 2a 1 The following example is taken from Davenport Siret and Tournier Calcul Fo
237. ction dc u m dn u m cn u m inverse jacobi sn u m Function The inverse of the Jacobian elliptic function sn u m inverse jacobi cn u m Function The inverse of the Jacobian elliptic function en u m inverse jacobi dn u m Function The inverse of the Jacobian elliptic function dn u m inverse jacobi ns u m Function The inverse of the Jacobian elliptic function ns u m inverse jacobi sc u m Function The inverse of the Jacobian elliptic function sc u m inverse jacobi sd u m Function The inverse of the Jacobian elliptic function sd u m 164 inverse jacobi nc u m The inverse of the Jacobian elliptic function nc u m inverse jacobi cs u m The inverse of the Jacobian elliptic function cs u m inverse jacobi cd u m The inverse of the Jacobian elliptic function cd u m inverse jacobi nd u m The inverse of the Jacobian elliptic function nc u m inverse jacobi ds u m The inverse of the Jacobian elliptic function ds u m inverse jacobi dc u m The inverse of the Jacobian elliptic function dc u m 18 3 Definitions for Elliptic Integrals elliptic f phi m The incomplete elliptic integral of the first kind defined as i d o V1 msin 6 See also elliptic_e page 164 and elliptic_kc page 165 elliptic_e phi m The incomplete elliptic integral of the second kind defined as A 3 0 See also elliptic_e page 164 and elliptic_ec page
238. ction expansion the factors of the original denominator are relatively prime The numerators can be written as linear combinations of denominators and the expansion falls out 411 1 1 x 72 2 1 x 2 2 x 2 2 1 Cs ss x 2 x 1 2 x 1 112 ratsimp 2 x 402 AAA RAS 3 2 Chia partirac Cl x 334 Maxima Manual o3 D x 2 x 1 2 x 1 primep n Function Returns true if n is a prime false if not qunit n Function Returns the principal unit of the real quadratic number field sqrt n where n is an integer i e the element whose norm is unity This amounts to solving Pell s equation a 2 nb 2 1 hii qunit 17 01 sqrt 17 4 412 expand sqrt 17 4 402 1 totient n Function Returns the number of integers less than or equal to n which are relatively prime to n zerobern Option variable Default value true When zerobern is false bern excludes the Bernoulli numbers which are equal to zero See bern zeta n Function Returns the Riemann zeta function if x is a negative integer 0 1 or a positive even number and returns a noun form zeta n for all other arguments including rational noninteger floating point and complex arguments See also bfzeta and zeta pi CL map meta 4 3 2 1 0 1 2 3 4 51 2 4 1 1 fl Api Api 01 10 sse 0 inf metas zeta 5 120 12 2 6 90 zeta pi Option variable Defau
239. ction is 1 1 1 There are several plot options specific to gnuplot All of these options except gnuplot_pm3d are raw gnuplot commands specified as strings Refer to the gnuplot documentation for more details e Option gnuplot pm3d Controls the usage PM3D mode which has advanced 3D features PM3D is only available in gnuplot versions after 3 7 The default value for gnuplot_pm3d is false Example gnuplot pm3d true e Option gnuplot preamble Inserts gnuplot commands before the plot is drawn Any valid gnuplot commands may be used Multiple commands should be sep arated with a semi colon The example shown produces a log scale plot The default value for gnuplot_preamble is the empty string Example gnuplot preamble set log y e Option gnuplot curve titles Controls the titles given in the plot key The default value is default which automatically sets the title of each curve to the function plotted If not default gnuplot curve titles should contain a Maxima Manual list of strings To disable the plot key entirely add set nokey to gnuplot_ preamble Example gnuplot curve titles my first function my second function fg e Option gnuplot curve styles A list of strings controlling the appearance of curves i e color width dashing etc to be sent to the gnuplot plot command The default value is with lines 3 with lines 1 with lines 2 with lines 5 with lines 4 with lines 6 wit
240. ction to be interpolated satisfies the condition that the values of the function at the endpoints of the interpolation interval are opposite in sign If they are of opposite sign the interpolation proceeds If they are of like sign and intpolerror is true then an error is signaled If they are of like sign and intpolerror is not true the value of intpolerror is returned Thus for plotting intpolerror might be set to 0 0 intpolrel Option variable Default value 0 0 intpolrel is the accuracy of the interpolate command is governed by intpolabs and intpolrel which must be non negative floating point numbers interpolate 220 Maxima Manual will stop when the first arg evaluates to something less than or equal to intpolabs or if successive approximants to the root differ by no more than intpolrel one of the approximants gt The default values of intpolabs and intpolrel are 0 0 so interpolate gets as good an answer as is possible with the single precision arithmetic we have newton expr x x 0 eps Function Interpolation by Newton s method load newtoni loads this function newton can handle some expressions that interpolate refuses to handle since interpolate requires that everything evaluate to a floating point number Thus newton x2 a 2 x a 2 a 2 100 complains that it can t tell if 6 098490481853958E 4 a 2 lt a 2 100 After assume a gt 0 the same function call succeeds yielding a symbolic result 1 00030487804878 a
241. ctored out of the inverse The elements of the inverse are not automatically expanded If M has polynomial ele ments better appearing output can be generated by expand invert m detout If it is desirable to then divide through by the determinant this can be accomplished by xthru or alternatively from scratch by expand adjoint m expand determinant m invert m adjoint m determinant m See noncommutative exponent for another method of inverting a matrix Imxchar Option variable Default value Imxchar is the character displayed as the left delimiter of a matrix See also rmxchar Example 240 Maxima Manual 4ii Imxchar 4i2 matrix la b cl d e f g h il la b c 02 d e f l lg h i matrix row 1 row n Function Returns a rectangular matrix which has the rows row 1 row n Each row is a list of expressions All rows must be the same length The operations addition subtraction multiplication and division are carried out element by element when the operands are two matrices a scalar and a matrix or a matrix and a scalar The operation exponentiation equivalently is carried out element by element if the operands are a scalar and a matrix or a matrix and a scalar but not if the operands are two matrices All operations are normally carried out in full including noncommutative multiplication Matrix multiplication is rep
242. curve lis p stroke 84 Maxima Manual pscom cmd Function cmd is inserted in the PostScript file Example pscom 4 5 72 mul 5 5 72 mul translate 14 14 scale Chapter 9 Input and Output 85 9 Input and Output 9 1 Introduction to Input and Output 9 2 Files A file is simply an area on a particular storage device which contains data or text Files on the disks are figuratively grouped into directories A directory is just a list of files Commands which deal with files are save load loadfile stringout batch demo writefile closefile and appendfile 9 3 Definitions for Input and Output System variable _ is the most recent input expression e g ii 412 13 _ is assigned the input before the input is simplified or evaluated However the value of _ is simplified but not evaluated when it is displayed _ is recognized by batch but not by load See also Examples hii 13 29 01 42 i2 lisp _ MPLUS 13 29 112 _ 402 42 113 sin pi 2 03 1 hi4 lisp _ CASIN MQUOTIENT PI 2 114 _ 04 1 415 a 13 216 b 29 117 a b LoT 42 418 lisp _ MPLUS A B 118 _ 408 b a i9 a b 409 42 i10 ev _ 4010 42 86 Maxima Manual D System variable is the output expression e g 01 02 03 most recently computed by Maxima whether or not it was displayed 4 is recognized by batch but not by loa
243. d See also _ 44 and Ath PAY System variable In a compound statement comprising two or more statements is the value of the previous statement For example block integrate x75 x ev A4 x 2 ev AA x 1 block prev prev integrate x 5 x ev prev x 2 ev prev x 1 yield the same result namely 21 2 A compound statement may comprise other compound statements Whether a state ment be simple or compound 74 is the value of the previous statement For example block block a n 42 6 yields 7 a n Within a compound statement the value of may be inspected at a break prompt which is opened by executing the break function For example at the break prompt opened by block a 42 break O entering 4 yields 42 At the first statement in a compound statement or outside of a compound statement is undefined hh is recognized by both batch and load See also edispflag Option variable Default value false When edispflag is true Maxima displays 4e to a negative exponent as a quotient For example 4e x is displayed as 1 e x th i Function The value of the i th previous output expression That is if the next expression to be computed is the wth output 4th m is the n m th output Ath is useful in batch files or for referring to a group of output expressions For example block s 0 for i 1 thru 10 do s s 4th i sets s to the sum of the last ten output
244. d g b c e Chapter 29 itensor 273 ab be 1113 g g 8 g ab d b c e 4i4 ishow canform errexp1 has improper indices an error Quitting To debug this try debugmode true Aib ishow simpmetderiv ab bc 165 g g g g a b d b c e 416 flipflag not flipflag 406 true 417 ishow simpmetderiv 4th 2 ab bc CAL g g g g d e ab bc 118 flipflag not flipflag 208 false 119 ishow simpmetderiv th 2 stop ab bc 1 49 2 g g g e ab d bc 4110 ishow contract 7 10 78 g e c b d See also weyl dem for an example that uses simpmetderiv and conmetderiv together to simplify contractions of the Weyl tensor flush1deriv expr tensor Function Set to zero in expr all occurrences of tensor that have exactly one derivative index 29 2 4 Tensors in curved spaces imetric g Function Specifies the metric by assigning the variable imetric g in addition the contraction properties of the metric g are set up by executing the commands defcon g defcon g g kdelta The variable imetric default is bound to the metric assigned by the imetric g command idim n Function Sets the dimensions of the metric Also initializes the antisymmetry properties of the Levi Civita symbols for the given dimension ichr1 i j k Function Yields the Christoffel symbol of the first kind via the definition 274 Maxima Manual g 8 g 2 ik j jk i ij k To evaluate the Christoffel symbol
245. d by values functions labels etc The names may be any specified by the variable infolists values comprises all user defined variables The special form save filename m n stores the values of input and output labels m through n Note that m and n must be literal integers or double quoted symbols Input and output labels may also be stored one by one e g save foo 1 1142 4042 save filename labels stores all input and output labels When the stored labels are recovered they clobber existing labels The special form save filename name_l expr_1 name_2 expr_2 stores the values of expr 1 expr 2 with names name 1 name 2 It is useful to apply this Chapter 9 Input and Output 101 form to input and output labels e g save foo 1 aa 088 The right hand side of the equality in this form may be any expression which is evaluated This form does not introduce the new names into the current Maxima environment but only stores them in filename These special forms and the general form of save may be mixed at will For example save filename aa bb cc 42 functions 11 17 The special form save filename all stores the current state of Maxima This includes all user defined variables functions arrays etc as well as some auto matically defined items The saved items include system variables such as file search maxima or showtime if they have been assigned new values by the user see myop
246. d info Function 7 Maxima Manual buildq Function cene tre nee 404 burn Function 2224 stem stet bn rape 329 C cabs Punctlon ccieersebct ke beeetePu eee 29 canform Function 268 canten Function 267 cardinality Function 389 carg PUMCHON cc creer UPRAPPESRAR uittaa AT cartan Function scere ees 171 cartesian product Function 390 catch Function scie be Reps 407 cauchysum Option variable 317 cbffac Function i iced tea 106 cdisplay Function 303 cf Function c ue seco eis PeEDe EE 330 cfdisrep Function ei rmm 331 cfexpand Function 331 cflength Option variable 331 cframe flag Option variable 308 cgeodesic Function 302 changename Function 259 changevar Function 179 charpoly Function 230 chebyshev_t Function 158 chebyshev_u Function 158 check overlaps Function 252 checkdiv Function 302 christof Function 44 44 erm 292 clear rules Function 379 closefile Function 88 closeps Function 82 cnetric Punction ee repete 289 cn
247. d limit may be non numeric expres sions as long as this inequality can be determined However unless the increment is syntactically negative e g is a negative number at the time the do statement is input Maxima assumes it will be positive when the do is executed If it is not positive then the do may not terminate properly Note that the limit increment and termination condition are evaluated each time through the loop Thus if any of these involve much computation and yield a result that does not change during all the executions of the body then it is more efficient to set a variable to their value prior to the do and use this variable in the do form The value normally returned by a do statement is the atom done However the function return may be used inside the body to exit the do prematurely and give it any desired value Note however that a return within a do that occurs in a block will exit only the do and not the block Note also that the go function may not be used to exit from a do into a surrounding block The control variable is always local to the do and thus any variable may be used without affecting the value of a variable with the same name outside of the do The control variable is unbound after the do terminates Aii for a 3 thru 26 step 7 do display a a 3 a 4 Chapter 42 Program Flow 425 a 11 a 18 a 25 hil s 0 4i2 for i 1 while i lt 10 do s sti 202 done 213 s 403 55
248. d negative dimensions of the algebra respectively If any opt dims values are supplied atensor will configure the values of adim and aform appropriately Otherwise adim will default to 0 and aform will not be defined symmetric The symmetric algebra is defined by the commutation relation u v v u 0 symplectic The symplectic algebra is defined by the commutation relation u v v u 2 af u v where af is an antisymmetric scalar valued function For the sym plectic algebra opt dims can be up to two nonnegative integers representing the nondegenerate and degenerate dimensions respectively If any opt dims values are Chapter 31 atensor 315 supplied atensor will configure the values of adim and aform appropriately Other wise adim will default to 0 and aform will not be defined lie envelop The algebra of the Lie envelope is defined by the commutation relation u v v u 2 av u v where av is an antisymmetric function The init atensor function also recognizes several predefined algebra types complex implements the algebra of complex numbers as the Clifford algebra C1 0 1 The call init_atensor complex is equivalent to init atensor clifford 0 0 1 quaternion implements the algebra of quaternions The call init atensor quaternion is equivalent to init atensor clifford 0 0 2 pauli implements the algebra of Pauli spinors as the Clifford algebra C1 3 0 A call to init atensor pauli is equivalent to init atensor clifford 3
249. d of order v and argument z bessel_k computes the array besselarray such that besselarray i bessel_k i v int v z for i from zero to int v bessel_k is defined as m esc m v 1_ z 1 2 2 when v is not an integer If v is an integer n then the limit as v approaches n is taken besselexpand Option variable Default value false Controls expansion of the Bessel functions when the order is half of an odd integer In this case the Bessel functions can be expanded in terms of other elementary functions When besselexpand is true the Bessel function is expanded Aii besselexpand false 112 bessel_j 3 2 z 3 402 bessel j z 2 Ai3 besselexpand true 114 bessel j 3 2 z 2z sin z cos z 04 sqrt jO x Function The Bessel function of the first kind of order 0 This function is deprecated Write bessel_j 0 x instead jl x Function The Bessel function of the first kind of order 1 This function is deprecated Write bessel_j 1 x instead Chapter 16 Special Functions 151 jn x n Function The Bessel function of the first kind of order n This function is deprecated Write bessel j n x instead iO x Function The modified Bessel function of the first kind of order 0 This function is deprecated Write bessel i 0 x instead il x Function The modified Bessel function of the first kind of order 1 This function is deprecated Wri
250. d rational function expression is displayed fully expanded The switch ratexpand has the same effect When psexpand is false a multivariate expression is displayed just as in the rational function package When psexpand is multi then terms with the same total degree in the variables are grouped together revert expr x Function revert2 expr x n Function These functions return the reversion of expr a Taylor series about zero in the variable x revert returns a polynomial of degree equal to the highest power in expr revert2 returns a polynomial of degree n which may be greater than equal to or less than the degree of expr load revert loads these functions Examples Aii load revert 412 t taylor exp x 1 x 0 6 2 3 4 5 6 x x x x x 402 T X H 2 6 24 120 720 Chapter 32 Series 323 413 revert t x 6 5 4 3 2 10 x 12x 15x 20x 30x 60 x A03 R 60 4i4 ratexpand 4 6 5 4 3 2 x x x x x 504 come SS ey em Pie SNS ox 6 5 4 3 2 Aib taylor log x 1 x 0 6 2 3 4 5 6 x x x x x A05 T XS qoe op ES cou 2 3 4 5 6 4i6 ratsimp revert t x taylor log x 1 x 0 6 406 0 417 revert2 t x 4 4 3 2 x x x 07 uic dd a 4 3 2 taylor expr x a n Function taylor expr x 1 x 2 a n Function taylor expr x a n asymp Function taylor expr x 1 x 2 a 1
251. d the itensor package specify the name of the metric and perform some simple calculations ii load itensor 01 share tensor itensor lisp i2 imetric g 02 done 413 components g C i jl 12 pCIi 31 DD eCl 122 14 ishow g k 1 1 1 14 ep k 1 hi5 ishow diff v i t t5 0 416 depends v t 406 v t 417 ishow diff v il 1 t d CAL v de i 418 ishow idiff v il 12 322 CLt8 v i 419 ishow extdiff v i 1 j 469 v v jai 15 2 4110 ishow liediff v w il 258 t 10 1111 t11 4112 4112 4113 4013 4114 t14 4115 4t15 2116 416 4117 417 4118 4018 i19 ft 19 4120 420 1121 4021 4122 4t22 Maxima Manual 43 vow v oW i 43 si ishow covdiff v il 1 22 3 ishow ev ichr2 LA 45 v g v i j e p e p j 45 3 ep ze p 4 i j 5 45 ij 28 i 45 ep e p i 45 j J iframe_flag true true ishow covdiff v il 1 22 ishow ev icc2 v v i j ishow radcan ev ifc2 ifci 76 78 ite v 6 6 6 8 ifb ifg v j 49 i 6 ifb i j 48 i j 6 8 ifg V 6 ifb 28 48 i j ishow canform s i jl 1 s j i 2 2 S gt 8 ij decsym s 2 0 sym 31121 j i done ishow canform s i jl s j i 2 0 ishow canform a i jl a j i 2 a ta ji decsym a 2 0 anti all ij done
252. duce args set a b 01 b a 4i2 lreduce args set 1 2 3 4 5 402 120 See also See rreduce page 397 See xreduce page 401 and See tree reduce page 401 makeset e v s Function This function is similar to makelist but makeset allows multiple substitutions The first argument e is an expression the second argument v is a list of variables and s is a list or set of values for the variables v Each member of s must have the same length as v We have makeset e v s is the set z z substitute v gt s i and s i in s hi1 makeset i j i jl a bl c d 01 las b b d 4i2 ind set 0 1 2 3 Ai3 makeset i 2 j 2 k 2 li j kl cartesian product ind ind ind l 4103 0 1 2 3 4 5 6 8 9 10 11 12 13 14 17 18 19 22 27 moebius n Function The Moebius function when n is product of k distinct primes moebius n evaluates to 1 it evaluates to 1 when n 1 and it evaluates to 0 for all other positive integers The Moebius function threads over equalities lists matrices and sets 396 Maxima Manual multinomial coeff a 1 a_n Function multinomial coeff Function Return the multinomial coefficient When each a k is a nonnegative integer the multinomial coefficient gives the number of ways of placing a_1 a_n distinct objects into n boxes with a_k elements in the k th box In general multinomial a 1 a n evaluates to
253. e a variable or a subexpression of expr The result is equivalent to diff although perhaps in a different form ratdiff may be faster than diff for rational expressions ratdiff returns a canonical rational expression CRE if expr is a CRE Otherwise ratdiff returns a general expression ratdiff considers only the dependence of expr on x and ignores any dependencies established by depends Example Aii expr 4 x73 10 x 11 x 5 5 3 4x 10 x 11 hol 5 x 5 112 ratdiff expr x 402 esos EC E Cc ER x 10x 25 113 expr f x 3 x 2 7 3 2 03 f x f x 7 4i4 ratdiff expr f x 2 04 3 f x 2 f t Aib expr a b 3 a b 2 3 2 05 b a b a 416 ratdiff expr a b 2 2 406 3b 6a 2 b 3a 2a ratdisrep expr Function Returns its argument as a general expression If expr is a general expression it is returned unchanged Chapter 12 Polynomials 129 Typically ratdisrep is called to convert a canonical rational expression CRE into a general expression This is sometimes convenient if one wishes to stop the conta gion or use rational functions in non rational contexts See also totaldisrep ratepsilon Option variable Default value 2 0e 8 ratepsilon is the tolerance used in the conversion of floating point numbers to ra tional numbers ratexpand expr Function ratexpand Option variable Expands expr by multiply
254. e additional commands available in that file window such as evaluating the function into the Maxima by typing Alt Control x 43 2 Keyword Commands Keyword commands are special keywords which are not interpreted as Maxima expres sions A keyword command can be entered at the Maxima prompt or the debugger prompt although not at the break prompt Keyword commands start with a colon For example to evaluate a Lisp form you may type lisp followed by the form to be evaluated hii lisp 2 3 5 Chapter 43 Debugging 433 The number of arguments taken depends on the particular command Also you need not type the whole command just enough to be unique among the break keywords Thus br would suffice for break The keyword commands are listed below break F n Set a breakpoint in function F at line offset n from the beginning of the function If F is given as a string then it is assumed to be a file and n is the offset from the beginning of the file The offset is optional If not given it is assumed to be zero first line of the function or file bt Print a backtrace of the stack frames continue Continue the computation delete Delete the specified breakpoints or all if none are specified disable Disable the specified breakpoints or all if none are specified enable Enable the specified breakpoints or all if none are specified frame n Print stack frame n or the current frame if none is specified hel
255. e assigned a value to was truly an option variable playback Function playback n Function playback m n Function playback m Function playback input Function playback slow Function playback time Function playback grind Function Displays input output and intermediate expressions without recomputing them playback only displays the expressions bound to labels any other output such as text printed by print or describe or error messages is not displayed See also labels playback quotes its arguments The double single quotes operator defeats quo tation playback always returns done playback O with no arguments displays all input output and intermediate expres sions generated so far An output expression is displayed even if it was suppressed by the terminator when it was originally computed playback n displays the most recent n expressions Each input output and inter mediate expression counts as one playback m n displays input output and intermediate expressions with num bers from m through n inclusive playback m is equivalent to playback m m this usually prints one pair of input and output expressions playback input displays all input expressions generated so far playback slow pauses between expressions and waits for the user to press enter This behavior is similar to demo playback slow is useful in conjunction with save or stringout when creating a secondary stor
256. e degre c 1 c n Ce groupe agit naturellement sur f La liste orbite est l orbite note e SC f de la fonction f sous l action de SC Cette liste peut e tre obtenue avec la fonction multi orbit Les di sont des entiers tels que c_1 lt d 1 c 2 lt d_2 c n lt d n Soit SD le produit des groupes syme triques S d1 x S d2 x x S dn La fonction pui direct rame ne les n premie res fonctions puissances de SD f de duites des fonctions puissances de SC ou n est le cardinal de SD f Le re sultat est rendue sous forme multi contracte e par rapport a SD i e on ne conserve qu un e le ment par orbite sous l action de SD Cad 15 DE y1 Tas bll 01 x yl la bl 4i2 pui direct multi orbit a x b y 1 1 2 21 2 2 402 a x 439a bx y ta x Ai3 pui direct multi orbit a x bxy 1 1 3 2 2 2 2 2 3 3 103 2ax 4abxy 2a x 3a bx y 2a x 2 2 2 2 3 3 4 4 12a b x y 4a bx y 2a x 3 2 3 2 4 4 5 5 10a b x y 5a bx yt2a x 3 3 3 3 4 2 4 2 5 D 6 6 40a b x y 15a b x y 6a bx y 2a x 346 Maxima Manual 4i4 pui direct ly x 2c y x 2 b y x 2 xa x yl La b cl 2 2 404 3x 2a 6x y 3x 4ax 4a 2 3 2 2 3 9x y i2axy 3x 6ax 12a x 8a puireduc n Ipui Function lpui est une liste dont le premier e le ment est un entier m puireduc donne les n premie res fonctions puissances en fonction des m premie res 411 puireduc 3 2 2 pi pi p2 401 2
257. e matrix or array M by the Johnson Gentleman tree minor algorithm The argument n is the order it is optional if M is a matrix nonscalar Declaration Makes atoms behave as does a list or matrix with respect to the dot operator nonscalarp expr Function Returns true if expr is a non scalar i e it contains atoms declared as non scalars lists or matrices permanent M n Function Computes the permanent of the matrix M A permanent is like a determinant but with no sign changes rank M Function Computes the rank of the matrix M That is the order of the largest non singular subdeterminant of M rank may return the wrong answer if it cannot determine that a matrix element that is equivalent to zero is indeed so ratmx Option variable Default value false When ratmx is false determinant and matrix addition subtraction and multiplica tion are performed in the representation of the matrix elements and cause the result of matrix inversion to be left in general representation 246 Maxima Manual When ratmx is true the 4 operations mentioned above are performed in CRE form and the result of matrix inverse is in CRE form Note that this may cause the elements to be expanded depending on the setting of ratfac which might not always be desired row M i Function Returns the i th row of the matrix M The return value is a matrix scalarmatrixp Option variable Default value true When scalarmatrixp is true then whene
258. e polyno me donne en entre e doit ne cessairement e tre de degre 5 Voir e galement resolvante_bipartite resolvante_produit_sym resolvante_unitaire resolvante_alterneel resolvante klein resolvante klein3 resolvante_ vierer resolvante diedrale resolvante alterneel P x Function calcule la transformation de P x de degre n par la fonction prod_ 1 leq i lt j leq n 1 x i x j Voir e galement 350 Maxima Manual resolvante produit sym resolvante unitaire resolvante resolvante_ klein resolvante klein3 resolvante vierer resolvante_diedrale resolvante_bipartite resolvante_bipartite P x Function calcule la transformation de P x de degre n n pair par la fonction x 1x 2Wdots x_ n 2 x_ n 2 1 ldotsx_n Voir e galement resolvante_produit_sym resolvante_unitaire resolvante resolvante_ klein resolvante_klein3 resolvante_vierer resolvante_diedrale resolvante_alterneel Aii resolvante bipartite x76 108 x 10 8 6 4 hot y 972 y 314928 y 34012224 y Voir e galement resolvante produit sym resolvante_unitaire resolvante resolvante_ klein resolvante_klein3 resolvante_vierer resolvante_diedrale resolvante_alterneel resolvante_diedrale P x Function calcule la transformation de P x par la fonction x_1 x_2 x 3 x4 hii resolvante diedrale x75 3 x 4 1 x 15 12 11 10 9 8 7 fol x 524 x 81x 21x 207 x 1134 x 2331 x 6 5 4 3 2 945 x 4970 x
259. e predicate is not evaluated until a match is attempted A matchdeclare predicate cannot be any kind of expression other than a function name or function call In particular a predicate cannot be a lambda or block If an expression satisfies a match predicate the match variable is assigned the expres sion except for match variables which are operands of addition or multiplication Only addition and multiplication are handled specially other n ary operators both built in and user defined are treated like ordinary functions In the case of addition and multiplication the match variable may be assigned a single expression which satisfies the match predicate or a sum or product respectively of such expressions Such multiple term matching is greedy predicates are evaluated in the order in which their associated variables appear in the match pattern and a term which satisfies more than one predicate is taken by the first predicate which it satisfies Each predicate is tested against all operands of the sum or product before the next predicate is evaluated In addition if 0 or 1 respectively satisfies a match predicate and there are no other terms which satisfy the predicate 0 or 1 is assigned to the match variable associated with the predicate The algorithm for processing addition and multiplication patterns makes some match results for example a pattern in which a match anything variable appears de pendent on the ordering of
260. e quotes act like matchfix operators but are not treated as such by the Maxima parser 374 Maxima Manual matchfix evaluates its arguments matchfix returns its first argument Idelimiter Examples e Delimiters may be almost any strings Lii 01 412 402 413 403 414 404 Lib 405 i6 406 LiT 407 hil 01 212 202 213 03 hid 404 hi5 45 05 216 206 hi7 Op q e Matchfix operators are ordinary user defined functions matchfix 1 qon I x y x y y x y l x yo ie y x define x y x y y x y lex vel y x define x y x y y x x y l x yo i o s y x dispfun y l x yo i es y x done 1 3 5 1 16 15 ado C3 5 16 LoT matchfix Q Qr a b c a b c matchfix gt gt lt lt gt gt gt gt a b c lt lt gt gt a b c matchfix foo oof foo foo a b c oof fooa b coof gt gt w foo x y oof z lt lt p q gt gt z foox yoof w lt lt 15 Chapter 38 Rules and Patterns 375 remlet prod name Function remlet Function remlet all Function remlet all name Function Deletes the substitution rule prod gt repl most recently defined by the let function If name is supplied the rule is deleted from the rule package name remlet and remlet all delete all substitution rul
261. ecedence of op with respect to other operators derives from the left and right binding powers of the operators in question If the left and right binding powers of op are both greater the left and right binding powers of some other operator then op takes precedence over the other operator If the binding powers are not both greater or less some more complicated relation holds The associativity of op depends on its binding powers Greater left binding power Ibp implies an instance of op is evaluated before other operators to its left in an expression while greater right binding power rbp implies an instance of op is eval uated before other operators to its right in an expression Thus greater Ibp makes op right associative while greater rbp makes op left associative If Ibp is equal to rbp op is left associative See also Syntax Examples e If the left and right binding powers of op are both greater the left and right binding powers of some other operator then op takes precedence over the other operator 111 G a b sconcat a b 112 lisp get 1bp 100 112 lisp get rbp 100 4i2 infix 101 101 hi3 1 a b 2 03 a b 3 Ai4 infix 99 99 hib 1 a b 2 05 a 1 b 2 e Greater lbp makes op right associative while greater rbp makes op left associative 111 G a b sconcat a b 4i2 infix 100 99 413 foo ba
262. ed Simplification may sometimes yield a closed form If the evaluation flag simpsum is false or simplification fails the result is a noun form sum sum evaluates 0 and i 1 and quotes i The summand expr is quoted under some circumstances or evaluated to greater or lesser degree in others If i 1 is one less than i 0 the sum is a considered an empty sum and sum returns 0 rather than reporting an error See also sumhack When the evaluation flag cauchysum is true the product of summations is expressed as a Cauchy product in which the index of the inner summation is a function of the index of the outer one rather than varying independently The global variable genindex is the alphabetic prefix used to generate the next index of summation when an automatically generated index is needed gensumnum is the numeric suffix used to generate the next index of summation when an automatically generated index is needed When gensumnum is false an automatically generated index is only genindex with no numeric suffix See also sumcontract intosum bashindices niceindices nouns and evflag Examples Chit sum 1 2 i 1 7 01 140 112 sum alil i 1 7 402 a a a a a a a 7 6 5 4 3 2 1 413 sum a i i 1 7 203 a 7 a 6 a 5 a 4 a 3 a 2 a 1 414 sum a i i 1 n 64 Maxima Manual A04 gt a i x i 1 4i5 ev sum 2 i i 2 i O n simpsum 3 2 n 1 2n 3n 05 2
263. ed fraction can be evaluated by evaluating the arithmetic representation returned by cfdisrep hii cflength 3 412 cfdisrep cf sqrt 3 413 ev 4 numer 403 1 731707317073171 e Maxima does not know about operations on continued fractions outside of cf Chal ef I1 1 1 1 1 2 3 A01 4 1 5 2 320 cf I1 1 1 1 1 2 3 402 3 3 9 3 3 6 Chapter 33 Number Theory 331 cfdisrep list Function Constructs and returns an ordinary arithmetic expression of the form a 1 b 1 c from the list representation of a continued fraction a b c ad cf i 2 3 Dt 92 119 01 1 3 4 2 412 cfdisrep 7 1 402 I ose di 1 i 14 2 cfexpand x Function Returns a matrix of the numerators and denominators of the last column 1 and next to last column 2 convergents of the continued fraction x Aii cf rat ev Api numer rat replaced 3 141592653589793 by 103993 33102 3 141592653011902 01 Se Yi 15 1 292 112 cfexpand 7 103993 355 402 33102 113 113 4 1 1 1 4 2 1 numer 03 3 141592653011902 cflength Option variable Default value 1 cflength controls the number of terms of the continued fraction the function cf will give as the value cflength times the period Thus the default is to give one period Aii cflength 1 32 cf 1 sqrt 5 2 402 dus Ls di 2 113 cflength 2 hi4 cf 1 sqrt 5 2
264. ed function progname is an expression to be matched against the pattern and the other arguments are the actual variables y_1 y n in the expression which correspond to the dummy variables x 1 x n in the pattern If the match is successful progname returns a list of equations whose left sides are the pattern variables and pattern parameters and whose right sides are the expressions which the pattern variables and parameters matched The pattern parameters but not the variables are assigned the subexpressions they match If the match fails progname returns false Any variables not declared as pattern parameters in matchdeclare or as variables in defmatch match only themselves A pattern which contains no pattern variables or parameters returns true if the match succeeds See also matchdeclare defrule tellsimp and tellsimpafter Examples This defmatch defines the function linearp expr y which tests expr to see if it is of the form a y b such that a and b do not contain y ii matchdeclare a freeof x b freeof x 4i2 defmatch linearp a x b x 413 linearp 3 z y 1 z y 2 z 2 Chapter 38 Rules and Patterns 369 403 414 04 415 05 a b If the third argument to defmatch in line i2 had been omitted then linear would only match expressions linear in x not in any other variable ii matchdeclare a f true 4i2 constinterval 1 h constantp h 1 i3 mat
265. ed solutions If algsys produces a solution which has fewer significant digits than required the user can change the value of algepsilon to a higher value If algexact is set to true solve will always be called 4 Finally the solutions obtained in step 3 are substituted into previous levels and the solution process returns to 1 When algsys encounters a multivariate equation which contains floating point ap proximations usually due to its failing to find exact solutions at an earlier stage then it does not attempt to apply exact methods to such equations and instead prints the message algsys cannot solve system too complicated Interactions with radcan can produce large or complicated expressions In that case it may be possible to isolate parts of the result with pickapart or reveal Occasionally radcan may introduce an imaginary unit i into a solution which is actually real valued Examples hii ei 2 xx 1 al 2x x 1 a2 01 2 1 ai x 2 a2 x 1 4i2 e2 a2 al 102 a2 al 413 e3 al y x72 1 2 403 alle y ox 1 114 e4 a2 y x 1 72 2 404 a2 y x 1 Aib algsys ei e2 e3 e4 x y al a2 405 x 0 y ri al 0 a2 0 x 1 y 0 al 1 a2 1 416 e1 x 2 y 2 2 2 06 x y HIT e2 1 y 2 y 2 x x2 2 2 en iy cg pa edd 4i8 algsys e1 e2 x yl 1 i 408 Ix y J sqrt 3
266. ed x with valence 1 1 Components can be assigned to an indexed expression in four ways two of which involve the use of the components command 1 As an indexed expression For instance hi2 components g i 31 eC07 312 p CC 3138 413 ishow g 0 i j i j he3 e p 2 As a matrix 416 components g i j 1 1g 406 done 217 ishow g Li j1 1 447 g 118 gCI3 31 EDD 408 1 519 gCI4 41 0 409 1 3 As a function You can use a Maxima function to specify the components of a tensor based on its indices For instance the following code assigns kdelta to h if h has the same number of covariant and contravariant indices and no derivative indices and g otherwise 114 h 11 12 13 if length 11 length 12 and length 13 0 then kdelta 11 12 else apply g append 11 12 13 i5 ishow h li j Chapter 29 itensor 263 j 115 kdelta i 416 ishow h i j1 x1 D k 416 g ja 4 Using Maxima s pattern matching capabilities specifically the defrule and applyb1 commands Aii load itensor 01 share tensor itensor lisp 412 matchdeclare 11 1istp 02 done 413 defrule ri m 11 ii idummyO g 1101 11 2 DD qCEi 11 DD eCC1 1111338 414 defrule r2 m 11 i1 idummy wCD 11 11 11 21 eCCi 11 DD q CE 1110338 515 ishow i n mCL 1 m im 45 m m in 416 ishow rename applyb1 r1 r2 11 2 3 m 1
267. eed improvement over interpreted code in many cases Function Chapter 21 Integration 181 demo dblint executes a demonstration of dblint applied to an example problem defint expr x a b Function Attempts to compute a definite integral defint is called by integrate when limits of integration are specified i e when integrate is called as integrate expr x a b Thus from the user s point of view it is sufficient to call integrate defint returns a symbolic expression either the computed integral or the noun form of the integral See quad qag and related functions for numerical approximation of definite integrals erf x Function Represents the error function whose derivative is 2 exp x 2 sqrt Api erfflag Option variable Default value true When erfflag is false prevents risch from introducing the erf function in the answer if there were none in the integrand to begin with ilt expr t s Function Computes the inverse Laplace transform of expr with respect to t and parameter s expr must be a ratio of polynomials whose denominator has only linear and quadratic factors By using the functions laplace and ilt together with the solve or linsolve functions the user can solve a single differential or convolution integral equation or a set of them Ail integrate sinh a x f t x x 0 t b f t t 2 t 2 A01 f t x sinh a x dx b f t t Se ea SL 0 112 laplace t s a laplace f
268. efined coordinate system and metric The argument coordinate system can be one of the following symbols SYMBOL Dim Coordinates Description comments cartesian2d 2 x yl Cartesian 2D coordinate system polar 2 r phil Polar coordinate systemi elliptic 2 u v confocalelliptic 2 u v bipolar 2 u v parabolic 2 u v cartesian3d 3 x y z Cartesian 3D coordinate system polarcylindrical 3 r theta z ellipticcylindrical 3 u v z Elliptic 2D with cylindrical zi confocalellipsoidal 3 u v w 290 Maxima Manual bipolarcylindrical 3 u v z Bipolar 2D with cylintrical z paraboliccylindrical 3 u v z Parabolic 2D with cylindrical Z paraboloidal 3 u v phi conical 3 u v w toroidal 3 u v phil spherical 3 r theta phi Spherical coordinate systemi oblatespheroidal 3 u v phi oblatespheroidalsqrt 3 u v phi prolatespheroidal 3 u v phi prolatespheroidalsqrt 3 u v phi ellipsoidal 3 r theta phi cartesian4d 4 x y z t Cartesian 4D coordinate system spherical4d 4 r theta eta phi exteriorschwarzschild 4 t r theta phi Schwarzschild metric interiorschwarzschild 4 t z u v Interior Schwarzschild metric kerr_newman 4 t r theta phi Charged axially symmetric metric coordinate_system can also be a list of transformation functions followed by a list containing the coordinate variables For instance you can specify a spherical metric as follows Chii 01 412 02 413 403 414 04 41
269. efinitions for Elliptic Integrals Integration Introduction to Integration Definitions for Integration askinteger Definitions for Simplification integerp Definitions for Miscellaneous Options integrate Definitions for Integration integrate use rootsof Definitions for Integration 9 integration constant counter Definitions for Integration Enter space separated numbers all or none 7 8 o J O O1 amp 0hN Info from file use local maxima doc info maxima info Function integrate expr var Function integrate expr var a b Attempts to symbolically compute the integral of expr with respect to var integrate expr var is an indefinite integral while integrate expr var a b is a definite integral In this example items 7 and 8 were selected All or none of the items could have been selected by entering all or none which can be abbreviated a or n respectively 3 2 Lisp and Maxima Maxima is written in Lisp and it is easy to access Lisp functions and variables from Max ima and vice versa Lisp and Maxima symbols are distinguished by a naming convention A Lisp symbol which begins with a dollar sign corresponds to a Maxima symbol without the dollar sign A Maxima symbol which begins with a question mark corresponds to a Lisp symbol without the question mark For example the Maxima symbol foo corresponds to the Lisp symbol foo while the Maxima symbol foo corre
270. el expression the result is returned applybi is similar to apply1 but works from the bottom up instead of from the top down 368 Maxima Manual maxapplyheight is the maximum height which applyb1 reaches before giving up See also apply1 apply2 and let current let rule package Option variable Default value default let rule package current let rule package is the name of the rule package that is used by functions in the let package letsimp etc if no other rule package is specified This variable may be assigned the name of any rule package defined via the let command If a call such as letsimp expr rule pkg name is made the rule package rule pkg name is used for that function call only and the value of current let rule package is not changed default let rule package Option variable Default value default let rule package default let rule package is the name of the rule package used when one is not explicitly set by the user with let or by changing the value of current let rule package defmatch progname pattern x 1 x n Function Creates a function progname expr y_1 y n which tests expr to see if it matches pattern pattern is an expression containing the pattern variables x_1 x_n and pattern pa rameters if any The pattern variables are given explicitly as arguments to defmatch while the pattern parameters are declared by the matchdeclare function The first argument to the creat
271. elem multi pui pui pui2comp pui2ele puireduc schur2comp multi elem 1 elem multi pc Ivar Function de compose un polyno me multi syme trique sous la forme multi contracte e multi pc en les groupes de variables contenue dans la liste de listes Ivar sur les groupes de fonctions syme triques e le mentaires contenues dans Lelem Aii multi elem 2 ei e2 2 f1 f21 axx a 2 x 3 x yl la b 3 01 2 f2 f1 f1 el 3 el e2 el 112 ratsimp 4 2 3 402 2 f2 f1 el fi 3 el e2 el Autres fonctions de changements de bases comp2ele comp2pui ele2comp ele2pui elem mon2schur multi_pui pui pui2comp pui2ele puireduc schur2comp 342 Maxima Manual multi orbit P Ivar_1 lvar_2 lvar_p Function P est un polyno me en l ensemble des variables contenues dans les listes Ivar_1 Ivar_2 lvar p Cette fonction rame ne l orbite du polyno me P sous l action du produit des groupes syme triques des ensembles de variables repre sente s par ces p listes Aii multi orbit a x b y x yl la bll 01 by a x ay b x 412 multi orbit x y 2 a x yl fa b cl1 402 ly x 2 6 y x 2 b y x 2 al Voir e galement orbit pour l action d un seul groupe syme trique multi pui Function est a la fonction pui ce que la fonction multi elem est a la fonction elem Aii multi pui 2 p1 p2 2 t1 t2 a x a 2 x 3 x yl la bl 3 3
272. els Function 21 labels System variable 21 laguerre Function 159 lambda Function 413 laplace Function 177 lassociative Declaration 67 last Function coc bMS a 383 Je L Function psss reas 266 lc ud BUulcllon 2e dra 267 lc2kdt Fundtion issues n e sin dans 265 lcm Function kierr sms irritar anse 333 ldefint Function 185 ldisp Function eh eben 93 ldisplay Function 94 legendre_p Function 159 legendre_q Function 159 leinstein Function 293 length Function cr e nets 383 let Function zi ele RR RRERHD REPAS 370 let rule packages Option variable 372 letrat Option variable 371 letrules Function 371 letsimp Function 311 372 levi civita Function 265 Ife Variable corregir series tem Pa 310 lfreeof Function 56 lg Variable ssp e ER retiens 310 lgtreillis Function 340 lhospitallim Option variable 167 Ths Function x 6ve xe RI rear 203 liediff Bunction i gae RET DELE 269 limit Function ves other e EP oy awd 167 limsubst Option variable 167 l
273. em variable Default value gradefs is the list of the functions for which partial derivatives have been defined by gradef gradefs does not include any variables for which partial derivatives have been defined by gradef laplace expr t s Function Attempts to compute the Laplace transform of expr with respect to the variable t and transform parameter s If laplace cannot find a solution a noun laplace is returned laplace recognizes in expr the functions delta exp log sin cos sinh cosh and erf as well as derivative integrate sum and ilt If some other functions are present laplace may not be able to compute the transform expr may also be a linear constant coefficient differential equation in which case atvalue of the dependent variable is used The required atvalue may be supplied either before or after the transform is computed Since the initial conditions must be specified at zero if one has boundary conditions imposed elsewhere he can im pose these on the general solution and eliminate the constants by solving the general solution for them and substituting their values back laplace recognizes convolution integrals of the form integrate f x g t x x 0 t other kinds of convolutions are not recognized 178 Maxima Manual Functional relations must be explicitly represented in expr implicit relations estab lished by depends are not recognized That is if f depends on x and y f x y must appear i
274. epsrel limit Function Numerically integrate the given function using adaptive quadrature with extrapo lation The function to be integrated is f x with dependent variable x and the function is to be integrated between the limits a and b The optional arguments epsrel and limit are the desired relative error and the maxi mum number of subintervals respectively epsrel defaults to 1e 8 and limit is 200 quad qags returns a list of four elements an approximation to the integral the estimated absolute error of the approximation the number integrand evaluations an error code The error code fourth element of the return value can have the values no problems were encountered too many sub intervals were done excessive roundoff error is detected 0 1 2 3 extremely bad integrand behavior occurs 4 failed to converge 5 integral is probably divergent or slowly convergent 6 if the input is invalid Examples hii quad qags x 1 2 1og 1 x3 x O 1 01 4444444444444448 1 11022302462516E 15 315 0 Note that quad_qags is more accurate and efficient than quad_qag for this integrand quad_qagi f x x a inftype epsrel limit Function Numerically evaluate one of the following integrals f ds f toi 192 Maxima Manual i f dz using the Quadpack QAGI routine The function to be integrated is f x with de pendent variable x and the function is to be integrated over an infinite range The par
275. er and if the translation and compilation succeed loads the compiled code into Maxima compile file returns a list of the names of four files the original Maxima file the Lisp translation notes on translation and the compiled code If the compilation fails the fourth item is false Some declarations and definitions take effect as soon as the Lisp code is compiled without loading the compiled code These include functions defined with the operator macros define with the operator alias declare define variable mode declare and infix matchfix nofix postfix prefix and compfile Assignments and function calls are not evaluated until the compiled code is loaded In particular within the Maxima file assignments to the translation flags tr numer etc have no effect on the translation filename may not contain lisp statements compile file evaluates its arguments declare translated f 1 f 2 Function When translating a file of Maxima code to Lisp it is important for the translator to know which functions it sees in the file are to be called as translated or compiled functions and which ones are just Maxima functions or undefined Putting this declaration at the top of the file lets it know that although a symbol does which does not yet have a Lisp function value will have one at call time MFUNCTION CALL fn argl arg2 is generated when the translator does not know fn is going to be a Lisp function
276. er ele veiw eee 276 ifci Variable scs ete RE nee ees 278 ifc2 Variable ce tee cee rasa 278 ifg Variable eleven te rias 278 ifgi Variable ic cricdesetwiwviawe inde wie 278 ifr Variable evene eR Ue 278 iframe bracket form Option variable 278 iframes Function 276 ifri Variable esie eere neret 278 ift Function ii emet RE be ERR ned es 216 igeodesic_coords Function 275 igeowedge_flag Option variable 284 ikti Variable oe starter dra das 279 ikt2 Variable i trop p eR sete dade 279 ilt Function scas ped tas chase nimes 181 imagpart Function 52 imetric Function 273 in netmath Option variable 75 inchar Option variable 93 indexed tensor Function 261 indices Function era 259 inf Constant 282244 137 360 infeval Option variable 20 infinity Constant 137 360 infix Function 2 paresse siens 52 inflag Option variable 53 infolists System variable 360 init_atensor Function 314 init_ctensor Function 291 inm Variable 279 inmci Variable 279 inmc2 Variable 279 innerproduct Function 239 inpart Function
277. ern variables are global even though values are local In this example an assignment property is declared via define variable This is a property of the atom bb throughout Maxima Aii matchdeclare aa integerp bb atom A01 done 4i2 tellsimpafter foo aa bb bar aa aa bb bb 402 foorulei false 413 foo 42 he 403 bar aa 42 bb Ye 14 define variable bb true boolean 504 true Aib foo 42 e Error bb was declared mode boolean has value e an error Quitting To debug this try debugmode true Rules are named after main operators Names of rules for built in and user defined operators are strings while names for other functions are ordinary identifiers Aii tellsimpafter foo fpi 4e 3 p1i 01 foorule1 false 4i2 tellsimpafter foo Api he 17 e 402 foorule2 foorulei false Ai3 tellsimpafter foo fi 4e 42 74i 403 foorule3 foorule2 foorulei false 114 tellsimpafter foo 9 foo 13 quux 22 204 rulei simplus Chapter 38 Rules and Patterns 379 Aib tellsimpafter foo 9 foo 13 blurf 22 405 rulei simptimes 416 tellsimpafter foo 9 foo 13 mumble 225 206 rulei simpexpt 4i7 rules 407 trigruleO trigrulel trigrule2 trigrule3 trigrule4 htrigrulei htrigrule2 htrigrule3 htrigrule4 foorulel foorule2 foorule3 rulei rulei rulei 18 foorule name first 701
278. ers 1 if it consists of an odd permutation and 0 if some indices in L are repeated Ic2kdt expr Function Simplifies expressions containing the Levi Civita symbol converting these to Kronecker delta expressions when possible The main difference between this function and simply evaluating the Levi Civita symbol is that direct evaluation often results in Kronecker expressions containing numerical indices This is often undesirable as it prevents further simplification The 1c2kdt function avoids this problem yielding expressions that are more easily simplified with rename or contract ii load itensor 01 share tensor itensor lisp 112 expr ishow levi civita l i j levi civitaC k 1 1 12 aCELj1 k f ij k 4t2 levi civita a levi civita j k1 113 ishow ev expr levi civita ij k 3 266 Maxima Manual 1 143 kdelta a kdelta 12 j k 1 4i4 ishow ev kdelta i j j i k 4t4 kdelta kdelta kdelta kdelta a 1 2 1 2 j 1 2 2 1 kdelta kdelta kdelta kdelta k 1 k 1 Aib ishow 1c2kdt expr k i j K j i t5 a kdelta kdelta a kdelta kdelta k l j k 1 416 ishow contract expand 1 i 4t6 a a kdelta 1 1 The 1c2kdt function sometimes makes use of the metric tensor If the metric tensor was not defined previously with imetric this results in an error LiT expr ishow levi civita i j levi civita C l k 1 aCLj k1 0388 ij k 1 Cher levi_civita levi_civita a jk 418
279. es all dina value function array or rule from the arguments symbol_1 Symbol n An argument may be a single array element or subscripted function Several special arguments are recognized Different kinds of arguments may be com bined e g kill clabels functions allbut foo bar kill labels unbinds all input output and intermediate expression labels created so far kill clabels unbinds only input labels which begin with the current value of inchar Likewise kill dlabels unbinds only output labels which begin with the current value of outchar and kill elabels unbinds only intermediate expression labels which begin with the current value of linechar kill n where n is an integer unbinds the n most recent input and output labels kill C m n unbinds input and output labels m through n kill infolist where infolist is any item in infolists such as values functions or arrays unbinds all items in infolist See also infolists kill all unbinds all items on all infolists kill a11 does not reset global vari ables to their default values see reset on this point kill allbut symbol symbol_n unbinds all items on all infolists except for symbol 1 symbol n kill allbut infolist unbinds all items except for the ones on infolist where infolist is values functions arrays etc The memory taken up by a bound property is not released until all symbols are unbound from it In particular to rele
280. es and Linear Algebra 233 4i4 doscmxops false 415 invert m 0b 33 3 diagmatrix n x Function Returns a diagonal matrix of size n by n with the diagonal elements all equal to x diagmatrix n 1 returns an identity matrix same as ident n n must evaluate to an integer otherwise diagmatrix complains with an error message x can be any kind of expression including another matrix If x is a matrix it is not copied all diagonal elements refer to the same instance x doallmxops Option variable Default value true When doallmxops is true all operations relating to matrices are carried out When it is false then the setting of the individual dot switches govern which operations are performed domxexpt Option variable Default value true When domxexpt is true a matrix exponential exp M where M is a matrix is interpreted as a matrix with element i j equal to exp m i j Otherwise exp M evaluates to exp ev M domxexpt affects all expressions of the form base power where base is an expression assumed scalar or constant and power is a list or matrix Example Aii m matrix 1 Ai a b pi 1 i A01 b a pi 412 domxexpt false 1413 1 c m E i b a pil 03 E 414 domxexpt true 415 1 g m i Le 1 c 05 bra pi x c 1 c 234 Maxima Manual domxmxops Option variable Default value true When do
281. es from the current rule package If the name of a rule package is supplied e g remlet all name the rule package name is also deleted If a substitution is to be changed using the same product remlet need not be called just redefine the substitution using the same product literally with the let function and the new replacement and or predicate name Should remlet prod now be called the original substitution rule is revived See also remrule which removes a rule defined by tellsimp or tellsimpafter remrule op rulename Function remrule op all Function Removes rules defined by defrule defmatch tellsimp or tellsimpafter remrule op rulename removes the rule with the name rulename from the operator op remrule function all removes all rules for the operator op See also remlet which removes a rule defined by let tellsimp pattern replacement Function is similar to tellsimpafter but places new information before old so that it is applied before the built in simplification rules tellsimp is used when it is important to modify the expression before the simplifier works on it for instance if the simplifier knows something about the expression but what it returns is not to your liking If the simplifier knows something about the main operator of the expression but is simply not doing enough for you you probably want to use tellsimpafter The pattern may not be a sum product single variable or number r
282. espect to x using a decision procedure due to R W Gosper expr and the result must be expressible as products of integer powers factorials binomials and rational functions The terms definite and indefinite summation are used analogously to definite and indefinite integration To sum indefinitely means to give a symbolic result for the sum over intervals of variable length not just e g 0 to inf Thus since there is no formula for the general partial sum of the binomial series nusum can t do it nusum and unsum know a little about sums and differences of finite products See also unsum Examples ii nusum n n n 0 n Dependent equations eliminated 1 01 n1 1 4i2 nusum n 4 4 n binomial 2 n n n 0 n 320 Maxima Manual 4 3 2 n 2 n 1 63n 112n 18n 22n43 4 2 402 693 binomial 2 n n 311 7 4i3 unsum n 4 n n 4 o3 o TT binomial 2 n n 114 unsum prod 179 i 1 n n 504 i 1 n 1 4i5 nusum n 1 n Dependent equations eliminated 2 3 n 2 05 dc eed Fog i 1 pade taylor series numer deg bound denom deg bound Function Returns a list of all rational functions which have the given Taylor series expansion where the sum of the degrees of the numerator and the denominator is less than or equal to the truncation level of the power series i e are best approximants and whi
283. et x set y set z 403 x y z 4i4 cartesian_product set x set 1 0 1 04 x 1 x 0 x 113 disjoin x a Function Remove x from the set a and return a set If x isn t a member of a return a Each of the following do the same thing disjoin x a delete x a and setdifference a set x however disjoin is generally the fastest way to remove a member from a set Signal an error if a isn t a set disjointp a b Function Return true if the sets a and b are disjoint Signal an error if either a or b isn t a set divisors n Function When n is a nonzero integer return the set of its divisors The set of divisors includes the members 1 and n The divisors of a negative integer are the divisors of its absolute value We can verify that 28 is a perfect number hii s divisors 28 A01 1 2 4 7 14 28 4i2 lreduce args s 28 402 28 The function divisors works by simplification you shouldn t need to manually re evaluate after a substitution For example ii divisors a 01 divisors a 4i2 subst 8 a 02 1 2 4 8 The function divisors threads over equalities lists matrices and sets Here is an example of threading over a list and an equality Aii divisors la b c d 01 divisors a divisors b divisors c divisors d Chapter 40 Sets 391 elementp x a Function Return true if and only if x is a member of the set a Signal a
284. et 337 disjoin Function see en 390 disjointp Function 390 disolate Function 49 disp Function 89 dispcon Function ces fad RR E Rex 89 dispflag Option variable 201 dispform Function 49 dispfun Function dece esee tee 411 display Function 2 442 ete 89 display format internal Option variable 89 display2d Option variable 89 disprule Function 369 dispterms Function 90 distrib Function 2424224 peda ds 49 divide Function cec ipee ane 117 divisors Function 390 divsum Function 4 1 331 do Special operator 424 doallmxops Option variable 233 domain Option variable 65 domxexpt Option variable 233 domxmxops Option variable 234 domxnctimes Option variable 234 dontfactor Option variable 234 doscmxops Option variable 234 doscmxplus Option variable 234 dotOnscsimp Option variable 234 dotOsimp Option variable 234 dotisimp Option variable 234 dotassoc Option variable 234 dotconstrules Option variable 235 dotdistrib Option variable
285. eturn value is outofpois intopois a This function is thus a canonical simplifier for sums of powers of sine and cosine terms of a particular type poisdiff a b Function Differentiates a with respect to b b must occur only in the trig arguments or only in the coefficients poisexpt a b Function Functionally identical to intopois a b b must be a positive integer poisint a b Function Integrates in a similarly restricted sense to poisdiff Non periodic terms in b are dropped if b is in the trig arguments poislim Option variable Default value 5 poislim determines the domain of the coefficients in the arguments of the trig func tions The initial value of 5 corresponds to the interval 2 5 1 1 2 5 1 or 15 16 but it can be set to 27 n 1 1 2 n 1 poismap series sinfn cosfn Function will map the functions sinfn on the sine terms and cosfn on the cosine terms of the Poisson series given sinfn and cosfn are functions of two arguments which are a coefficient and a trigonometric part of a term in series respectively poisplus a b Function Is functionally identical to intopois a b poissimp a Function Converts a into a Poisson series for a in general representation poisson Special symbol The symbol P follows the line label of Poisson series expressions Chapter 16 Special Functions 153 poissubst a b c Function Substitutes a for b in c c is a Poisson series 1 Where B is
286. eturns a list of two lists containing the eigenvalues of the matrix M The first sublist of the return value is the list of eigenvalues of the matrix and the second sublist is the list of the multiplicities of the eigenvalues in the corresponding order 236 Maxima Manual eivals is a synonym for eigenvalues eigenvalues calls the function solve to find the roots of the characteristic polynomial of the matrix Sometimes solve may not be able to find the roots of the polynomial in that case some other functions in this package except conjugate innerproduct unitvector columnvector and gramschmidt will not work In some cases the eigenvalues found by solve may be complicated expressions This may happen when solve returns a not so obviously real expression for an eigenvalue which is known to be real It may be possible to simplify the eigenvalues using some other functions The package eigen mac is loaded automatically when eigenvalues or eigenvectors is referenced If eigen mac is not already loaded load eigen loads it After loading all functions and variables in the package are available eigenvectors M Function eivects M Function takes a matrix M as its argument and returns a list of lists the first sublist of which is the output of eigenvalues and the other sublists of which are the eigenvectors of the matrix corresponding to those eigenvalues respectively The calculated eigenvectors and the unit eigenvectors of the matrix
287. expr n in sequence and returns the value of the last expression evaluated The sequence can be modified by the go throw and return functions The last expression is expr n unless return or an expression containing throw is evaluated Some variables v 1 v m can be declared local to the block these are distinguished from global variables of the same names If no variables are declared local then the list may be omitted Within the block any variable other than v 1 v m is a global variable block saves the current values of the variables v_1 v m if any upon entry to the block then unbinds the variables so that they evaluate to themselves The local variables may be bound to arbitrary values within the block but when the block is exited the saved values are restored and the values assigned within the block are lost block may appear within another block Local variables are established each time a new block is evaluated Local variables appear to be global to any enclosed blocks If variable is non local in a block its value is the value most recently assigned by an enclosing block if any otherwise it is the value of the variable in the global environment This policy may coincide with the usual understanding of dynamic scope If it is desired to save and restore other local properties besides value for example array except for complete arrays function dependencies atvalue matchdeclare atomgrad constant and n
288. expressions th is recognized by batch but not by load See also Chapter 9 Input and Output 87 wee Special symbol As prefix to a function or variable name signifies that the name is a Lisp name not a Maxima name For example round signifies the Lisp function ROUND See Section 3 2 Lisp and Maximal page 9 for more on this point The notation word a question mark followed a word separated by whitespace is equivalent to describe word absboxchar Option variable Default value absboxchar is the character used to draw absolute value signs around expressions which are more than one line tall appendfile filename Function Appends a console transcript to filename appendfile is the same as writefile except that the transcript file if it exists is always appended closefile closes the transcript file opened by appendfile or writefile batch filename Function Reads Maxima expressions from filename and evaluates them batch searches for filename in the list file search maxima See file search filename comprises a sequence of Maxima expressions each terminated with or The special variable and the function 4th refer to previous results within the file The file may include lisp constructs Spaces tabs and newlines in the file are ignored A suitable input file may be created by a text editor or by the stringout function batch reads each input expression from filename displays the input to the console compu
289. f set up dot simplifications has been previously done finds the central polyno mials in the variables x_1 x n in the given degree n For example set up dot simplifications y x x yl 3 fast central elements x yl 2 y y x xl check overlaps n add_to_simps Function Checks the overlaps thru degree n making sure that you have sufficient simplification rules in each degree for dotsimp to work correctly This process can be speeded up if you know before hand what the dimension of the space of monomials is If it is of finite global dimension then hilbert should be used If you don t know the monomial dimensions do not specify a rank functiion An optional third argument reset false says don t bother to query about resetting things mono x 1 x n n Function Returns the list of independent monomials relative to the current dot simplifications of degree n in the variables x_1 x_n monomial dimensions n Function Compute the Hilbert series through degree n for the current algebra extract linear equations p 1 p n m 1 m_n Function Makes a list of the coefficients of the noncommutative polynomials p 1 p n of the noncommutative monomials m 1 m n The coefficients should be scalars Use list_nc_monomials to build the list of monomials list_nc_monomials p_1 p n Function list_nc_monomials p Function Returns a list of the non commutative monomials occurring i
290. f the metric tensor vanish in expr The name in the igeodesic_coords function refers to the metric name if it appears in expr while the connection coefficients must be called with the names ichri and or ichr2 The following example demonstrates the verification of the cyclic identity satisfied by the Riemann curvature tensor using the igeodesic_ coords function fil load itensor 401 share tensor itensor lisp 4i2 ishow icurvature r s t u u u 41 u u 718 4t2 ichr2 ichr2 ichr2 ichr2 ichr2 ichr2M r t s 1 s rt r s t AL t r si 113 ishow igeodesic_coords ichr2 u u 13 ichr2 ichr2 fr 8 t r t s 4i4 ishow igeodesic coords icurvature r s t u ichr2 igeodesic_coords icurvature s t r ul ichr2 igeodesic coords icurvature t r s u ichr2 u u u u u 414 ichr2 ichr2 ichr2 ichr2 ichr2 t s r t r s s t r s nit r t sg u ichr2 r s tg i5 canform 7 05 0 29 2 5 Moving frames Maxima now has the ability to perform calculations using moving frames These can be orthonormal frames tetrads vielbeins or an arbitrary frame To use frames you must first set iframe flag to true This causes the Christoffel symbols ichri and ichr2 to be replaced by the more general frame connection coefficients icci and icc2 in calculations Speficially the behavior of covdiff and icurvature is changed The frame is defined by two tensors the inverse frame field ifri and the frame
291. false When ratfac is true canonical rational expressions CRE are manipulated in a partially factored form During rational operations the expression is maintained as fully factored as possi ble without calling factor This should always save space and may save time in some computations The numerator and denominator are made relatively prime for example rat x 2 1 4 x 1 2 yields x 1 4 x 1 72 but the factors within each part may not be relatively prime In the ctensr Component Tensor Manipulation package Ricci Einstein Riemann and Weyl tensors and the scalar curvature are factored automatically when ratfac is true ratfac should only be set for cases where the tensorial components are known to consist of few terms The ratfac and ratweight schemes are incompatible and may not both be used at the same time ratnumer expr Function Returns the numerator of expr after coercing expr to a canonical rational expression CRE The return value is a CRE expr is coerced to a CRE by rat if it is not already a CRE This conversion may change the form of expr by putting all terms over a common denominator num is similar but returns an ordinary expression instead of a CRE Also num does not attempt to place all terms over a common denominator and thus some expressions which are considered ratios by ratnumer are not considered ratios by num ratnump expr Function Returns true if expr is a literal integer or ratio
292. file is UNLISP This file may contain valuable information though possibly obscure for tracking down bugs in translated code The UNLISP file is always written to the same directory from which the Maxima input comes translate file emits Lisp code which causes some declarations and definitions to take effect as soon as the Lisp code is compiled See compile file for more on this topic See also tr array as ref tr bound function applyp tr exponent tr file tty messagesp tr float can branch complex tr function call default tr numer tr optimize max loop tr semicompile tr state vars tr warnings get tr warn bad function calls tr warn fexpr tr warn meval tr warn mode tr warn undeclared tr warn undefined variable and tr windy transrun Option variable Default value true When transrun is false will cause the interpreted version of all functions to be run provided they are still around rather than the translated version tr array as ref Option variable Default value true If translate fast arrays is false array references in Lisp code emitted by translate file are affected by tr array as ref When tr array as ref is true array names are evaluated otherwise array names appear as literal symbols in translated code tr array as ref has no effect if translate fast arrays is true tr bound function applyp Option variable Default value true When tr bound function applyp is true Maxima gives a warning if a
293. find the indefinite integral the Risch algorithm is executed The flag risch may be set as an evflag in a call to ev or on the com mand line e g ev integrate expr x risch or integrate expr x risch If risch is present integrate calls the risch function without attempting heuristics first See also risch integrate works only with functional relations represented explicitly with the f x notation integrate does not respect implicit dependencies established by the depends function integrate may need to know some property of a parameter in the integrand integrate will first consult the assume database and if the variable of interest is not there integrate will ask the user Depending on the question suitable responses are yes or no Or pos zero or neg integrate is not by default declared to be linear See declare and linear integrate attempts integration by parts only in a few special cases Examples e Elementary indefinite and definite integrals Aii integrate sin x 3 x 3 cos x hol cos x 3 112 integrate x sqrt b 2 x 2 x 2 2 402 sqrt b x Ai3 integrate cos x 2 exp x x 0 Api Api 3 he 3 hO3 z 5 5 4i4 integrate x 2 exp x 2 x minf inf sqrt Api oA TT 2 e Use of assume and interactive query hii assume a gt 1 112 integrate x a x 1 5 2 x 0 inf 2a 2 ES 52 an integer no Is 2a 3 positive nega
294. fined by let let prod repl predname arg 1 arg_n Function let prod repl predname arg 1 arg n package name Function Defines a substitution rule for letsimp such that prod is replaced by repl prod is a product of positive or negative powers of the following terms e Atoms which letsimp will search for literally unless previous to calling letsimp the matchdeclare function is used to associate a predicate with the atom In this case letsimp will match the atom to any term of a product satisfying the predicate e Kernels such as sin x n f x y etc As with atoms above letsimp will look for a literal match unless matchdeclare is used to associate a predicate with the argument of the kernel A term to a positive power will only match a term having at least that power A term to a negative power on the other hand will only match a term with a power at least as negative In the case of negative powers in prod the switch letrat must be set to true See also letrat If a predicate is included in the let function followed by a list of arguments a tentative match ie one that would be accepted if the predicate were omitted is accepted only if predname arg 1 arg n evaluates to true where arg_i is the value matched to arg i The arg i may be the name of any atom or the argument of any kernel appearing in prod repl may be any rational expression If any of the atoms or arguments from prod appear in repl the appr
295. fint with tlimswitch set to true quad qag f x x a b key epsrel limit Function Numerically evaluate the integral i faja using a simple adaptive integrator The function to be integrated is f x with dependent variable x and the function is to be integrated between the limits a and b key is the integrator to be used and should be an integer between 1 and 6 inclusive The value of key selects the order of the Gauss Kronrod integration rule The numerical integration is done adaptively by subdividing the integration region into sub intervals until the desired accuracy is achieved The optional arguments epsrel and limit are the desired relative error and the maxi mum number of subintervals respectively epsrel defaults to 1e 8 and limit is 200 quad qag returns a list of four elements an approximation to the integral the estimated absolute error of the approximation the number integrand evaluations an error code The error code fourth element of the return value can have the values 0 if no problems were encountered il if too many sub intervals were done 2 if excessive roundoff error is detected 3 if extremely bad integrand behavior occurs Chapter 21 Integration 191 6 if the input is invalid Examples Aii quad qag x 1 2 log 1 x x 0 1 3 401 4444444444492108 3 1700968502883E 9 961 0 112 integrate x 1 2 log 1 x x 0 1 4 402 9 quad qags f x x a b
296. from the assume database the global flag prederror governs the behavior of is Aii assume a gt b 01 a gt b 412 prederror true 113 is a gt 0 macsyma was unable to evaluate the predicate a gt 0 an error Quitting To debug this try debugmode true 414 prederror false Aib is a gt 0 505 unknown maybe expr Function Attempts to determine whether the predicate expr is provable from the facts in the assume database If the predicate is provably true or false maybe returns true or false respectively Otherwise maybe returns unknown maybe is functionally equivalent to is with prederror false but the result is com puted without actually assigning a value to prederror See also assume facts and is Examples hii maybe x gt 0 01 unknown 4i2 assume x gt 1 02 x gt 1 Ai3 maybe x gt 0 03 true isqrt x Function Returns the integer square root of the absolute value of x which is an integer Chapter 5 Operators 33 max x 1 x 2 Function Returns the maximum of its arguments or returns a simplified form if some of its arguments are non numeric min x 1 x 2 Function Returns the minimum of its arguments or returns a simplified form if some of its arguments are non numeric mod p Function mod p m Function Converts the polynomial p to a modular representation with respect to the current modulus which is the value of
297. g sin y y 0 pi Evaluation took 0 00 seconds 0 01 elapsed using 25 293 KB 402 2 000000016288042 113 1 x 1 241 100 1 x 2 72 1 1000 1 x 3 72 1 200 14 f x 18 Aib rombergtol 1e 6 416 rombergit 15 217 romberg f x x 5 5 Evaluation took 11 97 seconds 12 21 elapsed using 12 423 MB 407 173 6730736617464 The second is an efficient way that is used as follows 188 Maxima Manual romberg function name lower limit upper limit Continuing the above example we have 4i8 f x mode declare function f x float th 5 419 translate f 409 4110 romberg f 5 5 Evaluation took 3 51 seconds 3 86 elapsed using 6 641 MB 4010 173 6730736617464 The first argument must be a translated or compiled function If it is compiled it must be declared to return a flonum If the first argument is not already translated romberg will not attempt to translate it but will give an error The accuracy of the integration is governed by the global variables rombergtol de fault value 1 E 4 and rombergit default value 11 romberg will return a result if the relative difference in successive approximations is less than rombergtol It will try halving the stepsize rombergit times before it gives up The number of itera tions and function evaluations which romberg will do is governed by rombergabs and rombergmin romberg may be called recursively and t
298. gebraic true ratsimp can simplify some expressions containing phi 11 fibtophi fib n n n Aphi 1 fphi hol a eec 2 Aphi 1 112 fib n 1 fib n fib n 1 402 fib 1 fib n fib 1 13 ratsimp fibtophi 403 0 Chapter 33 Number Theory 333 inrt x n Function Returns the integer n th root of the absolute value of x Qi 1 1 2 3 4 5 6 7 8 9 10 11 1218 4i2 map lambda a inrt 10 a 3 1 02 2 4 10 21 46 100 215 464 1000 2154 4641 10000 jacobi p q Function Returns the Jacobi symbol of p and q OD 1 1 2 3 4 5 6 T 8 9 10 11 12 412 map lambda a jacobi a 9 1 02 1 As 0 1 1 O 1 1 O 1 1 Ol lcm expr 1 expr n Function Returns the least common multiple of its arguments The arguments may be general expressions as well as integers load functs loads this function minfactorial expr Function Examines expr for occurrences of two factorials which differ by an integer minfactorial then turns one into a polynomial times the other Wii n n 2 n o1 een n 2 4i2 minfactorial 7 1 o2 n 1 n 2 partfrac expr var Function Expands the expression expr in partial fractions with respect to the main variable var partfrac does a complete partial fraction decomposition The algorithm employed is based on the fact that the denominators of the partial fra
299. guments are epsabs Desired absolute error of approximation Default is 1d 10 limit Size of internal work array limit limlst 2 is the maximum number of subintervals to use Default is 200 maxpl Maximum number of Chebyshev moments Must be greater than 0 De fault is 100 limlst Upper bound on the number of cycles Must be greater than or equal to 3 Default is 10 epsabs and limit are the desired relative error and the maximum number of subinter vals respectively epsrel defaults to 1e 8 and limit is 200 quad qawo returns a list of four elements an approximation to the integral the estimated absolute error of the approximation the number integrand evaluations an error code The error code fourth element of the return value can have the values no problems were encountered too many sub intervals were done 0 1 2 excessive roundoff error is detected 3 extremely bad integrand behavior occurs 6 if the input is invalid Examples Aii quad qawo x 1 2 exp 2 2 x x 1d 8 20 2 2 1 cos 01 1 376043389877692 4 72710759424899E 11 765 0 12 rectform integrate x 1 2 exp 2 alpha x cos x x 0 inf alpha 2 1 2 2 alpha sqrt pi 2 sqrt sqrt 2 1 1 sqrt 2 1 413 ev 4 alpha 2 numer 403 1 376043390090716 quad_qaws f x x a b alfa beta wfun epsabs limit Function Numerically compute the integral using the Quadpack QAWS routine f x w x dx
300. h lines 7 which cycles through different colors See the gnuplot documentation for plot for more information Example gnuplot curve styles with lines 7 with lines 2 e Option gnuplot default term command The gnuplot command to set the ter minal type for the default terminal The default value is the empty string i e use gnuplot s default Example gnuplot default term command set term x11 e Option gnuplot dumb term command The gnuplot command to set the terminal type for the dumb terminal The default value is set term dumb 79 22 which makes the text output 79 characters by 22 characters Example gnuplot dumb term command set term dumb 132 50 e Option gnuplot ps term command The gnuplot command to set the terminal type for the PostScript terminal The default value is set size 1 5 1 5 set term postscript eps enhanced color solid 24 which sets the size to 1 5 times gnuplot s default and the font size to 24 among other things See the gnuplot documentation for set term postscript for more information Example gnuplot ps term command set term postscript eps enhanced color solid 18 Examples e Saves a plot of sin x to the file sin eps plot2d sin x x 0 2 pil gnuplot term ps gnuplot out file sin eps e Uses the y option to chop off singularities and the gnuplot_preamble option to put the key at the bottom of the plot instead of the top plot2d gamma x 1 gamma x
301. h that is not enforced setup autoload does not work for array functions setup autoload quotes its arguments Example Aii legendre p 1 Api 01 legendre_p 1 pi 12 setup_autoload specfun mac legendre p ultraspherical 02 done 4i3 ultraspherical 2 1 2 pi Warning you are redefining the Macsyma function ultraspherical Warning you are redefining the Macsyma function legendre_p Chapter 37 Miscellaneous Options 365 2 3 pi 1 403 3 fpi 1 1 2 114 legendre_p 1 pi 204 hpi Aib legendre_q 1 pi Api 1 pi log 1 Api uos 1n 1 1 RARAS 366 Maxima Manual Chapter 38 Rules and Patterns 367 38 Rules and Patterns 38 1 Introduction to Rules and Patterns This section describes user defined pattern matching and simplification rules There are two groups of functions which implement somewhat different pattern matching schemes In one group are tellsimp tellsimpafter defmatch defrule apply1 applyb1 and apply2 In the other group are let and letsimp Both schemes define patterns in terms of pattern variables declared by matchdeclare Pattern matching rules defined by tellsimp and tellsimpafter are applied automati cally by the Maxima simplifier Rules defined by defmatch defrule and let are applied by an explicit function call There are additional mechanisms for rules applied to polynomials by tellrat and for commutative and noncommut
302. hat have upper and lower bounds that differ by constants The result is an expression containing one summation for each set of such summations added to all appropriate extra terms that had to be extracted to form this sum sumcontract combines all compatible sums and uses one of the indices from one of the sums if it can and then try to form a reasonable index if it cannot use any supplied It may be necessary to do an intosum expr before the sumcontract sumexpand Option variable Default value false When sumexpand is true products of sums and exponentiated sums simplify to nested sums See also cauchysun Examples Aii sumexpand true 4i2 sum f i i O m sum g j j O n m n 402 gt gt f i1 g i2 il 0i2 0 4i3 sum f i i O m 2 m m N N 403 gt gt f 13 f i4 sumhack Option variable Default value false When sumhack is true the identity sum f i i a b sum f i i b 1 a 1 is applied if a is greater than b For example sumhack true sum f i i 3 1 yields 2 sumsplitfact Option variable Default value true When sumsplitfact is false minfactorial is applied after a factcomb symmetric Declaration declare h symmetric tells the Maxima simplifier that h is a symmetric function E g h x z y simplifies to h x y z commutative is synonymous with symmetric Chapter 7 Simplification 73 unknown expr Function Returns true if and only if e
303. he arguments must be declared to be integer and the first argument must nonnegative For example Aii declare n integer 4i2 assume n gt 0 413 stirling2 n n 203 1 stirling2 does not simplify for non integer arguments Chil stirling pi pi 01 stirling2 pi pi Maxima knows a few other special values hi1 declare n integer 4i2 assume n gt 0 413 stirling2 n 9 n 8 n 8 n 9 hO3 e 2 114 stirling2 n 1 2 n 04 2 A subset a f Function Return the subset of the set a that satisfies the predicate f For example Chapter 40 Sets 401 4i1 subset set 1 2 x x y Z x y Z atom A01 ly 2 Es Z 4i2 subset set 1 2 7 8 9 14 evenp 402 2 8 14 The second argument to subset must be a predicate a boolean valued function of one argument if the first argument to subset isn t a set signal an error See also partition set page 396 subsetp a b Function Return true if and only if the set a is a subset of b Signal an error if a or b is not a set symmdifference a 1 a n Function Return the set of members that occur in exactly one set a_k Signal an error if any argument a k isn t a set Given two arguments symndifference a b is the same as union setdifference a b setdifference b a tree reduce f s Function tree reduce f s init Function The function tree reduce extends a associative bi
304. he function or variable x declare foo feature declares a new feature foo For example declare red green blue feature declares three new features red green and blue The predicate featurep x foo returns true if x has the foo property and false otherwise The infolist features is a list of known features These are integer noninteger even odd rational irrational real imaginary complex analytic increasing decreasing oddfun evenfun posfun commutative lassociative rassociative symmetric and antisymmetric plus any user defined features features is a list of mathematical features There is also a list of non mathematical system dependent features See status forget pred 1 pred_n Function forget L Function Removes predicates established by assume The predicates may be expressions equiv alent to but not necessarily identical to those previously assumed forget L where L is a list of predicates forgets each item on the list killcontext context 1 context n Function Kills the contexts context 1 context n Chapter 11 Contexts 113 If one of the contexts is the current context the new current context will become the first available subcontext of the current context which has not been killed If the first available unkilled context is global then initial is used instead If the initial context is killed a new empty initial context is created killcontext refuses to ki
305. he metric either directly or from a file by specifying its ordinal position As an example of a file of common metrics see share tensor metrics mac The metric is stored in the matrix LG Finally the metric inverse is computed and stored in the matrix UG One has the option of carrying out all calculations in a power series A sample protocol is begun below for the static spherically symmetric metric standard coordinates which will be applied to the problem of deriving Einstein s vacuum equations which lead to the Schwarzschild solution as an example Many of the functions in ctensor will be displayed for the standard metric as examples fil load ctensor 01 usr local lib maxima share tensor ctensor mac 412 csetup Enter the dimension of the coordinate system 4 Do you wish to change the coordinate names n Do you want to 1 Enter a new metric 2 Enter a metric from a file 3 Approximate a metric with a Taylor series 1 Is the matrix 1 Diagonal 2 Symmetric 3 Antisymmetric 4 General Answer 1 2 3 or 4 1 Row 1 Column 1 a Row 2 Column 2 x2 Row 3 Column 3 x 2 sin y 2 Row 4 Column 4 d Matrix entered 288 Maxima Manual Enter functional dependencies with the DEPENDS function or N if none depends a d x2 Do you wish to see the metric y a 0 0 o 2 o x 0 o 2 2 0 0 x sin y 0 1 0 0 0 d 402 done 413 christof mcs a x 4
306. he two renamings will reduce an expression more than either one by itself ii load itensor 01 share tensor itensor lisp 4i2 allsym true 02 true 213 g 44 45 g 46 47 chr2C 41 44 3 ichr2 42 53 u chr2 45 46 41 chr2C 47 x1 4215 800 4 5 g 1 46 47 chr2C 41 42 Cul ichr2 3 5 41 ichr2 44 56 43 ichr2 47 r 2 noeval 414 expr ishow 44 15 6 T 3 u 1 2 t4 g g ichr2 ichr2 ichr2 ichr2 hi 44 2 43 ho 46 AT Y 14 A5 6 AT u 1 3 2 g g ichr2 ichr2 ichr2 ichr2 i 42 3 45 4 46 77 rM Aib flipflag true 05 true 416 ishow rename expr 42 Ab 6 AT 4 u 1 3 4t6 g g ichr2 ichr2 ichr2 ichr2 1 42 3 4 5 46 AT E 44 45 6 T u h1 43 2 g g ichr2 ichr2 ichr2 ichr2 l A2 3 44 45 6 T rM hiv flipflag false Function Function Chapter 29 itensor 261 407 false 118 rename th 2 408 0 419 ishow rename expr Ai 2 3 44 4b 46 T u t9 g g ichr2 ichr2 ichr2 ichr2 41 46 2 3 14 Y AB 7 hi 42 3 44 46 45 AT u E g ichr2 ichr2 ichr2 ichr2 hi 43 42 46 44 r 45 TE flipflag Option variable Default false if false then the indices will be renamed according to the order of the contravariant indices otherwise according to the order of the covariant indices The function influences rename in the following way If flipflag is false then rename forms a list of the contravariant
307. he value of a pattern variable does not affect the rule and is not affected by the rule An assignment to a pattern variable which results from a successful rule match does not affect the current assignment or lack of it of the pattern variable However as with all atoms in Maxima the properties of pattern variables as declared by put and related functions are global The rule constructed by tellsimpafter is named after the main operator of pattern Rules for built in operators and user defined operators defined by infix prefix postfix matchfix and nofix have names which are Maxima strings Rules for other functions have names which are ordinary Maxima identifiers The treatment of noun and verb forms is slightly confused If a rule is defined for a noun or verb form and a rule for the corresponding verb or noun form already exists the newly defined rule applies to both forms noun and verb If a rule for the corresponding verb or noun form does not exist the newly defined rule applies only to the noun or verb form The rule constructed by tellsimpafter is an ordinary Lisp function If the name of the rule is foorulei the construct lisp trace foorule1 traces the function and lisp symbol function foorule1 displays its definition tellsimpafter quotes its arguments tellsimpafter returns the list of rules for the main operator of pattern including the newly established rule See also matchdeclare defmatch defru
308. hich affect solve describe may then by used on the individual switch names if their purpose is not clear 208 Maxima Manual solve eqn 1 eqn n x 1 x n solves a system of simultaneous lin ear or non linear polynomial equations by calling linsolve or algsys and returns a list of the solution lists in the variables In the case of linsolve this list would contain a single list of solutions It takes two lists as arguments The first list rep resents the equations to be solved the second list is a list of the unknowns to be determined If the total number of variables in the equations is equal to the number of equations the second argument list may be omitted For linear systems if the given equations are not compatible the message inconsistent will be displayed see the solve inconsistent error switch if no unique solution exists then singular will be displayed Examples ii solve asin cos 3 x f x 1 x SOLVE is using arc trig functions to get a solution Some solutions will be lost Api A01 x f x 1 6 hi2 ev solve 5 f x 125 f x solveradcan log 125 02 EG ere log 5 113 4 x 2 y 2 12 x y x 2 2 2 403 4 x y 12 x y x 2 414 solve x yl 04 lx 2 y 2 x 5202594388652008 i 1331240357358706 y 0767837852378778 3 608003221870287 Ail x 5202594388652008 Yi 1331240357358706 y 3 608003221870287 fi
309. hose second element is the remainder Examples 4i1 divide x y x y x 01 1 2 y 412 divide x y x y 02 1 2 3 Note that y is the main variable in the second example eliminate eqn 1 eqn n x 1 x_k Function Eliminates variables from equations or expressions assumed equal to zero by taking successive resultants This returns a list of n k expressions with the k variables x l x k eliminated First x 1 is eliminated yielding n 1 expressions then x 2 is eliminated etc If k n then a single expression in a list is returned free of the variables x 1 x k In this case solve is called to solve the last resultant for the last variable Example Ail expri 2 x 2 y x Z 2 101 zc xy cxx hi2 expr2 3 x 5 y z 1 402 z 5y 3x 1 413 expr3 z2 x y 2 5 2 2 403 zZ y x 5 Ai4 eliminate expr3 expr2 expr1 Ly zl 8 7 6 5 4 f04 7425 x 1170 x 1299 x 12076 x 22887 x 3 2 5154 x 1291 x 7688 x 15376 ezgcd p 1 p_2 p 3 Function Returns a list whose first element is the g c d of the polynomials p 1 p 2 p 3 and whose remaining elements are the polynomials divided by the g c d This always uses the ezgcd algorithm facexpand Option variable Default value true facexpand controls whether the irreducible factors returned by factor are in ex panded the default or recursive normal CRE form 118 Maxima Man
310. hus can do double and triple integrals Example Aii assume x gt 0 4i2 integrate integrate x y xty y 0 x 2 x 1 328 413 radcan 4 26 log 3 26 log 2 13 503 E ESS 114 numer 04 8193023963959073 Aib define variable x 0 0 float Global variable in function F l 416 f y mode declare y float x y xty 117 g x romberg Cf 0 x 2 418 romberg g 1 3 408 8193022864324522 The advantage with this way is that the function f can be used for other purposes like plotting The disadvantage is that you have to think up a name for both the function f and its free variable x Or without the global 111 g_1 x mode declare x float romberg x y x y y 0 x 2 412 romberg g 1 1 3 402 8193022864324522 The advantage here is shortness 113 q a b romberg romberg x y x y y 0 x 2 x a b j i4 q 1 3 04 8193022864324522 It is even shorter this way and the variables do not need to be declared because they are in the context of romberg Use of romberg for multiple integrals can have great disadvantages though The amount of extra calculation needed because of Chapter 21 Integration 189 the geometric information thrown away by expressing multiple integrals this way can be incredible The user should be sure to understand and use the rombergtol and rombergit switches rombergabs Option variable Default value 0 0 Assuming tha
311. ich will be expanded by the expand command see also maxposex maxposex Option variable Default value 1000 maxposex is the largest exponent which will be expanded with the expand command see also maxnegex multiplicative Declaration declare f multiplicative tells the Maxima simplifier that f is multiplicative 1 If f is univariate whenever the simplifier encounters f applied to a product f distributes over that product E g f x y simplifies to f x f y 2 If f is a function of 2 or more arguments multiplicativity is defined as multiplica tivity in the first argument to f e g f g x h x x simplifies to f g x X f h x x This simplification does not occur when f is applied to expressions of the form product x il i m n Chapter 7 Simplification 69 negdistrib Option variable Default value true When negdistrib is true 1 distributes over an expression E g x y becomes y x Setting it to false will allow x y to be displayed like that This is sometimes useful but be very careful like the simp flag this is one flag you do not want to set to false as a matter of course or necessarily for other than local use in your Maxima negsumdispflag Option variable Default value true When negsumdispflag is true x y displays as x y instead of as y x Setting it to false causes the special check in display for the difference of two expressions to not be done One application is that thus
312. iemann tensor 1riem Computes the covariant Riemann tensor as the array lriem If the argument dis is true unique nonzero values are displayed If the variable cframe_flag is true the covariant Riemann tensor is computed di rectly from the frame field coefficients Otherwise the 3 1 Riemann tensor is com puted first For information on index ordering see riemann uriemann dis Function Computes the contravariant components of the Riemann curvature tensor as array elements uriem i j k 1 These are displayed if dis is true 294 Maxima Manual rinvariant Function Forms the Kretchmann invariant kinvariant obtained by contracting the tensors lriem i j k 1 uriem i j k 1 This object is not automatically simplified since it can be very large weyl dis Function Computes the Weyl conformal tensor If the argument dis is true the non zero com ponents weyl i j k 1 will be displayed to the user Otherwise these components will simply be computed and stored If the switch ratweyl is set to true then the components will be rationally simplified if ratfac is true then the results will be factored as well 30 2 3 Taylor series expansion The ctensor package has the ability to truncate results by assuming that they are Taylor series approximations This behavior is controlled by the ctayswitch variable when set to true ctensor makes use internally of the function ctaylor when simplifying results The ctaylor functio
313. ifg to kdelta iframe_bracket_form Option variable Specifies how the frame bracket ifb is computed Default is true 29 2 6 Torsion and nonmetricity Maxima can now take into account torsion and nonmetricity When the flag itorsion_ flag is set to true the contribution of torsion is added to the connection coefficients Similarly when the flag inonmet_flag is true nonmetricity components are included Chapter 29 itensor 279 inm Variable The nonmetricity vector Conformal nonmetricity is defined through the covariant derivative of the metric tensor Normally zero the metric tensor s covariant derivative will evaluate to the following when inonmet_flag is set to true g g nm ij k ij k inmcl Variable Covariant permutation of the nonmetricity vector components Defined as Substitute ifg in place of g if a frame metric is used inmc2 Variable Contravariant permutation of the nonmetricity vector components Used in the con nection coefficients if inonmet flag is true Defined as e C cd inm kdelta kdelta inm g inm g Substitute ifg in place of g if a frame metric is used ikt1 Variable Covariant permutation of the torsion tensor also known as contorsion Defined as Substitute ifg in place of g if a frame metric is used ikt2 Variable Contravariant permutation of the torsion tensor also known as contorsion Defined as 280 c ikt2 ab Maxima Manual cd 8 ikti abd Substitute ifg
314. ile collapse expr Function Collapses expr by causing all of its common i e equal subexpressions to share i e use the same cells thereby saving space collapse is a subroutine used by the optimize command Thus calling collapse may be useful after loading in a save file You can collapse several expressions together by using collapse expr 1 expr n Similarly you can collapse the elements of the array A by doing collapse listarray A concat arg 1 arg_2 Function Concatenates its arguments The arguments must evaluate to atoms The return value is a symbol if the first argument is a symbol and a Maxima string otherwise concat evaluates its arguments The single quote prevents evaluation hii y 7 112 z 88 Ai3 concat y z 2 03 744 4i4 concat Cy 2 2 h04 y44 A symbol constructed by concat may be assigned a value and appear in expressions The double colon assignment operator evaluates its left hand side Aib a concat Cy z 2 05 y44 ub arr 123 406 123 117 y44 hoT 123 418 b a y44 408 b 419 4 numer 123 409 b Note that although concat 1 2 looks like a number it is a Maxima string 4ii10 concat 1 22 3 4010 12 3 sconcat arg_1 arg 2 Function Concatenates its arguments into a string Unlike concat the arguments do not need to be atoms The result is a Lisp string Chapter 9 Input and Output 89 411 scon
315. imes will of course result Note this option is set automatically by csetup if a diagonal metric is specified ctrgsimp Option variable Causes trigonometric simplifications to be used when tensors are computed Presently ctrgsimp affects only computations involving a moving frame cframe_flag Option variable Causes computations to be performed relative to a moving frame as opposed to a holonomic metric The frame is defined by the inverse frame array fri and the frame metric lfg For computations using a Cartesian frame 1fg should be the unit matrix of the appropriate dimension for computations in a Lorentz frame 1fg should have the appropriate signature ctorsion_flag Option variable Causes the contortion tensor to be included in the computation of the connection coefficients The contortion tensor itself is computed by contortion from the user supplied tensor tr Chapter 30 ctensor 309 cnonmet flag Option variable Causes the nonmetricity coefficients to be included in the computation of the connec tion coefficients The nonmetricity coefficients are computed from the user supplied nonmetricity vector nm by the function nonmetricity ctayswitch Option variable If set to true causes some ctensor computations to be carried out using Taylor series expansions Presently christof ricci uricci einstein and weyl take into account this setting ctayvar Option variable Variable used for Taylor series expansion if ctayswitch is
316. in place of g if a frame metric is used itr Variable The torsion tensor For a metric with torsion repeated covariant differentiation on a scalar function will not commute as demonstrated by the following example Lii 01 412 402 413 414 414 415 05 416 406 417 418 148 419 419 4110 t 10 4111 4611 2112 4t12 9 113 4013 load itensor share tensor itensor lisp imetric g g covdiff covdiff f 1 i j covdiff covdiff fC 0 3 1 8 ishow 74 42 f ichr2 f ichr2 44 j i 12 i j canform 7 itorsion flag true true covdiff covdiff f 1 i j covdiff covdiff fCLl 1 5 30 g ishow 78 6 f icc2 ew icc2 E f 48 ji s ij ji dj ishow canform 1 1 f icc2 f icc2 41 j i A1 ij ishow canform ev icc2 41 1 f ikt2 f ikt2 41 ij gt h1 qa ishow canform ev ikt2 42 hi 42 41 f g ikti f g ikti she ij 1 h2 ji ishow factor canform rename expand ev ikt1 3 2 1 f g g itr itr Y 19 1 j i i j 2 decsym itr 2 1 anti all done Chapter 29 itensor 281 4114 defcon g g kdelta 4014 done 4115 subst g nounify g 4th 3 4116 ishow canform contract 1116 E itr 29 2 7 Exterior algebra The itensor package can perform operations on totally antisymmetric covariant tensor fields A totally antisymmetric tensor field of rank 0 L corresponds with a
317. in the box and in the dpart and lpart functions All boxes in an expression are drawn with the current value of boxchar the drawing character is not stored with the box expression carg z Function Returns the complex argument of z The complex argument is an angle theta in Api 4pi such that r exp theta 4i z where r is the magnitude of z carg is a computational function not a simplifying function carg ignores the declaration declare x complex and treats x as a real variable This is a bug See also abs complex magnitude polarform rectform realpart and imagpart Examples i1 carg 1 01 0 112 carg 1 4i 48 Maxima Manual hpi 402 ms 4 413 carg exp 4i 03 1 414 carg exp Api i 404 Api Aib carg exp 3 2 Api Kid hpi 505 ictal 2 216 carg 17 exp 2 4i 406 2 constant Special operator declare a constant declares a to be a constant See declare constantp expr Function Returns true if expr is a constant expression otherwise returns false An expression is considered a constant expression if its arguments are numbers in cluding rational numbers as displayed with R symbolic constants such as Api 4e and 4i variables bound to a constant or declared constant by declare or functions whose arguments are constant constantp evaluates its arguments Examples declare a 1 1 a 2 f 2 Function Assigns the atom a i the flag fi The a i s and f i s
318. in x cos x x returns true and zeroequiv Ae x x x returns false On the other hand zeroequiv log a b log a log b a returns dontknow because of the presence of an extra parameter b 40 Maxima Manual Chapter 6 Expressions 41 6 Expressions 6 1 Introduction to Expressions There are a number of reserved words which cannot be used as variable names Their use would cause a possibly cryptic syntax error integrate next from diff in at limit sum for and elseif then else do or if unless product while thru step Most things in Maxima are expressions A sequence of expressions can be made into an expression by separating them by commas and putting parentheses around them This is similar to the C comma expression dil x 3 412 x x 1 x x 2 402 16 hi3 if x gt 17 then 2 else 4 403 4 114 if x gt 17 then x 2 else y 4 y x 404 20 Even loops in Maxima are expressions although the value they return is the not too useful done hii y x 1 for i from 1 thru 10 do x x i i2 y 402 done whereas what you really want is probably to include a third term in the comma expression which actually gives back the value 4i3 y x 1 for i from 1 thru 10 do x x i x i4 y 404 3628800 6 2 Assignment There are two assignment operators in Maxima and E g a 3 sets the variable a to 3 assigns the value of the expression on its right to the value of the quan
319. inality integer partitions n however calling num partitions is much faster Chapter 40 Sets 397 partition set a f Function Return a list of two sets the first set is the subset of a for which the predicate f evaluates to false and the second is the subset of a for which f evaluates to true If a isn t a set signal an error See also subset page 400 Ail partition set set 2 7 1 8 2 8 evenp 01 li TR 12 8H 12 partition set set x rat y rat y z 1 lambda x ratp x 402 R 1 x fy y z permutations a Function Return a set of all distinct permutations of the members of the list or set a Each permutation is a list not a set When a is a list duplicate members of a are not deleted before finding the permutations Thus Aii permutations la al 01 a al 4i2 permutations la a b 02 a a b las b a b a al If a isn t a list or set signal an error powerset a Function powerset a n Function When the optional second argument n isn t defined return the set of all subsets of the set a powerset a has 2 cardinality a members Given a second argument powerset a n returns the set of all subsets of a that have cardinality n Signal an error if a isn t a set additionally signal an error if n isn t a positive integer rreduce f s Function rreduce f s init Function The function rreduce right reduce extends a 2 arity function
320. indices as they are encountered from left to right if true then of the covariant indices The first dummy index in the list is renamed to 1 the next to 42 etc Then sorting occurs after the rename ing see the example under rename defcon tensor 1 Function defcon tensor 1 tensor 2 tensor_3 Function gives tensor 1 the property that the contraction of a product of tensor 1 and tensor_2 results in tensor 3 with the appropriate indices If only one argument tensor_1 is given then the contraction of the product of tensor 1 with any indexed object having the appropriate indices say my tensor will yield an indexed object with that name i e my tensor and with a new set of indices reflecting the contractions performed For example if imetric g then defcon g will implement the raising and lowering of indices through contraction with the metric tensor More than one defcon can be given for the same indexed object the latest one given which applies in a particular contraction will be used contractions is a list of those indexed objects which have been given contraction properties with defcon remcon tensor 1 tensor n Function remcon all Function removes all the contraction properties from the tensor 1 tensor_n remcon all removes all contraction properties from all indexed objects contract expr Function Carries out the tensorial contractions in expr which may be any combination of sums and products This func
321. individual solutions returned by solve or realroots Chapter 22 Equations 205 nroots p low high Function Returns the number of real roots of the real univariate polynomial p in the half open interval low high The endpoints of the interval may be minf or inf infinity and plus infinity nroots uses the method of Sturm sequences hi1 p x 10 2 x74 1 2 412 nroots p 6 9 1 102 4 nthroot p n Function where p is a polynomial with integer coefficients and n is a positive integer returns q a polynomial over the integers such that q n p or prints an error message indicating that p is not a perfect nth power This routine is much faster than factor or even sqfr programmode Option variable Default value true When programmode is true solve realroots allroots and linsolve return solutions as elements in a list Except when backsubst is set to false in which case programmode false is assumed When programmode is false solve etc create intermediate expression labels t1 t2 etc and assign the solutions to them realonly Option variable Default value false When realonly is true algsys returns only those solutions which are free of 4i realroots poly bound Function Finds all of the real roots of the real univariate polynomial poly within a tolerance of bound which if less than 1 causes all integral roots to be found exactly The parame ter bound may be arbitrarily small in order to achieve an
322. ine word complete factorization of the integer will be attempted The user s setting of intfaclim is used for internal calls to factor Thus intfaclim may be reset to prevent Maxima from taking an inordinately long time factoring large integers Examples i1 factor 2 63 1 2 01 7 73 127 337 92737 649657 4i2 factor 8 y 4 x z 2 2 y x 02 2 y x z 2 z 2 hi3 1 2 x x 2 y 2 2 x y 2 x 2 y 2 22 2 2 2 03 X Y 2xy y ex 2e 72 4i4 block dontfactor x factor 36 1 2xy y72 2 x 2x 1 y 1 AO o 36 y 1 hib factor 1 e 3x x X 2x x 05 he 1 Che fe 1 16 factor 1 x 4 a 2 2 2 2 06 x ax 1 x ax 1 117 factor y 2 z 2 x z 2 x 2 y 2 x 3 Chapter 12 Polynomials 119 2 07 y x 2 x z x 118 2 x 3 x b x c x 72 x 2 o8 x 3 x b x ce 419 ratsimp 4 4 3 409 x 2 x 2 6 b 3 x 2 2 2 2 c 2b 6 c 3b x b 3 c 6bc x 3bcC 4110 partfrac x 2 4 3 c 4 c b 6 c 2b 6 c 4010 2 2 2 2 b 12b 9c 6 b 18 b c 9 b x c b 3 c 6b 2b c b 3 b b b 3 c 18 6 b c 9b 27 x 3 4111 map C factor Jolt b 3 c b x b b 3 c 3 x 3 4i12 ratsimp x 5 1 x 1 4 3 2 4012 X
323. inear Declaration 68 linechar Option variable 94 linel Option variable 95 linenum System variable 21 linsolve Function 204 linsolve_params Option variable 204 linsolvewarn Option variable 204 lispdisp Option variable 95 list_nc_monomials Function 252 listarith Option variable 383 listarray Function 226 listconstvars Option variable 55 Appendix A Function and Variable Index listdummyvars Option variable 55 listify Punction benii eresien pen eit ena 394 listoftens Function 259 listofvars Function 55 listp Function is erect sans mes 383 Imxchar Option variable 239 Load F nction 225 23052250 nREUReRE dota 95 loadfile Function 95 loadprint Option variable 96 local Function 2725 rir toa 414 Log Function acr nseentheitRReee DR UU S 139 logabs Option variable 139 logarc Option variable 139 logconcoeffp Option variable 140 logcontract Function 140 logexpand Option variable 140 lognegint Option variable 140 lognumer Option variab
324. ined the matrix will contain a symbolic element ali j hi1 h i j 1 i j 00 12 genmatrix h 3 3 1 1 238 Maxima Manual 1 3 1 1 1 402 m e 2 4 1 1 1 3 4 5 413 array a fixnum 2 2 414 a 1 1 e 135 412 51 pi 416 kill a 1 2 a 2 1 4i7 genmatrix a 2 2 the a 1 2 07 a Api L 2 4 gramschmidt x Function gschmit x Function Carries out the Gram Schmidt orthogonalization algorithm on x which is either a matrix or a list of lists x is not modified by gramschmidt If x is a matrix the algorithm is applied to the rows of x If x is a list of lists the algorithm is applied to the sublists which must have equal numbers of elements In either case the return value is a list of lists the sublists of which are orthogonal and span the same space as x If the dimension of the span of x is less than the number of rows or sublists some sublists of the return value are zero factor is called at each stage of the algorithm to simplify intermediate results As a consequence the return value may contain factored integers gschmit note spelling is a synonym for gramschmidt load eigen loads this function Example Aii load eigen Warning you are redefining the Macsyma function eigenvalues Warning you are redefining the Macsyma function eigenvectors 4i2 x matrix 1 2 3 9 18 30 12 48 601 1 2 3
325. ing out products of sums and exponentiated sums com bining fractions over a common denominator cancelling the greatest common divisor of the numerator and denominator then splitting the numerator if a sum into its respective terms divided by the denominator The return value of ratexpand is a general expression even if expr is a canonical rational expression CRE The switch ratexpand if true will cause CRE expressions to be fully expanded when they are converted back to general form or displayed while if it is false then they will be put into a recursive form See also ratsimp When ratdenomdivide is true ratexpand expands a ratio in which the numerator is a sum into a sum of ratios all having a common denominator Otherwise ratexpand collapses a sum of ratios into a single ratio the numerator of which is the sum of the numerators of each ratio When keepfloat is true prevents floating point numbers from being rationalized when expressions which contain them are converted to canonical rational expression CRE form Examples Ail ratexpand 2 x 3 y 73 3 2 2 3 01 27y 542 7 36x y 8x 112 expr x 1 x 1072 1 x 1 x 1 o2 nnn 2 x 1 x 1 413 expand expr x 1 1 403 2 2 x 1 X t2x 1 X t2x 1 Ai4 ratexpand expr ho4 130 Maxima Manual X cox xX 1 x x x 1 ratfac Option variable Default value
326. ing2 Function 400 string Function eek e vtt 101 stringdisp Lisp variable 102 stringout Function 102 sublis Function cete rn 35 sublis apply lambda Option variable 35 sublist Function 35 submatrix Function 247 subset Function 400 subsetp Function 401 subst F nction rior e senses eee 35 substinpart Function 36 substpart Function 37 subvarp Function 2 0 2 cesse beeen es 37 Sum Functlon se eeeced Rep rele pe EEEn 63 sumcontract Function 72 sumexpand Option variable 72 sumhack Option variable 72 sumsplitfact Option variable 72 supcontext Function 00 113 symbolp Function 37 symmdifference Function 401 symmetric Declaration 72 symmetricp Function sees 303 system Function 103 T tan Function ulcera 143 tanh Function nene Dre mp nee Rus 143 taylor Funcion Visca bia uns 323 taylor logexpand Option variable 326 taylor order coefficients Option variable ados lbose v xeu an Ghana 210 nix a Su cho ud 327 taylor simplifier Function 3
327. ion With no arguments timer info returns timing information for all functions currently on the timer list The matrix returned by timer info contains the function name time per function call number of function calls total time and gctime which meant garbage collec tion time in the original Macsyma but is now always zero The data from which timer info constructs its return value can also be obtained by the get function get f calls get f runtime get f gctime See also timer trace 1 fn Function trace Function Given functions f 1 f n trace instructs Maxima to print out debugging informa tion whenever those functions are called trace f trace g puts f and then g onto the list of functions to be traced the list accumulates from one call to the next With no arguments trace returns a list of all the functions currently being traced The untrace function disables tracing See also trace options 436 Maxima Manual trace quotes its arguments Thus f x x 2 g f trace g does not put f on the trace list When a function is redefined it is removed from the timer list Thus after timer f f x x 2 function f is no longer on the timer list If timer f is in effect then trace f has no effect trace and timer can t both be in effect for the same function trace options f option_1 option_n Function trace options f Function Sets the trace options for functi
328. is U Example expression is errexpl an error Quitting To debug this try debugmode true hi4 errexpi oA ooo cos X 1 1 15 error size 30 416 error Example expression is U Example expression is cos X 1 1 an error Quitting To debug this try debugmode true Chapter 9 Input and Output 91 error syms Option variable Default value errexpi errexp2 errexp3 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 If there are more too large expressions than there are elements of error syms symbols are constructed automatically with the n th symbol equivalent to concat C errexp n See also error and error size expt a b Function If an exponential expression is too wide to be displayed as a b it appears as expt a b or as ncexpt a b in the case of a b expt and ncexpt are not recognized in input exptdispflag Option variable Default value true When exptdispflag is true Maxima displays expressions with negative exponents using quotients e g X 1 as 1 X filename merge path filename Function Constructs a modified path from path and filename If the final component of path is of the form itt something the component is replaced with
329. is including the big O and little o functions that are widely used in complexity analysis and numerical analysis load asympa loads this package bessel z a Function The Bessel function of the first kind This function is deprecated Write bessel_j z a instead bessel_j v z Function The Bessel function of the first kind of order v and argument z bessel_j computes the array besselarray such that besselarray i bessel_j i v int v z for i from zero to int v bessel_j is defined as p e e 2 XIT v4 kil k 0 although the infinite series is not used for computations bessel_y v z Function The Bessel function of the second kind of order v and argument z bessel_y computes the array besselarray such that besselarray i bessel_y i v int v z for i from zero to int v bessel_y is defined as cos mv J z J_ z sin 7 v when v is not an integer When v is an integer n the limit as v approaches n is taken 150 Maxima Manual bessel_i v z Function The modified Bessel function of the first kind of order v and argument z bessel_i computes the array besselarray such that besselarray i bessel i i v int v z for i from zero to int v bessel i is defined as oo z v 2 k gt kIT v k 1 5 k 0 although the infinite series is not used for computations bessel_k v z Function The modified Bessel function of the second kin
330. is 1d 10 limit Size of internal work array limit limlst 2 is the maximum number of subintervals to use Default is 200 maxpl Maximum number of Chebyshev moments Must be greater than 0 De fault is 100 limlst Upper bound on the number of cycles Must be greater than or equal to 3 Default is 10 epsabs and limit are the desired relative error and the maximum number of subinter vals respectively epsrel defaults to le 8 and limit is 200 quad qawf returns a list of four elements an approximation to the integral the estimated absolute error of the approximation the number integrand evaluations an error code The error code fourth element of the return value can have the values no problems were encountered too many sub intervals were done 0 1 2 excessive roundoff error is detected 3 extremely bad integrand behavior occurs 6 if the input is invalid Examples Aii quad qawf exp x 2 x 0 1 cos 401 6901942235215714 2 84846300257552E 11 215 0 112 integrate exp x 2 cos x x 0 inf 1 4 e sqrt Api o2 213 ev 4 numer 403 6901942235215714 quad qawo f x x a b omega trig epsabs limit maxp1 limlst Function Numerically compute the integral using the Quadpack QAWO routine L f x w x dx The weight function w is selected by trig Chapter 21 Integration 195 cos w x cos omegaz sin w x sin omegaz The optional ar
331. is not When b does not have these characteristics one may sometimes use substpart or ratsubst see below Alternatively if b is of the form e f then one could use subst a f e c while if b is of the form e 1 then one could use subst a f e c The subst command also discerns the x y in x y so that subst a sqrt G2 1 sqrt x yields 1 a a and b may also be operators of an expression enclosed in double quotes or they may be function names If one wishes to substitute for the independent variable in derivative forms then the at function see below should be used subst is an alias for substitute subst eq 1 expr or subst eq 1 eq k expr are other permissible forms The eq i are equations indicating substitutions to be made For each equation the right side will be substituted for the left in the expression expr 36 Maxima Manual exptsubst if true permits substitutions like y for e x in e a x to take place When opsubst is false subst will not attempt to substitute into the operator of an expression E g opsubst false subst x 2 r r r 0 will work Examples Ail subst a x y x x y 72 y 2 201 y x a 4i2 subst i i a b i 02 a fib For further examples do example subst substinpart x expr n 1 n k Function Similar to substpart but substinpart works on the internal representation of expr Wii x diff f x x 2 2 D 01 X f x
332. it returns if they appear in the expression listofvars is called on The default is to omit these listdummyvars Option variable Default value true When listdummyvars is false dummy variables in the expression will not be included in the list returned by listofvars The meaning of dummy variables is as given in freeof Dummy variables are mathematical things like the index of a sum or product the limit variable and the definite integration variable Example Aii listdummyvars true hi2 listofvars Csum f i i O n 502 i n 113 listdummyvars false hi4 listofvars sum f i i 0 n0 404 n listofvars expr Function Returns a list of the variables in expr listconstvars if true causes listofvars to include e pi 4i and any variables declared constant in the list it returns if they appear in expr The default is to omit these hii listofvars f x 1 y g 2 a 01 Es a E y 1 56 Maxima Manual lfreeof list expr Function For each member m of list calls freeof m expr It returns false if any call to freeof does and true otherwise lopow expr x Function Returns the lowest exponent of x which explicitly appears in expr Thus Aii lopow x y 72 x y a x y 401 min a 2 Ipart label expr n 1 n k Function is similar to dpart but uses a labelled box A labelled box is similar to the one produced by dpart but it has a name in the top line multth
333. itive 34 Maxima Manual The functions make random state and set random state maintain the state of the random number generator The Maxima random number generator is an implementation of the Mersenne twister MT 19937 Examples ii si make random state 654321 4i2 set random state s1 402 done 413 random 1000 403 768 4i4 random 9573684 504 7657880 415 random 2775 05 11804491615036831636390 i6 s2 make random state false hi7 random 1 0 LoT 2310127244107132 18 random 10 0 408 4 394553645870825 4i9 random 100 0 409 32 28666704056853 4i10 set random state s2 5010 done 4111 random 1 0 5011 2310127244107132 2112 random 10 0 4012 4 394553645870825 113 random 100 0 4013 32 28666704056853 sign expr Function Attempts to determine the sign of expr on the basis of the facts in the current data base It returns one of the following answers pos positive neg negative zero pz positive or zero nz negative or zero pn positive or negative or pnz positive negative or zero i e nothing known signum x Function For numeric x returns 0 if x is 0 otherwise returns 1 or 1 as x is less than or greater than 0 respectively If x is not numeric then a simplified but equivalent form is returned For example signum x gives signum x sort list p Function sort list Function Sorts list according t
334. its numeric value 2 718 whenever numer is true When enumer is false this substitution is carried out only if the exponent in 4e x evaluates to a number See also ev and numer exptisolate Option variable Default value false exptisolate when true causes isolate expr var to examine exponents of atoms such as 4e which contain var Chapter 6 Expressions 51 exptsubst Option variable Default value false exptsubst when true permits substitutions such as y for 4e x in e a x freeof x 1 x n expr Function freeof x 1 expr Returns true if no subexpression of expr is equal to x_1 or if x_1 occurs only as a dummy variable in expr and returns false otherwise freeof x 1 x n expr is equivalent to freeof x 1l expr and and freeof x n expr The arguments x_1 x_n may be names of functions and variables subscripted names operators enclosed in double quotes or general expressions freeof evalu ates its arguments freeof operates only on expr as it stands after simplification and evaluation and does not attempt to determine if some equivalent expression would give a different result In particular simplification may yield an equivalent but different expression which comprises some different elements than the original form of expr A variable is a dummy variable in an expression if it has no binding outside of the expression Dummy variables recognized by freeof are the index of a
335. ivalent to the execution of undiff followed by ev and rediff The point of this operation is to easily evalute expressions that cannot be directly evaluated in derivative form For instance the following causes an error Aii load itensor 01 share tensor itensor lisp 4i2 icurvature i j k 1 m Maxima encountered a Lisp error Error in ICURVATURE or a callee ICURVATURE or a callee requires less than three arguments Automatically continuing To reenable the Lisp debugger set debugger hook to nil However if icurvature is entered in noun form it can be evaluated using evundiff 413 ishow C icurvature i j k 1 m 2 al t3 icurvature i j km 4i4 ishow evundiff 1 1 1 1 41 114 ichr2 ichr2 ichr2 ichr2 ichr2 ik jm 1 j i k m i j m ik al 1 1 1 71M ichr2 ichr2 ichr2 ichr2 ichr2 i j km 1 k i j m i k m i ji Note In earlier versions of Maxima derivative forms of the Christoffel symbols also could not be evaluated This has been fixed now so evundiff is no longer necessary for expressions like this 415 imetric g 405 done 416 ishow ichr2 i jl kl 1 k 3 g g P g j 494 11 i j 43 1 i 4354 1 Chapter 29 itensor 271 g g E 8 sl 3 3 4 1 3 49 i 3 j flush expr tensor 1 tensor_2 Function Set to zero in expr all occurrences of the tensor i that have no derivative indices flushd expr tensor 1 tensor_2 Function Set to zero in exp
336. k hi4 ff 3 Here is the same function with the break option conditional on a predicate Aib trace options ff break pp 4i6 pp level direction function item block print item return function ff and level 3 and direction exit 117 ff 6 Chapter 43 Debugging 437 untrace f1 f n Function untrace Function Given functions f 1 f n untrace disables tracing enabled by the trace function With no arguments untrace disables tracing for all functions untrace returns a list of the functions for which it disabled tracing 438 Maxima Manual Chapter 44 Indices 439 44 Indices 440 Maxima Manual Appendix A Function and Variable Index 441 Appendix A Function and Variable Index MU Operator a2 ceased sine ye vetere ERIS 26 AN A poe He eee eT 26 NEN Operatof i322 orinar rado 27 WIM Operator aio ayn Doan go SES Seok ete 15 WII Operator consacre tions 16 A cem I beer erp REIS ale Dv 27 A fase n2252 se dsunged xe es 27 We Operator it sse ds adress Glens 27 ris Operator sesisercer be ee Ed ds 27 Wee Operator ec accen eret emen 28 NEW OperatOr iiesceee fenem Rer eebE SEES 28 Special symbol 2 cos eset mem ee 87 Special symbol 248 1 Special symbol eerte eek eae 248 Operator rie 282 OT A dee es 281 76 System variable 86 System variable
337. le 140 logsimp Option variable 140 Lopow Function sreeers cex ree 56 lorentz gauge Function 274 lpart Function dex nde eee niia 56 lratsubst Function oo o robe 124 lreduce Function 395 Irien Variable ert reme ER ES 310 lriemann Function 293 Isum Function e 242282462008 mas ssh 64 ltreillis FunctbnB c redes 341 M mipbranch Option variable 361 macroexpansion Option variable 415 mainvar Declaration 68 make_array Function 226 make random state Function 33 make transform Function 82 makebox Function 271 makefact Function 151 makegamma Function 151 makelist Function 383 makeset Function 395 Map Function srerecssewioteiie reyne etes 428 mapatom Function 428 maperror Option variable 428 maplist Function 429 matchdeclare Function 372 matchfix Function 373 matrix Buncton i enereicekeswesciveies 240 matrix element add Option variable 242 matrix element mult Option variable 243 matrix element transpose Opti
338. le Default value true When solvefactors is false solve does not try to factor the expression The false setting may be desired in some cases where factoring is not necessary solvenullwarn Option variable Default value true When solvenullwarn is true solve prints a warning message if called with either a null equation list or a null variable list For example solve would print two warning messages and return solveradcan Option variable Default value false When solveradcan is true solve calls radcan which makes solve slower but will allow certain problems containing exponentials and logarithms to be solved solvetrigwarn Option variable Default value true When solvetrigwarn is true solve may print a message saying that it is using inverse trigonometric functions to solve the equation and thereby losing solutions solve inconsistent error Option variable Default value true When solve inconsistent error is true solve and linsolve give an error if the equations to be solved are inconsistent If false solve and linsolve return an empty list if the equations are inconsistent Example Aii solve inconsistent error true 4i2 solve a b 1 a b 2 la b Inconsistent equations 2 an error Quitting To debug this try debugmode true 13 solve_inconsistent_error false 14 solve la b 1 a b 2 la b 404 Chapter 23 Differential Equations 211 23 Differential Equati
339. le tellsimp let kill remrule and clear rules Examples pattern may be any nonatomic expression in which the main operator is not a pattern variable Aii matchdeclare aa atom 11 mm listp xx true 4i2 tellsimpafter sin 11 map sin 11 402 sinrulel simp sin 413 sin 1 6 1 4 1 3 1 2 1 x pi 1 sart 2 sqrt 3 03 fes eem laa UE 2 2 2 4i4 tellsimpafter 11 mm map 11 mm 404 rulei simpexpt 415 a b cl l1 2 3 2 3 405 a b c 416 tellsimpafter foo aa xx aa foo xx 406 foorulei false 417 foo bar u v2 378 Maxima Manual 07 bar foo u v Rules are applied in the order they were defined If two rules can match an expression the rule which was defined first is applied Aii matchdeclare aa integerp A01 done 4i2 tellsimpafter foo aa bar 1 aa 402 foorulei false 113 tellsimpafter foo aa bar 2 aa 403 foorule2 foorulei false 414 foo 42 04 bar_1 42 Pattern variables are treated as local variables in simplification rules Compare to defmatch which treats pattern variables as global variables Aii matchdeclare aa integerp bb atom A01 done 4i2 tellsimpafter foo aa bb bar aa aa bb bb 402 foorulei false i3 bb 12345 403 12345 4i4 foo 42 he 404 bar aa 42 bb Ye Aib bb 405 12345 As with all atoms properties of patt
340. line breaks plot3d cos x 2 y 3 4 x 4 4 ly 4 4 gnuplot preamble set view map unset surface gnuplot pm3d true plot3d expr x range Pec options Function lot3d Eu e ex oe 3 x range y range options Function d LR ds 2 Tu 5 Bl Lv 7 plots z 2 7 u 2 v 2 with u and v varying in 5 5 and 7 7 respectively and with u on the x axis and v on the y axis An example of the second pattern of arguments is plot3d cos x 3 y cos x 2 sin x 3 y cos x 2 y sin x 2 1 lx Api pil Ly 1 11 grid 50 15 which plots a Moebius band parametrized by the three expressions given as the first argument to plot3d An additional optional argument grid 50 15 gives the grid number of rectangles in the x direction and y direction This example shows a plot of the real part of z 1 3 plot3d r 33 cos th 3 r 0 1 th 0 6 pi grid 12 80 plot_format ps transform xy polar_to_xy view_direction 1 1 1 4 colour z true Here the view direction option indicates the direction from which we take a pro jection We actually do this from infinitely far away but parallel to the line from view direction to the origin This is currently only used in ps plot format since the other viewers allow interactive rotating of the object Another example is a Klein bottle expr 1 5 cos x cos x 2 cos y sin x 2 sin 2 y 3 0 10 0 e
341. ll a context which is currently active either because it is a subcontext of the current context or by use of the function activate killcontext evaluates its arguments killcontext returns done newcontext name Function Creates a new empty context called name which has global as its only subcontext The newly created context becomes the currently active context newcontext evaluates its argument newcontext returns name supcontext name context Function supcontext name Function Creates a new context called name which has context as a subcontext context must exist If context is not specified the current context is assumed 114 Maxima Manual Chapter 12 Polynomials 115 12 Polynomials 12 1 Introduction to Polynomials Polynomials are stored in Maxima either in General Form or as Cannonical Rational Expressions CRE form The latter is a standard form and is used internally by operations such as factor ratsimp and so on Canonical Rational Expressions constitute a kind of representation which is especially suitable for expanded polynomials and rational functions as well as for partially factored polynomials and rational functions when RATFAC is set to true In this CRE form an ordering of variables from most to least main is assumed for each expression Polynomials are represented recursively by a list consisting of the main variable followed by a series of pairs of expressions one for each term of the polyn
342. lt value true When zeta hpi is true zeta returns an expression proportional to pi n for even integer n Otherwise zeta returns a noun form zeta n for even integer n Aii zetahpi true 4i2 zeta 4 Api o2 m 90 Chapter 33 Number Theory 335 Ai3 zeta pi false 4i4 zeta 4 04 zeta 4 336 Maxima Manual Chapter 34 Symmetries 337 34 Symmetries 34 1 Definitions for Symmetries comp2pui n 1 Function re alise le passage des fonctions syme triques comple tes donnee s dans la liste 1 aux fonctions syme triques e le mentaires de 0 a n Si la liste 1 contient moins de n 1 e le ments les valeurs formelles viennent la completer Le premier e le ment de la liste I donne le cardinal de l alphabet si il existe sinon on le met e gal a n hii comp2pui 3 4 gl 2 2 401 4 g 2h2 g 3h3 g h2 g g 2 h2 cont2part pc lvar Function rend le polyno me partitionne associe a la forme contracte e pc dont les variables sont dans lvar Aii pc 2 a 3 b x 4 y x75 3 4 5 01 2a bx y x 412 cont2part pc x yl 3 02 1 5 0 2a b 4 1 Autres fonctions de changements de repre sentations contract explose part2cont partpol tcontract tpartpol contract psym lvar Function rend une forme contracte e i e un mono me par orbite sous l action du groupe syme trique du polyno me psym en les variables contenues dans la liste Ivar La fonction explose
343. ltant subres for subresultant prs mod for modular resultant algorithm and red for reduced prs On most problems subres should be best On some large degree univariate or bivariate problems mod may be better The function bezout takes the same arguments as resultant and returns a matrix The determinant of the return value is the desired resultant savefactors Option variable Default value false When savefactors is true causes the factors of an expression which is a product of factors to be saved by certain functions in order to speed up later factorizations of expressions containing some of the same factors sqfr expr Function is similar to factor except that the polynomial factors are square free That is they have factors only of degree one This algorithm which is also used by the first stage of factor utilizes the fact that a polynomial has in common with its n th derivative all its factors of degree greater than n Thus by taking greatest common divisors with the polynomial of the derivatives with respect to each variable in the polynomial all factors of degree greater than 1 can be found Example Aii sqfr 4 x 4 4 x 3 3 x72 4 x 1 2 2 101 2x 1 x 1 tellrat p 1 p n Function tellrat Function Adds to the ring of algebraic integers known to Maxima the elements which are the solutions of the polynomials p 1 p n Each argument p i is a polynomial with integer coefficients tellrat x effec
344. lue remarray remfunction and remrule remvalue name 1 name n Function remvalue all Function Removes the values of user variables name 1 name n which can be subscripted from the system remvalue all removes the values of all variables in values the list of all variables given names by the user as opposed to those which are automatically assigned by Maxima See also values rncombine expr Function Iransforms expr by combining all terms of expr that have identical denominators or denominators that differ from each other by numerical factors only This is slightly different from the behavior of combine which collects terms that have identical de nominators Setting pfeformat true and using combine yields results similar to those that can be obtained with rncombine but rncombine takes the additional step of cross multiplying numerical denominator factors This results in neater forms and the possiblity of recognizing some cancellations scalarp expr Function Returns true if expr is a number constant or variable declared scalar with declare or composed entirely of numbers constants and such variables but not containing matrices or lists setup autoload filename function 1 function n Function Specifies that if any of function 1 function n are referenced and not yet defined filename is loaded via load filename usually contains definitions for the functions specified althoug
345. ly with respect to rational number exponents whose denominators are the same The key to the rootsconmode true examples is simply that 2 divides into 4 but not into 3 rootsconmode all involves taking the least common multiple of the denominators of the exponents rootscontract uses ratsimp in a manner similar to logcontract Examples ii rootsconmode false 4i2 rootscontract x 1 2 y 3 2 3 402 sqrt x y 13 rootscontract x 1 2 y 1 42 1 4 03 sqrt x y i4 rootsconmode true 415 rootscontract x 1 2 x y 1 2 405 sqrt x sqrt y 16 rootscontract x 1 2 xy 1 3 1 3 406 sqrt x y WiT rootsconmode all Chapter 22 Equations 207 18 rootscontract x 1 2 xy 1 42 2 1 4 408 x y 19 rootscontract x 1 2 xy 1 3 3 2 1 6 409 x y 4110 rootsconmode false Aiii rootscontract sqrt sqrt x sqrt 1 x sqrt sqrt 1 x sqrt x 4011 1 4i12 rootsconmode true 4113 rootscontract sqrt 5 sqrt 5 5 1 4 sqrt 1 sqrt 5 7 013 0 rootsepsilon Option variable Default value 1 0e 7 rootsepsilon is the tolerance which establishes the confidence interval for the roots found by the realroots function solve expr x Function solve expr Function solve eqn 1 eqn n x 1 x_n Function Solves the algebraic equation expr for the variable x and returns a list of solution equations in x If expr is not an equation
346. m n Function Returns an m by n matrix all elements of which are zero iil Special symbol Special symbol and mark the beginning and end respectively of a list and also enclose the subscripts of a list array hash array or array function Examples Chapter 27 Matrices and Linear Algebra Lii 01 i2 02 413 403 414 404 Lib 405 i6 406 LiT 07 418 408 419 409 x a b cl x 3 array y fixnum 3 y 2 pi yl21 z foo bar z foo glk 1 k 2 1 g g 10 la b Api Api bar bar 249 c 250 Maxima Manual Chapter 28 Affine 251 28 Affine 28 1 Definitions for Affine fast linsolve expr 1 expr m x 1 x_n Function Solves the simultaneous linear equations expr 1 expr_m for the variables x 1 x n Each expr i may be an equation or a general expression if given as a general expression it is treated as an equation of the form expr i 0 The return value is a list of equations of the form x 1 a_l x_n a m where a l a n are all free of x 1 x_n fast linsolve is faster than linsolve for system of equations which are sparse grobner basis expr 1 expr m Function Returns a Groebner basis for the equations expr 1 expr_m The function polysimp can then be used to simplify other functions relative to the equations grobner basis 3 x 2 1 y x polysimp
347. m the matrix aform 316 Maxima Manual av u v Function An antisymmetric function that is used in commutation relations The default imple mentation checks if both arguments are base vectors using abasep and if that is the case substitutes the corresponding value from the matrix aform For instance Aii load atensor 01 share tensor atensor mac i2 adim 3 402 3 4i3 aform matrix 0 3 2 3 0 1 2 1 0 0 3 2 403 3 0 1 2 1 0 414 asymbol x 404 x 415 av x 1 x 2 A05 x 3 abasep v Function Checks if its argument is an atensor base vector That is if it is an indexed symbol with the symbol being the same as the value of asymbol and the index having a numeric value between 1 and adim Chapter 32 Series 317 32 Series 32 1 Introduction to Series Maxima contains functions taylor and powerseries for finding the series of differen tiable functions It also has tools such as nusum capable of finding the closed form of some series Operations such as addition and multiplication work as usual on series This section presents the global variables which control the expansion 32 2 Definitions for Series cauchysum Option variable Default value false When multiplying together sums with inf as their upper limit if sumexpand is true and cauchysum is true then the Cauchy product will be used rather than the usual product In the Cauchy product the index of the inne
348. me wfs neumann mac and home gcj neumann mac file_type filename Function Returns a guess about the content of filename based on the filename extension filename need not refer to an actual file no attempt is made to open the file and inspect the content The return value is a symbol either object lisp or maxima If the extension starts with m or d file_type returns maxima If the extension starts with 1 file_type returns lisp If none of the above file_type returns object grind expr Function grind Option variable The function grind prints expr to the console in a form suitable for input to Maxima grind always returns done Chapter 9 Input and Output 93 See also string which returns a string instead of printing its output grind attempts to print the expression in a manner which makes it slightly easier to read than the output of string When the variable grind is true the output of string and stringout has the same format as that of grind otherwise no attempt is made to specially format the output of those functions The default value of the variable grind is false grind can also be specified as an argument of playback When grind is present playback prints input expressions in the same format as the grind function Other wise no attempt is made to specially format input expressions ibase Option variable Default value 10 Integers entered into Maxima are interpreted with respect to the base ibase ibase
349. ments symbolic tensor manipulation of two distinct types component ten sor manipulation ctensor package and indicial tensor manipulation itensor package Nota bene Please see the note on new tensor notation below Component tensor manipulation means that geometrical tensor objects are represented as arrays or matrices Tensor operations such as contraction or covariant differentiation are carried out by actually summing over repeated dummy indices with do statements That is one explicitly performs operations on the appropriate tensor components stored in an array or matrix Indicial tensor manipulation is implemented by representing tensors as functions of their covariant contravariant and derivative indices Tensor operations such as contraction or covariant differentiation are performed by manipulating the indices themselves rather than the components to which they correspond These two approaches to the treatment of differential algebraic and analytic processes in the context of Riemannian geometry have various advantages and disadvantages which reveal themselves only through the particular nature and difficulty of the user s problem However one should keep in mind the following characteristics of the two implementations The representation of tensors and tensor operations explicitly in terms of their compo nents makes ctensor easy to use Specification of the metric and the computation of the induced tensors and invariants
350. meric TO Maxima Manual opproperties System variable opproperties is the list of the special operator properties recognized by the Max ima simplifier linear additive multiplicative outative evenfun oddfun commutative symmetric antisymmetric nary lassociative rassociative opsubst Option variable Default value true When opsubst is false subst does not attempt to substitute into the operator of an expression E g opsubst false subst x 2 r r r 0 will work outative Declaration declare f outative tells the Maxima simplifier that constant factors in the ar gument of f can be pulled out 1 Iff is univariate whenever the simplifier encounters f applied to a product that product will be partitioned into factors that are constant and factors that are not and the constant factors will be pulled out E g f a x will simplify to axf x where a is a constant Non atomic constant factors will not be pulled out 2 If f is a function of 2 or more arguments outativity is defined as in the case of sum or integrate i e f axg x x will simplify to a f g x x for a free of x sum integrate and limit are all outative posfun Declaration declare f posfun declares f to be a positive function is f x gt 0 yields true prodhack Option variable Default value false When prodhack is true the identity product f i i a b 1 product f i i b 1 a 1 is applied if a is greater than b For exa
351. metric ifg T he frame metric is the identity matrix for orthonormal frames or the Lorentz metric for orthonormal frames in Minkowski spacetime The inverse frame field defines the frame base unit vectors Contraction properties are defined for the frame field and the frame metric When iframe flag is true many itensor expressions use the frame metric ifg instead of the metric defined by imetric for raising and lowerind indices 276 Maxima Manual IMPORTANT Setting the variable iframe flag to true does NOT undefine the con traction properties of a metric defined by a call to defcon or imetric If a frame field is used it is best to define the metric by assigning its name to the variable imetric and NOT invoke the imetric function Maxima uses these two tensors to define the frame coefficients ifc1 and ifc2 which form part of the connection coefficients icc1 and icc2 as the following example demon strates Chii 01 412 402 413 1143 1114 1114 Lib tb 416 416 load itensor share tensor itensor lisp iframe flag true true ishow covdiff v i j i i 1 V icc2 V d hi j ishow ev icc2 1 i i v ifc2 ichr2 Vv l j 41 j 5 ishow ev ifc2 hi i 42 v ifg ifb ifb ifb j 2 1 2 hi j hi j 42 i 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 y 2 oJ ishow ifb a b c 5 4 ifr ifr ifri ifri a b c 14 75 c 45 44
352. mple product f i i 3 1 yields 1 f 2 radcan expr Function Simplifies expr which can contain logs exponentials and radicals by converting it into a form which is canonical over a large class of expressions and a given ordering of variables that is all functionally equivalent forms are mapped into a unique form 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 some expressions radcan is quite time consuming This is the cost of exploring certain relationships among the components of the expression for simplifications based on factoring and partial fraction expansions of exponents When Xe to numlog is true e r log expr simplifies to expr r ifr is a rational number Chapter 7 Simplification 71 When radexpand is false certain transformations are inhibited radcan sqrt 1 x remains sqrt 1 x and is not simplified to 4i sqrt x 1 radcan sqrt x72 2 x 11 remains sqrt x 2 2 x 1 and is not simplified to x 1 example radcan displays some examples radexpand Option variable Default value true radexpand controls some simplifications of radicals When radexpand is all causes nth roots of factors of a product which are powers of n to be pulled outside of the radical E g if radexpand is all sqrt 16 x 2 simplifies to 4
353. mplify to g g Cg a b c a 68 Maxima Manual linear Declaration One of Maxima s operator properties For univariate f so declared expansion f x y yields f x f y f axx yields a f x takes place where a is a constant For functions of two or more arguments linearity is defined to be as in the case of sum or integrate i e f a x b x yields a x x b 1 x for a and b free of x linear is equivalent to additive and outative See also opproperties mainvar Declaration You may declare variables to be mainvar The ordering scale for atoms is essentially numbers lt constants e g 4e Api lt scalars lt other variables lt mainvars E g com pare expand X Y 74 with declare x mainvar expand x y 4 Note Care should be taken if you elect to use the above feature E g if you subtract an expression in which x is a mainvar from one in which x isn t a mainvar resimplifica tion e g with ev expr simp may be necessary if cancellation is to occur Also if you save an expression in which x is a mainvar you probably should also save x maxapplydepth Option variable Default value 10000 maxapplydepth is the maximum depth to which apply1 and apply2 will delve maxapplyheight Option variable Default value 10000 maxapplyheight is the maximum height to which applyb1 will reach before giving up maxnegex Option variable Default value 1000 maxnegex is the largest negative exponent wh
354. mputations 110 Maxima Manual By default a parameter is x such that symbolp x or subvarp x The class of expressions considered parameters can be modified to some extent via the variable assume pos pred sign and asksign attempt 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 However there is no way to bypass all asksign queries In particular when the asksign argument is a difference x y or a logarithm log x asksign always re quests an input from the user even when assume pos is true and assume pos pred is a function which returns true for all arguments assume pos pred Option variable Default value false When assume pos pred is assigned the name of a function or a lambda expression of one argument x that function is called to determine whether x is considered a parameter for the purpose of assume pos assume pos pred is ignored when assume pos is false The assume pos pred function is called by sign and asksign with an argument x which is either an atom a subscripted variable or a function call expression If the assume pos pred function returns true x is considered a parameter for the purpose of assume pos By default a parameter is x such that symbolp x or subvarp x See also assume and assume pos Examples Aii assume pos true 4i2 assume pos pred symbolp 113 sign a
355. must be prime Aii define variable bar 2 integer 01 2 4i2 qput bar prime test value check 402 prime test 13 prime test y if not primep y then error y is not prime 403 prime test y if not primep y then error y is not prime hi4 bar 1439 504 1439 i5 bar 1440 1440 is not prime 0 prime test y 1440 an error Quitting To debug this try debugmode true 4i6 bar 206 1439 baz quux is a variable which cannot be assigned a value The mode any check is like any but any check enables the value check mechanism and any does not Aii define variable baz quux baz quux any check 01 baz_quux 112 F lambda yl if y baz_quux then error Cannot assign to baz quux 402 lambda ly if y baz quux then error Cannot assign to baz_quux 113 qput baz quux F value check 503 lambda y if y baz quux then error Cannot assign to baz_quux 4i4 baz quux baz_quux 04 baz_quux Chapter 41 Function Definition 411 4i5 baz quux sqrt 2 Cannot assign to baz quux 0 lambda yl if y baz quux then error Cannot assign to baz_quux y an error Quitting To debug this try debugmode true 416 baz quux 406 baz_quux dispfun 1 fn Function dispfun all Function Displays the definition of the user defined functions f 1 f n Each argument may be the name of a macro
356. mxmxops is true all matrix matrix or matrix list operations are carried out but not scalar matrix operations if this switch is false such operations are not carried out domxnctimes Option variable Default value false When domxnctimes is true non commutative products of matrices are carried out dontfactor Option variable Default value dontfactor may be set to a list of variables with respect to which factoring is not to occur The list is initially empty Factoring also will not take place with respect to any variables which are less important according the variable ordering assumed for canonical rational expression CRE form than those on the dontfactor list doscmxops Option variable Default value false When doscmxops is true scalar matrix operations are carried out doscmxplus Option variable Default value false When doscmxplus is true scalar matrix operations yield a matrix result This switch is not subsumed under doallmxops dotOnscsimp Option variable Default value true When dotOnscsimp is true a non commutative product of zero and a nonscalar term is simplified to a commutative product dotOsimp Option variable Default value true When dotOsimp is true a non commutative product of zero and a scalar term is simplified to a commutative product dotisimp Option variable Default value true When dotisimp is true a non commutative product of one and another term is simplified to a commutative
357. n All products involving the variables appear explicitly The form returned will be free of products of sums of expressions that are not free of the variables x 1 x n may be variables operators Or expressions By default denominators are not expanded but this can be controlled by means of the switch expandwrt denom This function is autoloaded from simplification stopex mac expandwrt denom Option variable Default value false expandwrt denom controls the treatment of rational expressions by expandwrt lf true then both the numerator and denominator of the expression will be expanded according to the arguments of expandwrt but if expandwrt denom is false then only the numerator will be expanded in that way Chapter 7 Simplification 67 expandwrt factored expr x 1 x n Function is similar to expandwrt but treats expressions that are products somewhat differently expandwrt factored expands only on those factors of expr that contain the variables Xl KOT This function is autoloaded from simplification stopex mac expon Option variable Default value 0 expon is the exponent of the largest negative power which is automatically expanded independent of calls to expand For example if expon is 4 then x 1 5 will not be automatically expanded exponentialize expr Function exponentialize Option variable The function exponentialize expr converts circular and hyperbolic functions in expr
358. n quality zi eu teet neg At d s a ena RD e pe epus 44 6 7 Synta iube ered bebe ad Re REC REPE EUR bees 44 6 8 Definitions for Expressions 46 7 Simpllcaliod escena vo vk oda case Ven 65 7 1 Definitions for Simplification 65 iv Maxima Manual A 75 8 1 Definitions for Plotting 75 9 Input and Output 442 4 9 koh ERR RE Rs 85 9 1 Introduction to Input and Output 85 NI PP 85 9 3 Definitions for Input and Output 85 10 Eloatins POLI m xe RR aan 105 10 1 Definitions for Floating Point 105 ll Contextos vea a ore Rs 109 11 4 Definitions for Contexts 109 I2 Polynomials ass seins ER head ee ERA 115 12 1 Introduction to Polynomials 115 12 2 Definitions for Polynomials 115 13 Costas cronos dices EE A Re eds 137 13 1 Definitions for Constants 137 14 LOSE cocotero 139 14 1 Definitions for Logarithms 139 15 Trigonometric i i 9 br RR 141 15 1 Introduction to Trigonometric 141 15 2 Definitions for Trigonometric 141 16 Special Functions dr keene xU 147 16 1 Introduction to Special Functions 147 10 2 SPCC 2022 ote ies tonne DR E debet de bae ea a 147 16 3 Definition
359. n 2 b n 2 O recttopolar translates complex values of the form a b i to the form r e hi t See recttopolar Chapter 24 Numerical 217 polartorect translates complex values of the form r e 4i t to the form a b i See polartorect demo fft displays a demonstration of the fft package fortindent Option variable Default value 0 fortindent controls the left margin indentation of expressions printed out by the fortran command 0 gives normal printout i e 6 spaces and positive values will causes the expressions to be printed farther to the right fortran expr Function Prints expr as a Fortran statement The output line is indented with spaces If the line is too long fortran prints continuation lines fortran prints the exponentiation operator as and prints a complex number a b i in the form a b expr may be an equation If so fortran prints an assignment statement assigning the right hand side of the equation to the left hand side In particular if the right hand side of expr is the name of a matrix then fortran prints an assignment statement for each element of the matrix If expr is not something recognized by fortran the expression is printed in grind format without complaint fortran does not know about lists arrays or functions fortindent controls the left margin of the printed lines 0 is the normal margin i e indented 6 spaces Increasing fortindent causes expressions to be pri
360. n Maxima so that they will remain in effect until being reset If expr is a canonical rational expression CRE then the expression returned by ev is also a CRE provided the numer and float switches are not both true 2 During step 1 a list is made of the non subscripted variables appearing on the left side of equations in the arguments or in the value of some arguments if the value is an equation The variables subscripted variables which do not have associated array functions as well as non subscripted variables in the expression expr are replaced by their global values except for those appearing in this list Usually expr is just a label or 4 as in i2 in the example below so this step simply retrieves the expression named by the label so that ev may work on it 3 If any substitutions are indicated by the arguments they are carried out now 4 The resulting expression is then re evaluated unless one of the arguments was noeval and simplified according to the arguments Note that any function calls in expr will be carried out after the variables in it are evaluated and that ev F x thus may behave like FCev x 5 If one of the arguments was eval steps 3 and 4 are repeated Examples Ail sin x cos y w 1 2 diff sin w w d 2 01 cos y sin x sin w w 1 dw 412 ev A4 sin expand diff x 2 y 1 2 402 cos w w 2 w cos 1 1 909297426825682 An alternate top level sy
361. n a polynomial p or a list of polynomials p 1 p n create list form x 1 list 1 x n list Function Create a list by evaluating form with x 1 bound to each element of list 1 and for each such binding bind x_2 to each element of list 2 The number of elements in the result will be the product of the number of elements in each list Each variable x i must actually be a symbol it will not be evaluated The list arguments will be evaluated once at the beginning of the iteration 4182 create listi x i i 1 3 7 4082 x x 3 x 7 With a double iteration 4179 create list i jl i a b j e h 4079 la el la 3 h b el b b h1 Instead of list_i two args may be supplied each of which should evaluate to a number These will be the inclusive lower and upper bounds for the iteration Chapter 28 Affine 253 181 create listC T3 1 1 1 2 31 3 1 19 4081 1 11 2 1 2 2 3 1 3 2 3 31 Note that the limits or list for the j variable can depend on the current value of i all dotsimp denoms Option variable Default value false When all_dotsimp_denoms is a list the denominators encountered by dotsimp are appended to the list all dotsimp denoms may be initialized to an empty list before calling dotsimp By default denominators are not collected by dotsimp 254 Maxima Manual Chapter 29 itensor 255 29 itensor 29 1 Introduction to itensor Maxima imple
362. n all subexpressions until the main operators are no longer the same fullmap is used by the Maxima simplifier for certain matrix manipulations thus Maxima sometimes generates an error message concerning fullmap even though fullmap was not explicitly called by the user Aii a b c 12 fullmap g 4 4502 g b g c g a 113 map g th 2 403 g b c g a fullmapl f list 1 Function Similar to fullmap but fullmapl only maps onto lists and matrices i1 fullmapl CE 3 14 511 Ufa 1 0 1 5 01 a 3 4 4 3 5 is expr Function Attempts to determine whether the predicate expr is provable from the facts in the assume database If the predicate is provably true or false is returns true or false respectively Otherwise the return value is controlled by the global flag prederror When prederror is false is returns unknown for a predicate which cannot be proven nor disproven and reports an error otherwise See also assume facts and maybe Examples is causes evaluation of predicates 32 Maxima Manual 111 pi gt 4e A01 pi gt he 4i2 is Api gt 4e 402 true is attempts to derive predicates from the assume database hii assume a gt b 401 a gt b 4i2 assume b gt c 402 b gt c hi3 is a lt b 403 false 114 is a gt c A04 true 4i5 is equal a c 405 false If is can neither prove nor disprove a predicate
363. n double quotes e g substpart axb 0 yields b a hi1 1 372 2 1 nol 331 RES 2 x 2 412 substpart 3 2 4 2 1 2 1 OM 5 5 05 5 Sen 3 2 X 2 413 a x f b y 403 a x f b y 14 substpart 1 0 04 x f b y a Also setting the option inflag to true and calling part or substpart is the same as calling inpart or substinpart subvarp expr Function Returns true if expr is a subscripted variable for example a i symbolp expr Function Returns true if expr is a symbol else false In effect symbolp x is equivalent to the predicate atom x and not numberp x See also Identifiers unorder Function Disables the aliasing created by the last use of the ordering commands ordergreat and orderless ordergreat and orderless may not be used more than one time each without calling unorder See also ordergreat and orderless fil unorder 01 i2 b x a 2 402 bxta 38 Maxima Manual 413 ordergreat a 203 done 414 bxx a 2 2 504 a bx 415 th 1 4th 3 2 2 405 a a 4i6 unorder O 406 a vectorpotential givencurl Function Returns the vector potential of a given curl vector in the current coordinate system potentialzeroloc has a similar role as for potential but the order of the left hand sides of the equations must be a cyclic permutation of the coordinate variables xthru expr Function Combines all term
364. n error if a isn t a set emptyp a Function Return true if and only if a is the empty set or the empty list hii map emptyp set O 01 true true 4i2 map emptyp a b set set O pil 402 false false false equiv classes s f Function Return a set of the equivalence classes of s with respect to the equivalence relation f The function f should be a boolean valued function defined on the cartesian product of s with s Further the function f should be an equivalence relation equiv classes however doesn t check that it is Aii equiv classes set a b c lambda x yl is x y 401 a b c Actually equiv_classes s f automatically applies the Maxima function is after applying the function f accordingly we can restate the previous example more briefly Aii equiv_classes set a b c ho1 a b c Here is another example Aii equiv_classes set 1 2 3 4 5 6 7 lambda x yl remainder x 01 til 4 The 12 5 3 6 every f a Function every f Ll L n Function The first argument f should be a predicate a function that evaluates to true false or unknown Given one set as the second argument every f a returns true if f a i returns true for all ai in a Since sets are unordered every is free to evaluate f a i in any order every may or may not evaluate f for all a i in a Because the order of evaluation isn t specified the
365. n expr See also ilt the inverse Laplace transform Examples Aii laplace exp 2 t a sin t t t s a e 2 s 4 hot s 4s 5 112 laplace diff f x x x s 402 s laplace f x x s f 0 13 diff diff delta t t t 2 d 403 delta t 2 dt hi4 laplace t s d 2 404 delta t s delta 0 s dt It 0 Chapter 21 Integration 179 21 Integration 21 1 Introduction to Integration Maxima has several routines for handling integration The integrate function makes use of most of them There is also the antid package which handles an unspecified func tion and its derivatives of course For numerical uses there is the romberg function an adaptave integrator which uses the Newton Cotes 8 panel quadrature rule called quanc8 and a set of adaptive integrators from Quadpack named quad qag quad qags etc Hy pergeometric functions are being worked on see specint for details Generally speaking Maxima only handles integrals which are integrable in terms of the elementary functions rational functions trigonometrics logs exponentials radicals etc and a few extensions error function dilogarithm It does not handle integrals in terms of unknown functions such as g x and h x 21 2 Definitions for Integration changevar expr f x y y x Function Makes the change of variable given by f x y 0 in all integrals occurri
366. n is invoked by the following ctensor functions Function Comments christof For mcs only ricciO uricci einstein riemann weylO checkdiv ctaylor Function The ctaylor function truncates its argument by converting it to a Taylor series using taylor and then calling ratdisrep This has the combined effect of dropping terms higher order in the expansion variable ctayvar The order of terms that should be dropped is defined by ctaypov the point around which the series expansion is carried out is specified in ctaypt As an example consider a simple metric that is a perturbation of the Minkowski metric Without further restrictions even a diagonal metric produces expressions for the Einstein tensor that are far too complex fil load ctensor 401 share tensor ctensor mac 4i2 ratfac true 502 true hi3 derivabbrev true 403 true 4i4 ct coords t r theta phi 404 t r theta phi Chapter 30 ctensor 295 Aib lg matrix 1 0 0 0 0 1 0 0 0 0 772 0 0 0 0 r 2 sin theta 2 1 0 0 0 il 0 1 0 0 A05 2 0 x 0 2 2 0 0 O r sin theta 416 h matrix h11 0 0 0 0 h22 0 0 0 0 33 0 0 0 0 h44 hit 0 0 o 0 0 n22 0 0 406 4i7 depends 1 r 207 1 r 418 lg lg l h hi1 1 1 0 0 0 ii JE 0 h22 1 1 0 0 JE JE 408 2 iil 0 0 r h331 0 ii ii 2 2 ii 0 0
367. n item or items to display At the interactive prompt foo with a space between and foo is equivalent to describe foo describe yields a list of all topics documented in the on line manual describe quotes its argument describe always returns false Example e 0 ii o J O O1 amp NH 9 Enter space separated numbers all or none 7 8 integ maxima info Introduction to Elliptic Functions and Integrals Definitions for Elliptic Integrals Integration Introduction to Integration Definitions for Integration askinteger Definitions for Simplification integerp Definitions for Miscellaneous Options integrate Definitions for Integration integrate use rootsof Definitions for Integration integration constant counter Definitions for Integration Info from file use local maxima doc info maxima info Function integrate expr var Function integrate expr var a b Attempts to symbolically compute the integral of expr with respect to var integrate expr var is an indefinite integral while integrate expr var a b is a definite integral In this example items 7 and 8 were selected All or none of the items could have been selected by entering a11 or none which can be abbreviated a or n respectively see Section 3 1 Introduction to Help page 9 14 example topic example Maxima Manual Function Function example
368. n these components If ratfac is true then the components will also be factored leinstein dis Function Covariant Einstein tensor leinstein stores the values of the covariant Einstein tensor in the array lein The covariant Einstein tensor is computed from the mixed Einstein tensor ein by multiplying it with the metric tensor If the argument dis is true then the non zero values of the covariant Einstein tensor are displayed riemann dis Function A function in the ctensor component tensor package riemann computes the Rie mann curvature tensor from the given metric and the corresponding Christoffel sym bols The following index conventions are used 1 _1 xl el m 1 m R i j k 1 R a ES ijk ij k ik j mk ij mj ik This notation is consistent with the notation used by the ITENSOR package and its icurvature function If the optional argument dis is true the non zero components riem i j k 1 will be displayed As with the Einstein tensor various switches set by the user control the simplification of the components of the Riemann tensor If ratriemann is true then rational simplification will be done If ratfac is true then each of the components will also be factored If the variable cframe flag is false the Riemann tensor is computed directly from the Christoffel symbols If cframe flag is false the covariant Riemann tensor is computed first from the frame field coefficients lriemann dis Function Covariant R
369. nal numbers keepfloat if true prevents floating point numbers from being converted to rational numbers See also ratexpand and ratsimp Examples hil C x 2xy 74 x72 4 y 2 2 1 x y a 2 y x 4 y 2 x72 4 x 2 y iy KR CYR he 1 2 2 2 x 4y hol 2 2 Ay x 412 rat 5 y a x 2a 2y 402 287 SES SESS x 2y ratalgdenom Option variable Default value true When ratalgdenom is true allows rationalization of denominators with respect to radicals to take effect ratalgdenom has an effect only when canonical rational ex pressions CRE are used in algebraic mode ratcoef expr x n Function ratcoef expr x Function Returns the coefficient of the expression x n in the expression expr If omitted n is assumed to be 1 The return value is free except possibly in a non rational sense of the variables in x If no coefficient of this type exists 0 is returned ratcoef expands and rationally simplifies its first argument and thus it may pro duce answers different from those of coeff which is purely syntactic Thus RAT COEF X 1 Y X X returns Y 1 Y whereas coeff returns 1 ratcoef expr x 0 viewing expr as a sum returns a sum of those terms which do not contain x Therefore if x occurs to any negative powers ratcoef should not be used Since expr is rationally simplified before it is examined coefficients may not appear quite the way they were
370. nary operator f SxS gt S from two arguments to any number of arguments using a minimum depth tree An example should make this clear Wii tree reduce f la b c dl h01 f f a b f c d Given an odd number of arguments tree_reduce favors the left side of the tree for example 11 tree reduce f la b c d el A01 f f f a b f c d e For addition of floating point numbers using tree_reduce may give a sum that has a smaller rounding error than using either rreduce or lreduce union a 1 an Function Return the union of the sets a 1 through a n When union receives no arguments it returns the empty set Signal an error when one or more arguments to union is not a set xreduce f s Function xreduce f s init Function This function is similar to both 1reduce and rreduce except that xreduce is free to use either left or right associativity in particular when f is an associative function and Maxima has a built in evaluator for it xreduce may use the n ary function these n ary functions include addition multiplication and or max min and append For these operators we generally expect using xreduce to be faster than using either rreduce or lreduce When f isn t n ary xreduce uses left associativity Floating point addition is not associative nevertheless xreduce uses Maxima s n ary addition when the set or list s contains floating point numbers 402 Maxima Manual Chapter 41 Fu
371. nate For an indexed object this amounts to appending the v_i as derivative indices Subsequently derivative indices will be sorted unless iframe flag is set to true idiff can also differentiate the determinant of the metric tensor Thus if imetric has been bound to G then idiff determinant g k will return 2 determinant g ichr2 A4i k l 4i where the dummy index 4i is chosen appropriately liediff v ten Function Computes the Lie derivative of the tensorial expression ten with respect to the vector field v ten should be any indexed tensor expression v should be the name without indices of a vector field For example Aii load itensor 01 share tensor itensor lisp 412 ishow liediff v a i j l 1D bCL k 1 k 42 42 2 t2 b v a v a v a sl i j 2 od 2 E 223 11 k 1 k 1 k v b b v v b a shi 1 l y L 441 ijl rediff ten Function Evaluates all occurrences of the idiff command in the tensorial expression ten 270 Maxima Manual undiff expr Function Returns an expression equivalent to expr but with all derivatives of indexed objects replaced by the noun form of the idiff function Its arguments would yield that indexed object if the differentiation were carried out This is useful when it is desired to replace a differentiated indexed object with some function definition resulting in expr and then carry out the differentiation by saying ev expr idiff evundiff Function Equ
372. nction ie Rer 61 449 recttopolar Function 215 216 rediff Function of isc ius epee cae de rH 269 refcheck Option variable 433 ren Function ccsecdeccresteeretet hes 363 remainder Function 133 remarray Function 227 rembox Function 62 remcomps Function 263 remcon Function 261 remcoord Function 271 remfun Function 220 remfunction Function 23 remlet Function 375 remove Function 363 remr le Function s eese RR eee 375 remsym Function 268 remvalue Function 364 rename Function 260 reset Function 23 residue Function re te remet gees 186 resolvante Function 346 resolvante alterneei Function 349 resolvante_bipartite Function 350 resolvante_diedrale Function 350 resolvante_klein Function 350 resolvante_klein3 Function 350 resolvante_produit_sym Function 351 resolvante_unitaire Function 351 resolvante_vierer Function 351 rest Bunctlon e tee Rete REX des 384 res
373. nction makelist expr x list Function Constructs and returns a list each element of which is generated from expr makelist expr i i 0 i 1 returns a list the j th element of which is equal to ev expr i j for j equal to i 0 through i_1 makelist expr x list returns a list the j th element of which is equal to ev expr x list jl for j equal to 1 through length list Examples 384 Maxima Manual Aii makelist concat x i i 1 6 01 x1 x2 x3 x4 x5 x6 412 makelist x y y a b c 402 x a x b x c member expr list Function Returns true if expr occurs as a member of list not within a member Otherwise false is returned member also works on non list expressions e g member b f a b c gt true ninth expr Function Returns the 9 th item of expression or list expr See first for more details rest expr n Function rest expr Function Returns expr with its first n elements removed if n is positive and its last n elements removed if n is negative If n is 1 it may be omitted expr may be a list matrix or other expression reverse list Function Reverses the order of the members of the list not the members themselves reverse also works on general expressions e g reverse a b gives b a second expr Function Returns the 2 nd item of expression or list expr See first for more details seventh expr Function Returns the 7th item of expression or list expr See first fo
374. nction Definition 403 41 Function Definition 41 1 Introduction to Function Definition 41 2 Function To define a function in Maxima you use the operator E g f x sin x defines a function f Anonmyous functions may also be created using lambda For example lambda 1 j can be used instead of f where f i j t block map lambda i i 1 1 would return a list with 1 added to each term You may also define a function with a variable number of arguments by having a final argument which is assigned to a list of the extra arguments 4i1 Cluj u 01 f ul u hi2 1 2 3 4 402 1 2 3 4 413 f a b ul fay b ul 403 f a b ul a b ul 414 f 1 2 3 4 5 6 504 1 2 3 4 5 61 The right hand side of a function is an expression Thus if you want a sequence of expressions you do f x expri expr2 exprn and the value of exprn is what is returned by the function If you wish to make a return from some expression inside the function then you must use block and return block expri if a gt 10 then return a exprn is itself an expression and so could take the place of the right hand side of a function definition Here it may happen that the return happens earlier than the last expression The first in the block may contain a list of variables and variable assignments such as la 3 b c 1 which would
375. nction applyp Option variable rr 418 tr file tty messagesp Option variable 419 tr float can branch complex Option variable s equis ct egere prom d de ace pcr RA gee RUE Reps 419 tr function call default Option variable Ped ice e ra ep e e eR e de p Re PER 419 tr numer Option variable 419 tr optimize max loop Option variable 419 tr semicompile Option variable 419 tr state vars System variable 420 tr warn bad function calls Option variable D 420 tr warn fexpr Option variable 420 tr warn meval Option variable 420 tr warn mode Option variable 420 tr warn undeclared Option variable 420 tr warn undefined variable Option variable dat dediti io ao 420 tr warnings get Function 420 tr windy Option variable 420 trace Function 2342254 ceras 435 trace options Function 436 transcompile Option variable 416 translate Function 416 A17 translate file Function 417 transpose Function 247 transrun Option variable 418 tree reduce Function 401 treillis Function ccce hes 352 treinat Function 352 triangularize Function 247 trigexpand Function 143 trigexpandplus Opti
376. nctions reset Function Resets many global variables and options and some other variables to their default values reset processes the variables on the Lisp list variable initial values The Lisp macro defmvar puts variables on this list among other actions Many but not all global variables and options are defined by defmvar and some variables defined by defmvar are not global variables or options showtime Option variable Default value false When showtime is true the computation time and elapsed time is printed with each output expression See also time timer and playback sstatus feature package Function Sets the status of feature in package After sstatus feature package is executed status feature package returns true This can be useful for package writers to keep track of what features they have loaded in to lisp Function Enters the Lisp system under Maxima to maxima returns to Maxima values System variable Initial value values is a list of all bound user variables not Maxima options or switches The list comprises symbols bound by or 24 Maxima Manual Chapter 5 Operators 25 5 Operators 5 1 nary An nary operator is used to denote a function of any number of arguments each of which is separated by an occurrence of the operator e g A B or A B C The nary x function is a syntax extension function to declare x to be an nary operator Functions may be declared to
377. nctions Section 10 4 and Table 10 11 ev taylor ai x x 0 9 infeval yields a floating point Taylor expansions of the function ai A similar expression can be constructed for bi ai x Function The Airy function Ai as defined in Abramowitz and Stegun Handbook of Mathemat ical Functions Section 10 4 The Airy equation diff y x x 2 x y GO 0 has two linearly independent so lutions y Ai x and y Bi x The derivative diff airy ai x x is airy_ dai x If the argument x is a real or complex floating point number the numerical value of airy ai is returned when possible See also airy bi airy dai airy dbi dai x Function The derivative of the Airy function Ai airy ai x See airy ai Chapter 16 Special Functions 149 airy bi x Function The Airy function Bi as defined in Abramowitz and Stegun Handbook of Mathemat ical Functions Section 10 4 is the second solution of the Airy equation diff y x x 2 x y x 0 If the argument x is a real or complex floating point number the numerical value of airy_bi is returned when possible In other cases the unevaluated expression is returned The derivative diff airy_bi x x is airy_dbi x See airy_ai airy_dbi airy_dbi x Function The derivative of the Airy Bi function airy_bi x See airy_ai and airy_bi asympa Function asympa is a package for asymptotic analysis The package contains simplification functions for asymptotic analys
378. ned by translate is a list of the names of the functions translated translate file maxima filename Function translate file maxima filename lisp filename Function Translates a file of Maxima code into a file of Lisp code translate file returns a list of three filenames the name of the Maxima file the name of the Lisp file and the name of file containing additional information about the translation translate file evaluates its arguments translate file foo mac load foo LISP is the same as batch foo mac except for certain restrictions the use of and 4 for example translate file maxima filename translates a Maxima file maxima filename into a similarly named Lisp file For example foo mac is translated into foo LISP The 418 Maxima Manual Maxima filename may include a directory name or names in which case the Lisp output file is written to the same directory from which the Maxima input comes translate file maxima filename lisp_filename translates a Maxima file max ima filename into a Lisp file lisp filename translate file ignores the filename extension if any of lisp filename the filename extension of the Lisp output file is always LISP The Lisp filename may include a directory name or names in which case the Lisp output file is written to the specified directory translate file also writes a file of translator warning messages of various degrees of severity The filename extension of this
379. ners who use save or translate to create packages files for others to use may want to set packagefile true to prevent information from being added to Maxima s information lists e g values functions except where necessary when the file is loaded in In this way the contents of the package will not get in the user s way when he adds his own data Note that this will not solve the problem of possible name conflicts Also note that the flag simply affects what is output to the package file Setting the flag to true is also useful for creating Maxima init files Chapter 9 Input and Output 97 pfeformat Option variable Default value false When pfeformat is true a ratio of integers is displayed with the solidus forward slash character and an integer denominator n is displayed as a leading multiplicative term 1 n Aii pfeformat false 4i2 2 16 7 3 65536 o2 5 h esee 343 113 a b 8 b a od i 8 414 pfeformat true hib 2716 773 05 65536 343 416 a b 8 406 1 8 b a print expr_1 expr n Function Evaluates and displays expr 1 expr n one after another from left to right starting at the left edge of the console display The value returned by print is the value of its last argument print does not generate intermediate expression labels See also display disp ldisplay and ldisp Those functions display one expression per line while print attempts to display t
380. ng in expr with integration with respect to x The new variable is y Aii assume a gt 0 112 integrate exxsqrt axy y 0 4 4 d sqrt a sqrt y 02 I he dy 0 i3 changevar y z 2 a z y 0 abs z 2 T z he dz 2 sqrt a 03 A MEE ECC D CE a An expression containing a noun form such as the instances of integrate above may be evaluated by ev with the nouns flag For example the expression returned by changevar above may be evaluated by ev 403 nouns changevar may also be used to changes in the indices of a sum or product However it must be realized that when a change is made in a sum or product this change must be a shift i e i j not a higher degree function E g 180 dblint f r s a b Maxima Manual 4i4 sum a i x i 2 i O inf inf N i 2 404 gt a x i i 0 Aib changevar i 2 n n i inf N n 505 gt a x n 2 n 2 A double integral routine which was written in top level Maxima and then translated and compiled to machine code Use load dblint to access this package It uses the Simpson s rule method in both the x and y directions to calculate b s x f x y dy dx a r x The function f must be a translated or compiled function of two variables and r and s must each be a translated or compiled function of one variable while a and b must be floating point numbers The routine has two global va
381. ntax has been provided for ev whereby one may just type in its arguments without the ev That is one may write simply expr arg 1 arg_n This is not permitted as part of another expression e g in functions blocks etc Notice the parallel binding process in the following example Chapter 4 Command Line 19 i3 programmode false 203 false Hi4 x y x aty y 2 204 y om d hi5 2 x 3 y 3 Ai6 3 x 2xy 4 117 solve o5 4061 Solution t7 y 6 2t8 X oun 5 408 t7 4t811 218 06 08 408 4 4 119 x 1 x gt gamma 1 2 1 209 x gt sqrt pi x 4110 4 numer x 1 2 4010 2 5 gt 1 772453850905516 4111 pred 5011 true evflag Property Some Boolean flags have the evflag property ev treats such flags specially A flag with the evflag property will be bound to true during the execution of ev if it is mentioned in the call to ev For example demoivre and ratfac are bound to true during the call ev 4 demoivre ratfac The flags which have the evflag property are algebraic cauchysum demoivre dotscrules Zemode enumer exponentialize exptisolate factorflag float halfangles infeval isolate wrt times keepfloat letrat listarith logabs logarc logexpand lognegint lognumer mipbranch numer_pbranch programmode radexpand ratalgdenom ratfac ratmx ratsimpexpons simp simpsum sumexpand and trigexpand The construct lisp putpr
382. nted further to the right When fortspaces is true fortran fills out each printed line with spaces to 80 columns fortran evaluates its arguments quoting an argument defeats evaluation fortran always returns done Examples Aii expr a b 12 4i2 fortran expr b a 12 202 done 113 fortran Cx expr x bta 12 203 done 4i4 fortran x expand expr X bxx r12 12x a bx x 11 66 a 2x bx x 10 220 a x 3 b x 9 495 ax x 4x b x 8 792M 1 ooekboe boe 7 924 4a xk 6 boek 6 7 92 axe TL biek5F495ackBbick4 220 ak9 bli 2 x 3 66xa x 10x bx x x 2 12 ax x x 11 b a 12 504 done ib fortran x 7 5 i x 7 5 05 done i6 fortran x 1 2 3 4 X 1 2 3 4 406 done 218 Maxima Manual hiv f x x 2 4i8 fortran f f 408 done fortspaces Option variable Default value false When fortspaces is true fortran fils out each printed line with spaces to 80 columns horner expr x Function horner expr Function Returns a rearranged representation of expr as in Horner s rule using x as the main variable if it is specified x may be omitted in which case the main variable of the canonical rational expression form of expr is used horner sometimes improves stability if expr is to be numerically evaluated It is also useful if Maxima is used to generate programs to be run in Fortran See also stringout Aii expr 1e 155 x 2 5 5 x 5 2e155 2 01 1 0E 155 x 5
383. ntrol is returned to the shell prompt The fg command causes Maxima to resume from the point at which it was stopped 36 3 Definitions for Runtime Environment feature Declaration Maxima understands two distinct types of features system features and features which apply to mathematical expressions See also status for information about sys tem features See also features and featurep for information about mathematical features feature itself is not the name of a function or variable 356 Maxima Manual featurep a f Function Attempts to determine whether the object a has the feature f on the basis of the facts in the current database If so it returns true else false Note that featurep returns false when neither f nor the negation of f can be established featurep evaluates its argument See also declare and features Aii declare j even 112 featurep j integer 02 true room Function room true Function room false Function Prints out a description of the state of storage and stack management in Maxima room calls the Lisp function of the same name e room prints out a moderate description e room true prints out a verbose description e room false prints out a terse description status feature Function status feature putative feature Function status status Function Returns information about the presence or absence of certain system dependent fea tures e status feature re
384. nts of 1display and rhs is its value Typically each argument is a variable ldisp assigns an intermediate expression label to each equation and returns the list of labels See also display i1 e a b 3 3 01 b a 112 f expand e 3 2 2 3 202 b 3ab 3a bea 113 ldisplay e f 3 43 e b a 3 2 2 3 114 f b 3ab 3a b a 204 4t3 t4 114 4t3 3 404 e b a hid 4t4 3 2 2 3 05 f b 3ab 3a bta linechar Option variable Default value 4t linechar is the prefix of the labels of intermediate expressions generated by Maxima Maxima constructs a label for each intermediate expression if displayed by concate nating linechar and linenum linechar may be assigned any string or symbol not necessarily a single character Chapter 9 Input and Output 95 Intermediate expressions might or might not be displayed See programmode and labels linel Option variable Default value 79 linel is the assumed width in characters of the console display for the purpose of displaying expressions linel may be assigned any value by the user although very small or very large values may be impractical Text printed by built in Maxima functions such as error messages and the output of describe is not affected by linel lispdisp Option variable Default value false When lispdisp is true Lisp symbols are displayed with a leading question mark Otherwise Lisp symbols are displayed with no leading mark
385. o a predicate p of two arguments such as lt or orderlessp sort list sorts list according to Maxima s built in ordering list may contain numeric or nonnumeric items or both Chapter 5 Operators 35 sqrt x Function The square root of x It is represented internally by x 1 2 See also rootscontract radexpand if true will cause nth roots of factors of a product which are powers of n to be pulled outside of the radical e g sqrt 16 x 2 will become 4 x only if radexpand is true sqrtdispflag Option variable Default value true When sqrtdispflag is false causes sqrt to display with exponent 1 2 sublis list expr Function Makes multiple parallel substitutions into an expression The variable sublis_apply_lambda controls simplification after sublis Example 4ii sublis a b b a sin a cos b 501 sin b cos a sublist list p Function Returns the list of elements of list for which the predicate p returns true Example 1 Lr 1 2 3 4 5 61 4i2 sublist L evenp 402 2 4 6 sublis apply lambda Option variable Default value true controls whether lambda s substituted are applied in simplifi cation after sublis is used or whether you have to do an ev to get things to apply true means do the application subst a b c Function Substitutes a for b in c b must be an atom or a complete subexpression of c For example x y z is a complete subexpression of 2 x y z w while x y
386. o deter mine if expr is an even integer or odd integer respectively asksign expr Function First attempts to determine whether the specified expression is positive negative or zero If it cannot it asks the user the necessary questions to complete its deduc tion The user s answer is recorded in the data base for the duration of the current computation The return value of asksign is one of pos neg or zero demoivre expr Function demoivre Option variable The function demoivre expr converts one expression without setting the global variable demoivre When the variable demoivre is true complex exponentials are converted into equiv alent expressions in terms of circular functions exp a b i simplifies to Zea cos b i sin b if b is free of i a and b are not expanded The default value of demoivre is false exponentialize converts circular and hyperbolic functions to exponential form demoivre and exponentialize cannot both be true at the same time domain Option variable Default value real When domain is set to complex sqrt x 2 will remain sqrt x 2 instead of re turning abs x 66 Maxima Manual expand expr Function expand expr p n Function Expand expression expr Products of sums and exponentiated sums are multiplied out numerators of rational expressions which are sums are split into their respective terms and multiplication commutative and non commutative are distributed over additi
387. o expr in a top down manner This is most useful when complete factorization is desired for example hi1 exp a 242 a 1 y x 2 112 scanmap factor exp 2 2 402 ac 1 y x Note the way in which scanmap applies the given function factor to the constituent subexpressions of expr if another form of expr is presented to scanmap then the result may be different Thus 02 is not recovered when scanmap is applied to the expanded form of exp 113 scanmap factor expand exp 2 2 403 ayt2ay t ytx Here is another example of the way in which scanmap recursively applies a given function to all subexpressions including exponents 430 Maxima Manual Ai4 expr u v a x b c Aib scanmap f expr f f f a f x b h05 u f f v PET scanmap f expr bottomup applies f to expr in a bottom up manner E g for undefined f scanmap f a x b gt f a xtb gt f f axx f b gt f f f a f x b scanmap f a x b bottomup gt f a f x f b gt f f a f x f b gt f Cf Ca f x b In this case you get the same answer both ways throw expr Function Evaluates expr and throws the value back to the most recent catch throw is used with catch as a nonlocal return mechanism outermap f a1 a n Function Applies the function f to each one of the elements of the outer product a_1 cross a_2 CTOSS a_n f is be the name of a function of n arguments or a lam
388. o o o o o HI H o o o o o o o o o o o o C J J Ho I LII NT E E tu Lt te H o o 2m r wH l l l l l l o o o 307 Chapter 30 ctensor 0 o o o eo o o o o o m sin theta o 0 0 o o o o o o o o o riem m sin theta o o l l l l l l l l l l l o Cc 10x gg e E e e a E e o o o o o o tC El EL LL o riem o 2 m sin theta E EN END A ENS ENS g NAM o o Lao p o x p NY o CN rd u 8 AL T P I S I P I Y I H N l HI Hol oe B I LI LL LI LI LI LI LI o JE riem 18 308 Maxima Manual JE 2 JE 2 m sin theta JB 0 E o JE Y JE JE 0 0 0 o JE 405 done deleten L n Function Returns a new list consisting of L with the n th element deleted 30 2 9 Variables used by ctensor dim Option variable Default value 4 An option in the ctensor component tensor package dim is the dimension of the manifold with the default 4 The command dim n will reset the dimension to any other value n diagmetric Option variable Default value false An option in the ctensor component tensor package If diagmetric is true special routines compute all geometrical objects which contain the metric tensor explicitly by taking into consideration the diagonality of the metric Reduced run t
389. o that used in several other programming languages Fortran Algol PL I etc then the other features will be mentioned There are three variants of this form that differ only in their terminating conditions They are e for variable initial value step increment thru limit do body e for variable initial value step increment while condition do body e for variable initial value step increment unless condition do body Alternatively the step may be given after the termination condition or limit initial value increment limit and body can be any expressions If the increment is 1 then step 1 may be omitted The execution of the do statement proceeds by first assigning the initial value to the variable henceforth called the control variable Then 1 If the control variable has exceeded the limit of a thru specification or if the condition of the unless is true or if the condition of the while is false then the do terminates 2 The body is evaluated 3 The increment is added to the control variable The process from 1 to 3 is performed repeatedly until the termination condition is satisfied One may also give several termination conditions in which case the do terminates when any of them is satisfied In general the thru test is satisfied when the control variable is greater than the limit if the increment was non negative or when the control variable is less than the limit if the increment was negative The increment an
390. o understand what splice is doing with the algebra you must understand that for Maxima a formula an operation like a b c is really internally similar to a b c and similarly for multiplication Thus 2 b c d is 2 b c d 411 buildq la b c d splice a 01 d c b 4i2 buildq la b c d splice a splice a 402 2d 2c 2b but i3 buildq a b c d 2 splice a 403 2bcd Finally buildq can be invaluable for building recursive functions Suppose your program is solving a differential equation using the series method and has determined that it needs to build a recursion relation f n n 2 2xn 1 f n 1 f n 2 f n 3 n 2 n and it must do this on the fly inside your function Now you would really like to add expand 406 Maxima Manual f n expand n 2 2 n 1 f n 1 f n 2 f n 3 n 2 n but how do you build this code You want the expand to happen each time the function runs not before it hi1 val n 2 2 n 1 f n 1 f n 2 f n 3 n 2 n 4i2 define f n buildq u val expand u does the job This might be useful since when you do with expand i3 f 0 aa0 hi4 f 1 aa1 115 12 aa2 216 f 6 MA grues where as without it is kept unsimplified and even after 6 terms it becomes 417 define g n buildq u val u 418 glo bbos 1419 g 1 bbi 4110 g 2 bb2 i11 g 6 aa2 7 aa2 aal 11 aa0
391. oded in Maxima as setp a is inpart a 0 set set_partitions a Function set_partitions a n Function When the optional argument n is defined return a set of all decompositions of a into n nonempty disjoint subsets When n isn t defined return the set of all partitions We say a set P is a partition of a set S provided 1 each member of P is a nonempty set 2 distinct members of P are disjoint 3 the union of the members of P equals S The empty set is a partition of itself the conditions 1 and 2 being vacuously true thus Ail set partitions set 01 EF The cardinality of the set of partitions of a set can be found using stirling2 thus Wii s set 0 1 2 3 4 55 12 p set partitions s 3 403 90 90 114 cardinality p stirling2 6 3 Each member of p should have 3 members let s check Chapter 40 Sets 399 hii s set 0 1 2 3 4 55 Ai2 p set partitions s 3 403 3 4i4 map cardinality p Finally for each member of p the union of its members should equal s again let s check Wii s set 0 1 2 3 4 55 12 p set partitions s 3 03 0 1 2 3 4 5 4i4 map lambda x apply union listify x p some f a Function some f L 1 L_n Function The first argument f should be a predicate a function that evaluates to true false or unknown Given one set as the second argument some f a returns true if f a_i returns
392. of a function are identical when displayed The global flag noundisp causes Maxima to display nouns with a leading quote mark See also noun nouns nounify and verbify Examples fil foo x x 2 2 401 foo x x 4i2 foo 42 102 1764 4i3 foo 42 403 foo 42 14 foo 42 nouns 04 1764 4i5 declare bar noun 405 done 416 bar x x 17 x 406 bar x 17 4i7 bar 52 LoT bar 52 4i8 bar 52 nouns 52 408 17 119 integrate 1 x x 1 42 409 log 42 4110 integrate 1 x x 1 42 42 L 4010 I dx Chapter 6 Expressions 43 x 1 i11 ev 4 nouns A011 log 42 6 5 Identifiers Maxima identifiers may comprise alphabetic characters plus the numerals 0 through 9 plus any special character preceded by the backslash character A numeral may be the first character of an identifier if it is preceded by a backslash Numerals which are the second or later characters need not be preceded by a backslash A special character may be declared alphabetic by the declare function If so declared it need not be preceded by a backslash in an identifier The alphabetic characters are initially A through Z a through z 4 and _ Maxima is case sensitive The identifiers foo F00 and Foo are distinct See Section 3 2 Lisp and Maxima page 9 for more on this point A Maxima identifier is a Lisp symbol which begins with a dollar sign
393. of literal integers otherwise false ratp expr Function Returns true if expr is a canonical rational expression CRE or extended CRE otherwise false CRE are created by rat and related functions Extended CRE are created by taylor and related functions ratprint Option variable Default value true When ratprint is true a message informing the user of the conversion of floating point numbers to rational numbers is displayed Chapter 12 Polynomials 131 ratsimp expr Function ratsimp expr x_1 x_n Function Simplifies the expression expr and all of its subexpressions including the arguments to non rational functions The result is returned as the quotient of two polynomials in a recursive form that is the coefficients of the main variable are polynomials in the other variables Variables may include non rational functions e g sin x72 1 and the arguments to any such functions are also rationally simplified ratsimp expr x 1 x_n enables rational simplification with the specification of variable ordering as in ratvars When ratsimpexpons is true ratsimp is applied to the exponents of expressions during simplification See also ratexpand Note that ratsimp is affected by some of the flags which affect ratexpand Examples Ail sin x x 2 x exp log x 1 72 log x 72 2 2 x log x 1 log x 01 sin he 2 x x 412 ratsimp 4 1 2 402 sin he x x 1
394. oindae pisas dica ada 311 nptetrad Function 297 nroots Function ce bere nette 205 ntermns Function mescicispror sais pros ae 57 ntermst Function 303 nthroot Function 2 2 0 2 ev ree 205 utrig Package cir abat 142 n m Function 209b same he ot rete as 125 num distinct partitions Function 396 num partitions Function 396 numberp Function 362 numer Special symbol 69 numerval Function 69 numfactor Function 151 nusum Function 03 49 ober ede eee oe 319 O obase Option variable 96 oddp Function idee neancintecsedgiee es 33 ode2 Function i460 2222 e be ned seas 212 Op Eutictlon oo ec b etm CHR eo ne 57 openplot_curves Function 75 operatorp Function 58 opproperties System variable 70 opsubst Option variable 70 optimize Function 58 optimprefix Option variable 58 optionset Option variable 22 or Operator liinieReele irse 28 orbit Function retomar boy a 342 ordergreat Function 58 ordergreatp Function 58 orderless Function 58 orderlessp Function
395. omial The first member of each pair is the exponent of the main variable in that term and the second member is the coefficient of that term which could be a number or a polynomial in another variable again represented in this form Thus the principal part of the CRE form of 3 X 2 1 is X 2 3 0 1 and that of 2 X Y X 3 is Y 1 X 1 2 0 X 1 1 0 3 assuming Y is the main variable and is X 1 Y 1 2 0 1 0 3 assuming X is the main variable Main ness is usually determined by reverse alphabetical order The variables of a CRE expression needn t be atomic In fact any subexpression whose main operator is not or with integer power will be considered a variable of the expression in CRE form in which it occurs For example the CRE variables of the expression X SIN X 1 2 SQRT X 1 are X SQRT X and SIN X 1 If the user does not specify an ordering of variables by using the RATVARS function Maxima will choose an alphabetic one In general CRE s represent rational expressions that is ratios of polynomials where the numerator and denominator have no common factors and the denominator is positive The internal form is essentially a pair of polynomials the numerator and denominator preceded by the variable ordering list If an expression to be displayed is in CRE form or if it contains any subexpressions in CRE form the symbol R will follow the line label See the RAT function for converting an expression to CRE form An extended CRE
396. on Function Function Option variable Package The ntrig package contains a set of simplification rules that are used to simplify trigonometric function whose arguments are of the form f n pi 10 where f is any of the functions sin cos tan csc sec and cot sec x Secant Function Chapter 15 Trigonometric 143 sech x Function Hyperbolic Secant sin x Function Sine sinh x Function Hyperbolic Sine tan x Function Tangent tanh x Function Hyperbolic Tangent trigexpand expr Function trigexpandplus Expands trigonometric and hyperbolic functions of sums of angles and of multiple angles occurring in expr For best results expr should be expanded To enhance user control of simplification this function expands only one level at a time expanding sums of angles or multiple angles To obtain full expansion into sines and cosines immediately set the switch trigexpand true trigexpand is governed by the following global flags trigexpand If true causes expansion of all expressions containing sin s and cos s oc curring subsequently halfangles If true causes half angles to be simplified away trigexpandplus Controls the sum rule for trigexpand expansion of sums e g sin x y will take place only if trigexpandplus is true trigexpandtimes Controls the product rule for trigexpand expansion of products e g sin 2 x will take place only if trigexpandtimes is true
397. on with the PostScript gnuplot terminal e Option x The default horizontal range ls 3 4 Sets the horizontal range to 3 3 e Option y The default vertical range y 3 3 Sets the vertical range to 3 3 e Option t The default range for the parameter in parametric plots t 0 10 Sets the parametric variable range to 0 10 e Option nticks Initial number of points used by the adaptive plotting routine Chapter 8 Plotting 79 nticks 20 The default for nticks is 10 e Option adapt_depth The maximum number of splittings used by the adaptive plotting routine adapt_depth 5 The default for adapt_depth is 10 e Option grid Sets the number of grid points to use in the x and y directions for three dimensional plotting grid 50 50 sets the grid to 50 by 50 points The default grid is 30 by 30 e Option transform xy Allows transformations to be applied to three dimensional plots transform_xy false The default transform_xy is false If it is not false it should be the output of make transform x y zl f1 x y z f2 x y z f3 x y z f The polar xy transformation is built in It gives the same transformation as make transform r th z r cos th r sin th z e Option colour z is specific to the ps plot format colour z true The default value for colour z is false e Option view direction Specific to the ps plot format view direction 1 1 1 The default view dire
398. on Definition 413 Aii funmake sin pi 21 401 1 lambda x 1 x m expr 1 expr n Function Defines and returns a lambda expression that is an anonymous function with argu ments x 1 x m and return value expr n A lambda expression can be assigned to a variable and evaluated like an ordinary function A lambda expression may appear in contexts in which a function evaluation but not a function name is expected When the function is evaluated unbound local variables x 1 x m are created lambda may appear within block or another lambda local variables are established each time another block or lambda is evaluated Local variables appear to be global to any enclosed block or lambda If a variable is not local its value is the value most recently assigned in an enclosing block or lambda if any otherwise it is the value of the variable in the global environment This policy may coincide with the usual understanding of dynamic scope After local variables are established expr 1 through expr_n are evaluated in turn The special variable 44 representing the value of the preceding expression is recognized throw and catch may also appear in the list of expressions return cannot appear in a lambda expression unless enclosed by block in which case return defines the return value of the block and not of the lambda expression unless the block happens to be expr n Likewise go cannot appear in a lambda expression
399. on at all levels of expr For polynomials one should usually use ratexpand which uses a more efficient algo rithm maxnegex and maxposex control the maximum negative and positive exponents re spectively which will expand expand expr p n expands expr using p for maxposex and n for maxnegex This is useful in order to expand part but not all of an expression expon the exponent of the largest negative power which is automatically expanded independent of calls to expand For example if expon is 4 then x 1 5 will not be automatically expanded expop the highest positive exponent which is automatically expanded Thus x 1 3 when typed will be automatically expanded only if expop is greater than or equal to 3 If it is desired to have x 1 n expanded where n is greater than expop then executing expand x 1 n will work only if maxposex is not less than n The expand flag used with ev causes expansion The file simplification facexp mac contains several related functions in particular facsum factorfacsum and collectterms which are autoloaded and variables nextlayerfactor and facsum combine that provide the user with the ability to structure expressions by controlled expansion Brief function descriptions are available in simplification facexp usg A demo is available by doing demo facexp expandwrt expr x 1 x_n Function Expands expression expr with respect to the variables x 1 x_
400. on f Any previous options are superseded trace options f has no effect unless trace f is also called either before or after trace options trace options f resets all options to their default values The option keywords are e noprint Do not print a message at function entry and exit e break Put a breakpoint before the function is entered and after the function is exited See break e lisp print Display arguments and return values as Lisp objects e info Print gt true at function entry and exit e errorcatch Catch errors giving the option to signal an error retry the function call or specify a return value Trace options are specified in two forms The presence of the option keyword alone puts the option into effect unconditionally Note that option foo is not put into effect by specifying foo true or a similar form note also that keywords need not be quoted Specifying the option keyword with a predicate function makes the option conditional on the predicate The argument list to the predicate function is always level direction function item where level is the recursion level for the function direction is either enter or exit function is the name of the function and item is the argument list on entering or the return value on exiting Here is an example of unconditional trace options 4i1 ff n if equal n 0 then 1 else n ff n 10 i2 trace ff 13 trace options ff lisp print brea
401. on i below does not define a multiply by a function Such a function can be defined via buildq as in lambda expression i2 below 116 i lambda a lambda x a x 4016 lambda a lambda x a x 4i17 1 1 2 4017 lambda x a x 4118 i2 lambda a buildq a a lambda x a x 4018 lambda a buildq a a lambda x a x 2119 i2 1 2 x 4019 lambda x 2 4120 12 1 2 Api Api 4020 gt 2 local v 1 v n Function Declares the variables v_1 v n to be local with respect to all the properties in the statement in which this function is used Chapter 41 Function Definition 415 local quotes its arguments local returns done local may only be used in block in the body of function definitions or lambda expressions or in the ev function and only one occurrence is permitted in each local is independent of context macroexpansion Option variable Default value false macroexpansion controls advanced features which affect the efficiency of macros Possible settings e false Macros expand normally each time they are called e expand The first time a particular call is evaluated the expansion is remem bered internally so that it doesn t have to be recomputed on subsequent calls making subsequent calls faster The macro call still calls grind and display normally However extra memory is required to remember all of the expansions e displace The first time
402. on recursion relations are defined for unevaluated functions It is possible for an expression involving sums of unevaluated special functions to vanish yet Maxima is unable to reduce it to zero load specfun loads the specfun package Alternatively setup autoload causes the package to be loaded when one of the specfun functions appears in an expression setup autoload may appear at the command line or in the maxima init mac file See Setup autoload An example use of specfun is Aii load specfun 4i2 hermite 0 x hermite 1 x hermite 2 x 2 402 1 2x 2 1 2 x hi3 diff hermite n x x 403 2 n hermite n 1 x Generally compiled code runs faster than translated code however translated code may be better for program development Some functions namely jacobi p ultraspherical chebyshev t chebyshev u and legendre p return a series representation when the order is a symbolic integer The series representation is not used by specfun for any computations but it may be simplified by Maxima automatically or it may be possible to use the series to evaluate the function through further manipulations For example Aii load specfun 112 legendre p n x 402 legendre p n x 4i3 ultraspherical n 3 2 2 genfact 3 n 1 jacobi_p n 1 1 2 ho3 genfact 2 n 1 4i4 declare n integer 415 legendre p n x n 1
403. on relation to define stirlingi n m for m less than 0 we do not extend it for n less than 0 or for non integer arguments The function stirling1 works by simplification it knows the basic special values see Donald Knuth The Art of Computer Programming third edition Volume 1 Section 1 2 6 Equations 48 49 and 50 For Maxima to apply these rules the arguments must be declared to be integer and the first argument must nonnegative For example 400 Maxima Manual Aii declare n integer 4i2 assume n gt 0 413 stirling n n 203 1 stirling1 does not simplify for non integer arguments Aii stirling sqrt 2 sqrt 2 01 stirlingi sqrt 2 sqrt 2 Maxima knows a few other special values for example Aii declare n integer 4i2 assume n gt 0 413 stirling n 1 n n n 1 as 2 114 stirling n 1 1 204 n stirling2 n m Function The Stirling number of the second kind When n and m are nonnegative integers stirling2 n m is the number of ways a set with cardinality n can be partitioned into m disjoint subsets We use a recursion relation to define stirling2 n m for m less than 0 we do not extend it for n less than 0 or for non integer arguments The function stirling2 works by simplification it knows the basic special values see Donald Knuth The Art of Computer Programming third edition Volume 1 Section 1 2 6 Equations 48 49 and 50 For Maxima to apply these rules t
404. on to a list use the setify function to convert it to a set Thus ii union 1 2 set a b Function union expects a set instead found 1 2 an error Quitting To debug this try debugmode true 12 union setify 1 2 set a b 402 1 2 a b To extract all set elements of a set s that satisfy a predicate f use subset s f A predicate is a boolean valued function For example to find the equations in a given set that do not depend on a variable z use Aii subset set x y z x y 4 x y 5 lambda el freeof z e 01 y x 4 y x 5 The section Section 40 2 Definitions for Sets page 389 has a complete list of the set functions in Maxima 40 1 2 Set Member Iteration There two ways to to iterate over set members One way is the use map for example Aii map f set a b c 01 f a f b f c The other way is to use for x in s do Wii s set a b c 01 fa b c 4i2 for si in s do print concat si 1 al bi c1 402 done Chapter 40 Sets 387 The Maxima functions first and rest work correctly on sets Applied to a set first returns the first displayed element of a set which element that is may be implementation dependent If s is a set then rest s is equivalent to disjoin first s s Currently there are other Maxima functions that work correctly on sets In future versions of the set functions first and rest may function differentl
405. on variable 143 trigexpandtimes Option variable 144 triginverses Option variable 144 trigrat Function 145 trigreduce Function 144 trigsign Option variable 144 451 trigsimp Function 144 true Constant x p erini ERN he 137 tronc Function s orte saunas is 327 ttyoff Option variable 103 U ueivects Function 247 ute Variable 2260 nine mineria UE REDE 310 ug Variable ia codi EI eee eae Bes 310 ultraspherical Function 160 undiff Function beset ree ee 270 union Function 401 uniteigenvectors Function 247 unitvector Function 248 unknown Function 73 unorder Function 37 unsum Function 327 untellrat Function 135 untimer Function 435 untrace Function 437 uric Variable er nissan D 310 ricci Funcion ose e euni keni eS 292 urien Variable ccsreie bee case 310 uriemann Function 293 use fast arrays Option variable 227 uvect Function cere cy cbe rer RECORD POE 248 V values System variable 23 vect cross Option
406. on variable E be d cide dieu 244 matrixmap Function 242 matrixp Function 242 mattrace Function 244 may Function cscs ssid obse reb PER NER rtg 33 maxapplydepth Option variable 68 447 maxapplyheight Option variable 68 maxnegex Option variable 68 maxposex Option variable 68 maxtayorder Option variable 318 maybe Function 22 42 444 32 member Function 384 nin Function arroces RUDI dsc 33 mint Constant ooo Rb lisse 137 minfactorial Function 333 minor Function ir ceo Ee ean EDAD 244 mod Function esos caprina dr ii D Ei 33 mode_check_errorp Option variable 415 mode check warnp Option variable 415 mode checkp Option variable 415 mode declare Function 415 mode identity Function 416 modulus Option variable 125 moebius Function 395 mon2schur Function 341 mono Function 2 22 ped tt Res 252 monomial dimensions Function 252 multi elem Function 0 341 multi orbit Function 342 multi pui Function 342 multinomial Function 342 multinomial_coeff F
407. onmet flag Option variable 309 coeff Function crt mere RI peeecaa dy 116 coefmatrix Function 231 cograd Function mossos RE inteni 301 col Runetion esiotsa ni eE r E e ire 231 collapse Function a cc rem sepsi 88 columnvector Function 231 combine Function sss sue m mete 116 commutative Declaration 29 comp2pui Function 337 compfile Function 408 compile Function 4324 eere 408 compile_file Function 421 components Function 262 concan Function tena 267 concat Function ccce ptm ER P Rd 88 conjugate Function 232 conmetderiv Function 271 cons P nction e de hen vig ene 381 constant Special operator 48 constantp Function 48 cont2part Function 391 content Function 100 ed dae utere 116 context Option variable Ald Appendix A Function and Variable Index contexts Option variable 111 contortion Function 300 contract Function 261 337 contragrad Function 301 coord Function 4 1 4u 271 copylist Function 381 copymatrix Function 232 cos FUNC
408. ons 23 1 Definitions for Differential Equations bc2 solution xvall yvall xval2 yval2 Function Solves boundary value problem for second order differential equation Here solution is a general solution to the equation as found by ode2 xvall is an equation for the independent variable in the form x x0 and yvall is an equation for the dependent variable in the form y y0 The xval2 and yval2 are equations for these variables at another point See ode2 for example of usage desolve eqn x Function desolve eqn 1 eqn n x 1 x_n Function The function dsolve solves systems of linear ordinary differential equations using Laplace transform Here the eqn s are differential equations in the dependent variables Xx l x_n The functional relationships must be explicitly indicated in both the equations and the variables For example diff f x 2 sin x diff g x Idiff f x x 2 f 2 diff g x 2 is not the proper format The correct way is diff x x 2 sin x diff g x x diff f x x x 2 f 2 diff g x x 2 The call is then desolve 03 04 f x gGO 1D If initial conditions at 0 are known they should be supplied before calling desolve by using atvalue 111 diff f x x diff g x x sin x d d 01 f x g x sin x dX dx 412 diff g x x 2 diff f x x cos x 2 d d 402 g x x cos x 2 dx dx 113 atvalue diff g x x x 0 a
409. onscalar then the function local should be used inside of the block with arguments being the names of the variables The value of the block is the value of the last statement or the value of the argument to the function return which may be used to exit explicitly from the block The function go may be used to transfer control to the statement of the block that is tagged with the argument to go To tag a statement precede it by an atomic argument as another statement in the block For example block x x 1 loop x x 1 go loop The argument to go must be the name of a tag appearing within the block One cannot use go to transfer to a tag in a block other than the one containing the go Blocks typically appear on the right side of a function definition but can be used in other places as well break expr 1 expr n Function Evaluates and prints expr 1 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 catch expr 1 expr n Function Evaluates expr 1 expr n one by one if any leads to the evaluation of an expression of the form throw arg then the value of the catch is the value of throw arg 408 Maxima Manual and no further expressions are evaluated This non local return thus goes through any depth of nesting to the nearest enclosing catch If there is no catch enclosing a throw an error message is printed
410. op foo t evflag gives the evflag property to the variable foo so foo is bound to true during the call ev foo Equivalently ev 4 foo true has the same effect evfun Property Some functions have the evfun property ev treats such functions specially A func tion with the evfun property will be applied during the execution of ev if it is men tioned in the call to ev For example ratsimp and radcan will be applied during the call ev 4 ratsimp radcan 20 Maxima Manual The functions which have the evfun property are bfloat factor fullratsimp logcontract polarform radcan ratexpand ratsimp rectform rootscontract trigexpand and trigreduce The construct lisp putprop foo t evfun gives the evfun property to the function foo so that foo is applied during the call ev 4 foo Equivalently foo ev has the same effect infeval Option variable Enables infinite evaluation mode ev repeatedly evaluates an expression until it stops changing To prevent a variable say X from being evaluated away in this mode simply include X X as an argument to ev Of course expressions such as ev X X X 1 infeval will generate an infinite loop kill symbol 1 symbol n Function kill labels Function kill clabels dlabels elabels Function kill n Function kill m n Function kill values functions arrays Function kill all Function kill allbut symbol 1 symbol n Function Remov
411. opriate substitutions are made The global flag letrat controls the simplification of quotients by letsimp When letrat is false letsimp simplifies the numerator and denominator of expr sepa rately and does not simplify the quotient Substitutions such as n n goes to n 1 then fail When letrat is true then the numerator denominator and the quotient are simplified in that order These substitution functions allow you to work with several rule packages at once Each rule package can contain any number of let rules and is referenced by a user defined name let prod repl predname arg 1 arg n package name adds the rule predname to the rule package package name letsimp expr package name applies the rules in package name letsimp expr package_namel package name2 is equivalent to letsimp expr package namel followed by letsimp A package name2 current let rule package is the name of the rule package that is presently be ing used This variable may be assigned the name of any rule package defined via the let command Whenever any of the functions comprising the let package are called with no package name the package named by current let rule package is used If a call such as letsimp expr rule pkg name is made the rule package rule pkg name is used for that letsimp command only and current let rule package is not changed If not otherwise specified current let rule package de faults to default le
412. ose of M If M is a matrix the return value is another matrix N such that N i j M j il Otherwise M is a list and the return value is a matrix N of length m rows and 1 column such that N i 1 M i triangularize M Function Returns the upper triangular form of the matrix M M need not be square uniteigenvectors M Function ueivects M Function Computes unit eigenvectors of the matrix M The return value is a list of lists the first sublist of which is the output of the eigenvalues command and the other sublists of which are the unit eigenvectors of the matrix corresponding to those eigenvalues respectively The flags mentioned in the description of the eigenvectors command have the same effects in this one as well When knowneigvects is true the eigen package assumes that the eigenvectors of the matrix are known to the user and are stored under the global name listeigvects listeigvects should be set to a list similar to the output of the eigenvectors command If knowneigvects is set to true and the list of eigenvectors is given the setting of the flag nondiagonalizable may not be correct If that is the case please set it to the correct value T he author assumes that the user knows what he is doing and will not try to diagonalize a matrix the eigenvectors of which do not span the vector space of the appropriate dimension load eigen loads this function ueivects is a synonym for uniteigenvectors 248 Maxima M
413. oun form of f applied to x The single quote does not prevent simplification When the global flag noundisp is true nouns display with a single quote This switch is always true when displaying function definitions See also the quote quote operator and nouns Examples Applied to a symbol the single quote prevents evaluation of the symbol Aii aa 1024 01 1024 12 aa 2 402 1048576 4i3 aa 2 2 403 aa 114 gt 404 1048576 Applied to a function call the single quote prevents evaluation of the function call The result is the noun form of the function call Aii x0 5 401 5 432 x14 7 402 7 113 integrate x 2 x x0 x1 218 403 3 114 integrate x 2 x x0 x1 7 2 04 I x dx 16 n gt Maxima Manual 115 4 nouns 05 m Applied to a parenthesized expression the single quote prevents evaluation of all symbols and function calls in the expression 4ii aa 1024 01 1024 i2 bb 19 02 19 113 sqrt aa bb 403 51 114 sqrt aa bb 04 bb sqrt aa ib W 405 51 The single quote does not prevent simplification Aii sin 17 Api cos 17 pi 01 1 112 sin 17 Api cos 17 pi 02 1 Operator The double single quotes operator causes an extra evaluation to occur E g 2 gt 14 will re evaluate input line 414 gt x means evaluate the expression f x an extr
414. p Print help on a debugger command or all commands if none is specified info Print information about item lisp some form Evaluate some form as a Lisp form lisp quiet some form Evaluate Lisp form some form without any output next Like step except next steps over function calls quit Quit the current debugger level without completing the computation resume Continue the computation step Continue the computation until it reaches a new source line top Return to the Maxima prompt from any debugger level without completing the computation 43 3 Definitions for Debugging refcheck Option variable Default value false When ref check is true Maxima prints a message each time a bound variable is used for the first time in a computation 434 Maxima Manual setcheck Option variable Default value false If setcheck is set to a list of variables which can be subscripted Maxima prints a message whenever the variables or subscripted occurrences of them are bound with the ordinary assignment operator the assignment operator or function argument binding but not the function assignment nor the macro assignment operators The message comprises the name of the variable and the value it is bound to setcheck may be set to all or true thereby including all variables Each new assignment of setcheck establishes a new list of variables to check and any variables previously assigned to setcheck are forgotten The n
415. p1 p2 pl 01 t2 pt ti 2 2 multinomial r part Function ou r est le poids de la partition part Cette fonction rame ne le coefficient multino mial associe si les parts de la partitions part sont i 1 i 2 ik le re sultat de multinomial est r i 1 12 i k multsym ppart 1 ppart_2 n Function re alise le produit de deux polyno mes syme triques de n variables en ne travaillant que modulo l action du groupe syme trique d ordre n Les polyno mes sont dans leur repre sentation partitionne e Soient les 2 polyno mes syme triques en x y 3 x y 2 x y et 5 x 2 y 2 dont les formes partitionne es sont respectivement 3 1 2 1 11 et 5 211 alors leur produit sera donne par fil multsym CLS 1 24 1 11 LIS 21 25 01 10 3 1 15 3 0 15 2 11 soit 10 x 3 y y 3 x 15 x 2x y y 2 x 15 x 3 y 3 Fonctions de changements de repre sentations d un polyno me syme trique contract cont2part explose part2cont partpol tcontract tpartpol orbit P Ivar Function calcul l orbite du polyno me P en les variables de la liste Ivar sous l action du groupe syme trique de l ensemble des variables contenues dans la liste Ivar hii orbit a x bxy x yl 01 la y b x by a x 412 orbit 2 x x 2 x yl 2 2 402 y 2 y x 2x Voir e galement multi orbit pour l action d un produit de groupes syme triques sur un polyno me Chapter 34
416. pade t 5 5 5 4 3 05 520256329 x 96719020632 x 489651410240 x 2 1619100813312 x 2176885157888 x 2386516803584 5 4 3 47041365435 x 381702613848 x 1360678489152 x 2 2856700692480 x 3370143559680 x 2386516803584 powerdisp Option variable Default value false When powerdisp is true a sum is displayed with its terms in order of increasing power Thus a polynomial is displayed as a truncated power series with the constant term first and the highest power last By default terms of a sum are displayed in order of decreasing power powerseries expr x a Function Returns the general form of the power series expansion for expr in the variable x about the point a which may be inf for infinity If powerseries is unable to expand expr taylor may give the first several terms of the series When verbose is true powerseries prints progress messages Aii verbose true 4i2 powerseries log sin x x x 0 can t expand 322 Maxima Manual log sin x so we ll try again after applying the rule d sin x dx log sin x i dx sin x in the first simplification we have returned i cot x dx log x inf il 2i1 241 1 2 bern 2 i1 x gt nn ew ww ww ww ww ww ww ww ww ww ee ii 2 i1 il 1 02 2 psexpand Option variable Default value false When psexpand is true an extende
417. page 159 160 Maxima Manual spherical hankel2 n x Function Returns the spherical hankel function of the second kind for integers n gt 1 Reference A amp S 10 1 17 page 439 load specfun loads this function See also sphericalhankell page 159 spherical bessel j page 159 and spheri cal bessel y page 159 spherical harmonic n m x y Function Returns the spherical harmonic function for integers n gt 1 and m lt n Reference Merzbacher 9 64 load specfun loads this function See also assoc legendre p page 157 ultraspherical n a x Function Returns the ultraspherical polynomials for integers n gt 1 The ultraspherical poly nomials are also known as Gegenbauer polynomials Reference A amp S 22 5 27 load specfun loads this function See also jacobi_p page 158 Chapter 18 Elliptic Functions 161 18 Elliptic Functions 18 1 Introduction to Elliptic Functions and Integrals Maxima includes support for Jacobian elliptic functions and for complete and incomplete elliptic integrals This includes symbolic manipulation of these functions and numerical evaluation as well Definitions of these functions and many of their properties can by found in Abramowitz and Stegun Chapter 16 17 As much as possible we use the definitions and relationships given there In particular all elliptic functions and integrals use the parameter m instead of the modulus k or the modular angle
418. page 789 load specfun loads this function See also gen laguerre page 158 legendre p n x Function Returns the Legendre polynomial of the first kind for integers n gt 1 Reference A amp S 22 5 35 page 779 load specfun loads this function See legendre q page 159 legendre q n x Function Returns the Legendre polynomial of the first kind for integers n gt 1 Reference A amp S 8 6 19 page 334 load specfun loads this function See also legendre_p page 159 spherical bessel j n x Function Returns the spherical Bessel function of the first kind for integers n gt 1 Reference A amp S 10 1 8 page 437 and A amp S 10 1 15 page 439 load specfun loads this function See also spherical hankell page 159 sphericalhankel2 page 159 and spheri cal bessel y page 159 spherical bessel y n x Function Returns the spherical Bessel function of the second kind for integers n gt 1 Reference A amp S 10 1 9 page 437 and 10 1 15 page 439 load specfun loads this function See also spherical hankel page 159 spherical hankel2 page 159 and spheri cal bessel y page 159 spherical hankell n x Function Returns the spherical hankel function of the first kind for integers n gt 1 Reference A amp S 10 1 36 page 439 load specfun loads this function See also sphericalhankel2 page 159 spherical bessel j page 159 and spheri cal bessel y
419. place transform The syntax is as follows specint exp s f expr t where t is the variable of integration and expr is an expression containing special func tions If specint cannot compute the integral the return value may contain various Lisp sym bols including other defint to follow negtest other lt exponential to follow product of y with nofract indices etc this is a bug Special function notation follows bessel j index expr Bessel function 1st kind bessel y index expr Bessel function 2nd kind bessel i index expr Modified Bessel function ist kind bessel k index expr Modified Bessel function 2nd kind 4he n z Hermite polynomial Nota bene he not h See A amp S 22 plu v z Legendre function qlu v z Legendre function 2nd kind hstruve n z Struve H function lstruve n z Struve L function Kflp ql 0 expr Generalized Hypergeometric function gamma Gamma function gammagreek a z Incomplete gamma function gammaincomplete a z Tail of incomplete gamma function slommel m u k z Whittaker function ist kind Aw u k z Whittaker function 2nd kind erfc z Complement of the erf function ei z Exponential integral 7 kelliptic z Complete elliptic integral of the first kind XK d n z Parabolic cylinder function demo hypgeo displays several examples of Laplace transforms computed by specint This is work in progress Some of the function names may
420. ples e Create some lists Aii xx makelist x x 0 10 412 yy makelist exp x 1 0 x 0 10 413 xy makelist x x x x 0 5 e Plot with line segments 414 plot2d discrete xx yyl e Plot with line segments using a list of pairs Chapter 8 Plotting 77 Aib plot2d discrete xy e Plot with points 416 plot2d discrete xx yyl gnuplot_curve_styles with points j e Plot the curve cos x using lines and xx yy using points plot2d cos x discrete xx yy x 0 10 gnuplot_curve_styles with line See also plot_options which describes plotting options and has more examples xgraph_curves list Function graphs the list of point sets given in list by using xgraph A point set may be of the form x0 y0 x1 y1 x2 y2 Or x0 yO x1 y1 A point set may also contain symbols which give labels or other information xgraph_curves pt_set1 pt_set2 pt_set3 graph the three point sets as three curves pt set append NoLines True LargePixels true xO yO x1 yl would make the point set and subsequent ones have no lines between points and to use large pixels See the man page on xgraph for more options to specify pt set append concat x 2 y xO yO x1 yl would make there be a label of x 2 y for this particular point set The at the beginning is what tells xgraph this is a label pt set append concat TitleText Sample Data xO
421. polynomial for integers n gt 1 load specfun loads this function Reference table on page 789 in A amp S hermite n x Returns the Hermite polynomial for integers n gt 1 load specfun loads this function Reference A amp S 22 5 40 and 22 5 41 page 779 jacobi p n a b x Function Function Function Function Function Returns the Jacobi polynomial for integers n gt 1 and a and b symbolic or a gt 1 and b gt 1 The Jacobi polynomials are actually defined for all a and b however the Jacobi polynomial weight 1 z 1 x isn t integrable for a lt 1 or b lt 1 When a b and x are floats but not bfloats specfun calls a special modedeclared version of jacobi For numerical values the modedeclared version is much faster than the other version Many functions in specfun are computed as a special case of the Jacobi polynomials they also enjoy the speed boost from the modedeclared version of jacobi If n has been declared to be an integer jacobi n a b x returns a summation rep resentation for the Jacobi function Because Maxima simplifies 0 to 0 in a sum two terms of the sum are added outside the summation load specfun loads this function Reference table on page 789 in A amp S Chapter 17 Orthogonal Polynomials 159 laguerre n x Function Returns the Laguerre polynomial for integers n gt 1 Reference A amp S 22 5 16 page 778 and A amp S
422. predicate f should not have side effects or signal errors for any input Given one or more lists as arguments every f L 1 L n returns true if f x_l x_n returns true for all x 1 x nin L 1 Lun respectively every may or may not evaluate f for every combination x 1 x_n Since lists are ordered every evaluates in the order of increasing index To use every on multiple set arguments they should first be converted to an ordered sequence so that their relative alignment becomes well defined If the global flag maperror is true the default all lists L 1 Ln must have equal lengths otherwise every signals an error When maperror is false the list arguments are effectively truncated each to the length of the shortest list The Maxima function is automatically applied after evaluating the predicate f 392 Maxima Manual hi1 every a b la b 01 true hi2 every a b la b 402 false extremal subset s f max Function extremal subset s f min Function When the third argument is max return the subset of the set or list s for which the real valued function f takes on its greatest value when the third argument is min return the subset for which f takes on its least value Aii extremal subset set 2 1 0 1 2 abs max 01 2 2 4i2 extremal subset set sqrt 2 1 57 pi 2 sin min 402 sqrt 2 flatten e Function Flatten es
423. quations for the list of variables The expressions must each be polynomials in the variables and may be equations When globalsolve is true then variables which are solved for will be set to the solution of the set of simultaneous equations When backsubst is false linsolve does not carry out back substitution after the equations have been triangularized This may be necessary in very big problems where back substitution would cause the generation of extremely large expressions When linsolve_params is true linsolve also generates the r symbols used to represent arbitrary parameters described in the manual under algsys Otherwise linsolve solves an under determined system of equations with some variables ex pressed in terms of others hil el x z y 412 e2 2 a x y 2 a 2 413 e3 y 2 z 2 114 linsolve e1 e2 e3 x y z 204 x a i y 2a z a 1 linsolvewarn Option variable Default value true When linsolvewarn is true linsolve prints a message Dependent equations elim inated linsolve_params Option variable Default value true When linsolve_params is true linsolve also generates the r symbols used to represent arbitrary parameters described in the manual under algsys Otherwise linsolve solves an under determined system of equations with some variables ex pressed in terms of others multiplicities System variable Default value not_set_yet multiplicities is set to a list of the multiplicities of the
424. r D eee 0 9 r Function computes the tensor d Alembertian of the scalar function once dependencies have been declared upon the function For example Chii 01 412 402 413 403 414 04 415 05 checkdiv load ctensor share tensor ctensor mac derivabbrev true true ct coordsys exteriorschwarzschild all done depends p r p r factor dscalar p 2 p r 2mp r 2p r 2mp rr rr r r 2 r Function computes the covariant divergence of the mixed second rank tensor whose first index must be covariant by printing the corresponding n components of the vector field the divergence where n dim If the argument to the function is g then the divergence of the Einstein tensor will be formed and must be zero In addition the divergence vector is given the array name div Chapter 30 ctensor 303 cgeodesic dis Function A function in the ctensor component tensor package cgeodesic computes the geodesic equations of motion for a given metric They are stored in the array geod i If the argument dis is true then these equations are displayed bdvac f Function generates the covariant components of the vacuum field equations of the Brans Dicke gravitational theory The scalar field is specified by the argument f which should be a quoted function name with functional dependencies e g p x The components of the second rank covariant field tensor are represented by the array
425. r baz 403 foo bar baz 4i4 infix 100 101 hib foo bar baz 405 foo bar baz inflag Option variable Default value false When inflag is true functions for part extraction inspect the internal form of expr Note that the simplifier re orders expressions Thus first x y returns xifinflag is true and y if inflag is false first y x gives the same results 54 Maxima Manual Also setting inflag to true and calling part or substpart is the same as calling inpart or substinpart Functions affected by the setting of inflag are part substpart first rest last length the for in construct map fullmap maplist reveal and pickapart inpart expr n 1 n k Function is similar to part but works on the internal representation of the expression rather than the displayed form and thus may be faster since no formatting is done Care should be taken with respect to the order of subexpressions in sums and products since the order of variables in the internal form is often different from that in the displayed form and in dealing with unary minus subtraction and division since these operators are removed from the expression part x y 0 or inpart x y 0 yield though in order to refer to the operator it must be enclosed in s For example if inpart 409 0 then Examples hil x y w z 01 wztyt x 412 inpart 5 3 2 02 z 413 part Ath 2 1 2 4
426. r all occurrences of the tensor_i that have derivative indices flushnd expr tensor n Function Set to zero in expr all occurrences of the differentiated object tensor that have n or more derivative indices as the following example demonstrates hii load itensor 01 share tensor itensor lisp 412 ishow a i J r k r a i j r s k r s Jr jrs 12 a a i kr i krs 4i3 ishow flushnd a 3 Jr 1113 a i kr coord tensor 1 tensor 2 Function Gives tensor i the coordinate differentiation property that the derivative of contravari ant vector whose name is one of the tensor i yields a Kronecker delta For example if coord x has been done then idiff x l i j gives kdelta i j coord is a list of all indexed objects having this property remcoord tensor 1 tensor 2 Function remcoord all Function Removes the coordinate differentiation property from the tensor i that was estab lished by the function coord remcoord all removes this property from all indexed objects makebox expr Function Display expr in the same manner as show however any tensor d Alembertian oc curring in expr will be indicated using the symbol For example p m n represents gC i j p m n i 5 conmetderiv expr tensor Function Simplifies expressions containing ordinary derivatives of both covariant and contravariant forms of the metric tensor the current restriction For example
427. r covariant tensors of rank 1 that have been declared antisymmetric in all covariant indices 282 Maxima Manual The behavior of the wedge product operator is controlled by the igeowedge flag flag as in the following example ii load itensor 401 share tensor itensor lisp 412 ishow a il bCLj 2 1 J 1 J t2 0 7 2 413 decsym a 2 0 anti a11 15 403 done hi4 ishow a C i jl bC k 1 2 a b b a a b ij k i jk ik j t4 111 3 Aib igeowedge flag true 405 true hi6 ishow a il b C jl 46 a b b a ij 1 17 ishow a li j b k 47 a b b a a b Operator The vertical bar denotes the contraction with a vector binary operation When a totally antisymmetric covariant tensor is contracted with a contravariant vector the result is the same regardless which index was used for the contraction Thus it is possible to define the contraction operation in an index free manner In the itensor package contraction with a vector is always carried out with respect to the first index in the literal sorting order This ensures better simplification of expressions involving the operator For instance Aii load itensor 01 share tensor itensor lisp 12 decsym a 2 0 anti al11 02 done 113 ishow aC i jl 12 v2 1 1113 v a 41 5 114 ishow a lj i 0 Iw 1 114 v a aij Note that it is essential that the tensors
428. r numbers or another floating point integer array If the dimensions of the arrays are different A is filled in row major order If there are not enough elements in B the last element is used to fill out the rest of A If there are too many the remaining ones are thrown away fillarray returns its first argument getchar a i Function Returns the i th character of the quoted string or atomic name a This function is useful in manipulating the labels list listarray A Function Returns a list of the elements of a declared or hashed array A The order is row major Elements which are not yet defined are represented by make array type dim 1 dim n Function Creates and returns a Lisp array type may be any flonum fixnum hashed or functional There are n indices and the i th index runs from 0 to dim i 1 The advantage of make array over array is that the return value doesn t have a name and once a pointer to it goes away it will also go away For example if y make array then y points to an object which takes up space but after y false y no longer points to that object so the object can be garbage collected y make array C functional f hashed 1 the second argument to make array in this case is the function to call to calculate array elements and the rest of the arguments are passed recursively to make array to generate the memory for the array function object Chapter 26 Arrays and
429. r x 1 x n Function is similar to isolate expr x except that it enables the user to isolate more than one variable simultaneously This might be useful for example if one were at tempting to change variables in a multiple integration and that variable change involved two or more of the integration variables This function is autoloaded from simplification disol mac A demo is available by demo disol dispform expr Function Returns the external representation of expr with respect to its main operator This should be useful in conjunction with part which also deals with the external repre sentation Suppose expr is A Then the internal representation of expr is 1 A while the external representation is A dispform expr all converts the en tire expression not just the top level to external format For example if expr sin sqrt x then freeof sqrt expr and freeof sqrt dispform expr give true while freeof sqrt dispform expr all gives false distrib expr Function Distributes sums over products It differs from expand in that it works at only the top level of an expression i e it doesn t recurse and it is faster than expand It differs from multthru in that it expands all sums at that level Examples 4i1 distrib atb c d 01 bdtadt bctac 4i2 multthru a b c d 402 b a d b a c 4i3 distrib 1 a b c d 1 o3 b a d
430. r more details sixth expr Function Returns the 6 th item of expression or list expr See first for more details tenth expr Function Returns the 10 th item of expression or list expr See first for more details third expr Function Returns the 3 rd item of expression or list expr See first for more details Chapter 40 Sets 385 40 Sets 40 1 Introduction to Sets Maxima provides set functions such as intersection and union for finite sets that are defined by explicit enumeration Maxima treats lists and sets as distinct objects This feature makes it possible to work with sets that have members that are either lists or sets In addition to functions for finite sets Maxima provides some functions related to com binatorics these include the Stirling numbers the Bell numbers and several others 40 1 1 Usage To construct a set with members a 1 a n use the command set a 1 a n to construct the empty set use set O If a member is listed more than once the simplification process eliminates the redundant member 4i1 setO h01 il hi2 set a b a 402 fa b 413 set a set b 403 fa b 414 set a b 204 ta b Sets are always displayed as brace delimited lists if you would like to be able to input a set using braces see Defining sets with braces page 388 To construct a set from the elements of a list use setify 4i1 setify b al 01 a b Set member
431. r of arguments The assigned value may be the name of an operator enclosed in quote marks the name of a function or a lambda expression See also matrix element mult and matrix element transpose Example Aii matrix element add i2 matrix element mult 4i3 aa matrix a b cl d e fl Chapter 27 Matrices and Linear Algebra 243 a b c 403 d e 4i4 bb matrix lu v wl x y zl u v w 04 x y 21 Aib aa transpose bb ou vw x y zl a bc a b c 05 ou vw x y zl d e f def matrix element mult Option variable Default value matrix element mult is the operation invoked in place of multiplication in a matrix multiplication matrix element mult can be assigned any binary operator The assigned value may be the name of an operator enclosed in quote marks the name of a function or a lambda expression The dot operator is a useful choice in some contexts See also matrix element add and matrix element transpose Example Aii matrix element add lambda x l sqrt apply x 4i2 matrix element mult lambda x yl x y 2 113 la b cl x y zl 2 2 2 403 sqrt c z b y a x 4i4 aa matrix la b cl d e fl a b c 404 d e f 15 bb matrix u v wl le y D Lu v vw 405 x y z 416 aa transpose bb 2 2 2 sqrt c w b v a u 406 Col 1 3 2 2
432. r summation is a function of the index of the outer one rather than varying independently Example Aii sumexpand false 4i2 cauchysum false 413 s sum f i i O inf sum g j j O inf inf inf 403 gt f i gt g j i 0 j 0 Ai4 sumexpand true Aib cauchysum true 416 s inf ii 406 gt gt g il i2 f i2 7 vs il 012 0 deftaylor f 1 x 1 expr 1 n x_n expr n Function For each function f i of one variable x i deftaylor defines expr i as the Taylor series about zero expr i is typically a polynomial in x i or a summation more general expressions are accepted by deftaylor without complaint powerseries fi xi xi O returns the series defined by deftaylor 318 Maxima Manual deftaylor returns a list of the functions f 1 f n deftaylor evaluates its argu ments Example Aii deftaylor f x x 2 sum x i 2 i i 2 i 4 inf 01 f 412 powerseries f x x 0 inf ii N x 2 02 MEN e in x iji 2 2 it ii 4 413 taylor exp sqrt f x x 0 4 2 3 4 x 3073 x 12817 x 403 T LAA x 2 18432 307200 maxtayorder Option variable Default value true When maxtayorder is true then during algebraic manipulation of truncated Taylor series taylor tries to retain as many terms as are known to be correct niceindices expr Function Renames the indices of sums and products in expr niceindices
433. ratdisrep expr but faster trunc expr Function Annotates the internal representation of the general expression expr so that it is displayed as if its sums were truncated Taylor series expr is not otherwise modified Example iil expr x2 x 1 A01 x x i 412 trunc expr 2 402 lt xx fa 113 is expr trunc expr 203 true unsum f n Function Returns the first backward difference f n f n 1 Thus unsum in a sense is the inverse of sum See also nusum Examples 328 Chii 01 412 402 i3 403 414 04 verbose Maxima Manual g p p 4 n binomial 2 n n gn 2 binomial 2 n n nusum 4 n 0 n 4 3 2 n 2 n 1 63n 112 n 18n 22 n 3 4 2 693 binomial 2 n n 311 7 unsum 4 n 4 n n 4 binomial 2 n n Option variable Default value false When verbose is true powerseries prints progress messages Chapter 33 Number Theory 329 33 Number Theory 33 1 Definitions for Number Theory bern n Function Returns the n th Bernoulli number for integer n Bernoulli numbers equal to zero are suppressed if zerobern is false See also burn Aii zerobern true 4i2 map bern 0 1 2 3 4 5 6 7 81 1 i 1 di 1 402 15 Oj 99 0 99 0 2 6 30 42 30 Ai3 zerobern false 414 map bern 0 1 2 3 4 5 6 7 81 i a 1 5 691 T 3617 43867 404 1 2 6 30 66 2730 6 510 798 bernpoly x n Function
434. rchanges of two arguments necessary to convert it to that form cabs expr Function Returns the complex absolute value the complex modulus of expr commutative Declaration If declare h commutative is done this tells the simplifier that h is a commutative function E g h x z y will simplify to h x y z This is the same as symmetric entier x Function Returns the largest integer less than or equal to x where x is numeric fix as in fixnum is a synonym for this so fix x is precisely the same 30 Maxima Manual equal expr_1 expr 2 Function Used with an is returns true or false if and only if expr 1 and expr 2 are equal or not equal for all possible values of their variables as determined by ratsimp Thus is equal x 1 2 x 2 2 x 1 returns true whereas if x is unbound is x 1 2 x 2 2 x 1 returns false Note also that is rat 0 0 yields false but is equal rat 0 0 yields true If a determination can t be made then is equal a b returns a simplified but equivalent expression whereas is a b always returns either true or false All variables occurring in expr 1 and expr 2 are presumed to be real valued The negation of equal is notequal Note that because of the rules for evaluation of predicate expressions in particular because not expr causes evaluation of expr notequal is not equivalent to not equal in some cases ev expr pred is equivalent to is expr hii is x 2 gt 2
435. rderlessp expr 1 expr 2 Function Returns true if expr 1 precedes expr 2 in the ordering set up by the orderless command part expr n_1 n k Function Returns parts of the displayed form of expr It obtains the part of expr as specified by the indices n_1 n k First part n_1 of expr is obtained then part n_2 of that etc The result is part n_k of part n_2 of part n 1 of expr part can be used to obtain an element of a list a row of a matrix etc Chapter 6 Expressions 59 If the last argument to a part function is a list of indices then several subexpressions are picked out each one corresponding to an index of the list Thus part x y z 1 3 is z x piece holds the last expression selected when using the part functions It is set during the execution of the function and thus may be referred to in the function itself as shown below If partswitch is set to true then end is returned when a selected part of an expression doesn t exist otherwise an error message is given Example part z 2 y 2 1 yields 2 example part displays additional examples partition expr x Function Returns a list of two expressions They are 1 the factors of expr if it is a product the terms of expr if it is a sum or the list if it is a list which don t contain var and 2 the factors terms or list which do Aii partition 2 a x f x x 01 2 a x 60 4i2 partition a b x 502 b a 0 1
436. re used To use it do load qq See also qq residue expr z z 0 Function Computes the residue in the complex plane of the expression expr when the variable z assumes the value z_0 The residue is the coefficient of z z 0 1 in the Laurent series for expr Chapter 21 Integration 187 Aii residue s s 2 a 2 s ax i 1 01 2 4i2 residue sin a x x 4 x 0 3 a 402 ecc 6 risch expr x Function Integrates expr with respect to x using the transcendental case of the Risch algo rithm The algebraic case of the Risch algorithm has not been implemented This currently handles the cases of nested exponentials and logarithms which the main part of integrate can t do integrate will automatically apply risch if given these cases erfflag if false prevents risch from introducing the erf function in the answer if there were none in the integrand to begin with fil risch x 2xerf x x 2 3 2 mi Api x erf x sqrt Api x sqrt Api Le hol e s s sessssssesssmesesessensessessssssssssse 3 hpi 112 diff x ratsimp 2 402 x erf x romberg expr x a b Function romberg expr a b Function Romberg integration There are two ways to use this function The first is an inef ficient way like the definite integral version of integrate romberg lt integrand gt variable of integration lower limit upper limit Examples Aii showtime true 4i2 romber
437. resented by the noncommutative multiplication operator The corresponding noncommutative exponentiation operator is For a matrix A A A A 2 and A 1 is the inverse of A if it exists There are switches for controlling simplification of expressions involving dot and matrix list operations These are doallmxops domxexpt domxmxops doscmxops and doscmxplus There are additional options which are related to matrices These are Imxchar rmxchar ratmx listarith detout scalarmatrix and sparse There are a number of functions which take matrices as arguments or yield ma trices as return values See eigenvalues eigenvectors determinant charpoly genmatrix addcol addrow copymatrix transpose echelon and rank Examples e Construction of matrices from lists Wii x matrix 17 3 8 111 17 3 01 8 11 112 y matrix pi el la bl pi he 1 402 a b e Addition element by element i3 x y 4pi 17 e 3 03 a 8 b 11 e Subtraction element by element Chapter 27 Matrices and Linear Algebra 241 i4 x y 17 Ypi 3 Ye 04 48 11 b e Multiplication element by element ib x y 7 17 pi 3 e 05 e Division element by element 16 x y 47 1 3 48 Api 206 8 11 s a b e Matrix to a scalar exponent element by element Mara 3 4913 27 207 615 1331 e
438. resolvante symetrique 6 2 013 y 4y 1 114 resolvante alternee 4115 resolvante x 4 x 1 x x1 x2 x1 x2 resolvante alternee 12 8 6 4 2 4015 y 8y 26y 112y 216 y 229 4116 resolvante produit 4117 resolvante x 7 7 x 3 x x1xx2 xx3 x1 x2 x3 resolvante produit 35 33 29 28 2T 26 hoi y 7y 1029y 4135 y 7203 y 756 y 24 23 22 21 20 1323 y 352947 y 46305 y 2463339 y 324135 y 19 18 17 15 30618 y 453789 y 40246444 y 282225202 y 14 12 11 10 44274492 y 155098503 y 12252303 y 2893401 y Chapter 34 Symmetries 349 9 8 7 6 171532242 y 6751269 y 2657205 y 94517766 y 5 3 3720087 y 26040609 y 14348907 4118 resolvante symetrique 4119 resolvante x 7 7 x 3 x x1l x2 x3 x1 x2 x3 resolvante symetrique 35 33 29 28 27 26 ho19 y 7y 1029 y 135 y 7203 y 756 y 24 23 22 21 20 1323 y 352947 y 46305 y 2463339 y 324135 y 19 18 17 15 30618 y 453789 y 40246444 y 282225202 y 14 12 11 10 44274492 y 155098503 y 12252303 y 2893401 y 9 8 7 6 171532242 y 6751269 y 2657205 y 94517766 y 5 3 3720087 y 26040609 y 14348907 i20 resolvante cayley 4121 resolvante x75 4xx 2 x 1 x a resolvante de Cayley 6 5 4 3 2 4021 x 40 x 4080 x 92928 x 3772160 x 37880832 x 93392896 Pour la re solvante de Cayley les 2 derniers arguments sont neutres et l
439. ression in which the main operator is not a pattern variable the simplification rule is associated with the main operator The names of functions with one exception described below lists and arrays may appear in pattern as the main operator only as literals not pattern variables this rules out expressions such as aa x and bb y as patterns if aa and bb are pattern variables Names of functions lists and arrays which are pattern variables may appear as operators other than the main operator in pattern There is one exception to the above rule concerning names of functions The name of a subscripted function in an expression such as aa x y may be a pattern variable because the main operator is not aa but rather the Lisp atom mqapply This is a consequence of the representation of expressions involving subscripted functions Chapter 38 Rules and Patterns 377 Simplification rules are applied after evaluation if not suppressed through quotation or the flag noeval Rules established by tellsimpafter are applied in the order they were defined and after any built in rules Rules are applied bottom up that is applied first to subexpressions before application to the whole expression It may be necessary to repeatedly simplify a result for example via the quote quote operator or the flag infeval to ensure that all rules are applied Pattern variables are treated as local variables in simplification rules Once a rule is defined t
440. riable c is used to represent the constant in the case of first order equations and k1 and k2 the constants for second order equations If ode2 cannot obtain a solution for whatever reason it returns false after perhaps print ing out an error message The methods implemented for first order equations in the order in which they are tested are linear separable exact perhaps requiring an integrating factor homogeneous Bernoulli s equation and a generalized homoge neous method For second order constant coefficient exact linear homogeneous with non constant coefficients which can be transformed to constant coefficient the Euler or equidimensional equation the method of variation of parameters and equations which are free of either the independent or of the dependent variable so that they can be reduced to two first order linear equations to be solved sequentially In the course of solving ODEs several variables are set purely for informational purposes method denotes the method of solution used e g linear intfactor denotes any integrating factor used odeindex denotes the index for Bernoulli s method or for the general ized homogeneous method and yp denotes the particular solution for the variation of parameters technique In order to solve initial value problems IVPs and boundary value problems BVPs the routine ici is available for first order equations and ic2 and bc2 for second order IVPs and BVPs respectively Example
441. riable then it assumes that apply f x is meant and translates a such with apropriate warning There is no need to turn this off With the default settings no warning messages implies full compatibility of translated and compiled code with the Maxima interpreter tr numer Option variable Default value false When tr numer is true numer properties are used for atoms which have them e g li pi tr_optimize_max_loop Option variable Default value 100 tr_optimize_max_loop is the maximum number of times the macro expansion and optimization pass of the translator will loop in considering a form This is to catch macro expansion errors and non terminating optimization properties tr_semicompile Option variable Default value false When tr_semicompile is true translate_file and compfile output forms which will be macroexpanded but not compiled into machine code by the Lisp compiler 420 Maxima Manual tr state vars System variable Default value transcompile tr semicompile tr warn undeclared tr warn meval tr warn fexpr tr warn mode tr warn undefined variable tr function call default tr array as ref tr numer The list of the switches that affect the form of the translated output This information is useful to system people when trying to debug the translator By comparing the translated product to what should have been produced for a given state it is possible to track down bugs tr warnings get Function Print
442. riables which determine the number of divisions of the x and y intervals dblint x and dblint y both of which are initially 10 and can be changed independently to other integer values there are 2 dblint x 1 points computed in the x direction and 2 dblint_y 1 in the y direction The routine subdivides the X axis and then for each value of X it first computes r x and s x then the Y axis between r x and s x is subdivided and the integral along the Y axis is performed using Simpson s rule then the integral along the X axis is done using Simpson s rule with the function values being the Y integrals T his procedure may be numerically unstable for a great variety of reasons but is reasonably fast avoid using it on highly oscillatory functions and functions with singularities poles or branch points in the region The Y integrals depend on how far apart r x and s x are so if the distance s x r x varies rapidly with X there may be substantial errors arising from truncation with different step sizes in the various Y integrals One can increase dblint_x and dblint y in an effort to improve the coverage of the region at the expense of computation time The function values are not saved so if the function is very time consuming you will have to wait for re computation if you change anything sorry It is required that the functions f r and s be either translated or compiled prior to calling dblint This will result in orders of magnitude sp
443. riage return If running in Xmaxima demo may need to see a semicolon followed by a carriage return demo searches the list of directories file search demo to find filename If the file has the suffix dem the suffix may be omitted See also file search demo evaluates its argument demo returns the name of the demonstration file Example fil demo disol batching home wfs maxima share simplification disol dem 12 At the 12 13 03 114 44 45 405 Maxima Manual _ prompt type followed by enter to get next demo load disol a e g b d c a e g f b d c disolate expi a b e d C g t a tb e t4 b ib demo rncomb batching home wfs maxima share simplification rncomb dem At the _ prompt type followed by enter to get next demo 216 load rncomb Zz x hi7 exp1 y x 2 y x z x oT ee y x 2 y x 218 combine exp1 Zz x 408 ee y x 2 y x 219 rncombine 7 2z tx o9 EES 2 y x d x D lt a 4110 exp2 3 3 2 2 d c b a 5010 3 3 2 2 Chapter 3 Help 13 4i11 combine exp2 2d 2c 3 b a oll es 6 1112 rncombine exp2 2d 2ct 3b 3a ho12 6 313 describe string Function Finds all documented items which contain string in their titles If there is more than one such item Maxima asks the user to select a
444. rivsubst is true a non syntactic substitution such as subst x diff y t diff y t 2 yields diff x t diff expr x 1 n 1 x m nm Function diff expr x n Function diff expr x Function diff expr Function Returns the derivative or differential of expr with respect to some or all variables in expr diff expr x n returns the n th derivative of expr with respect to x diff expr x 1 n 1 x m n m returns the mixed partial derivative of expr with respect to x 1 x m It is equivalent to diff diff expr x m n m saido KA n 1 diff expr x returns the first derivative of expr with respect to the variable x diff expr returns the total differential of expr that is the sum of the derivatives of expr with respect to each its variables times the differential del of each variable No further simplification of del is offered The noun form of diff is required in some contexts such as stating a differential equation In these cases diff may be quoted as diff to yield the noun form instead of carrying out the differentiation When derivabbrev is true derivatives are displayed as subscripts Otherwise derivatives are displayed in the Leibniz notation dy dx Examples hii diff exp f x x 2 2 f x d f x d 2 401 he f x Le x 2 dx dx Chapter 20 Differentiation 175 diff 4i2 derivabbrev true 413 integrate f x y y g x h
445. rmel Masson or in English Addison Wesley section 1 5 5 Morley theorem Ail c pi 3 a b Api 401 b at 3 hi2 bc sin a sin 3 c sin atb sin a sin 3 b 8 a o2 sin b a 413 ba bc c a a c hi4 ac2 ba 2 bc 2 2 bc ba cos b 2 2 sin a sin 3b 3 a h04 sass ss sass s 2 sin b a Api 2 sin a sin 3 a cos b sin b a sin 3 b 3 a 3 hpi sin a sin b a 3 2 2 pi sin 3 a sin b a 3 T ee a a a a a e a a a a a a we 2 Api sin a 3 415 trigrat ac2 A05 sqrt 3 sin 4 b 4 a cos 4 b 4 a 2 sqrt 3 sin 4 b 2 a 2 cos 4 b 2 a 2 sqrt 3 sin 2 b 4 a 2 cos 2 b 4 a 146 Maxima Manual 4 sqrt 3 sin 2 b 2 a 8 cos 2 b 2 a 4 cos 2 b 2 a sqrt 3 sin 4 b cos 4 b 2 sqrt 3 sin 2 b 10 cos 2 b sqrt 3 sin 4 a cos 4 a 2 sqrt 3 sin 2 a 10 cos 2 a 9 4 Chapter 16 Special Functions 147 16 Special Functions 16 1 Introduction to Special Functions 16 2 specint hypgeo is a package for handling Laplace transforms of special functions hyp is a package for handling generalized Hypergeometric functions specint attempts to compute the definite integral over the range from zero to infinity of an expression containing special functions When the integrand contains a factor exp s t the result is a La
446. rmuting dummy indices rename is restricted to sums of tensor products in which no derivatives are present As such it is limited and should only be used if canform is not capable of carrying out the required simplification The canten function returns a mathematically correct result only if its argument is an expression that is fully symmetric in its indices For this reason canten returns an error if allsym is not set to true concan expr Function Similar to canten but also performs index contraction 29 2 2 Tensor symmetries allsym Option variable Default false if true then all indexed objects are assumed symmetric in all of their covariant and contravariant indices If false then no symmetries of any kind are assumed in these indices Derivative indices are always taken to be symmetric unless iframe flag is set to true decsym tensor m n cov 1 cov_2 contr 1 contr 2 Function Declares symmetry properties for tensor of m covariant and n contravariant indices The cov_i and contr_i are pseudofunctions expressing symmetry relations among the covariant and contravariant indices respectively These are of the form 268 remsym tensor m n canform expr Maxima Manual symoper index_1 index 2 where symoper is one of sym anti or cyc and the index_i are integers indicating the position of the index in the tensor This will declare tensor to be symmetric antisymmetric or cyclic respectively
447. rors Chapter 29 itensor 285 NB This version of the tentex function is somewhat experimental 29 2 9 Interfacing with ctensor The itensor package has the ability to generate Maxima code that can then be executed in the context of the ctensor package The function that performs this task is ic convert ic convert eqn Function Converts the itensor equation eqn to a ctensor assignment statement Implied sums over dummy indices are made explicit while indexed objects are transformed into arrays the array subscripts are in the order of covariant followed by contravariant indices of the indexed objects The derivative of an indexed object will be replaced by the noun form of diff taken with respect to ct coords subscripted by the derivative index The Christoffel symbols ichr1 and ichr2 will be translated to lcs and mcs respectively and if metricconvert is true then all occurrences of the metric with two covariant contravariant indices will be renamed to 1g ug In addition do loops will be introduced summing over all free indices so that the transformed assignment statement can be evaluated by just doing ev The following examples demonstrate the features of this function fil load itensor 01 share tensor itensor lisp i2 eqn ishow t i 31 x1 0 DD gCUI m DD a CDI m j b i 1 x f k m lk 112 t fa b g 113 ic_convert eqn 403 for i thru dim do for j thru dim do for k thru dim do t
448. rst arg may be an equation The order of the last two args is irrelevant Thus interpolate sin x x 2 x Api 0 1 is equivalent to interpolate sin x x 2 x 0 1 Api The method used is a binary search in the range specified by the last two args When it thinks the function is close enough to being linear it starts using linear interpolation hii f x sin x x 2 x 501 f x sin x 2 4i2 interpolate sin x x 2 x 0 1 pi 402 1 895494267033981 4i3 interpolate sin x x 2 x 0 1 Api 403 1 895494267033981 4i4 interpolate f x x 0 1 pi 404 1 895494267033981 Aib interpolate f 0 1 Api 05 1 895494267033981 There is also a Newton method interpolation routine See newton intpolabs Option variable Default value 0 0 intpolabs is the accuracy of the interpolate command is governed by intpolabs and intpolrel which must be non negative floating point numbers interpolate will stop when the first arg evaluates to something less than or equal to intpolabs or if successive approximants to the root differ by no more than intpolrel lt one of the approximants gt The default values of intpolabs and intpolrel are 0 0 so interpolate gets as good an answer as is possible with the single precision arithmetic we have intpolerror Option variable Default value true intpolerror governs the behavior of interpolate When interpolate is called it determines whether or not the fun
449. ru expr Function multthru expr_1 expr_2 Function Multiplies a factor which should be a sum of expr by the other factors of expr That is expr is 1 2 f n where at least one factor say f i is a sum of terms Each term in that sum is multiplied by the other factors in the product Namely all the factors except f i multthru does not expand exponentiated sums This function is the fastest way to distribute products commutative or noncommutative over sums Since quotients are represented as products multthru can be used to divide sums by products as well multthru expr 1 expr_2 multiplies each term in expr 2 which should be a sum or an equation by expr_1 If expr 1 is not itself a sum then this form is equivalent to multthru expr l expr 2 Chil x xey 2 1 x y f x x y 3 P x f x 01 mue Poe x y x y i2 multthru x y 3 4 2 402 x y x x y f x 4i3 ratexpand 4 2 403 y xy f x 414 a b 10 s 2 2xraxbx s a b 2 a b s 2 10 2 2 2 b a s 2absta b AR RS 2 abs Aib multthru note that this does not expand b a 10 10 2 ab b a 405 AA A 7 Chapter 6 Expressions 57 S 416 multthru a b c d e 406 a f a c e d a b 117 expand a b c dte f LoT a f ta c e ta c d a b nounify f Function Returns the noun form of the function name f This is needed if one wishes to refer to the name of a verb function a
450. s eT ere eS ee ee ee ee ee ee rer es Sep esse 1 1 Introduction to Maxima 3 2 Bug Detection and Reporting T 2 1 Introduction to Bug Detection and Reporting fi 2 2 Definitions for Bug Detection and Reporting yi DOI sg woe oso lr Oe RC SEC EROR GC ACCU C e ca EROR 9 3 1 Introduction to Help desert ated ER 9 3 2 Lisp and Maxima 9 3 3 Garbage Collection il 3 4 Documentation sese eget desee Rouen e tc eoo 11 3 5 Definitions for Help 11 4 Command LIH6 amp ds6e4v En RR Robes EET 15 4 1 Introduction to Command Line 15 4 2 Definitions for Command Line 16 D Operators 22 e 49 mr ERE HR RE YS 25 Ol MUY rd pedes rs i IER eI res ceded ERES 25 D 2 DONK o ae depart Ee Re ERU ense e HRS ewe dte ts 25 9 9 ODGPALOE zo rat diee e Roa qu iR ant ud 25 bL DOS iussu uu rd dames e ns desde 25 OM PCH cuocere Roe ec Eo Ue eda etat RE dud bea 25 5 6 Definitions for Operators 26 6 JEXPTESSIONS ece w ein b OI EROR m wwe 41 6 4 Introduction to Expressions 41 6 2 o A oe repe e ere E Rape p site te 41 6 3 Complex nee Ree e n e RR pd dope 41 6 4 Nouns and Verbs 42 6 5 Identifiers oot rbd ber pb Eee t SERM UR TE EORR 43 6 0 I
451. s In general commands may be abbreviated if the abbreviation is unique If not unique the alternatives will be listed Within the debugger the user can also use any ordinary Maxima functions to examine define and manipulate variables and expressions A breakpoint is set by the br command at the Maxima prompt Within the debugger the user can advance one line at a time using the n next command The bt back trace command shows a list of stack frames The r resume command exits the debugger and continues with execution These commands are demonstrated in the example below Aii load tmp foobar mac A01 tmp foobar mac 112 br foo Turning on debugging debugmode true Bkpt 0 for foo in tmp foobar mac line 1 112 bar 2 3 Bkpt 0 foobar mac 1 tmp foobar mac 1 dbm 1 bt lt bt typed here gives a backtrace 0 foo y 5 foobar mac line 1 41 bar x 2 y 3 foobar mac line 9 dbm 1 n Here type n to advance line foobar mac 2 tmp foobar mac 2 dbm 1 n Here type n to advance line foobar mac 3 tmp foobar mac 3 dbm 1 u lt Investigate value of u 28 dbm 1 u 33 lt Change u to be 33 33 dbm 1 r lt Type r to resume the computation 432 Maxima Manual 402 1094 The file tmp foobar mac is the following foo y block u y 2 u ut3 us uz u bar x y X X 2 y yt2 x foo y x y USE OF THE DEB
452. s a list of warnings which have been given by the translator during the current translation tr warn bad function calls Option variable Default value true Gives a warning when when function calls are being made which may not be correct due to improper declarations that were made at translate time tr warn fexpr Option variable Default value compfile Gives a warning if any FEXPRs are encountered FEXPRs should not normally be output in translated code all legitimate special program forms are translated tr warn meval Option variable Default value compfile Gives a warning if the function meval gets called If meval is called that indicates problems in the translation tr warn mode Option variable Default value all Gives a warning when variables are assigned values inappropriate for their mode tr warn undeclared Option variable Default value compile Determines when to send warnings about undeclared variables to the TTY tr warn undefined variable Option variable Default value all Gives a warning when undefined global variables are seen tr_windy Option variable Default value true Generate helpfull comments and programming hints Chapter 41 Function Definition 421 compile file filename Function compile file filename compiled filename Function compile file filename compiled filename lisp filename Function Translates the Maxima file filename into Lisp executes the Lisp compil
453. s established by depends Other functions integrate laplace etc only recognize dependencies explicitly represented by their arguments For example integrate does not recognize the dependence of f on x unless explicitly represented as integrate f x x Aii depends f gl x 01 f x g x 412 depends r s u v wl 402 r u v w stu v w i3 depends u t 03 u t 4i4 dependencies 404 f x g x r u v w stu v w u t hib diff r s vu dr ds 05 ee LS E e du du 4i6 diff r s t dr du ds du 406 sa r c du dt du dt 417 remove r dependency 407 done 418 diff r s t ds du 408 r du dt derivabbrev Option variable Default value false When derivabbrev is true symbolic derivatives that is diff nouns are displayed as subscripts Otherwise derivatives are displayed in the Leibniz notation dy dx derivdegree expr y x Function Returns the highest degree of the derivative of the dependent variable y with respect to the independent variable x occuring in expr 174 Maxima Manual Example 111 diff y x 2 diff y z 3 diff y x x72 3 2 dy dy 2 dy 01 SSS eed xo c 3 2 dx dz dx hi2 derivdegree A y x 402 2 derivlist var_1 var k Function Causes only differentiations with respect to the indicated variables within the ev command derivsubst Option variable Default value false When de
454. s for Special Functions 148 17 Orthogonal Polynomials 155 17 1 Introduction to Orthogonal Polynomials 155 17 2 Definitions for Orthogonal Polynomials 157 I8 Elliptic Fun tions ie vk RES 161 18 1 Introduction to Elliptic Functions and Integrals 161 18 2 Definitions for Elliptic Functions 162 18 3 Definitions for Elliptic Integrals 164 19 LiMitS sonreir ndesss 167 19 1 Definitions for Limits 167 20 21 22 23 24 25 26 27 28 DillerentlatlOD 45 sd 406s dee ed RR id as 169 20 1 Definitions for Differentiation 169 Integraatio oa sus x re xor DOR E DROP 179 21 1 Introduction to Integration 179 21 2 Definitions for Integration 179 LIxuduatio0seecadecesoasvexkewxeqbed A e RE 197 22 1 Definitions for Equations 197 Differential Equations 211 23 1 Definitions for Differential Equations 211 IN merca ug uae oru RO oO Roo aee de e 215 24 1 Introduction to Numerical 215 24 2 Fourier packages 215 24 3 Definitions for Numerical 215 24 4 Definitions for Fourier Series 220 DIS ee C 223 25
455. s for a particular metric the variable imetric must be assigned a name as in the example under chr2 ichr2 i j k Function Yields the Christoffel symbol of the second kind defined by the relation ks ichr2 i j k D g g g g 2 is j js i ij s icurvature i j k h Function Yields the Riemann curvature tensor in terms of the Christoffel symbols of the second kind ichr2 The following notation is used h h h 1 h icurvature ichr2 ichr2 ichr2 ichr2 ijk i k j 1 j ik i j k h 1 ichr2 ichr2 1 k i j covdiff expr v 1 v 2 Function Yields the covariant derivative of expr with respect to the variables v i in terms of the Christoffel symbols of the second kind ichr2 In order to evaluate these one should use ev expr ichr2 Aii load itensor 01 share tensor itensor lisp 4i2 entertensor Enter tensor name a Enter a list of the covariant indices i j Enter a list of the contravariant indices k Enter a list of the derivative indices k 4t2 a ij 413 ishow covdiff s k 1 k 71 k k 71M 1 13 a ichr2 a ichr2 a ichr2 a i 41 js l j is 3 348 is i jij lorentz_gauge expr Function Imposes the Lorentz condition by substituting 0 for all indexed objects in expr that have a derivative index identical to a contravariant index Chapter 29 itensor 275 igeodesic_coords expr name Function Causes undifferentiated Christoffel symbols and first derivatives o
456. s if it were a noun Note that some verb functions will return their noun forms if they can t be evaluated for certain arguments This is also the form returned if a function call is preceded by a quote nterms expr Function Returns the number of terms that expr would have if it were fully expanded out and no cancellations or combination of terms occurred Note that expressions like sin expr sqrt expr exp expr etc count as just one term regardless of how many terms expr has if it is a sum op expr Function Returns the main operator of the expression expr op expr is equivalent to part expr 0 op returns a string if the main operator is a built in or user defined prefix binary or n ary infix postfix matchfix or nofix operator Otherwise op returns a symbol op observes the value of the global flag inflag op evaluates it argument See also args Examples Ail stringdisp true 112 op a b c 402 nan 113 op a b c 403 nan 114 op sin a b 404 sin Aib op a 05 myn i6 op a 206 oon 17 op la b cl 07 p i8 op C if a gt b then c else d 08 if 419 op C foo a 409 foo 4110 prefix foo 4010 foo 4i11 op foo a o11 foo 58 Maxima Manual operatorp expr op Function operatorp expr op 1 op_n Function operatorp expr op returns true if op is equal to the operator of expr operatorp expr op
457. s of expr which should be a sum over a common denominator without expanding products and exponentiated sums as ratsimp does xthru cancels common factors in the numerator and denominator of rational expressions but only if the factors are explicit Sometimes it is better to use xthru before ratsimping an expression in order to cause explicit factors of the gcd of the numerator and denominator to be canceled thus simplifying the expression to be ratsimped 411 x 2 720 2 y x y 20 xty 7 19 x x y 20 20 1 2 y x hoi eaS 19 20 20 y x y x y x 412 xthru 20 Er y ho2 mmm 20 y x zeroequiv expr v Function Tests whether the expression expr in the variable v is equivalent to zero returning true false or dontknow zeroequiv has these restrictions 1 Do not use functions that Maxima does not know how to differentiate and eval uate 2 If the expression has poles on the real line there may be errors in the result but this is unlikely to occur 3 If the expression contains functions which are not solutions to first order differ ential equations e g Bessel functions there may be incorrect results Chapter 5 Operators 39 4 The algorithm uses evaluation at randomly chosen points for carefully selected subexpressions This is always a somewhat hazardous business although the algorithm tries to minimize the potential for error For example zeroequiv sin 2 x 2 s
458. s pred 1 pred n to the current database after checking for redun dancy and inconsistency If the predicates are consistent and non redundant they are added to the data base if inconsistent or redundant no action is taken assume returns a list whose elements are the predicates added to the database and the atoms redundant or inconsistent where applicable assumescalar Option variable Default value true assumescalar helps govern whether expressions expr for which nonscalarp expr is false are assumed to behave like scalars for certain transformations Let expr represent any expression other than a list or a matrix and let 1 2 3 represent any list or matrix Then expr 1 2 3 yields expr 2 expr 3 expr if assumescalar is true or scalarp expr is true or constantp expr is true If assumescalar is true such expressions will behave like scalars only for commuta tive operators but not for noncommutative multiplication When assumescalar is false such expressions will behave like non scalars When assumescalar is all such expressions will behave like scalars for all the op erators listed above assume pos Option variable Default value false When assume pos is true and the sign of a parameter x cannot be determined from the assume database or other considerations sign and asksign x return true This may forestall some automatically generated asksign queries such as may arise from integrate or other co
459. s product Symbolic derivatives that is diff nouns in the return value of express may be evaluated by including diff in the ev function call or command line In this context diff acts as an evfun load vect loads this function Examples 176 Maxima Manual 4i1 load vect 412 grad x 2 y 2 272 2 2 2 402 grad z y x 113 express d 2 2 2 d 2 2 2 d 2 2 2 o3 z y x z y x z y x dx dy dz 1414 ev diff 04 2 22 y 22 45 div x 2 y 2 2721 2 2 2 05 div K y z 416 express d 2 d 2 d 2 406 z y x dz dy dx 417 ev 4 diff 207 2z 2y 2x 418 curl x 2 y 2 z72 2 2 2 408 curl x y z 419 express d 2 d 2 d 2 d 2 d 2 d 2 o9 se Qm use CG y ee dy dz dz dx dx dy 4110 ev 4 diff 4010 0 O 0 4i11 laplacian x 2 y 2 z 2 2 2 2 4011 laplacian x y z 4112 express 72 2 2 2 d 2 2 2 d 2 2 2 d 2 2 2 5012 x y z x y z x y Zz 2 2 2 dz dy dx 2113 ev A diff 2 2 2 2 2 2 013 29 2 2X Z 2x y 4114 la b cl x y z 4014 la b c x y z 4115 express 7 4015 Ibz cy cx az ay b x gradef f x 1 x_n g 1 g m Function gradef a x expr Function Defines the partial derivatives i e the components of the gradient of the function f or variable a Chapter 20 Differentiation 177 gradef f x_l x n g 1
460. s true stringout formats the output using the grind format Otherwise the string format is used See grind and string The special form stringout filename m n writes the values of input labels m through n inclusive The special form stringout filename input writes all input labels to the file The special form stringout filename functions writes all user defined functions named by the global list functions to the file The special form stringout filename values writes all user assigned variables named by the global list values to the file Each variable is printed as an assignment statement with the name of the variable a colon and its value Note that the general form of stringout does not print variables as assignment statements Chapter 9 Input and Output 103 tex expr Function tex expr filename Function tex label filename Function In the case of a label a left equation number is produced in case a file name is supplied the output is appended to the file Aii integrate 1 1 x 73 x 2 x1 2 atan log x x 1 sqrt 3 log x 1 01 Sessscsssssecss oen 4o 6 sqrt 3 3 112 tex hol log left x 2 x 1 right over 6 arctan left 2 x 1 t over sqrt 3 right over sqrt 3 log left xt 1 right over 3 leqnof tt 01 402 X401 Ai3 tex integrate sin x x Ncos x 403 false 4i4 tex fol foo tex 04 01 s
461. s x and y are equal provided is x y evaluates to true Thus rat x and x are equal as set members consequently Aii set x rat x 01 x Further since is x 1 x 1 x 2 1 evaluates to false x 1 x 1 and x 2 1 are distinct set members thus Wii set x 1 x 1 x 2 1 2 01 to 41 ea 2 ap To reduce this set to a singleton set apply rat to each set member Aii set x 1 x 1 x 2 1 2 01 x 1 x 1 x 1 112 map rat 2 402 R x i To remove redundancies from other sets you may need to use other simplification func tions Here is an example that uses trigsimp 386 Maxima Manual Aii set 1 cos x 2 sin x 2 2 2 01 1 sin x cos x 412 map trigsimp 402 1 A set is simplified when its members are non redundant and sorted The current version of the set functions uses the Maxima function orderlessp to order sets however future versions of the set functions might use a different ordering function Some operations on sets such as substitution automatically force a re simplification for example fil s set a b c 4i2 subst c a s 402 a b hi3 subst a x b x c x s 403 x 414 map lambda x x 2 set 1 0 1 404 0 i Maxima treats lists and sets as distinct objects functions such as union and intersection will signal an error if any argument is a list If you need to apply a set functi
462. se that occur exactly twice as the following example demonstrates hii load itensor 401 share tensor itensor lisp i2 ishow aC i jl k 1 m n b k 01 j m pl q r 2 k1 jmp 4t2 a b ij mn ko qr 4i3 indices 03 LLL p i n o q r Des j ml 260 rename expr rename expr count Maxima Manual A tensor product containing the same index more than twice is syntactically illegal indices attempts to deal with these expressions in a reasonable manner however when it is called to operate upon such an illegal expression its behavior should be considered undefined Returns an expression equivalent to expr but with the dummy indices in each term chosen from the set 41 2 if the optional second argument is omitted Oth erwise the dummy indices are indexed beginning at the value of count Each dummy index in a product will be different For a sum rename will operate upon each term in the sum resetting the counter with each term In this way rename can serve as a tensorial simplifier In addition the indices will be sorted alphanumerically if allsym is true with respect to covariant or contravariant indices depending upon the value of flipflag If flipflag is false then the indices will be renamed according to the order of the contravariant indices If flipflag is true the renaming will occur according to the to the order of the contravariant indices It often happens that the combined effect of t
463. se this conversion for a particular expression exp without setting the switch or having to re evaluate the expression with ev 140 Maxima Manual logconcoeffp Option variable Default value false Controls which coefficients are contracted when using logcontract It may be set to the name of a predicate function of one argument E g if you like to generate SORTS you can do logconcoeffp logconfun logconfun m featurep m integer or ratnump m Then logcontract 1 2 log x will give log sqrt x logcontract expr Function Recursively scans the expression expr transforming subexpressions of the form al log b1 a2 log b2 c into log ratsimp bi ai b2 a2 c 111 2 a log x 2 a log y 112 logcontract 2 4 402 a log x y If you do declare n integer then logcontract 2 a n log x gives a log x 2 n The coefficients that contract in this manner are those such as the 2 and the n here which satisfy featurep coeff integer The user can control which coefficients are contracted by setting the option logconcoeffp to the name of a predicate function of one argument E g if you like to generate SQRTs you can do logconcoeffp logconfun logconfun m featurep m integer or ratnump m Then logcontract 1 2 log x will give log sqrt x logexpand Option variable Default value true Causes log a b to become b log a If it is set to all log a b will also simplify to log a log b If it is set to super
464. sentially evaluates an expression as if its main operator had been declared n ary there is however one difference flatten doesn t recurse into other function arguments For example hii expr flatten f g f f x 01 f g x 112 declare f nary 402 done 113 ev expr 403 fC gCE Q2 Applied to a set flatten gathers all members of set elements that are sets for example hii flatten set a set b set set c 01 a b c 4i2 flatten set a set a set a 402 ta a Flatten works correctly when the main operator is a subscripted function 4i1 flatten f 5 5 GOD 01 f x 5 To flatten an expression the main operator must be defined for zero or more argu ments if this isn t the case Maxima will halt with an error Expressions with special representations for example CRE expressions can t be flattened in this case flatten returns its argument unchanged full_listify a Function If a is a set convert a to a list and apply full listify to each list element To convert just the top level operator of a set to a list see listify page 394 Chapter 40 Sets 393 fullsetify a Function If ais a list convert a to a set and apply fullsetify to each set member hii fullsetify la a1 01 a a i2 fullsetify a f b 402 fa f bl In line 02 the argument of f isn t converted to a set because the main oper
465. set signal an error 4i1 adjoin c set a b 01 a b c 4i2 adjoin a set a b 02 a b See also disjoin belln n Function For nonnegative integers n return the n th Bell number If s is a set with n members belln n is the number of partitions of s For example ii makelist belln i i 0 6 01 1 1 2 5 15 52 203 112 is cardinality set partitions set belln 00 402 true 413 is cardinality set partitions set 1 2 3 4 5 6 belln 6 j 403 true When n isn t a nonnegative integer belln n doesn t simplify hii belln x belln sqrt 3 belln 9 hol belln x belln sqrt 3 belln 9 The function belln threads over equalities lists matrices and sets cardinality a Function Return the number of distinct elements of the set a Aii cardinality set O 01 0 112 cardinality set a a b c 402 3 390 Maxima Manual 413 cardinality set a a b c simp false 403 3 In line 9603 we see that cardinality works correctly even when simplification has been turned off cartesian product b_1 b n Function Return a set of lists of the form x 1 x n where x_1 in b_1 x_n in bn Signal an error when any b k isn t a set Aii cartesian product set 0 1 01 0 1 4i2 cartesian product set 0 1 set 0 1 402 0 0 0 1 1 0 1 11 113 cartesian product s
466. set to true ctaypov Option variable Maximum power used in Taylor series expansion when ctayswitch is set to true ctaypt Option variable Point around which Taylor series expansion is carried out when ctayswitch is set to true gdet System variable The determinant of the metric tensor 1g Computed by cmetric when cframe flag is set to false ratchristof Option variable Causes rational simplification to be applied by christof rateinstein Option variable Default value true If true rational simplification will be performed on the non zero components of Ein stein tensors if ratfac is true then the components will also be factored ratriemann Option variable Default value true One of the switches which controls simplification of Riemann tensors if true then rational simplification will be done if ratfac is true then each of the components will also be factored ratweyl Option variable Default value true If true this switch causes the weyl function to apply rational simplification to the values of the Weyl tensor If ratfac is true then the components will also be factored 310 Maxima Manual lfg Variable The covariant frame metric By default it is initialized to the 4 dimensional Lorentz frame with signature Used when cframe_flag is true ufg Variable The inverse frame metric Computed from 1fg when cmetric is called while cframe_ flag is set to true riem Variable The 3 1 Riemann tensor Compu
467. similaritytransform computes a similarity transform of the matrix M It returns a list which is the output of the uniteigenvectors command In addition if the flag nondiagonalizable is false two global matrices leftmatrix and rightmatrix are computed These matrices have the property that leftmatrix M rightmatrix is a diagonal matrix with the eigenvalues of M on the diagonal If nondiagonalizable is true the left and right matrices are not computed If the flag hermitianmatrix is true then leftmatrix is the complex conjugate of the transpose of rightmatrix Otherwise leftmatrix is the inverse of rightmatrix rightmatrix is the matrix the columns of which are the unit eigenvectors of M The other flags see eigenvalues and eigenvectors have the same effects since Chapter 27 Matrices and Linear Algebra 247 similaritytransform calls the other functions in the package in order to be able to form rightmatrix load eigen loads this function simtran is a synonym for similaritytransform sparse Option variable Default value false When sparse is true and if ratmx is true then determinant will use special routines for computing sparse determinants submatrix i 1 im M j 1 j n Function submatrix i 1 ium M Function submatrix M j 1 j_n Function Returns a new matrix composed of the matrix M with rows i_1 im deleted and columns j 1 j n deleted transpose M Function Returns the transp
468. sion as reported by build info and the specfun version as reported by get C specfun version 17 2 Definitions for Orthogonal Polynomials assoc legendre p n m x Function Returns the associated Legendre function of the first kind for integers n gt 1 and m gt 1 When m gt n and n gt 0 we have assocjegendre n m xz 0 Reference A amp S 22 5 37 page 779 A amp S 8 6 6 second equation page 334 and A amp S 8 2 5 page 333 load specfun loads this function See assoc_legendre_q page 157 legendre p page 159 and legendre_q page 159 assoc legendre q n m x Function Returns the associated Legendre function of the second kind for integers n gt 1 and m gt 1 158 Maxima Manual Reference Gradshteyn and Ryzhik 8 706 page 1000 load specfun loads this function See also assoc_legendre_p page 157 legendre_p page 159 and legendre q page 159 chebyshev t n x Returns the Chebyshev function of the first kind for integers n 1 Reference A amp S 22 5 31 page 778 and A amp S 6 1 22 page 256 load specfun loads this function See also chebyshev_u page 158 chebyshev u n x Returns the Chebyshev function of the second kind for integers n gt 1 Reference A amp S 22 8 3 page 783 and A amp S 6 1 22 page 256 load specfun loads this function See also chebyshev_t page 158 gen laguerre n a x Returns the generalized Laguerre
469. sponds to the Lisp symbol foo Note that foo is written without a space between and foo otherwise it might be mistaken for describe foo Hyphen asterisk or other special characters in Lisp symbols must be escaped by backslash where they appear in Maxima code For example the Lisp identifier foo bar is written foo bar in Maxima Lisp code may be executed from within a Maxima session A single line of Lisp con taining one or more forms may be executed by the special command lisp For example 10 Maxima Manual Aii lisp foo x y calls the Lisp function foo with Maxima variables x and y as arguments The lisp construct can appear at the interactive prompt or in a file processed by batch or demo but not in a file processed by load batchload translate_file or compile_file The function to_lisp opens an interactive Lisp session Entering to maxima closes the Lisp session and returns to Maxima Lisp functions and variables which are to be visible in Maxima as functions and variables with ordinary names no special punctuation must have Lisp names beginning with the dollar sign Maxima is case sensitive distinguishing between lowercase and uppercase letters in iden tifiers while Lisp is not There are some rules governing the translation of names between Lisp and Maxima 1 A Lisp identifier not enclosed in vertical bars corresponds to a Maxima identifier in lowercase Whether the Lisp identifier is
470. sqrt 3 Chapter 22 Equations 199 1 1 1 1 x c aur y aa an E 1 x 75 y j x 15 Vo 11 sqrt 3 sqrt 3 3 3 allroots expr Function allroots eqn Function Computes numerical approximations of the real and complex roots of the polynomial expr or polynomial equation eqn of one variable The flag polyfactor when true causes allroots to factor the polynomial over the real numbers if the polynomial is real or over the complex numbers if the polynomial is complex allroots may give inaccurate results in case of multiple roots If the polynomial is real allroots i p may yield more accurate approximations than allroots p as allroots invokes a different algorithm in that case allroots rejects non polynomials It requires that the numerator after rat ing should be a polynomial and it requires that the denominator be at most a complex number As a result of this allroots will always return an equivalent but factored expression if polyfactor is true For complex polynomials an algorithm by Jenkins and Traub is used Algorithm 419 Comm ACM vol 15 1972 p 97 For real polynomials the algorithm used is due to Jenkins Algorithm 493 ACM TOMS vol 1 1975 p 178 Examples Aii eqn 1 2 x 3 13 5 1 x75 3 5 01 2 1 13 5 x 1 12 soln allroots eqn 02 x 8296749902129361 x 1 015755543828121 x 9659625152196369 i 4069597231924075 x 9659625152196369 i
471. structing a Newman Penrose null tetrad requires a frame base Therefore a meaningful computation sequence may begin with a frame base which is then used to compute 1g computed automatically by cmetric and then ug At this point you can switch back to a coordinate base by setting cframe_ flag to false before beginning to compute the Christoffel symbols Changing to a frame base at a later stage could yield inconsistent results as you may end up with a mixed bag of tensors some computed in a frame base some in a coordinate base with no means to distinguish between the two petrov Function Computes the Petrov classification of the metric characterized by psi 0 psi 4 For example the following demonstrates how to obtain the Petrov classification of the Kerr metric Lii 01 i2 o2 i3 403 414 Lib 405 i6 t6 47 load ctensor share tensor ctensor mac cframe_flag true gcd spmod ctrgsimp true ratfac true true ct coordsys exteriorschwarzschild all done ug invert 1g weyl false done nptetrad true np sqrt r 2 m sqrt r 0 0 sqrt 2 sqrt r sqrt 2 sqrt r 2 m sqrt r 2 m sqrt r 0 0 sqrt 2 sqrt r sqrt 2 sqrt r 2 m ia i r sin theta 0 O sqrt 2 sqrt 2 r i r sin theta 0 0 0 0000 2e sqrt 2 sqrt 2 sqrt r sqrt r
472. sts is typically placed in the directory named by lisp default userdir although it can be in any directory searched by the function file search Here is an example maxima init mac file setup autoload specfun mac ultraspherical assoc legendre p showtime all In this example setup autoload tells Maxima to load the specified file specfun mac if any of the functions ultraspherical assoc_legendre_p are called but not yet defined Thus you needn t remember to load the file before calling the functions The statement showtime all tells Maxima to set the showtime variable The maxima init mac file can contain any other assignments or other Maxima statements 36 2 Interrupts The user can stop a time consuming computation with the C control C character The default action is to stop the computation and print another user prompt In this case it is not possible to restart a stopped computation If the variable debugger hook is set to nil by executing lisp setq debugger hook nil then upon receiving C Maxima will enter the Lisp debugger and the user may use the debugger to inspect the Lisp environment The stopped computation can be restarted by entering continue in the Lisp debugger The means of returning to Maxima from the Lisp debugger other than running the computation to completion is different for each version of Lisp On Unix systems the character Z control Z causes Maxima to stop altogether and co
473. styles with lines 3 with lines 1 with lines 2 with lines 5 with lines 4 with lines 6 with lines 7 gnuplot default term command gnuplot dumb term command set term dumb 79 22 gnuplot ps term command set size 1 5 1 5 set term postscript i eps enhanced color solid 24 4i2 x 42 02 42 Ai3 set plot option x 100 100 403 x 100 0 100 0 Ly 1 755559702014E 305 1 755559702014E 305 t 3 3 grid 30 40 view direction 1 1 1 colour z false transform xy false run viewer true plot format gnuplot gnuplot term default gnuplot out file false nticks 10 adapt depth 10 gnuplot pm3d false gnuplot preamble gnuplot curve titles default gnuplot curve styles with lines 3 with lines 1 with lines 2 with lines 5 with lines 4 with lines 6 with lines 7 gnuplot default term command gnuplot dumb term command set term dumb 79 22 gnuplot ps term command set size 1 5 1 5 set term postscript i eps enhanced color solid 24 psdraw curve ptlist Function Draws a curve connecting the points in ptlist The latter may be of the form x0 yO x1 y1 or x0 yO x1 y1 The function join is handy for taking a list of x s and a list of y s and splicing them together psdraw curve simply invokes the more primitive function pscurve Here is the defini tion defun psdraw curve lis p newpath ps
474. sum or product the limit variable in limit the integration variable in the definite integral form of integrate the original variable in laplace formal variables in at expressions and arguments in lambda expressions Local variables in block are not recognized by freeof as dummy variables this is a bug The indefinite form of integrate is not free of its variable of integration e Arguments are names of functions variables subscripted names operators and expressions freeof a b expr is equivalent to freeof a expr and freeof b expr Aii expr z 3 cos a 1 b c a d c 3 401 cos a b Z 1 112 freeof z expr 402 false Ai3 freeof cos expr 403 false 114 freeof a 1 expr 504 false Aib freeof cos a 1 expr 405 false 416 freeof b c d expr 406 false 4i7 freeof expr hoT false 418 freeof w sin a 2 sin a 2 b c d expr 408 true e freeof evaluates its arguments 52 Maxima Manual Aii expr a b 5 112 c a 113 freeof c expr 403 false e freeof does not consider equivalent expressions Simplification may yield an equivalent but different expression Aii expr a b 5 i2 expand expr 5 4 2 3 3 2 4 5 402 b 5ab 10a b 10a b 5a b a hi3 freeof a b 7 403 true 4i4 freeof a b expr 504 false Aib exp x x 405 e 416 freeof exp exp x 406 true e summation or definite integral
475. t t s 2 502 b laplace f t t s S a S 413 linsolve laplace f t t s 403 laplace f t t s bs a a bs i4 ilt rhs first O0 s t Is ab ab 1 positive negative or zero pos 182 Maxima Manual sqrt a b a b 1 t integrate expr x Function integrate expr x a b Function Attempts to symbolically compute the integral of expr with respect to x integrate expr x is an indefinite integral while integrate expr x a b is a definite integral with limits of integration a and b The limits should not contain x although integrate does not enforce this restriction a need not be less than b If b is equal to a integrate returns zero See quad qag and related functions for numerical approximation of definite integrals See residue for computation of residues complex integration See antid for an alternative means of computing indefinite integrals The integral an expression free of integrate is returned if integrate succeeds Otherwise the return value is the noun form of the integral the quoted operator integrate or an expression containing one or more noun forms The noun form of integrate is displayed with an integral sign In some circumstances it is useful to construct a noun form by hand by quoting integrate with a single quote e g integrate expr x For example the integral may depend on some parameters which
476. t rule package Chapter 38 Rules Lii i2 i3 03 414 Lib 405 i6 406 LiT 07 418 408 letrat and Patterns 371 matchdeclare a ai a2 true oneless x y is x y 1 let ai a2 al oneless a2 al al a2 gt al where oneless a2 al letrat true let ai ai ai 1 al gt al 1 ai letsimp n m n 1 m m 1 n let sin a 2 1 cos a 2 2 2 sin a gt 1 cos a letsimp sin x 4 4 2 cos x 2 cos x 1 Option variable Default value false When letrat is false letsimp simplifies the numerator and denominator of a ratio separately and does not simplify the quotient When letrat is true the numerator denominator and their quotient are simplified in that order ii matchdeclare n true 4i2 let n n n 1 n 402 gt n 1 n 4i3 letrat false 114 letsimp a a a 404 a Aib letrat true 416 letsimp a a 406 a 1 letrules Function letrules package name Function Displays the rules in a rule package letrules displays the rules in the current rule package letrules package name displays the rules in package name The current rule package is named by current let rule package If not otherwise specified current let rule package defaults to default let rule package See also disprule which displays rules defined by tellsimp and tellsimpafter
477. t returned by divide rat expr Function rat expr x 1 x_n Function Converts expr to canonical rational expression CRE form by expanding and com bining all terms over a common denominator and cancelling out the greatest common divisor of the numerator and denominator as well as converting floating point num bers to rational numbers within a tolerance of ratepsilon The variables are ordered according to the x 1 x n if specified as in ratvars rat does not generally simplify functions other than addition subtraction mul tiplication division and exponentiation to an integer power whereas ratsimp does handle those cases Note that atoms numbers and variables in CRE form are not the same as they are in the general form For example rat x x yields rat 0 which has a different internal representation than 0 When ratfac is true rat yields a partially factored form for CRE During ratio nal operations the expression is maintained as fully factored as possible without an actual call to the factor package This should always save space and may save some 126 Maxima Manual time in some computations The numerator and denominator are still made rela tively prime e g rat x 2 1 4 x 1 2 yields x 1 4 x 1 2 but the factors within each part may not be relatively prime ratprint if false suppresses the printout of the message informing the user of the conversion of floating point numbers to ratio
478. t successive estimates produced by romberg are y 0 y 1 y 2 etc then romberg will return after n iterations if roughly speaking abs y n y n 1 1 lt rombergabs or abs y n y n 11 if y n 0 0 then 1 0 else y n lt rombergtol is true The condition on the number of iterations given by rombergmin must also be satisfied Thus if rombergabs is 0 0 the default you just get the relative error test The usefulness of the additional variable comes when you want to perform an integral where the dominant contribution comes from a small region Then you can do the integral over the small dominant region first using the relative accuracy check followed by the integral over the rest of the region using the absolute accuracy check Example Suppose you want to compute integrate exp x x 0 50 numerically with a relative accuracy of 1 part in 10000000 Define the function n is a counter so we can see how many function evaluations were needed First of all try doing the whole integral at once Aii f x mode declare n integer x float n n 1 exp x j 4i2 translate f Warning gt n is an undefined global variable i3 block rombergtol 1 e 6 romberabs 0 0 n 0 romberg f 0 50 l 403 1 000000000488271 i4 n 404 257 That approach required 257 function evaluations Now do the integral intelligently by first doing integrate exp x x 0 10 and then setting rombergabs to 1 E 6 times
479. te true displays tests that are marked as known bugs as well as failures run testsuite true true displays all tests run testsuite changes the Maxima environment Typically a test script executes kill to establish a known environment namely one without user defined functions and variables and then defines functions and variables appropriate to the test run testsuite returns done bug report Function Prints out Maxima and Lisp version numbers and gives a link to the Maxima project bug report web page The version information is the same as reported by build info When a bug is reported it is helpful to copy the Maxima and Lisp version information into the bug report bug report returns an empty string build info Function Prints out a summary of the parameters of the Maxima build build info returns an empty string Maxima Manual Chapter 3 Help 9 3 Help 3 1 Introduction to Help The primary on line help function is describe which is typically invoked by the question mark at the interactive prompt foo with a space between and foo is equivalent to describe foo where foo is the name or part of the name of a function or topic describe then finds all documented items which contain the string foo in their titles If there is more than one such item Maxima asks the user to select an item or items to display Aii integ 0 maxima info Introduction to Elliptic Functions and Integrals D
480. te bessel i 1 x instead beta x y Function The beta function defined as gamma x gamma y gamma x y gamma x Function The gamma function See also makegamma The variable gammalim controls simplification of the gamma function The Euler Mascheroni constant is gamma gammalim Option variable Default value 1000000 gammalim controls simplification of the gamma function for integral and rational num ber arguments If the absolute value of the argument is not greater than gammalim then simplification will occur Note that the factlim switch controls simplification of the result of gamma of an integer argument as well intopois a Function Converts a into a Poisson encoding makefact expr Function Transforms instances of binomial gamma and beta functions in expr into factorials See also makegamma makegamma expr Function Transforms instances of binomial factorial and beta functions in expr into gamma functions See also makefact numfactor expr Function Returns the numerical factor multiplying the expression expr which should be a single term content returns the greatest common divisor gcd of all terms in a sum 152 Maxima Manual Aii gamma 7 2 15 sqrt pi hot 8 4i2 numfactor 7 15 402 8 outofpois a Function Converts a from Poisson encoding to general representation If a is not in Pois son form outofpois carries out the conversion i e the r
481. ted e nouns causes the evaluation of noun forms typically unevaluated functions such as integrate or diff in expr e expand causes expansion e expand m n causes expansion setting the values of maxposex and maxnegex to m and n respectively e detout causes any matrix inverses computed in expr to have their determi nant kept outside of the inverse rather than dividing through each element e diff causes all differentiations indicated in expr to be performed e derivlist x y Z causes only differentiations with respect to the indicated variables e float causes non integral rational numbers to be converted to floating point e numer causes some mathematical functions including exponentiation with numerical arguments to be evaluated in floating point It causes variables in expr which have been given numervals to be replaced by their values It also sets the float switch on e pred causes predicates expressions which evaluate to true or false to be evaluated e eval causes an extra post evaluation of expr to occur See step 5 below e A where A is an atom declared to be an evaluation flag see evflag causes A to be bound to true during the evaluation of expr e V expression or alternately V expression causes V to be bound to the value of expression during the evaluation of expr Note that if V is a Maxima option then expression is used for its value during the evaluation of expr If more than one arg
482. ted when the function riemann is invoked For information about index ordering see the description of riemann if cframe_flag is true riem is computed from the covariant Riemann tensor lriem lriem Variable The covariant Riemann tensor Computed by 1riemann uriem Variable The contravariant Riemann tensor Computed by uriemann ric Variable The mixed Ricci tensor Computed by ricci uric Variable The contravariant Ricci tensor Computed by uricci lg Variable The metric tensor This tensor must be specified as a dim by dim matrix before other computations can be performed ug Variable The inverse of the metric tensor Computed by cmetric weyl Variable The Weyl tensor Computed by weyl fb Variable Frame bracket coefficients as computed by frame bracket kinvariant Variable The Kretchmann invariant Computed by rinvariant np Variable A Newman Penrose null tetrad Computed by nptetrad Chapter 30 ctensor 311 npi Variable The raised index Newman Penrose null tetrad Computed by nptetrad Defined as ug np The product np transpose npi is constant 4139 trigsimp np transpose npi 0 1 0 0 1 0 o 0 5039 0 0 0 1 0 0 1 0 ir Variable User supplied rank 3 tensor representing torsion Used by contortion kt Variable The contortion tensor computed from tr by contortion nm Variable User supplied nonmetricity vector Used by nonmetricity nmc Variable The nonmetricity
483. tensor in frame base used when cframe flag true Ricci rotation coefficients used by christof In November 2004 the ctensor package was extensively rewritten Many functions and variables have been renamed in order to make the package compatible with the commercial version of Macsyma New Name ctaylor lgeod ein ric ricci ctaypov cgeodesic ct_coords ctayvar lriem uriemann ratriemann uric uricci cmetric ctaypt ctayswitch csetup ctransform uriem weyll Old Name Description H A DLGTAYLOR O Taylor series expansion of an expression EM Geodesic equations GO Mixed Einstein tensor LR Mixed Ricci tensor LRICCICOM Compute the mixed Ricci tensor MINP Maximum power in Taylor series expansion MOTION Compute geodesic equations OMEGA Metric coordinates PARAM Taylor series expansion variable RE Covariant Riemann tensor RAISERIEMANN Compute the contravariant Riemann tensor RATRIEMAN Rational simplification of the Riemann tensork RICCI Contravariant Ricci tensor RICCICOM Compute the contravariant Ricci tensor SETMETRIC Set up the metric TAYPT Point for Taylor series expansion TAYSWITCH Taylor series setting switch TSETUP Start interactive setup session TTRANSFORM Interactive coordinate transformation URL Contravariant Riemann tensor Wt 3 1 Weyl tensor Chapter 31 atensor 313 31 atensor 31 1 Introduc
484. tes the corresponding output expression and displays the output expression Input labels are assigned to the input expressions and output labels are assigned to the output expressions batch evaluates every input expression in the file unless there is an error If user input is requested by asksign or askinteger for example batch pauses to collect the requisite input and then continue It may be possible to halt batch by typing control C at the console The effect of control C depends on the underlying Lisp implementation batch has several uses such as to provide a reservoir for working command lines to give error free demonstrations or to help organize one s thinking in solving complex problems batch evaluates its argument batch has no return value See also 1oad batchload and demo batchload filename Function Reads Maxima expressions from filename and evaluates them without displaying the input or output expressions and without assigning labels to output expressions Printed output such as produced by print or describe is displayed however The special variable and the function th refer to previous results from the interac tive interpreter not results within the file The file cannot include lisp constructs 88 Maxima Manual batchload returns the path of filename as a string batchload evaluates its argu ment See also batch and load closefile Function Closes the transcript file opened by writefile or appendf
485. texptsimp dotident and dotscrules Operator The assignment operator E g A 3 sets the variable A to 3 Operator Assignment operator assigns the value of the expression on its right to the value of the quantity on its left which must evaluate to an atomic variable or subscripted variable c Operator The is used instead of to indicate that what follows is a macro definition rather than an ordinary functional definition See macros 28 and or not Maxima Manual Operator The function definition operator E g f x sin x defines a function f Operator denotes an equation to Maxima To the pattern matcher in Maxima it denotes a total relation that holds between two expressions if and only if the expressions are syntactically identical The negation of is represented by Note that because of the rules for evaluation of predicate expressions in particular because not expr causes evaluation of expr not a b is not equivalent to a b in some cases Operator The logical conjunction operator and is an n ary infix operator its operands are Boolean expressions and its result is a Boolean value and forces evaluation like is of one or more operands and may force evaluation of all operands Operands are evaluated in the order in which they appear and evaluates only as many of its operands as necessary to determine the result If any operand is false the result is false and no further operands are e
486. the different types of operators there are the following unary prefix negation a unary postfix factorial a binary infix exponentiation a b n ary infix addition a b matchfix list construction a b There are no built in nofix operators for an example of such an operator see nofix The mechanism to define a new operator is straightforward It is only necessary to declare a function as an operator the operator function might or might not be defined An example of user defined operators is the following Note that the explicit function call dd a is equivalent to dd a likewise lt a b is equivalent to a lt b Note also that the functions dd and lt are undefined in this example hi1 prefix dd 01 dd 4i2 dd a 202 dd a 413 dd a 403 dd a hi4 infix 04 lt 415 a lt dd b 05 a lt dd b 416 a dd b 206 a lt dd b The Maxima functions which define new operators are summarized in this table stating the default left and right binding powers lbp and rbp respectively Binding power determines operator precedence However since left and right binding powers can differ binding power is somewhat more complicated than precedence Some of the operation definition functions take additional arguments see the function descriptions for details Chapter 6 Expressions 45 prefix rbp 180 postfix Ibp 180 infix Ibp 180 rbp 180 nar
487. the equation expr O is assumed in its place x may be a function e g f x2 or other non atomic expression except a sum or product x may be omitted if expr contains only one variable expr may be a rational expression and may contain trigonometric functions exponentials etc The following method is used Let E be the expression and X be the variable If E is linear in X then it is trivially solved for X Otherwise if E is of the form A X N B then the result is B A 1 N times the N th roots of unity If E is not linear in X then the gcd of the exponents of X in E say N is divided into the exponents and the multiplicity of the roots is multiplied by N T hen solve is called again on the result If E factors then solve is called on each of the factors Finally solve will use the quadratic cubic or quartic formulas where necessary In the case where E is a polynomial in some function of the variable to be solved for say F X then it is first solved for F X call the result C then the equation F X C can be solved for X provided the inverse of the function F is known breakup if false will cause solve to express the solutions of cubic or quartic equa tions as single expressions rather than as made up of several common subexpressions which is the default multiplicities will be set to a list of the multiplicities of the individual solutions returned by solve realroots or allroots Try apropos solve for the switches w
488. the example below findde gives the following independent differential equations Aii load ctensor 401 share tensor ctensor mac 4i2 derivabbrev true 502 true hi3 dim 4 403 4 414 1g matrix a 0 0 07 0 x72 0 07 0 0 x 2 sin y 2 07 0 0 0 d la 0 0 o 2 0 x 0 0 404 2 2 O 0 x sin y 0 0 0 0 d Aib depends a d 3 405 a x d x 416 ct_coords x y z t 406 x y z t WiT cmetricO 07 done 18 einstein false 408 done hi9 findde ein 2 2 09 d x ad d 2aadd x a d x a dd x 2ad dj x X X x x x xm 2 20 2a d a x a al x x 4110 deindex 4010 1 1 2 2 4 41 cograd Function Computes the covariant gradient of a scalar function allowing the user to choose the corresponding vector name as the example under contragrad illustrates contragrad Function Computes the contravariant gradient of a scalar function allowing the user to choose the corresponding vector name as the example below for the Schwarzschild metric illustrates 302 Lii 01 i2 02 413 403 414 404 Lib 405 i6 406 hi7 07 418 408 dscalar Maxima Manual load ctensor share tensor ctensor mac derivabbrev true true ct coordsys exteriorschwarzschild all done depends f r f COO I cograd f g1 done listarray g1 0 O 0 r contragrad f g2 done listarray g2 f r 2f m r
489. tion to atensor atensor is an algebraic tensor manipulation package To use atensor type load atensor followed by a call to the init atensor function The essence of atensor is a set of simplification rules for the noncommutative dot product operator atensor recognizes several algebra types the corresponding sim plification rules are put into effect when the init atensor function is called The capabilities of atensor can be demonstrated by defining the algebra of quaternions as a Clifford algebra C1 0 2 with two basis vectors The three quaternionic imaginary units are then the two basis vectors and their product i e i v jv k v Yv T 2 1 2 Although the atensor package has a built in definition for the quaternion algebra it is not used in this example in which we endeavour to build the quaternion multiplication table as a matrix ii load atensor 401 share tensor atensor mac 4i2 init_atensor clifford 0 0 2 502 done 113 atensimp v 1 v 11 403 1 414 atensimp v 1 v 2 v 1 v 2 404 1 Aib q zeromatrix 4 4 o 0 0 0 0000 405 0000 o 0 0 0 A16 q 1 1 1 406 1 4i7 for i thru adim do q 1 i 1 q i 1 1 v i l 407 done 118 q 1 41 9 4 1 v 11 v 2 408 v v Al 2 419 for i from 2 thru 4 do for j from 2 thru 4 do qli jl atensimp q i 11 q11 31 409 done Chil q 314 Maxima Manual 4010 SR 0 T1 UG ET ET V V V y 1 1 2 2 1
490. tion uses the information given to the defcon function For best results expr should be fully expanded ratexpand is the fastest way to expand products and powers of sums if there are no variables in the denominators of the terms The gcd switch should be false if GCD cancellations are unnecessary 262 Maxima Manual indexed tensor tensor Function Must be executed before assigning components to a tensor for which a built in value already exists as with ichri ichr2 icurvature See the example under icurvature components tensor expr Function permits one to assign an indicial value to an expression expr giving the values of the components of tensor These are automatically substituted for the tensor whenever it occurs with all of its indices The tensor must be of the form tCL 1 1 where either list may be empty expr can be any indexed expression involving other objects with the same free indices as tensor When used to assign values to the metric tensor wherein the components contain dummy indices one must be careful to define these indices to avoid the generation of multiple dummy indices Removal of this assignment is given to the function remcomps It is important to keep in mind that components cares only about the valence of a tensor not about any particular index ordering Thus assigning components to say x i 31 00 xCE j il DD or x i j all produce the same result namely components being assigned to a tensor nam
491. tions save quotes its arguments filename must be a string not a string variable The first and last labels to save if specified must be integers The double quote operator eval uates a string variable to its string value e g s foo 1 save s a11 and integer variables to their integer values e g m 5 n 12 save foo 1 m n 5 savedef Option variable Default value true When savedef is true the Maxima version of a user function is preserved when the function is translated This permits the definition to be displayed by dispfun and allows the function to be edited When savedef is false the names of translated functions are removed from the functions list show expr Function Displays expr with the indexed objects in it shown having covariant indices as sub scripts contravariant indices as superscripts The derivative indices are displayed as subscripts separated from the covariant indices by a comma showratvars expr Function Returns a list of the canonical rational expression CRE variables in expression expr See also ratvars stardisp Option variable Default value false When stardisp is true multiplication is displayed with an asterisk between operands string expr Function Converts expr to Maxima s linear notation just as if it had been typed in The return value of string is a string and thus it cannot be used in a computation 102 Maxima Manual stringdisp Lisp v
492. tions comple tes Similaire a comp2ele et comp2pui Autres fonctions de changements de bases comp2ele comp2pui ele2pui elem mon2schur multi elem multi pui pui pui2comp pui2ele puireduc schur2comp ele2polynome 1 z Function donne le polyno me en z dont les fonctions syme triques e le mentaires des racines sont dans la liste 1 12 n e 1 en ou n est le degre du polyno me et e i la rie me fonction syme trique e le mentaire Aii ele2polynome 2 el e2 z 2 01 z el z e2 412 polynome2ele x 7 14 x 5 56 x73 56 x 22 x 02 7 0 14 0 56 O 56 22 4i3 ele2polynome 7 0 14 0 56 O 56 22 x T 5 3 03 x 14x 56x 56 x 22 La re ciproque polynome2ele P z Autres fonctions a voir polynome2ele pui2polynome ele2pui m 1 Function passe des fonctions syme triques e le mentaires aux fonctions comple tes Similaire a comp2ele et comp2pui 340 Maxima Manual Autres fonctions de changements de bases comp2ele comp2pui ele2comp elem mon2schur multi elem multi pui pui pui2comp pui2ele puireduc schur2comp elem ele sym Ivar Function de compose le polyno me syme trique sym en les variables contenues de la liste Ivar par les fonctions syme triques e le mentaires contenues dans la liste ele Si le premier e le ment de ele est donne ce sera le cardinal de l alphabet sinon on prendra le degre du polyno me sym Si il
493. tity on its left which must evaluate to an atomic variable or subscripted variable 6 3 Complex A complex expression is specified in Maxima by adding the real part of the expression to i times the imaginary part Thus the roots of the equation x 2 4 x 13 0 are 2 3 i and 2 3 4i Note that simplification of products of complex expressions can be effected by expanding the product Simplification of quotients roots and other functions 42 Maxima Manual of complex expressions can usually be accomplished by using the realpart imagpart rectform polarform abs carg functions 6 4 Nouns and Verbs Maxima distinguishes between operators which are nouns and operators which are verbs A verb is an operator which can be executed A noun is an operator which appears as a symbol in an expression without being executed By default function names are verbs A verb can be changed into a noun by quoting the function name or applying the nounify function A noun can be changed into a verb by applying the verbify function The evaluation flag nouns causes ev to evaluate nouns in an expression The verb form is distinguished by a leading dollar sign on the corresponding Lisp symbol In contrast the noun form is distinguished by a leading percent sign on the corresponding Lisp symbol Some nouns have special display properties such as integrate and derivative returned by diff but most do not By default the noun and verb forms
494. tive or zero neg 3 402 beta a 1 a 2 184 Maxima Manual e Change of variable There are two changes of variable in this example one using a derivative established by gradef and one using the derivation diff r x of an unspecified function r x 413 gradef q x sin x 2 403 q x 114 diff log q r x x d 2 r x sin r 0 dx MAD mmo q r x Aib integrate x 05 log q r x e Return value contains the integrate noun form In this example Maxima can extract one factor of the denominator of a rational function but cannot factor the remainder or otherwise find its integral grind shows the noun form integrate in the result See also integrate use rootsof for more on integrals of rational functions Aii expand x 4 x 342 x 1 4 3 2 A01 x 4x 2x 7x 4 112 integrate 1 x i 2 x 4x 18 an a a dx 3 gp eeessssita See esas eceeaee ie grind 4 log x 4 73 integrate x72 4 x 18 x73 2 x 1 x 73 e Defining a function in terms of an integral The body of a function is not evalu ated when the function is defined Thus the body of _1 in this example contains the noun form of integrate The double single quotes operator causes the integral to be evaluated and the result becomes the body of f 2 Aii f_1 a integrate x 3 x 1 a 3 401 f 1 a integrate x x 1 a 412 ev _1 7 nouns 402 600 113 Note p
495. tively means substitute 0 for x in rational functions tellrat returns a list of the current substitutions algebraic must be set to true in order for the simplification of algebraic integers to take effect Maxima initially knows about the imaginary unit i and all roots of integers There is command untellrat which takes kernels and removes tellrat properties When tellrat ing a multivariate polynomial e g tellrat x 2 y 2 there would be an ambiguity as to whether to substitute y 2 for x 2 or vice versa Maxima picks a particular ordering but if the user wants to specify which e g tellrat y 2 x 2 provides a syntax which says replace y 2 by x 2 Examples Chapter 12 Polynomials 135 Chii 10 4i 1 i 3 1 3 10 fi 1 Col asa ae ae 1 3 hi 3 112 ev ratdisrep rat algebraic 2 3 1 3 2 3 1 3 102 4 3 23 4 fi 23 43 2 i3 tellrat 1 a a 2 2 403 a a 1 114 1 a sqrt 2 1 a sqrt 3 sqrt 2 1 a o3 Fee sqrt 2 a 1 sqrt 3 sqrt 2 Aib ev ratdisrep rat algebraic 7 sqrt 3 10 sqrt 2 2 a 2 sqrt 2 1 lo a 7 416 tellrat y 2 x72 2 2 2 406 E x a a 1 totaldisrep expr Function Converts every subexpression of expr from canonical rational expressions CRE to general form and returns the result If expr is itself in CRE form then totaldisrep is identical to ratdisrep totaldisrep may be usef
496. to pos thus Aii assume a gt b 4i2 kron delta a b 402 0 If we instead assume that x gt y then sign x yl evaluates to pz in this case kron delta x y doesn t simplify Ail assume x gt y 4i2 kron delta x y 402 kron delta x y Finally since 1 10 0 1 evaluates to a floating point number we have 4i1 kron delta 1 10 0 1 1 01 kron delta 0 1 10 If you want kron delta 1 10 0 1 to evaluate to 1 apply float Aii float kron delta 1 10 0 10 01 1 listify a Function If a is a set return a list containing the members of a when a isn t a set return a To convert a set and all of its members to lists see full listify page 392 Chapter 40 Sets 395 lreduce f s Function lreduce f s init Function The function lreduce left reduce extends a 2 arity function to an n arity function by composition an example should make this clear When the optional argument init isn t defined we have 11 lreduce f 1 2 3 01 f f l 2 3 4i2 lreduce f 1 2 3 4 4502 f 1 2 3 4 Notice that the function f is first applied to the leftmost list elements thus the name lreduce When init is defined the second argument to the inner most function evaluation is init for example fil lreduce f 1 2 3 4 01 f 4 1 2 3 The function 1reduce makes it easy to find the product or sum of the elements of a list Aii lre
497. topic displays some examples of topic which is a symbol not a string Most topics are function names example returns the list of all recognized topics The name of the file containing the examples is given by the global variable manual demo which defaults to manual demo example quotes its argument example returns done unless there is an error or there is no argument in which case example returns the list of all recognized topics Examples i1 412 402 402 413 114 04 Aib 405 405 example append append x y 0 3 2 2 5E 20 x y x 0 3 2 2 5E 20 x done example coeff coeff b tan x 2 a tan x 3 5 tan x tan x 2a 1 5 coeff 1 x fe x y x 0 y 1 done Chapter 4 Command Line 15 4 Command Line 4 1 Introduction to Command Line wou Operator The single quote operator prevents evaluation Applied to a symbol the single quote prevents evaluation of the symbol Applied to a function call the single quote prevents evaluation of the function call al though the arguments of the function are still evaluated if evaluation is not otherwise prevented The result is the noun form of the function call Applied to a parenthesized expression the single quote prevents evaluation of all symbols and function calls in the expression E g x means do not evaluate the expression f x x with the single quote applied to f instead of f x means return the n
498. tor from the decimal point in a floating point number it may be necessary to leave spaces on either side For example 5 e3 is 5000 0 but 5 e3 is 5 times e3 There are several flags which govern the simplification of expressions involving namely dot dotOnscsimp dotOsimp dotisimp dotassoc dotconstrules dotdistrib dotexptsimp dotident and dotscrules 27 1 2 Vectors vect is a package of functions for vector analysis load vect loads this package and demo vect displays a demonstration The vector analysis package can combine and simplify symbolic expressions including dot products and cross products together with the gradient divergence curl and Laplacian operators The distribution of these operators over sums or products is governed by several flags as are various other expansions including expansion into components in any specific orthogonal coordinate systems There are also functions for deriving the scalar or vector potential of a field The vect package contains these functions vectorsimp scalefactors express potential and vectorpotential Warning the vect package declares the dot operator to be a commutative operator 27 1 3 eigen The package eigen contains several functions devoted to the symbolic computation of eigenvalues and eigenvectors Maxima loads the package automatically if one of the functions eigenvalues or eigenvectors is invoked The package may be loaded explicitly as load eigen
499. tring not a string variable The double single quote operator defeats quotation 96 Maxima Manual loadprint Option variable Default value true loadprint tells whether to print a message when a file is loaded e When loadprint is true always print a message e When loadprint is loadfile print a message only if a file is loaded by the function loadfile e When loadprint is autoload print a message only if a file is automatically loaded See setup autoload e When loadprint is false never print a message obase Option variable Default value 10 obase is the base for integers displayed by Maxima obase may be assigned any integer between 2 and 35 decimal inclusive When obase is greater than 10 the numerals comprise the decimal numerals 0 through 9 plus capital letters of the alphabet A B C as needed The numerals for base 35 the largest acceptable base comprise 0 through 9 and A through Y See also ibase outchar Option variable Default value 4o outchar is the prefix of the labels of expressions computed by Maxima Maxima auto matically constructs a label for each computed expression by concatenating outchar and linenum outchar may be assigned any string or symbol not necessarily a single character Ail outchar output output 1 output i2 expand atb 73 3 2 2 3 output2 b 3ab 3a b a 413 See also labels packagefile Option variable Default value false Package desig
500. turns a list of system features These include Lisp version operating system type etc The list may vary from one Lisp type to another e status feature putative feature returns true if putative feature is on the list of items returned by status feature and false otherwise status quotes the argument putative feature The double single quotes operator defeats the quotation A feature whose name contains a special character such as a hyphen must be given as a string argument For example status feature ansi cl e status status returns a two element list feature status feature and status are the two arguments accepted by the status function it is unclear if this list has additional significance The variable features contains a list of features which apply to mathematical ex pressions See features and featurep for more information time 9601 02 9603 Function Returns a list of the times in seconds taken to compute the output lines 01 02 403 The time returned is Maxima s estimate of the internal computation time not the elapsed time time can only be applied to output line variables for any other variables time returns unknown Chapter 36 Runtime Environment 357 Set showtime true to make Maxima print out the computation time and elapsed time with each output line 358 Maxima Manual Chapter 37 Miscellaneous Options 359 37 Miscellaneous Options 37 1 Introduction to Miscellaneous
501. turns unknown Chapter 5 Operators 29 abs expr Function Returns the absolute value expr If expr is complex returns the complex modulus of expr additive Keyword If declare f additive has been executed then 1 If f is univariate whenever the simplifier encounters f applied to a sum f will be distributed over that sum Le f y x will simplify to f Cy f x 2 If f is a function of 2 or more arguments additivity is defined as additivity in the first argument to f as in the case of sum or integrate ie f h x g x x will simplify to f h x x f g x x This simplification does not occur when f is applied to expressions of the form sum x i i lower limit upper limit allbut Keyword works with the part commands i e part inpart substpart substinpart dpart and lpart For example 211 expr e d c b a 112 part expr 2 51 02 d a while Ai3 part expr allbut 2 5 403 etctb It also works with the kill command kill allbut name 1 name k will do a kill all except it will not kill the names specified Note name i means a name such as function name such as u f foo or g not an infolist such as functions antisymmetric Declaration If declare h antisymmetric is done this tells the simplifier that h is antisymmet ric E g h x z y will simplify to h x y z That is it will give 1 n times the result given by symmetric or commutative where n is the number of inte
502. tvalue f x y x 0 y 1 a 2 2 01 a 112 atvalue diff f x y x x 0 1 y 02 2 1 Ai3 printprops all atvalue d f 1 02 2 1 doi 101 0 2 f 0 1 a 403 done 1414 diff 4 f x y 2 u x y 2 x d d 502 8 f x y f x y 2 u x y E u x y dx dx 415 at 4 x 0 y 11 2 d 05 16a 2 u 0 1 u x y dx Ix 0 y 1 172 Maxima Manual cartan Function The exterior calculus of differential forms is a basic tool of differential geometry developed by Elie Cartan and has important applications in the theory of partial differential equations The cartan package implements the functions ext diff and lie diff along with the operators wedge product and contraction of a form with a vector Type demo tensor to see a brief description of these commands along with examples cartan was implemented by F B Estabrook and H D Wahlquist del x Function del x represents the differential of the variable z diff returns an expression containing del if an independent variable is not specified In this case the return value is the so called total differential Examples hii diff log Q0 del x DAI 0 0000000 AX x 412 diff exp x y x y x 02 x he del y y whe del x 113 diff x y z 403 x y del z xz del y y z del x delta t Function The Dirac Delta function Currently only laplace knows
503. u can finish your command with instead of Aii eq 1 x 2 3xxxy y 2 0 hi2 eq 2 3 x y 1 13 solve eq 1 eq 21 3 sqrt 5 7 sqrt 5 3 63 LE 2 E eee Ts 2 2 3 sqrt 5 7 sqrt 5 3 RES pe esse 1 2 2 Maxima can generate plots of one or more functions Aii eq 1 x 2 3xxxy y 2 0 412 eq 2 3 x y 1 i3 solve eq 1 eq 2 3 sqrt 5 7 sqrt 5 3 QoS Ly gt X 15 2 2 3 sqrt 5 7 sqrt 5 3 y Ses o d dicic 1 2 2 414 kill labels 400 done 31 plot2d sin x x lx 20 20 401 i2 plot2d atan x erf x tanh x x 5 5 402 i3 plotsd sin sqgrt x 2 y 2 0 sqrtix 2 y 2 Dx 12 12 Ly 12 I 403 Maxima Manual Chapter 2 Bug Detection and Reporting 7 2 Bug Detection and Reporting 2 1 Introduction to Bug Detection and Reporting Like all large programs Maxima contains both known and unknown bugs This chapter describes the built in facilities for running the Maxima test suite as well as reporting new bugs 2 2 Definitions for Bug Detection and Reporting run testsuite Function run testsuite boolean Function run testsuite boolean boolean Function Run the Maxima test suite Tests producing the desired answer are considered passes as are tests that do not produce the desired answer but are marked as known bugs run testsuite displays only tests that do not pass run testsui
504. ual factcomb expr Function Tries to combine the coefficients of factorials in expr with the factorials themselves by converting for example n 1 n into n 1 sumsplitfact if set to false will cause minfactorial to be applied after a factcomb factor expr Function Factors the expression expr containing any number of variables or functions into factors irreducible over the integers factor expr p factors expr over the field of integers with an element adjoined whose minimum polynomial is p factorflagif false suppresses the factoring of integer factors of rational expressions dontfactor may be set to a list of variables with respect to which factoring is not to occur It is initially empty Factoring also will not take place with respect to any variables which are less important using the variable ordering assumed for CRE form than those on the dontfactor list savefactors if true causes the factors of an expression which is a product of factors to be saved by certain functions in order to speed up later factorizations of expressions containing some of the same factors berlefact if false then the Kronecker factoring algorithm will be used otherwise the Berlekamp algorithm which is the default will be used intfaclim is the largest divisor which will be tried when factoring a bignum integer If set to false this is the case when the user calls factor explicitly or if the integer is a fixnum i e fits in one mach
505. uch as expand exp and exponentialize Thus if you can only remember part of the name of something you can use this command to find the rest of the name Similarily you could say apropos tr_ to find a list of many of the switches relating to the translator most of which begin with tr_ 360 Maxima Manual args expr Function Returns the list of arguments of expr which may be any kind of expression other than an atom Only the arguments of the top level operator are extracted subexpressions of expr appear as elements or subexpressions of elements of the list of arguments The order of the items in the list may depend on the global flag inflag args expr is equivalent to substpart expr 0 See also substpart See also op genindex Option variable Default value i genindex is the alphabetic prefix used to generate the next variable of summation when necessary gensumnum Option variable Default value 0 gensumnum is the numeric suffix used to generate the next variable of summation If it is set to false then the index will consist only of genindex with no numeric suffix inf Constant Real positive infinity infinity Constant Complex infinity an infinite magnitude of arbitrary phase angle See also inf and minf infolists System variable Default value infolists is a list of the names of all of the information lists in Maxima These are labels all bound i 4o and t labels values all bound atoms which
506. ugate loads this function Aii declare laa bb real cc complex ii imaginary 01 done 412 conjugate aa bb i 02 aa i bb 413 conjugate cc 03 conjugate cc 4i4 conjugate ii 404 ii Aib conjugate xx yy hod conjugate yy conjugate xx copymatrix M Function Returns a copy of the matrix M This is the only way to make a copy aside from copying M element by element Note that an assignment of one matrix to another as in m2 m1 does not copy m1 An assignment m2 i j x or setelmx x i j m2 also modifies m1 i j Creating a copy with copymatrix and then using assignment creates a separate modified copy determinant M Function Computes the determinant of M by a method similar to Gaussian elimination The form of the result depends upon the setting of the switch ratmx There is a special routine for computing sparse determinants which is called when the switches ratmx and sparse are both true detout Option variable Default value false When detout is true the determinant of a matrix whose inverse is computed is factored out of the inverse For this switch to have an effect doallmxops and doscmxops should be false see their descriptions Alternatively this switch can be given to ev which causes the other two to be set correctly Example ii m matrix la bl c dl a b 01 c 4i2 detout true 413 doallmxops false Chapter 27 Matric
507. ul for ratdisrepping expressions such as equations lists matrices etc which have some subexpressions in CRE form untellrat x 1 x n Function Removes tellrat properties from x 1 x_n 136 Maxima Manual Chapter 13 Constants 13 Constants 13 1 Definitions for Constants e The base of natural logarithms e is represented in Maxima as e false the Boolean constant false NIL in Lisp inf real positive infinity infinity complex infinity minf real minus infinity pi pi is represented in Maxima as pi true the Boolean constant true T in Lisp 137 Constant Constant Constant Constant Constant Constant Constant 138 Maxima Manual Chapter 14 Logarithms 139 14 Logarithms 14 1 Definitions for Logarithms 06e to numlog Option variable Default value false When true r some rational number and x some expression e r log x will be simplified into x r It should be noted that the radcan command also does this transformation and more complicated transformations of this ilk as well The logcontract command contracts expressions containing log log x Function Represents the natural logarithm of x Simplification and evaluation of logarithms is governed by several global flags logexpand causes log a b to become b log a If it is set to all log a b will also simplify to log a log b If it is set to super then log a b will also simplify
508. ules is the list of rules defined by defrule defmatch tellsimp and tellsimpafter Examples ii matchdeclare x freeof i 501 done 112 fiargs false 413 tellsimp sin Ai x i sinh x 03 sinrulel simp sin 414 trigexpand sin Ai y x 404 sin x cos hi y fi cos x sinh y 415 Aiargs true 416 errcatch 0 0 0 376 Maxima Manual O has been generated 406 4i7 ev tellsimp 0 0 1 simp false 07 rulei simpexpt 418 070 408 1 19 remrule th 2 1 409 4110 tellsimp sin x 2 1 cos x 72 4010 rule2 simpexpt i11 1 sin x 2 2 5011 sin x 1 4112 expand 2 4012 2 sin x cos x 2 4ii13 sin x 2 2 4013 1 cos x 4114 kill rules 4014 done iib matchdeclare a true 4015 done 4116 tellsimp sin a 2 1 cos a 2 4016 rule3 simpexpt AIL sin y 2 2 017 1 cos y tellsimpafter pattern replacement Function Defines a simplification rule which the Maxima simplifier applies after built in sim plification rules pattern is an expression comprising pattern variables declared by matchdeclare and other atoms and operators considered literals for the purpose of pattern matching replacement is substituted for an actual expression which matches pattern pattern variables in replacement are assigned the values matched in the actual expression pattern may be any nonatomic exp
509. ultant Function 133 resultant Variable 133 return Function 34 334uuuuuadre 429 reveal Function ste eme eer ease caw 99 reverse Function 384 revert Function e esee nes 322 revert2 Function stem 322 rhs Function si iisgerexitibwbert ueber eres 205 ric Variable iiceiasen eter LE is 310 rxcci Fonction seite e pda ee 292 rxem Variable ac hel tarada 310 riemann Function 293 rinvariant Function 294 risch Function 187 rmxchar Option variable 100 rncombine Function 364 romberg Function 187 rombergabs Option variable 189 rombergit Option variable 189 rombergmin Option variable 190 rombergtol Option variable 190 room Functlom ocio e rt PRU DPI 356 rootsconmode Option variable 206 rootscontract Function 206 rootsepsilon Option variable 207 row Funclonm uasseefeentieree Ren e ned 246 rreduce Function 397 run testsuite Function 7 450 S save Function serbio dais gp 100 savedef Option variable 101 savefactors Option variable 134 scalarmatrixp Option variable
510. ument to ev is of this type then the binding is done in parallel If V is a non atomic expression then a substitution rather than a binding is performed e F where F a function name has been declared to be an evaluation function see evfun causes F to be applied to expr e Any other function names e g sum cause evaluation of occurrences of those names in expr as though they were verbs Maxima Manual e In addition a function occurring in expr say F x may be defined locally for the purpose of this evaluation of expr by giving F x expression as an argument to ev e If an atom not mentioned above or a subscripted variable or subscripted expression was given as an argument it is evaluated and if the result is an equation or assignment then the indicated binding or substitution is per formed If the result is a list then the members of the list are treated as if they were additional arguments given to ev l his permits a list of equations to be given e g X 1 Y A 2 or a list of names of equations e g At1 t2 where t1 and t2 are equations such as that returned by solve The arguments of ev may be given in any order with the exception of substi tution equations which are handled in sequence left to right and evaluation functions which are composed e g ev Cexpr ratsimp realpart is handled as realpart ratsimp expr The simp numer float and pred switches may also be set locally in a block or globally i
511. unction 396 multiplicative Declaration 68 multiplicities System variable 204 multsym Function eet eere 342 multthru Function 56 myoptions System variable 21 N nc degree Function 251 ncexpt Function eee ees e n ae eyes 245 ncharpoly Function 245 negdistrib Option variable 69 negsumdispflag Option variable 69 newcontext Function sessessse 119 newdet Function 245 newton Function 0 26 20 e0 ese ni 220 niceindices Function 318 niceindicespref Option variable 319 ninth Function dde nested Enn 384 nu Variable sic euren etr eRRRPIYD RA RN des 311 nmo Variable 21 44 2464 amas 311 noeval Special symbol 69 nolabels Option variable 21 nonmetricity Function 300 nonscalar Declaration 245 nonscalarp Function 245 not Operator celsa e a rm dl b rng 28 notequal Function 30 noun Declaration 69 noundisp Option variable 69 nounify Function 57 nouns Special symbol 69 448 up Variable sise lesbian 310 npi Variable ciao ioj
512. valuated The global flag prederror governs the behavior of and when an evaluated operand cannot be determined to be true or false and prints an error message when prederror is true Otherwise and returns unknown and is not commutative a and b might not be equal to b and a due to the treatment of indeterminate operands Operator The logical disjunction operator or is an n ary infix operator its operands are Boolean expressions and its result is a Boolean value or forces evaluation like is of one or more operands and may force evaluation of all operands Operands are evaluated in the order in which they appear or evaluates only as many of its operands as necessary to determine the result If any operand is true the result is true and no further operands are evaluated The global flag prederror governs the behavior of or when an evaluated operand can not be determined to be true or false or prints an error message when prederror is true Otherwise or returns unknown or is not commutative a or b might not be equal to b or a due to the treatment of indeterminate operands Operator The logical negation operator not is a prefix operator its operand is a Boolean expression and its result is a Boolean value not forces evaluation like is of its operand The global flag prederror governs the behavior of not when its operand cannot be determined to be true or false not prints an error message when prederror is true Otherwise not re
513. variable 248 vectorpotential Function 38 vectorsimp Function 248 verbify Function ss 5 eorr n 64 verbose Option variable 328 W weyl Function 294 weyl Variable 310 with stdout Macro 103 writefile Function 104 X xgraph curves Function TT xreduce Function 401 xthru Function 2sceieees cacas dee be ees 38 Z zerobern Option variable 334 zeroequiv Function 38 zeromatrix Function 248 zeta Function errre rietra Ped 334 zeta pi Option variable 334 452 Maxima Manual Short Contents D I na FW N FR D C29 NN NN NN NON NN NN NN NN ND Rh E KF 6 BF KF KF HB Ae ND FR OO0 q1oO Ct ND DOAN DTK ND KF ETT 1 Introduction to MaxiM s s ww ona ron hon m aon 3 Bug Detection and Reporting 4 sss ss rara hn Rn 7 cl ir as dat e ox CA Wa ede s Budd 9 Command Line sse sss sss aes wr ee Sess AAA 15 Operators si ae acis uos e seed ox RC Bee rede COR es 20 Expressi ns aaa AAA 41 Simplification ria rd SS ae 65 Plotting mI De RE AAA AAA ee T9 Input and Output 243233 OR x y ERREUR do eee es 85 Floating Po acs uon cR ee bee C dE noxae ee Ae ees 105 CONTEXTS dd e e sun dt
514. variable 92 file search maxima Option variable 92 file type Function 92 filename merge Function 91 fillarray Function 226 findde Function eet ens 300 first Puncton e kk epica des 382 fix Function ee TRIPRQESOREPERIPREI E 31 flatten Function ener meme ea iiss 392 flipflag Option variable 261 float Function sc eeserok teehee eee ne ey 106 float2bf Option variable 106 floatnump Function 106 flush Function sce re iTi pR 271 flushideriv Function 273 flushd F ncton i ihe c bep t Rel rdg 271 flushnd Function enn cerrada 271 for Special operator 427 forget Function 112 fortindent Option variable 217 fortran Function wi cete mer RPRCPRS 217 fortspaces Option variable 218 fourcos Function cse nee e 221 fourexpand Function 221 fourier Function eom rer mr RREDCER 221 Appendix A Function and Variable Index fourint Eunc on rer eR ES 221 fourintcos Function 221 fourintsin Function 221 foursimp Function 221 foursin Function 221 fourth Function viles pi is 382 fpprec Option variable 106
515. vely If gcd false then GCD p1 p2 var will always return 1 for all var Many functions e g ratsimp factor etc cause gcd s to be taken implicitly For homogeneous polyno mials it is recommended that gcd equal to subres be used To take the gcd when an algebraic is present e g GCD X 2 2 SQRT 2 X42 X SQRT 2 algebraic must be true and gcd must not be ez subres is a new algorithm and people who have been using the red setting should probably change it to subres The gcd flag default subres if false will also prevent the greatest common divisor from being taken when expressions are converted to canonical rational expression CRE form This will sometimes speed the calculation if gcds are not required Function Chapter 12 Polynomials 123 gcdex f g Function gcdex f g x Function Returns a list a b u where u is the greatest common divisor gcd of f and g and u is equal to af bg The arguments f and g should be univariate polynomials or else polynomials in x a supplied main variable since we need to be in a principal ideal domain for this to work The gcd means the gcd regarding f and g as univariate polynomials with coefficients being rational functions in the other variables gcdex implements the Euclidean algorithm where we have a sequence of L i Lali bli r i which are all perpendicular to f g 1 and the next one is built as if q quotient r i r i 1 then L 1 2 L i q L i 1 and it ter minates
516. ver a 1 x 1 matrix is produced as a result of computing the dot product of matrices it is simplified to a scalar namely the sole element of the matrix When scalarmatrixp is all then all 1 x 1 matrices are simplified to scalars When scalarmatrixp is false 1 x 1 matrices are not simplified to scalars scalefactors coordinatetransform Function Here coordinatetransform evaluates to the form lexpressionl expression2 in determinatel indeterminat2 where indeterminatel indeterminate2 etc are the curvilinear coordinate variables and where a set of rectangular Cartesian compo nents is given in terms of the curvilinear coordinates by expression1 expression2 coordinates is set to the vector indeterminatel indeterminate2 and dimension is set to the length of this vector SF 1 SF 2 SF DIMENSION are set to the co ordinate scale factors and sfprod is set to the product of these scale factors Initially coordinates is X Y Z dimension is 3 and SF 1 SF 2 SF 3 SFPROD 1 cor responding to 3 dimensional rectangular Cartesian coordinates To expand an expres sion into physical components in the current coordinate system there is a function with usage of the form setelmx x i j M Function Assigns x to the i j th element of the matrix M and returns the altered matrix M Li j x has the same effect but returns x instead of M similaritytransform M Function simtran M Function
517. wo or more expressions per line To display the contents of a file see printfile Aii r print atb 3 is expand a b 3 log a 10 b is radcan log 3 2 2 3 a b 3 isb 3ab 3a b a log a 10 b is 10 log a log b hi2 E 02 10 log a log b 4i3 disp a b 3 is expand a b 3 log a 10 b is radcan log a a b 3 is 3 2 2 3 b 3ab 3a b a log a 10 b is 10 log a log b 98 Maxima Manual tcl output list i0 skip Function tcl output list i0 Function tcl output list_1 list n i Function Prints elements of a list enclosed by curly braces suitable as part of a program in the Tcl Tk language tcl output list i0 skip prints list beginning with element i0 and printing ele ments i0 skip i0 2 skip etc tcl output list i0 is equivalent to tcl output list i0 2 tcl output list_1 list n i prints the ith elements of list 1 list n Examples Aii tcl output 1 2 3 4 5 6 1 32 11 000000000 4 000000000 412 tcl output 1 2 3 4 5 6 2 3 2 000000000 5 000000000 Ai3 tcl output 3 7 5 9 11 13 13 17 1 RAT SIMP 3 7 RAT SIMP 11 13 Ai4 tcl output x1 y1 x2 y2 x3 y3 2 Y1 Y2 Y3 45 tcl output 1 2 3 11 22 3811 10 SIMP 1 000000000 11 00000000 read expr 1 expr_n Function Prints expr 1 expr n then reads one expression from the console
518. x More particularly consider sqrt x 2 e If radexpand is all or assume x gt 0 has been executed sqrt x 2 simplifies to x e If radexpand is true and domain is real its default sqrt x 2 simplifies to abs x e If radexpand is false or radexpand is true and domain is complex sqrt x 2 is not simplified Note that domain only matters when radexpand is true radsubstflag Option variable Default value false radsubstflag if true permits ratsubst to make substitutions such as u for sqrt x in x rassociative Declaration declare g rassociative tells the Maxima simplifier that g is right associative E g gCg a b g c d simplifies to g a g b g c d scsimp expr rule 1 rule n Function Sequential Comparative Simplification method due to Stoute scsimp attempts to simplify expr according to the rules rule 1 rule n If a smaller expression is obtained the process repeats Otherwise after all simplifications are tried it returns the original answer example scsimp displays some examples simpsum Option variable Default value false When simpsum is true the result of a sum is simplified This simplification may sometimes be able to produce a closed form If simpsum is false or if the quoted form sum is used the value is a sum noun form which is a representation of the sigma notation used in mathematics 72 Maxima Manual sumcontract expr Function Combines all sums of an addition t
519. x x is freeof x c and c 1 0 4i2 islinear r 2 x r 2 x x 02 true coeff expr x n Function Returns the coefficient of x n in expr n may be omitted if it is 1 x may be an atom or complete subexpression of expr e g sin x a i 1 x y etc In the last case the expression x y should occur in expr Sometimes it may be necessary to expand or factor expr in order to make x n explicit This is not done automatically by coeff Examples Aii coeff 2xaxtan x tan x b hol 2a 1 4i2 coeff y x Ae x 1 x 0 202 ie a 5 tan x 3 tan x 5 combine expr Function Simplifies the sum expr by combining terms with the same denominator into a single term content p 1 x 1 x_n Function Returns a list whose first element is the greatest common divisor of the coefficients of the terms of the polynomial p 1 in the variable x_n this is the content and whose second element is the polynomial p 1 divided by the content Examples Ail content 2 x y 4 x 2x y 2 y 2 401 2x 2x y yl Chapter 12 Polynomials 117 denom expr Function Returns the denominator of the rational expression expr divide p 1 p 2 x 1 x n Function computes the quotient and remainder of the polynomial p 1 divided by the polynomial p 2 in a main polynomial variable x n The other variables are as in the ratvars function The result is a list whose first element is the quotient and w
520. x 2x 1 x 3x 3x 1 12 9 6 3 15 12 9 6 3 X 4x 6x 4x 1 x 5x 10x 10x 5x 18 15 12 9 6 3 1 X 6x 15 x 20 x 15 x 6 x 1 21 18 15 12 9 6 3 x 7x 21 x 35x 35 x 21x 7x 1 7 1127 6139 431767 5472047 201692519 3603982011 7 6 5 4 3 2 fo2 y 7y 539 y 1841 y 51443 y 315133 y 376999 y 125253 13 resolvante lineaire hi4 resolvante x 4 1 x x1 2 x2 3 x3 xi x2 x3 resolvante lineaire 24 20 16 12 8 04 y 80 y 7520 y 1107200 y 49475840 y 4 344489984 y 655360000 Aib resolvante general 416 resolvante x 4 1 x x1 2 x2 3 x3 x1 x2 x3 resolvante generale 24 20 16 12 8 406 y 80 y 7520 y 1107200 y 49475840 y 4 344489984 y 655360000 hi7 resolvante x 4 1 x x1 2 x2 3 x3 x1 x2 x3 x4 resolvante generale 348 Maxima Manual 24 20 16 12 8 o7 y 80 y 7520 y 1107200 y 49475840 y 4 344489984 y 655360000 4i8 direct x 4 1 x x1 2 x2 3 x3 x1 x2 x3 24 20 16 12 8 408 y 80 y 7520 y 1107200 y 49475840 y 4 344489984 y 655360000 19 resolvante lineaire 4ii0 resolvante x 4 1 x xi x2 x3 x1 x2 x3 resolvante lineaire 4 4010 y 1 Aiii resolvante symetrique 4ii2 resolvante x 4 1 x xi x2 x3 x1 x2 x3 resolvante symetrique 4 4012 y sd 113 resolvante x 4 x 1 x x1 x2 x1 x2
521. x and and logical infix or or logical infix not not logical prefix map f expr 1 expr_n Function Returns an expression whose leading operator is the same as that of the expressions expr 1 expr n but whose subparts are the results of applying f to the correspond ing subparts of the expressions f is either the name of a function of n arguments or is a lambda form of n arguments maperror if false will cause all of the mapping functions to 1 stop when they finish going down the shortest expi if not all of the expi are of the same length and 2 apply fn to expl exp2 if the expi are not all the same type of object If maperror is true then an error message will be given in the above two instances One of the uses of this function is to map a function e g partfrac onto each term of a very large expression where it ordinarily wouldn t be possible to use the function on the entire expression due to an exhaustion of list storage space in the course of the computation Ail map f xta y b z 101 f b z f a y f x 412 map lambda u partfrac u x x 1 x 3 4 x 2 b x 2 il 1 1 M02 as e deo x x 2 x i 2 x 1 413 map ratsimp x x 2 x y 2 y y 1 03 yo 1 x 1 414 map a b 0 5 3 504 a 0 5 b 3 mapatom expr Function Returns true if and only if expr is treated by the mapping routines as an atom Ma patoms are atoms numbers including rational numbers and subscripted v
522. xamples 211 integerp 0 01 true 112 integerp 1 202 true 413 integerp 17 203 true 114 integerp 0 0 04 false hi5 integerp 1 0 05 false 416 integerp Api 406 false 4i7 integerp n 407 false 418 declare n integer 08 done 419 integerp n 09 false mlpbranch Option variable Default value false mipbranch is the principal branch for 1 to a power Quantities such as 1 7 1 3 that is an odd rational exponent and 1 1 4 that is an even rational exponent are handled as follows domain real 1 1 3 1 13174 1 7 1 4 domain complex mipbranch false mipbranch true 1 7 4 3 1 2 4i sqrt 3 2 12 1 4 sqrt 2 2 4ixsqrt 2 2 362 Maxima Manual numberp expr Function Returns true if expr is a literal integer rational number floating point number or bigfloat otherwise false numberp returns false if its argument is a symbol even if the argument is a symbolic number such as pi or 4i or declared to be even odd integer rational irrational real imaginary or complex Examples Aii numberp 42 A01 true 12 numberp 13 19 402 true i3 numberp 3 14159 403 true 14 numberp 1729b 4 404 true Aib map numberp e pi i phi inf minf 405 false false false false false false 416 declare a even b odd c integer d rational e irrational f real g imaginary h complex
523. xpr 2 5 sin x cos x 2 cos y sin x 2 sin 2 y 3 0 expr 3 5 sin x 2 cos y cos x 2 sin 2 y plot3d expr 1 expr 2 expr 3 x pi pil ly pi pil grid 40 Or a torus 82 Maxima Manual expr_1 cos y 10 0 6 cos x expr 2 sin y 10 0 6 cos x expr 3 6 sin x plot3d expr 1 expr 2 expr 3 x 0 2 pil Ly 0 2 X 4pil grid 40 40 We can output to gnuplot too plot3d 2 x 2 y 2 x 1 1 ly 2 21 plot format gnuplot Sometimes you may need to define a function to plot the expression All the arguments to plot3d are evaluated before being passed to plot3d and so trying to make an expression which does just what you want may be difficult and it is just easier to make a function M matrix 1 2 3 4 1 2 3 2 1 2 3 4 1 2 3 31203 f x y float M round x round y plot3d f x 1 4 ly 1 4 grid 4 4 See plot options for more examples make transform vars fx fy fz Function Returns a function suitable for the transform function in plot3d Use with the plot option transform xy make transform r th z r cos th r sin th z is a transformation to polar coordinates plot2d ps expr range Function Writes to pstream a sequence of PostScript commands which plot expr over range expr is an expression range is a list of the form x min max in which x is a variable which appears in expr See also closeps
524. xpr contains an operator or function not recognized by the Maxima simplifier 74 Maxima Manual Chapter 8 Plotting 15 8 Plotting 8 1 Definitions for Plotting in netmath Option variable Default value false When in netmath is true plot3d prints OpenMath output to the console if plot format is openmath otherwise in netmath even if true has no effect in_netmath has no effect on plot2d openplot curves list rest options Function Takes a list of curves such as x1 yl x2 y2 ui vi u2 v2 Or CO y1 x2 y2 weil and plots them This is similar to xgraph curves but uses the open plot routines Addtional symbol arguments may be given such as xrange 3 4 The following plots two curves using big points labeling the first one jim and the second one jane openplot_curves plotpoints 1 pointsize 6 label jim text xaxislabel joe is nice 1 Dy By 4 B B Y 8l label jane color pink 3 1 4 2 5 7 Some other special keywords are xfun color plotpoints linecolors pointsize nolines bargraph labelposition xaxislabel and yaxislabel plot2d expr range options Function plot2d parametric_expr Function plot2d discrete expr Function plot2d expr_1 expr_n x range y range Function plot2d expr_1 expr_n x range Function plot2d expr x range y range Function plot2d expr x range Function Displays a plot of one
525. y Ibp 180 rbp 180 matchfix binding power not applicable nofix binding power not applicable For comparison here are some built in operators and their left and right binding powers Operator lbp rbp 180 20 aM 180 20 180 20 n 180 20 160 11 160 7 140 139 130 129 120 120 120 100 100 100 134 80 80 80 80 gt 80 80 gt 80 80 lt 80 80 lt 80 80 not 70 and 65 or 60 A 10 1 remove and kill remove operator properties from an atom remove a op removes only the operator properties of a kill a removes all properties of a including the operator properties Note that the name of the operator must be enclosed in quotation marks Lii infix 0 h01 4i2 O a b arb b 502 a b a 4i3 5 3 403 125 4i4 remove op 46 Maxima Manual 404 done hib 5 3 Incorrect syntax is not an infix operator 5 115 e 5 3 405 125 i6 infix 406 Q 417 5 3 hoT 125 4i8 kill Q 408 done 119 5 3 Incorrect syntax is not an infix operator 5 119 e 5 3 09 5 3 6 8 Definitions for Expressions at expr eqn 1 eqn n Function at expr eqn Function Evaluates the expression expr with the variables assuming the values as specified for them in the list of equations eqn 1 eqn n or the single equation eqn If a subexpression depends on any of the variables for which
526. y a x 412 taylorinfo 402 Liy a inf Dx 0 3 taylorp expr Function Returns true if expr is a Taylor series and false otherwise taylor logexpand Option variable Default value true taylor logexpand controls expansions of logarithms in taylor series Chapter 32 Series 327 When taylor_logexpand is true all logarithms are expanded fully so that zero recognition problems involving logarithmic identities do not disturb the expansion process However this scheme is not always mathematically correct since it ignores branch information When taylor_logexpand is set to false then the only expansion of logarithms that occur is that necessary to obtain a formal power series taylor order coefficients Option variable Default value true taylor order coefficients controls the ordering of coefficients in a Taylor series When taylor order coefficients is true coefficients of taylor series are ordered canonically taylor simplifier expr Function Simplifies coefficients of the power series expr taylor calls this function taylor truncate polynomials Option variable Default value true When taylor truncate polynomials is true polynomials are truncated based upon the input truncation levels Otherwise polynomials input to taylor are considered to have infinite precison taytorat expr Function Converts expr from taylor form to canonical rational expression CRE form The effect is the same as rat
527. y desired accuracy The first argument may also be an equation realroots sets multiplicities useful in case of multiple roots realroots p is equivalent to realroots p rootsepsilon rootsepsilon is a real number used to establish the confidence interval for the roots Do example realroots for an example rhs eqn Function Returns the right side of the equation eqn If the argument is not an equation rhs returns 0 See also 1hs Example Hi1 e x 2 y 2 272 01 y x Z 4i2 lhs e 206 Maxima Manual 2 2 402 y x 413 rhs e 2 203 z rootsconmode Option variable Default value true rootsconmode governs the behavior of the rootscontract command See rootscontract for details rootscontract expr Function Converts products of roots into roots of products For example rootscontract sqrt x y 3 2 yields sqrt x y 3 When radexpand is true and domain is real rootscontract converts abs into sqrt e g rootscontract abs x sqrt y yields sqrt x 2 y There is an option rootsconmode affecting rootscontract as follows Problem Value of Result of applying rootsconmode rootscontract x 1 2 y 3 2 false x y 3 1 2 x 1 2 y 1 4 false x 1 2 y 1 4 x 1 2 y 1 4 true xy 1 2 1 2 x 1 2 y 1 3 true x 1 2 y 1 3 x 1 2 y 1 4 all x 2xy 1 4 x 1 2 y 1 3 all x 3 y 2 1 6 When rootsconmode is false rootscontract contracts on
528. y or not at all 40 1 3 Bugs The set functions use the Maxima function orderlessp to order set members and the Lisp level function like to test for set member equality Both of these functions have known bugs versions 5 9 2 and earlier that may manifest if you attempt to use sets with members that are lists or matrices that contain expressions in CRE form An example is 111 set x rat x Maxima encountered a Lisp error CAR X13129 is not a LIST Automatically continuing To reenable the Lisp debugger set debugger hook to nil This command causes Maxima to halt with an error the error message depends on which version of Lisp your Maxima uses Another example is 4i1 setify rat a rat b Maxima encountered a Lisp error CAR A13129 is not a LIST Automatically continuing To reenable the Lisp debugger set debugger hook to nil These bugs are caused by bugs in orderlessp and like they are not caused by bugs in the set functions To illustrate try the commands Aii orderlessp rat a rat b Maxima encountered a Lisp error CAR B13130 is not a LIST Automatically continuing To reenable the Lisp debugger set debugger hook to nil 4i2 is rat a rat a 102 false Until these bugs are fixed do not construct sets with members that are lists or matrices containing expressions in CRE form a set with a member in CRE form however shouldn t be a problem Wii set x rat
529. ynomials 155 17 Orthogonal Polynomials 17 1 Introduction to Orthogonal Polynomials The specfun package contains Maxima code for the evaluation of all orthogonal polyno mials listed in Chapter 22 of Abramowitz and Stegun These include Chebyshev Laguerre Hermite Jacobi Legendre and ultraspherical Gegenbauer polynomials Additionally specfun contains code for spherical Bessel spherical Hankel and spherical harmonic func tions The specfun package is not part of Maxima proper it is loaded at request of the user via load or automatically via the autoload system The following table lists each function in specfun its Maxima name restrictions on its arguments and a reference to the algorithm specfun uses to evaluate it With few exceptions specfun follows the conventions of Abramowitz and Stegun In all cases m and n must be integers A amp S refers to Abramowitz and Stegun Handbook of Mathematical Functions 10th print ing December 1972 G amp R to Gradshteyn and Ryzhik Table of Integrals Series and Prod ucts 1980 corrected and enlarged edition and Merzbacher to Quantum Mechanics second edition 1970 Function Maxima Name Restrictions Reference s Chebyshev T chebyshev t n x n gt 1 A amp S 22 5 31 Chebyshev U chebyshev u n x n gt 1 A amp S 22 5 32 generalized Laguerre gen_laguerre n a x n 1 A amp S page 789 Laguerre laguerre n x n gt 1 A amp S 22 5 67 Hermite hermite n x n gt l A amp S 22 4 40
530. ystem command Function Executes command as a separate process The command is passed to the default shell for execution system is not supported by all operating systems but generally exists in Unix and Unix like environments Supposing _hist out is a list of frequencies which you wish to plot as a bar graph using xgraph Aii with stdout hist out for i 1 thru length hist do print i hist il system xgraph bar brw 7 nl lt hist out In order to make the plot be done in the background returning control to Maxima and remove the temporary file after it is done do system xgraph bar brw 7 nl lt _hist out rm f _hist out amp ttyoff Option variable Default value false When ttyoff is true output expressions are not displayed Output expressions are still computed and assigned labels See labels Text printed by built in Maxima functions such as error messages and the output of describe is not affected by ttyoff with stdout filename expr_1 expr 2 expr 3 Macro Opens filename and then evaluates expr 1 expr 2 expr_3 The values of the arguments are not stored in filename but any printed output generated by evaluating 104 Maxima Manual the arguments from print display disp or grind for example goes to filename instead of the console with stdout returns the value of its final argument See also writefile Aii with stdout tmp out for i 5 thru 10 do print i yields i

Download Pdf Manuals

image

Related Search

Related Contents

Canon imageCLASS LBP6300dn Quick Setup Guide  Leer y conservar el manual para futuras consultas  009262ex - Bredent  A guide for men about their urinary symptoms  Modo de empleo  ASSMANN Electronic DB-320108-020-S  Bedienungsanleitung Operating instructions Membran  Notice de montage  Disciplinare di gara e capitolato speciale [file]  

Copyright © All rights reserved.
Failed to retrieve file