This is documentation for Mathematica 6, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)

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 ab)
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 m×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" will discuss 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 3x3 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.