1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233
|
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 "@code{quit();}". Here's a sample session:
@example maxima
$ maxima
Maxima 5.45.1 https://maxima.sourceforge.io
using Lisp SBCL 2.0.1.debian
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) factor(10!);
8 4 2
(%o1) 2 3 5 7
(%i2) expand ((x + y)^6);
6 5 2 4 3 3 4 2 5 6
(%o2) y + 6 x y + 15 x y + 20 x y + 15 x y + 6 x y + x
(%i3) factor (x^6 - 1);
2 2
(%o3) (x - 1) (x + 1) (x - x + 1) (x + x + 1)
(%i4) quit();
$
@end example
Maxima can search the info pages. Use the @mref{describe} command to show
information about the command or all the commands and variables containing
a string.
The question mark @mref{?} (exact search) and double question mark @mref{??}@w{}
(inexact search) are abbreviations for @code{describe}:
@example maxima
(%i1) ?? integ
0: Functions and Variables for Elliptic Integrals
1: Functions and Variables for Integration
2: Introduction to Elliptic Functions and Integrals
3: Introduction to Integration
4: askinteger (Functions and Variables for Simplification)
5: integerp (Functions and Variables for Miscellaneous Options)
6: integer_partitions (Functions and Variables for Sets)
7: integrate (Functions and Variables for Integration)
8: integrate_use_rootsof (Functions and Variables for Integration)
9: integration_constant_counter (Functions and Variables for
Integration)
10: nonnegintegerp (Functions and Variables for linearalgebra)
Enter space-separated numbers, `all' or `none': 5 4
-- Function: integerp (<expr>)
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.
Examples:
(%i1) integerp (0);
(%o1) true
(%i2) integerp (1);
(%o2) true
(%i3) integerp (-17);
(%o3) true
(%i4) integerp (0.0);
(%o4) false
(%i5) integerp (1.0);
(%o5) false
(%i6) integerp (%pi);
(%o6) false
(%i7) integerp (n);
(%o7) false
(%i8) declare (n, integer);
(%o8) done
(%i9) integerp (n);
(%o9) false
-- Function: askinteger (<expr>, integer)
-- Function: askinteger (<expr>)
-- Function: askinteger (<expr>, even)
-- Function: askinteger (<expr>, odd)
`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 to determine if <expr> is an even integer or odd
integer, respectively.
(%o1) true
@end example
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, @mref{%}@w{}
refers to the most recent calculated result:
@c ===beg===
@c u: expand ((x + y)^6);
@c diff (u, x);
@c factor (%o2);
@c ===end===
@example maxima
@group
(%i1) u: expand ((x + y)^6);
6 5 2 4 3 3 4 2 5 6
(%o1) y + 6 x y + 15 x y + 20 x y + 15 x y + 6 x y + x
@end group
@group
(%i2) diff (u, x);
5 4 2 3 3 2 4 5
(%o2) 6 y + 30 x y + 60 x y + 60 x y + 30 x y + 6 x
@end group
@group
(%i3) factor (%o2);
5
(%o3) 6 (y + x)
@end group
@end example
Maxima knows about complex numbers and numerical constants:
@c ===beg===
@c cos(%pi);
@c exp(%i*%pi);
@c ===end===
@example maxima
@group
(%i1) cos(%pi);
(%o1) - 1
@end group
@group
(%i2) exp(%i*%pi);
(%o2) - 1
@end group
@end example
Maxima can do differential and integral calculus:
@c ===beg===
@c u: expand ((x + y)^6);
@c diff (%, x);
@c integrate (1/(1 + x^3), x);
@c ===end===
@example maxima
@group
(%i1) u: expand ((x + y)^6);
6 5 2 4 3 3 4 2 5 6
(%o1) y + 6 x y + 15 x y + 20 x y + 15 x y + 6 x y + x
@end group
@group
(%i2) diff (%, x);
5 4 2 3 3 2 4 5
(%o2) 6 y + 30 x y + 60 x y + 60 x y + 30 x y + 6 x
@end group
@group
(%i3) integrate (1/(1 + x^3), x);
2 x - 1
2 atan(-------)
log(x - x + 1) sqrt(3) log(x + 1)
(%o3) - --------------- + ------------- + ----------
6 sqrt(3) 3
@end group
@end example
Maxima can solve linear systems and cubic equations:
@c ===beg===
@c linsolve ([3*x + 4*y = 7, 2*x + a*y = 13], [x, y]);
@c solve (x^3 - 3*x^2 + 5*x = 15, x);
@c ===end===
@example maxima
@group
(%i1) linsolve ([3*x + 4*y = 7, 2*x + a*y = 13], [x, y]);
7 a - 52 25
(%o1) [x = --------, y = -------]
3 a - 8 3 a - 8
@end group
@group
(%i2) solve (x^3 - 3*x^2 + 5*x = 15, x);
(%o2) [x = - sqrt(5) %i, x = sqrt(5) %i, x = 3]
@end group
@end example
Maxima can solve nonlinear sets of equations. Note that if you don't
want a result printed, you can finish your command with @kbd{$} instead
of @kbd{;}.
@c ===beg===
@c eq_1: x^2 + 3*x*y + y^2 = 0$
@c eq_2: 3*x + y = 1$
@c solve ([eq_1, eq_2]);
@c ===end===
@example maxima
(%i1) eq_1: x^2 + 3*x*y + y^2 = 0$
(%i2) eq_2: 3*x + y = 1$
@group
(%i3) solve ([eq_1, eq_2]);
3 sqrt(5) + 7 sqrt(5) + 3
(%o3) [[y = - -------------, x = -----------],
2 2
3 sqrt(5) - 7 sqrt(5) - 3
[y = -------------, x = - -----------]]
2 2
@end group
@end example
Maxima can generate plots of one or more functions:
@example maxima
(%i1) plot2d (sin(x)/x, [x, -20, 20])$
@end example
@altfigure{introduction1,Plot of a function}
@example maxima
(%i2) plot2d ([atan(x), erf(x), tanh(x)], [x, -5, 5], [y, -1.5, 2])$
@end example
@altfigure{introduction2,Plot of several functions}
@example maxima
@group
(%i3) plot3d (sin(sqrt(x^2 + y^2))/sqrt(x^2 + y^2),
[x, -12, 12], [y, -12, 12])$
@end group
@end example
@altfigure{introduction3,Plot of a function of two variables}
@c FOLLOWING TEXT DESCRIBES THE TCL/TK PLOT WINDOW WHICH IS NO LONGER THE DEFAULT
@c Moving the cursor to the top left corner of the plot window will pop up
@c a menu that will, among other things, let you generate a PostScript file
@c of the plot. (By default, the file is placed in your home directory.)
@c You can rotate a 3D plot.
@opencatbox{Categories:}
@category{Help}
@closecatbox
|