Double Dot Product — Definition, Formula & Examples
The double dot product (also called the double contraction) is an operation between two second-order tensors that sums the products of all corresponding components, producing a scalar result.
For two second-order tensors and in , the double dot product is defined as . It contracts both indices simultaneously, reducing the combined order by four and yielding a scalar (order-zero tensor).
Key Formula
Where:
- = Second-order tensors (representable as matrices)
- = Components of the tensors in a given basis
- = Trace operator (sum of diagonal entries)
How It Works
Think of each second-order tensor as a matrix. To compute the double dot product, multiply every entry of the first matrix by the corresponding entry of the second matrix, then add all those products together. This is the same as taking the trace of the matrix product , i.e., . The result is always a scalar, analogous to how the ordinary dot product of two vectors gives a scalar. Note that some authors define the double dot product with reversed index order (), which equals ; always check the convention used in your course.
Worked Example
Problem: Compute the double dot product of the two tensors (matrices) A and B, where A = [[1, 2], [3, 4]] and B = [[5, 6], [7, 8]].
Step 1: Multiply each corresponding pair of components.
Step 2: Sum all the products.
Answer: The double dot product is .
Why It Matters
The double dot product appears throughout continuum mechanics, where the stress power (rate of work per unit volume) is expressed as , contracting the stress tensor with the rate-of-deformation tensor. It is essential in formulating constitutive laws and energy equations in courses on solid mechanics, fluid dynamics, and finite element analysis.
Common Mistakes
Mistake: Confusing the double dot product with element-wise multiplication (Hadamard product) without the final summation.
Correction: The double dot product requires you to sum all the element-wise products into a single scalar. If you stop before summing, you still have a matrix, not a scalar.
