# Showing that $\text{tr}(u \otimes v) = u \cdot v$

I am currently working on the following problem from P. Chadwick's Continuum Mechanics and was wondering if my appraoch is correct (and if it is, if it is rigorous enough):

Let $$u,v \in \mathbb{R}^3$$. Show that the trace of a $$(1,1)$$ tensor $$T = u \otimes v$$ gives the scaler $$u \cdot v \in \mathbb{R},$$ i.e., $$\text{tr}(u \otimes v) = u \cdot v$$.

A few things to note before my approach is that in my course we are only considering second-order tensors, $$\cdot$$ is the usual dot product on $$\mathbb{R}^3$$ ( i.e., $$u \cdot v = u_1v_1+u_2v_2+u_3v_3$$), and $$u \otimes v := \begin{bmatrix} u_1 v_1 & u_1 v_2 & u_1 v_3 \\ u_2 v_1 & u_2 v_2 & u_2 v_3 \\ u_3 v_1 & u_3 v_2 & u_3 v_3 \\ \end{bmatrix}.$$ (our version of the tensor product: the outer product).

I feel like this problem is really easy, but my textbook's solution is using the scaler triple product to show this. Here is what I have written so far:

Since we are given what $$u \cdot v$$ is, we can expand this expression as $$u_1v_1+u_2v_2+u_3v_3$$. We also know that each entry of the matrix $$u \otimes v$$ is of the form $$u_{i}v_{j}$$, thus since the trace of the matrix $$u \otimes v$$ is the sum of the diagonal elements we have that $$\text{tr}(u \otimes v) = u_1v_1+u_2v_2+u_3v_3=u \cdot v.$$ Is this enough for this proof? Or is there a more rigorous way of showing this?

• Use \cdot for dot products. It's much more visually appealing. Sep 27, 2021 at 20:36
• Quite. Shorter: $u\otimes v$ is the matrix given by definition by $a_{i,j} = u_iv_j$. The trace of this matrix is given by $\sum_i a_{i,i} = \sum_i u_iv_i = u\cdot v$.
– Lazy
Sep 27, 2021 at 21:04
• @Lazy Why not an official answer? Sep 27, 2021 at 23:25

The trace of a type $$(1,1)$$ tensor $$T^i_j\varepsilon^j\otimes e_i$$ is by definition the contraction $$T^i_i$$. I interpret the question as "Show that $$T^i_i$$ is a scalar". This is also true by definition since the quantities obtained by contraction of a type $$(r,s)$$-tensor constitute the components of a tensor of type $$(r-1,s-1)$$. But we can at least verify it for clarity.

To verify that the trace is a scalar we can use the trick "If it looks like a tensor, swims like a tensor, and quacks like a tensor, then it is a tensor."

The components of a type $$(1,1)$$-tensor transform like

$$\bar{T}^u_w=\frac{\partial \bar{x}^u}{\partial x^i}\frac{\partial x^j}{\partial \bar{x}^w}T^i_j$$ The trace $$\bar{T}^u_u$$ is therefore (let $$w=u$$) $$\bar{T}^u_u=\frac{\partial \bar{x}^u}{\partial x^i}\frac{\partial x^j}{\partial \bar{x}^u}T^i_j=\delta^j_iT^i_j=T^i_i$$ So the trace is indeed a $$(0,0)$$-tensor, ie a scalar. Sometimes referred to as an invariant (it is invariant with respect to a change of basis). Notice that this concept of a scalar might be different from what you are used to in linear algebra where pretty much any real number is considered a "scalar".

Now with the components $$T^i_j=u^iv_j$$ in 3 dimensions obviously $$T^k_k=u^1v_1+u^2 v_2+u^3v_3$$ which artificially might be interpreted as $$\mathbf{u}\cdot \mathbf{v}=g_{ij}u^iv^j$$.

@ContraKinta's answer using tensor transformation properties and contraction is excellent. I shall try to present an alternate approach sticking only to linear algebra that attempts to formalize OP's initial proof.

The outer product of two vectors $$u$$ and $$v$$ in $$\mathbb{R^n}$$ is

$$u \otimes v = uv^T$$

The Trace of a matrix $$A_{m \times m}$$ is defined as,

$$\text{Tr}(A) = \sum_{i=1}^{m} a_{ii}$$

For us to take the trace of the outer product $$\text{Tr}(uv^T)$$, $$uv^T$$ must be a square matrix which is only possible if $$u$$ and $$v$$ are both of the same dimension, which is the case here as both $$u, v \in \mathbb{R}^n$$.

Thus, $$uv^T$$ is a square matrix with dimensions $$n \times n$$ and its trace is,

$$\text{Tr}(uv^T) = \sum_{i=1}^{n} (uv^T)_{ii} \tag{1}$$

By definition of the outer product,

$$(uv^T)_{ij} = u_{i}v_{j}$$

We require the elements where $$i = j$$,

$$(uv^T)_{ii} = u_{i}v_{i} \tag{2}$$

$$(2)$$ in $$(1)$$,

$$\text{Tr}(uv^T) = \sum_{i=1}^{n} u_{i}v_{i}$$

Which by definition is the dot product. Therefore,

$$\boxed{\text{Tr}(uv^T) = u \cdot v}$$
{"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 1, "mathjax_display_tex": 0, "mathjax_asciimath": 1, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0, "katex": 0, "math-container": 51, "wp-katex-eq": 0, "align": 0, "equation": 0, "x-ck12": 0, "texerror": 0, "url": "https://math.stackexchange.com/questions/4261996/showing-that-texttru-otimes-v-u-cdot-v", "fetch_time": 1685863768000000000, "content_mime_type": "text/html", "warc_filename": "crawl-data/CC-MAIN-2023-23/segments/1685224649518.12/warc/CC-MAIN-20230604061300-20230604091300-00174.warc.gz", "warc_record_offset": 442882675, "warc_record_length": 36062, "token_count": 1445, "char_count": 4225, "score": 3.984375, "int_score": 4, "crawl": "CC-MAIN-2023-23", "snapshot_type": "latest", "language": "en", "language_score": 0.8891300559043884, "file_path": "/sailhome/yjruan/project/latent-lm/data/processed/finemath-4plus/finemath-4plus/train-00016-of-00064.parquet"}