I see this definition sometimes for tensors, this specific wording comes from "The Poor Man's Introduction to Tensors" by Justin C. Feng:

Simply put, a tensor is a mathematical construction that “eats” a bunch of vectors, and “spits out” a scalar. The central principle of tensor analysis lies in the simple, almost trivial fact that scalars are unaffected by coordinate transformations. From this trivial fact, one may obtain the main result of tensor analysis: an equation written in tensor form is valid in any coordinate system.

I understand that the appeal of tensors is that they don't have a preference for any particular coordinate system and transform predictably when moving between systems. What I don't see is why giving a scalar is part of the definition above, can I not multiply two tensors together and get something that isn't a scalar? For instance (from Wikipedia):


Does this statement maybe allude to the fact that tensors can be defined as members of vector/dual spaces combined with the tensor product?

  • 1
    $\begingroup$ I'm not quite sure what you're asking. If you define a tensor as a multilinear map which eats vectors and spits out scalars, then what do you mean by "multiplying two tensors together to get something that isn't a scalar?" $\endgroup$
    – J. Murray
    Dec 10, 2019 at 21:06
  • 1
    $\begingroup$ Are you asking how to express the equation you wrote in the language of the definition above it? $\endgroup$
    – J. Murray
    Dec 10, 2019 at 21:08
  • $\begingroup$ Basically yes, I don't see how the definition that they give scalars is compatible with the equation above that seems to take two (2,0)-tensors and gives another (2,0)-tensor, not a scalar. $\endgroup$
    – Charlie
    Dec 10, 2019 at 21:10
  • 2
    $\begingroup$ The definition you quote is not worded well. I might say something like "A tensor can eat vectors and spit out a scalar. The scalar produced is independent of coordinate system. However, a tensor can eat vectors and spit out lower rank tensors." That's not the best either, but it addresses the point you are making. $\endgroup$
    – garyp
    Dec 10, 2019 at 21:23

5 Answers 5


A tensor is defined as an object that linearly maps an ordered pair of vectors from the Cartesian product $V\times V$ to scalars, where both vectors in the ordered pair belong to $V$. Hence \begin{equation}\tag{1} \bf{T}: \it{V\times V \rightarrow} \mathbb{R} \end{equation} Let $v$ and $w$ be vectors that belong to $V$ and $(v,w)$ belong to $V\times V$. Then $$\bf{T} \it{(v,w)}=a$$ Now if we represent $\bf{T}$ as the tensor product of dual space vectors, $v^*\otimes w^*$ then the above statement is written as (this equation is the definition of tenosr product) $$\langle v^*,v\rangle \langle w^*,w\rangle =a$$ Hence $a$ is simply $v^*_\mu v^\mu w^*_\nu w^\nu$. The representation of tensor as the tensor product of dual space vectors helps us express this map in terms known objects. Hence a tensor is expressed as $$\bf{T}=\it{v^*_\mu w^*_\nu e^\mu \otimes e^\nu}$$ Equation $(1)$ is what the author meant when he said that tensor eats a bunch of vectors and spits out a scalar.

  • $\begingroup$ When you combine the vector space V as in $V\times V$ what exactly does that mean? Is that just notation showing that T takes two ordered arguments who both belong to V? Also where you talk about representing T as the tensor product of dual space vectors, does T belong to the space $V^*\otimes V^*$ and the specific tensor T in that vector space is given by the tensor product of the two covectors $v^*$ and $w^*$? $\endgroup$
    – Charlie
    Dec 11, 2019 at 14:44
  • 1
    $\begingroup$ @Charlie Yes, all of that is right. Only that $\bf{T}$ does not belong to a vector space but a tensor space created using the dual space. $\endgroup$ Dec 11, 2019 at 14:49
  • $\begingroup$ Ok I'm glad I'm at least moving in the right direction. Where you've defined T as $\bf{T}=\it{v^*_\mu w^*_\nu e^\mu \otimes e^\nu}$ is there an implied tensor product between $v_{\mu}^{*}$, $w_{\nu}^{*}$ and $e^{\mu}$? $\endgroup$
    – Charlie
    Dec 11, 2019 at 14:55
  • 1
    $\begingroup$ @Charlie The tensor product is between $v^*$ and $w^*$. When these vectors are written in terms of components and basis, $v^*_\mu e^\mu$, you get the expression that I have given. $\endgroup$ Dec 11, 2019 at 14:59
  • 1
    $\begingroup$ @Charlie No no. $v^*_\mu$ and $w^*_\nu$ are not vectors they represent the components of the vectors $v^*$ and $w^*$. Any vector can be written as the product of components times the basis. So $\bf{T}=\it{v^*\otimes w^*}$ which is the same as $v^*_\mu w^*_\nu e^\mu \otimes e^\nu$. $\endgroup$ Dec 11, 2019 at 15:13

I agree, the wording "a tensor is a mathematical construction" etc. is misleading.

