Wolfram Language & System 11.0 (2016)|Legacy Documentation

This is documentation for an earlier version of the Wolfram Language.View current documentation (Version 11.2)

Vectors and Matrices

Vectors and matrices in the Wolfram Language are simply represented by lists and by lists of lists, respectively.

{a,b,c}vector
{{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 .
In[3]:=
Click for copyable input
Out[3]=
This is a twocomponent 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 the Wolfram Language uses lists to represent vectors and matrices, you never have to distinguish between "row" and "column" vectors.

Table[f,{i,n}]build a lengthn vector by evaluating f with i=1,2,,n
Array[a,n]build a lengthn 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 i^(th) 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,j^(th) 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 i^(th) row in the matrix list
list[[All,j]] or Part[list,All,j]give the j^(th) column in the matrix list
list[[i,j]] or Part[list,i,j]give the i,j^(th) 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 with elements .
In[12]:=
Click for copyable input
Out[12]=
This displays s in standard twodimensional 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]n^(th) 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 the Wolfram Language.