此为 Mathematica 7 文档,内容基于更早版本的 Wolfram 语言
查看最新文档(版本11.1)

Vectors and Matrices

Vectors and matrices in Mathematica are simply represented by lists and by lists of lists, respectively.
{a,b,c}vector (a, b, c)
{{a,b},{c,d}}matrix

The representation of vectors and matrices by lists.

This is a 2×2 matrix.
In[1]:=
Click for copyable input
Out[1]=
Here is the first row.
In[2]:=
Click for copyable input
Out[2]=
Here is the element m12.
In[3]:=
Click for copyable input
Out[3]=
This is a two-component vector.
In[4]:=
Click for copyable input
Out[4]=
The objects p and q are treated as scalars.
In[5]:=
Click for copyable input
Out[5]=
Vectors are added component by component.
In[6]:=
Click for copyable input
Out[6]=
This gives the dot (scalar) product of two vectors.
In[7]:=
Click for copyable input
Out[7]=
You can also multiply a matrix by a vector.
In[8]:=
Click for copyable input
Out[8]=
Or a matrix by a matrix.
In[9]:=
Click for copyable input
Out[9]=
Or a vector by a matrix.
In[10]:=
Click for copyable input
Out[10]=
This combination makes a scalar.
In[11]:=
Click for copyable input
Out[11]=
Because of the way Mathematica uses lists to represent vectors and matrices, you never have to distinguish between "row" and "column" vectors.
Table[f,{i,n}]build a length-n vector by evaluating f with i=1, 2, ..., n
Array[a,n]build a length-n vector of the form {a[1], a[2], ...}
Range[n]create the list {1, 2, 3, ..., n}
Range[n1,n2]create the list {n1, n1+1, ..., n2}
Range[n1,n2,dn]create the list {n1, n1+dn, ..., n2}
list[[i]] or Part[list,i]give the ith element in the vector list
Length[list]give the number of elements in list
c vmultiply a vector by a scalar
a.bdot product of two vectors
Cross[a,b]cross product of two vectors (also input as a×b)
Norm[v]Euclidean norm of a vector

Functions for vectors.

Table[f,{i,m},{j,n}]build an m×n matrix by evaluating f with i ranging from 1 to m and j ranging from 1 to n
Array[a,{m,n}]build an m×n matrix with i, jth element a[i, j]
IdentityMatrix[n]generate an n×n identity matrix
DiagonalMatrix[list]generate a square matrix with the elements in list on the main diagonal
list[[i]] or Part[list,i]give the ith row in the matrix list
list[[All,j]] or Part[list,All,j]
give the jth column in the matrix list
list[[i,j]] or Part[list,i,j]give the i, jth element in the matrix list
Dimensions[list]give the dimensions of a matrix represented by list

Functions for matrices.

Column[list]display the elements of list in a column
MatrixForm[list]display list in matrix form

Formatting constructs for vectors and matrices.

This builds a 3×3 matrix s with elements sij=i+j.
In[12]:=
Click for copyable input
Out[12]=
This displays s in standard two-dimensional matrix format.
In[13]:=
Click for copyable input
Out[13]//MatrixForm=
This gives a vector with symbolic elements. You can use this in deriving general formulas that are valid with any choice of vector components.
In[14]:=
Click for copyable input
Out[14]=
This gives a 3×2 matrix with symbolic elements. "Building Lists from Functions" discusses how you can produce other kinds of elements with Array.
In[15]:=
Click for copyable input
Out[15]=
Here are the dimensions of the matrix on the previous line.
In[16]:=
Click for copyable input
Out[16]=
This generates a 3×3 diagonal matrix.
In[17]:=
Click for copyable input
Out[17]=
c mmultiply a matrix by a scalar
a.bdot product of two matrices
Inverse[m]matrix inverse
MatrixPower[m,n]nth power of a matrix
Det[m]determinant
Tr[m]trace
Transpose[m]transpose
Eigenvalues[m]eigenvalues
Eigenvectors[m]eigenvectors

Some mathematical operations on matrices.

Here is the 2×2 matrix of symbolic variables that was defined.
In[18]:=
Click for copyable input
Out[18]=
This gives its determinant.
In[19]:=
Click for copyable input
Out[19]=
Here is the transpose of m.
In[20]:=
Click for copyable input
Out[20]=
This gives the inverse of m in symbolic form.
In[21]:=
Click for copyable input
Out[21]=
Here is a 3×3 rational matrix.
In[22]:=
Click for copyable input
Out[22]=
This gives its inverse.
In[23]:=
Click for copyable input
Out[23]=
Taking the dot product of the inverse with the original matrix gives the identity matrix.
In[24]:=
Click for copyable input
Out[24]=
Here is a 3×3 matrix.
In[25]:=
Click for copyable input
Out[25]=
Eigenvalues gives the eigenvalues of the matrix.
In[26]:=
Click for copyable input
Out[26]=
This gives a numerical approximation to the matrix.
In[27]:=
Click for copyable input
Out[27]=
Here are numerical approximations to the eigenvalues.
In[28]:=
Click for copyable input
Out[28]=
"Linear Algebra in Mathematica" discusses many other matrix operations that are built into Mathematica.