It's my opinion, but I think the book means that one can always (cleverly) contract a tensor so that the result is a scalar. The most obvious contraction is with the basis vectors, and you need as many as the rank of the tensor, so

$$A^{\mu\nu} e_\mu e_\nu$$ $$B^{\mu}_{\rho\sigma} e_\mu e^\rho e^\sigma$$

which are both scalars. Also, I think the book means "an equation written in this particular tensor form is valid in any coordinate system": in fact, a vectorial tensor equation will not be valid in any coordinate system as it is (indeed, it transforms as a vector).

$$T^{\mu\nu} e_\mu e_\nu\rightarrow T^{\alpha\beta} \Lambda^\mu_\alpha \Lambda^\nu_\beta e_\alpha (\Lambda^{-1})^\alpha_\mu e_\beta (\Lambda^{-1})^\beta_\nu=T^{\mu\nu} e_\mu e_\nu$$ $$T^{\mu\nu} e_\mu \rightarrow T^{\alpha\beta} \Lambda^\mu_\alpha \Lambda^\nu_\beta e_\alpha (\Lambda^{-1})^\alpha_\mu = T^{\alpha\beta} \Lambda^\nu_\beta e_\alpha \not=T^{\mu\nu} e_\mu$$

  • $\begingroup$ I'm a little confused by what "contraction with the basis vectors" means. When I define a tensor's components I have to do so in a given basis, where you've written $A^{\mu\nu}e_{\mu}e_{\nu}$ are the basis vectors $e_{\mu}$ and $e_{\nu}$ the basis vectors of that tensor or something else? $\endgroup$
    – Charlie
    Dec 11, 2019 at 14:52
  • $\begingroup$ Yes, they are the basis vectors of the tensor space where the tensor lives. $\endgroup$ Dec 11, 2019 at 14:54
  • $\begingroup$ So the tensor space over $\Bbb R^3$, say T, created by the operation $V\otimes V\otimes V^*$ so that $t\in V\otimes V\otimes V^*$ requires 6 basis vectors and 3 basis covectors to define it in a given basis? $\endgroup$
    – Charlie
    Dec 11, 2019 at 14:59

Basically yes, I don't see how the definition that they give scalars is compatible with the equation above that seems to take two (2,0)-tensors and gives another (2,0)-tensor, not a scalar.

The equation $$A^{\alpha \beta} = g^{\alpha \gamma} g^{\beta \delta} A_{\gamma \delta}$$

does not contain any tensors. All of the terms in that equation are the components of tensors in a particular basis, and the distinction is crucial.

There is a lot to unpack here - you may find that my preliminaries in my answer here may be enlightening. I also go into considerable detail in the first part of this answer.

In any case, let's consider the equation $$A^{\alpha\beta}=g^{\alpha\gamma}g^{\beta\delta} B_{\gamma\delta}$$

This corresponds a tensor $\mathbf A$ which eats two covectors and spits out a real number. It's action can be summarized as follows:

  1. The first covector $\boldsymbol \omega$ is mapped to its vector counterpart $\boldsymbol{\omega}^\sharp$ through the use of the inverse metric, i.e. $\boldsymbol \omega^\sharp = \mathbf{g^{-1}}(\boldsymbol \omega, \bullet)$
  2. The second covector $\boldsymbol \sigma$ is similarly mapped to its vector counterpart $\boldsymbol \sigma^\sharp = \mathbf{g^{-1}}(\boldsymbol \sigma,\bullet)$
  3. The resulting vectors are both fed to the $(0,2)$-tensor $\mathbf B$

so we have $$\mathbf A(\boldsymbol \omega,\boldsymbol \sigma) := \mathbf B(\boldsymbol \omega^\sharp,\boldsymbol \sigma^\sharp)$$

Expressing this in component form, we have that

$$(\omega^\sharp)^\gamma = g^{\alpha \gamma} \omega_\alpha$$ $$(\sigma^\sharp)^\delta = g^{\beta \delta} \sigma_\beta$$

and so

$$\mathbf A(\boldsymbol \omega,\boldsymbol \sigma) = \mathbf B\left((\omega^\sharp)^\gamma \hat e_\gamma, (\sigma^\sharp)^\delta \hat e_\delta\right)$$ $$ = (\omega^\sharp)^\gamma (\sigma^\sharp)^\delta \mathbf B(\hat e_\gamma,\hat e_\delta) = g^{\alpha \gamma} \omega_\alpha g^{\beta \delta} \sigma_\beta B_{\gamma \delta} = A^{\alpha \beta} \omega_\alpha \sigma_\beta$$

Therefore we can calculate the components of $\mathbf A$ to be

$$A^{\alpha \beta} = g^{\alpha\gamma}g^{\beta\delta} B_{\gamma\delta}$$

