There are several tutorials and manuals available for
Maxima. Here is a very brief one focused on aiding the
introduction to the qinf package. We will not give examples
of matrices until later, but point out that the notation for
matrix multiplication in
Maxima is a dot
,
eg. A . B. If
is a
matix and
a
matrix, then
A . B is a
matrix. The inner
product of quantum state vectors, the
outer product (dyad)
of quantum state vectors, the composition of
operators, and the mapping of one vector to another by an
operator are all special cases of matrix multiplication and
are all represented by the dot (along with conjugation in the case
of the inner and outer products.) The remaining product, the
tensor product, becomes the
Kronecker product in the matrix
representation of a finite dimensional Hilbert space. To
agree with standard terminology, we introduce the
infix
operator otimes and the function tensor_product
that eventually call the Maxima function
kronecker_product . See the
section on matrices
in the Maxima
manual.
Maxima can use exact real and
complex numbers
or the standard
floating point
approximations, or
arbitrary precision floating point numbers. Numerical expressions are
simplified upon entry. Each input line must be terminated by
a semicolon (some interfaces do this automatically) or by a
dollar sign, which suppresses the output.
Assignment
is denoted by a colon while
function definitions
are denoted by
:=
For example, a : b+c ; evaluates b+c and assigns the result to a.
On the other hand a(x,y) := x^y ; defines the function
.
We suppress the output here with a dollar sign because it's big-
terms.
Some exact numbers and floating point
approximations.
Defining
and using a function.
Complex numbers.
%i
is the identifier for
.
Some special numbers are defined, such as
%pi
and
%e.