Mathematica 9 is now available
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.
Mathematica > Mathematics and Algorithms > Matrices and Linear Algebra > Matrix Operations >

Dot (.)

a.b.c or Dot[a, b, c]
gives products of vectors, matrices and tensors.
  • a.b gives an explicit result when a and b are lists with appropriate dimensions. It contracts the last index in a with the first index in b.
  • Various applications of Dot:
{a1,a2}.{b1,b2}scalar product of vectors
{a1,a2}.{{m11,m12},{m21,m22}}
product of a vector and a matrix
{{m11,m12},{m21,m22}}.{a1,a2}
product of a matrix and a vector
{{m11,m12},{m21,m22}}.{{n11,n12},{n21,n22}}
product of two matrices
  • The result of applying Dot to two tensors T_(i_1 i_2... i_n) and U_(j_1 j_2... j_m) is the tensor . Applying Dot to a rank n tensor and a rank m tensor gives a rank m+n-2 tensor.  »
  • When its arguments are not lists or sparse arrays, Dot remains unevaluated. It has the attribute Flat.
Scalar product of vectors:
Products of matrices and vectors:
Matrix product:
a and b are 5×5 random matrices of zeros and ones:
Use exact arithmetic to find the matrix product of a and b:
Use machine arithmetic:
Use higher-precision arithmetic:
Use SparseArray objects:
Compute the matrix product of random real and complex rectangular matrices:
Dot works for tensors:
The dimensions of the result are those of the input with the common dimension collapsed:
Any combination is allowed as long as products are done with a common dimension:
A linear mapping R^n->R^n:
Get the matrix representation m for the linear mapping:
Apply the linear mapping to a vector:
Using the matrix with Dot is faster:
a is a 2×3×4 tensor and b is a 4×5 random matrix:
The result of applying Dot to two tensors T_(i_1i_2...i_n) and U_(j_1j_2...j_m) is the tensor :
Applying Dot to a rank n tensor and a rank m tensor gives a rank n+m-2 tensor.
v is a random complex vector:
Norm[v] is given by sqrt(v.v^):
a is a 3×3 matrix:
Compute the matrix product a.a.a :
This is the same as MatrixPower:
This is equivalent to composing the action of a on a vector three times:
Dot is a special case of Inner:
Dot effectively treats vectors multiplied from the right as column vectors:
Dot effectively treats vectors multiplied from the left as row vectors:
To get an outer product, you need to form the inputs as matrices:
Or you can use KroneckerProduct:
Or Outer:
New in 1 | Last modified in 5
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team