I'm sure you noticed that I used a $B$ instead of an $A$ in the last term of your equation - I did this to emphasize that the object on the left (with upstairs indices) is not the same as the object on the right (which has downstairs indices). They are related to each other, but are different. It is common convention to make notation simpler by using the letter $A$ for both objects and to simply distinguish them by where you place the indices, but this can lead to enormous confusion for beginning students.


From the comments:

I don't see how the definition that they give scalars is compatible with the equation above that seems to take two (2,0)-tensors and gives another (2,0)-tensor, not a scalar.

It's because you're also combining things with another tensor operation, namely contraction. Specifically, the contraction of a $(1,1)$ tensor $T: V \times V^* \to \mathbb{R}$ is defined as $$ CT = \sum_\sigma T({v^\sigma}^*, v_\sigma) $$ where $\{v_\sigma\}$ is a basis for $V$, and $\{{v^\sigma}^*\}$ is the corresponding dual basis for $V^*$. It is a standard exercise to show that this definition is independent of the basis chosen; the proof hinges on the definition of the dual basis and the linearity of any tensor with respect to its arguments. In abstract index notation, the contraction of the tensor $T^a {}_b$ is written $T^a {}_a$. This notion can be extended to define the contraction of a $(n,m)$ tensor; it yields an $(n-1,m-1)$ tensor as we would expect.

So when we write down the product $$ A^{ab} = g^{ac} g^{bd} A_{cd}, $$ we are really implicitly doing the following:

  • Define the $(4,2)$ tensor $g^{ae} g^{bf} A_{cd}$, whose value on a set of four dual vectors and two vectors is obtained by feeding the first two dual-vector arguments into one "copy" of $g$, the second two dual-vector arguments into the second "copy" of $g$, and the two vector arguments into $A$, and then multiplying everything together.
  • Perform the contraction between the second dual vector "slot" and the first vector "slot", as well as the contraction between the fourth dual vector "slot" and the second vector "slot". This yields a tensor of type (2,0) as expected.

The result can still be viewed as a map from $V^* \times V^* \to \mathbb{R}$: we would simply "feed in" two more dual vectors into the remaining two uncontracted "slots" in the original expression $g^{ac} g^{bd} A_{cd}$.

  • $\begingroup$ Could the (4,2)-tensor in your first bullet point be equivalently written as $X^{aebf}_{cd}$? Assuming there is no repeated index can the tensors just be combined like that? Also is there an implied tensor product between the the terms, i.e. $g^{ae}\otimes g^{bf}\otimes A_{cd}$? $\endgroup$
    – Charlie
    Dec 11, 2019 at 14:48

A tensor transforms like a scalar. When you transform the tensor basis to new coordinate system, the tensor coefficients are transformed by the inverse transformation, and the tensor remains invariant.

For instance, without loss of generality, let

$$t= t^{i}_{\;j} \frac{\partial}{\partial u_{i}} \otimes du^{j}$$

$$\frac{\partial}{\partial u_{i}}=\frac{\partial w_{k}}{\partial u_{i}} \frac{\partial}{\partial w_{k}}$$

$$du^{j}=\frac{\partial u_{j}}{\partial w_{l}} dw^{l}$$

$$t= t^{i}_{\;j} \frac{\partial w_{k}}{\partial u_{i}} \frac{\partial}{\partial w_{k}}\otimes\frac{\partial u_{j}}{\partial w_{l}} dw^{l}$$

$$t= t^{i}_{\;j} \frac{\partial w_{k}}{\partial u_{i}} \frac{\partial u_{j}}{\partial w_{l}}\frac{\partial}{\partial w_{k}}\otimes dw^{l}$$

$$t= t^{k}_{\;l} \frac{\partial}{\partial w_{k}}\otimes dw^{l}$$


$$t^{k}_{\;l} =t^{i}_{\;j} \frac{\partial w_{k}}{\partial u_{i}} \frac{\partial u_{j}}{\partial w_{l}}$$

$t$ transforms like scalar and it's valid in any coordinate system.

EDIT: added the $(1,0)$ transformation based on Mauro Giliberti comment.

Let $$v=v^{i}\frac{\partial}{\partial u_{i}}$$ then $$\frac{\partial}{\partial u_{i}}=\frac{\partial w_{k}}{\partial u_{i}} \frac{\partial}{\partial w_{k}}$$ $$v=v^{i}\frac{\partial w_{k}}{\partial u_{i}} \frac{\partial}{\partial w_{k}}$$

$$v=v^{k} \frac{\partial}{\partial w_{k}}$$

which transforms like a tensor.

  • $\begingroup$ A tensor does not transform like a scalar: it transforms like a tensor. A rank-1 tensor is a vector, and a vector doesn't transform like a scalar. $\endgroup$ Dec 11, 2019 at 14:55
  • $\begingroup$ @MauroGiliberti: if it doesn't transform like a tensor, then it's not a tensor. $\endgroup$ Dec 11, 2019 at 21:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.