(Parler de Joel Moses, puis de l'histoire du projet.)
Les fonctions sont listées en minuscules dans ce document, alors qu'elles sont généralement documentées en majuscules, ailleurs. Mais notez que la casse importe généralement pour les noms de variables.
Plusieurs tableaux, dans cette documentation, comportent trois colonnes:
le nom de la variable ou de la fonction,
une lettre indiquant le type de l'élément décrit:
(rien)
fonction
C
constante
V
variable
1
opérateur monadique
2
opérateur dyadique
L
code chargeable viar load(...);
une courte description, avec les conventions suivantes.
- Une forme verbale décrit l'action qui amène au résultat.
- Une forme nominale décrit le résultat qui sera retourné.
- Lorsque la description commence par "Si", le résultat est FALSE ou TRUE.
- Une valeur initiale est fournie entre crochets.
La commande maxima lance le système Maxima, qui est habituellement utilisé de manière interactive. Un simple Ctrl-D, ou la commande quit();, termine la session interactive.
La commande man maxima résume les options disponibles lors de l'appel, et la commande info maxima donne accès au manuel de référence. Une fois dans Maxima, la commande ? SUJET (l'espace est requis) ou describe(SUJET); fournit de l'aide sur un sujet donné, généralement sous la forme d'un menu de sous-sujets duquel on peut choisir quelques courts documents qui nous semblent pertinents, le ou les documents choisis sont alors affichés à l'écran. example(FONCTION); fournit des exemples d'utilisation d'une fonction.
Plusieurs manuels sont disponibles en format PDF:
(remplacer par des références plus manoeuvrables)
u'Maxima': [((u'decouverte|docmaxi|introduction|maxifaq|maxima'
u'|maximabook|maximafr|memoire'),
u'/home/pinard/maths/symbolique/maxima/%(document)s.pdf',
None)],
Interactivement, l'utilisateur donne une expression et Maxima produit un résultat pour cette expression s'il voit comment la transformer, ou l'expression elle-même sinon. L'utilisateur fait suivre son expression par $ ou par ;, dans ce dernier cas, le résultat est imprimé. Si l'expression est suivie d'une ou plusieurs clauses , OPTION, ces options sont mises à TRUE pour la durée du calcul seulement. Voici quelques autres spécialités:
%iN V N-ième expression fournie par l'usager %oN V N-ième résultat calculé par Maxima % V Résultat le plus récemment calculé par Maxima %th Tantième résultat précédent ' 1 Expression originale, évaluation inhibée '' 1 Expression doublement évaluée
Voici quelques fonctions que je trouve particulièrement utiles. S'il fallait n'en connaître que quelques-unes seulement, ce sont celles-là! :-)
: 2 Affectation expand Réduire les parenthèses par distribution factor Produire des parenthèses par factorisation subst Remplacer des variables par des expressions solve Isoler des variables d'un système d'équations
FALSE C Faux TRUE C Vrai
+ 2 Addition - 2 Soustraction * 2 Multiplication / 2 Division ^, ** 2 Exponentiation . 2 Multiplication matricielle
minf C Infini négatif (??) float Évaluer une formule numériquement bfloat Comme float, mais en grande précision bfloatp Si flottant en grande précision numer V Si bfloat automatique [FALSE] fpprec V Nombre de chiffres pour bfloat [16]
Les fonctions habituelles pour les exposants et les logarithmes sont disponibles:
sqrt Racine carrée exp Exponentielle log Logarithme népérien plog Branche principale du log d'un complexe
Ainsi que plusieurs autres fonctions ou options plus spécialisées:
demoivre V Si récriture trigonométrique dans exp [FALSE] %emode V Comme l'option demoivre dans exp lorsqu'exposants imaginaires entiers ou certains imaginaires fractionnaires [TRUE] %enumer V Si %E à convertir dans exp lorsque ,numer [FALSE] logexpand V Développement des exposants dans log [TRUE] (FALSE, ALL et SUPER sont aussi définis) logsimp V %E en puissance contenant log [TRUE] lognumer V Valeur absolue des arguments négatifs [FALSE] lognegint V Entier négatif en forme complexe [FALSE] %e_to_numlog V Si radcan automatique [FALSE] logcontract Contraire de l'action de logexpand logconcoeffp V Pour contrôle fin de logcontract [FALSE] logarc Forme logarithmique des fonctions inverses circulaires ou hyperboliques logarc V Si logarc automatique [FALSE] logabs V Si abs à engendrer en intégrant [FALSE]
Les fonctions habituelles de la trigonométrie circulaire et hyperboliques sont disponibles:
%PI C Rapport de la circonférence au diamètre sin Sinus cos Cosinus tan Tangente csc Cosécante sec Sécante cot Cotangente asin Arc sinus acos Arc cosinus atan Arc tangente atan2 Arg tangente entre -%PI et %PI acsc Arc cosécante asec Arc sécante acot Arc cotangente %E C Constante exponentielle sinh Sinus hyperbolique cosh Cosinus hyperbolique tanh Tangente hyperbolique csch Cosécante hyperbolique sech Sécante hyperbolique coth Cotangente hyperbolique asinh Arc sinus hyperbolique acosh Arc cosinus hyperbolique atanh Arc tangente hyperbolique acsch Arc cosécante hyperbolique asech Arc sécante hyperbolique acoth Arc cotangente hyperbolique
Ainsi que plusieurs autres fonctions ou options plus spécialisées:
trigsign V Si développement d'angles négatifs [TRUE] triginverses V Si cancellation avec fonctions inverses [ALL] halfangles V Si simplification des demi-angles [FALSE] atrig1 L Simplifications supplémentaires pour fonctions trigonométriques inverses trigexpand Développement trigonométrique trigexpand V Si trigexpand automatique [FALSE] trigexpandplus V Si développement des sommes d'angles dans trigexpand [TRUE] trigexpandtimes V Si développement des multiples d'angles dans trigexpand [TRUE] trigreduce Contraire de trigexpand trigsimp Simplification par 1 circulaire ou hyperbolique trigrat Forme canonique simplifiée quasi-linéaire
%I C Unité imaginaire des nombres complexes cabs Module carg Argument rectform Forme rectangulaire polarform Forme polaire exponentialize Exponentielles plutôt que trigonométriques demoivre Trigonométriques plutôt qu'exponentielles
%
%% %edispflag %rnum_list ?
?round ?truncate [
[index](expr) "
!! ! # ::= :: := = [ a
absboxchar activate activecontexts addcol additive addrow adjoint airy alarmclock algebraic algepsilon algexact algsys alias aliases all_dotsimp_denoms allbut alloc allroots allsym alphabetic antid antidiff antisymmetric append appendfile apply apply_nouns apply1 apply2 applyb1 apropos args array arrayapply arrayinfo arraymake arrays askexp askinteger asksign assoc_legendre_p assoc_legendre_q assume assume_pos assume_pos_pred assumescalar asymp asympa at atom atomgrad atvalue augcoefmatrix b
backsubst backtrace backup bashindices batch batchkill batchload batcon batcount berlefact bern bernpoly bessel beta bezout bffac bfpsi bftorat bftrunc bfzeta bgzeta bhzeta bindtest binomial block bothcases bothcoef box boxchar break breakup bug buildq burn bzeta c
canform canten cartan catch cauchysum cbfac cf cfdisrep cfexpand cflength cgamma cgamma2 change_filedefaults changevar charpoly chebyshev_t chebyshev_u check_overlaps chr1 chr2 christof clearscreen closefile closeps coeff coefmatrix col collapse columnvector combine commutative comp2pui compfile compgrind compile compile_file compile_lisp_file concat conjugate cons constant constantp cont2part content context contexts continue contract copylist copymatrix counter covdiff create_list current_let_rule_package cursordisp curvature d
dblint ddt deactivate debug debugmode debugprintmode declare declare_translated declare_weight default_let_rule_package defcon define define_variable defint defmatch defrule deftaylor delete delfile delta demo denom dependencies depends derivabbrev derivdegree derivlist derivsubst desolve determinant detout diagmatrix diagmetric diff dim dimension direc direct diskfree disolate disp dispcon dispflag dispform dispfun display display_format_internal display2d disprule dispterms distrib divide divsum do doallmxops domain domxexpt domxmxops domxnctimes dontfactor doscmxops doscmxplus dot0nscsimp dot0simp dot1simp dotassoc dotconstrules dotdistrib dotexptsimp dotident dotscrules dotsimp dpart dscalar dskall dummy e
e echelon eigenvalues eigenvectors einstein ele2comp ele2polynome ele2pui elem eliminate ematrix endcons entermatrix entier equal erf erfflag errcatch errexp errintsce error error_size error_syms errorfun errormsg euler ev eval evenp evflag evfun expandwrt expandwrt_denom expandwrt_factored explose expon expop express maxima manual expt exptdispflag exptisolate exptsubst extract_linear_equations ezgcd f
facexpand factcomb factlim factorflag factorial factorout factorsum facts fassave fast_central_elements fast_linsolve fasttimes feature featurep features fft fib fibtophi file_search file_string_print file_type filedefaults filename filename_merge filenum fillarray first fix float2bf floatdefunk floatnump flush flushd flushnd for forget fortindent fortmx fortran fortspaces fpprintprec freeof fullmap fullmapl fullratsimp fullratsubst funcsolve functions fundef funmake g
gamma gammalim gauss gcd gcfactor gen_laguerre gendiff genfact genindex genmatrix gensumnum get getchar gfactor gfactorsum globalsolve go gradef gradefs gramschmidt grind grobner_basis h
hach hermite hipow horner i
ibase ic1 ident ieqn ieqnprint if ift ilt imagpart in_netmath inchar indices inf infeval infinity infix inflag infolists innerproduct inpart inrt integerp integrate integrate_use_rootsof integration_constant... integration_constant_counter interpolate intfaclim intopois intosum intpolabs intpolerror intpolrel intsce invert is isolate isolate_wrt_times isqrt j
jacobi jacobi_p k
kdelta keepfloat kill killcontext kostka l
labels laguerre laplace lassociative last lasttime lc lcm ldefint ldisp ldisplay legendre_p legendre_q length let let_rule_packages letrat letrules letsimp lgtreillis lhospitallim lhs limit linear linechar linedisp linel linenum linsolve linsolve_params linsolvewarn lispdebugmode list_nc_monomials listarith listarray listconstvars listdummyvars listofvars listp lmxchar load loadfile loadprint local lopow lorentz lpart lratsubst lriccicom lsum ltreillis m
m1pbranch macroexpansion mainvar make_array makebox makefact makegamma makelist map mapatom maperror maplist matchdeclare matchfix matrix matrix_element_add matrix_element_mult matrix_element_transpose matrixmap matrixp mattrace max maxapplydepth maxapplyheight maxnegex maxposex maxprime maxtayorder member metric min minf minfactorial minor mod mode_check_errorp mode_check_warnp mode_checkp mode_declare mode_identity modulus mon2schur mono monomial_dimensions motion multi_elem multi_orbit multi_pui multinomial multiplicative multiplicities multsym multthru myoptions n
nc_degree ncexpt ncharpoly negdistrib negsumdispflag new-disrep newcontext newdet newfac newton niceindices niceindicespref noeval nolabels nonscalar nonscalarp nostring noun noundisp nounify nouns nroots nterms ntermsg ntermsrci nthroot num numberp numerval numfactor nusum nzeta o
obase oddp ode ode2 omega openplot_curves opproperties opsubst optimize optimprefix optionset orbit ordergreat ordergreatp orderless orderlessp outative outchar outofpois p
packagefile pade parsewindow part part2cont partfrac partition partpol partswitch pcoeff permanent permut pfeformat pi pickapart piece playback plot_options plot2d plot2d_ps plot3d poisdiff poisexpt poisint poislim poismap poisplus poissimp poisson poissubst poistimes poistrim polartorect polynome2ele posfun potential powerdisp powers powerseries pred prederror prime primep printpois printprops prodhack prodrac product programmode prompt properties props propvars pscom psdraw_curve psexpand psi pui pui_direct pui2comp pui2ele pui2polynome puireduc put q
qput quanc8 qunit quotient r
radcan radexpand radprodexpand radsubstflag raiseriemann random rank rassociative rat ratalgdenom ratcoef ratdenom ratdenomdivide ratdiff ratdisrep rateinstein ratepsilon ratexpand ratfac ratmx ratnumer ratnump ratp ratprint ratrieman ratriemann ratsimp ratsimpexpons ratsubst ratvars ratweight ratweights ratweyl ratwtlvl read readonly realonly realpart realroots rearray recttopolar refcheck rem remainder remarray rembox remcon remfunction remlet remove remrule remtrace remvalue rename reset residue resolvante resolvante_alternee1 resolvante_bipartite resolvante_diedrale resolvante_klein resolvante_klein3 resolvante_produit_sym resolvante_unitaire resolvante_vierer rest restore resultant return reveal reverse revert rhs riccicom riemann rinvariant risch rmxchar rncombine romberg rombergabs rombergit rombergmin rombergtol room rootsconmode rootscontract rootsepsilon row s
save savedef savefactors scalarmatrixp scalarp scalefactors scanmap schur2comp sconcat scsimp scurvature set_plot_option set_up_dot_simplifications setcheck setcheckbreak setelmx setup setup_autoload setval show showratvars showtime sign signum similaritytransform simp simpsum solve_inconsistent_error solvedecomposes solveexplicit solvefactors solvenullwarn solveradcan solvetrigwarn somrac sort sparse spherical_bessel_j spherical_bessel_y spherical_hankel1 spherical_hankel2 spherical_harmonic splice sprint sqfr sqrtdispflag srrat sstatus stardisp status string stringout sublis sublis_apply_lambda sublist submatrix substinpart substpart subvarp maxima manual sum sumcontract sumexpand sumhack sumsplitfact supcontext symbolp symmetric system(command) t
taylor taylor_logexpand taylor_order_coefficients taylor_simplifier taylor_truncate_polynomials taylordepth taylorinfo taylorp taytorat tcl_output tcontract tellrat tellsimp tellsimpafter tex throw time timer timer_devalue timer_info tldefint tlimit tlimswitch to_lisp tobreak todd_coxeter toplevel totaldisrep totient tpartpol tr_array_as_ref tr_bound_function_applyp tr_file_tty_messagesp tr_float_can_branch_complex tr_function_call_default tr_gen_tags tr_numer tr_optimize_max_loop tr_output_file_default tr_predicate_brain_damage tr_semicompile tr_state_vars tr_true_name_of_file... tr_true_name_of_file_being_translated tr_version tr_warn_bad_function_calls tr_warn_fexpr tr_warn_meval tr_warn_mode tr_warn_undeclared tr_warn_undefined_variable tr_warnings_get tr_windy trace trace_options transbind transcompile transform translate translate_file transpose transrun treillis treinat triangularize trunc tsetup ttransform ttyintfun ttyintnum ttyoff u
ultraspherical undeclaredwarn undiff uniteigenvectors unitvector unknown unorder unsum untellrat untrace use_fast_arrays v
values vect_cross vectorpotential vectorsimp verb verbify verbose w
weyl with_stdout writefile x
xgraph_curves xthru z
zerobern zeroequiv zeromatrix zeta zeta%pi zrpoly zsolve zunderflow