Mathematica 9 is now available
Previous section-----Next section

1.8.3 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, d}} matrix

The representation of vectors and matrices by lists.
This is a  matrix.

In[1]:=  m = {{a, b}, {c, d}}

Out[1]=

Here is the first row.

In[2]:=  m[[1]]

Out[2]=

Here is the element  .

In[3]:=  m[[1,2]]

Out[3]=

This is a two-component vector.

In[4]:=  v = {x, y}

Out[4]=

The objects p and q are treated as scalars.

In[5]:=  p v + q

Out[5]=

Vectors are added component by component.

In[6]:=  v + {xp, yp} + {xpp, ypp}

Out[6]=

This takes the dot ("scalar") product of two vectors.

In[7]:=  {x, y} . {xp, yp}

Out[7]=

You can also multiply a matrix by a vector.

In[8]:=  m . v

Out[8]=

Or a matrix by a matrix.

In[9]:=  m . m

Out[9]=

Or a vector by a matrix.

In[10]:=  v . m

Out[10]=

This combination makes a scalar.

In[11]:=  v . m . v

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- vector by evaluating f with i = 1, 2, ... , n
Array[a, n] build a length- vector of the form {a[1], a[2], ... }
Range[n] create the list {1, 2, 3, ... , n}
Range[ ,  ] create the list { ,  +1, ... ,  }
Range[ ,  , dn] create the list { ,  +dn, ... ,  }
list[[i]] or Part[list, i] give the i element in the vector list
Length[list] give the number of elements in list
ColumnForm[list] display the elements of list in a column
c v multiply by a scalar
a . b vector dot product
Cross[a, b] vector cross product (also input as a  b)
Norm[v] norm of a vector

Functions for vectors.

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

Functions for matrices.
This builds a  matrix  with elements  .

In[12]:=  s = Table[i+j, {i, 3}, {j, 3}]

Out[12]=

This displays s in standard two-dimensional matrix format.

In[13]:=  MatrixForm[s]

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]:=  Array[a, 4]

Out[14]=

This gives a  matrix with symbolic elements. Section 2.2.6 will discuss how you can produce other kinds of elements with Array.

In[15]:=  Array[p, {3, 2}]

Out[15]=

Here are the dimensions of the matrix on the previous line.

In[16]:=  Dimensions[%]

Out[16]=

This generates a  diagonal matrix.

In[17]:=  DiagonalMatrix[{a, b, c}]

Out[17]=

c m multiply by a scalar
a . b matrix product
Inverse[m] matrix inverse
MatrixPower[m, n] n 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  matrix of symbolic variables that was defined above.

In[18]:=  m

Out[18]=

This gives its determinant.

In[19]:=  Det[m]

Out[19]=

Here is the transpose of m.

In[20]:=  Transpose[m]

Out[20]=

This gives the inverse of m in symbolic form.

In[21]:=  Inverse[m]

Out[21]=

Here is a  rational matrix.

In[22]:=  h = Table[1/(i+j-1), {i, 3}, {j, 3}]

Out[22]=

This gives its inverse.

In[23]:=  Inverse[h]

Out[23]=

Taking the dot product of the inverse with the original matrix gives the identity matrix.

In[24]:=  % . h

Out[24]=

Here is a  matrix.

In[25]:=  r = Table[i+j+1, {i, 3}, {j, 3}]

Out[25]=

Eigenvalues gives the eigenvalues of the matrix.

In[26]:=  Eigenvalues[r]

Out[26]=

This gives a numerical approximation to the matrix.

In[27]:=  rn = N[r]

Out[27]=

Here are numerical approximations to the eigenvalues.

In[28]:=  Eigenvalues[rn]

Out[28]=

Section 3.7 discusses many other matrix operations that are built into Mathematica.



Any questions about topics on this page? Click here to get an individual response.Buy NowMore Information
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.