6 ms·
If you have any linear algebra background, then the definition of a tensor is straightforward: given a vector space V over a field K (in physics, K = R or C), a
by senderista 2y ago
If you have any linear algebra background, then the definition of a tensor is straightforward: given a vector space V over a field K (in physics, K = R or C), a tensor T is a multilinear (i.e. linear in each argument) function from vectors and dual vectors in V to numbers in K. That's it! A type (p, q) tensor T takes p vectors and q dual vectors as arguments (p+q is often called the rank of T but is ambiguous compared to the type).
(If you're unfamiliar with the definition of dual vector, it's even simpler: it's just a linear function from V to K.)
- DemocracyFTW2 2y agoA monad is just a monoid in the category of endofunctors, what’s the problem?
- will-burner 2y agoThe definition may be simple, but it's not very concrete and I'd argue that makes it not strait forward. While examples of vector spaces can be very concrete (think R, R^2, R^30), I struggle to think of a concrete example of a multilinear function from vectors and dual vectors in V to numbers in K. On top of that when working with tensors, you don't usually use the definition os a multilinear function at least as far as I remember.
- tel 2y agoNot really to push back as I do agree that this is a bit trickier to get an intuition for than the OP suggests, but the most trivial concrete example of a (1, 1) tensor would just be the evaluation function (v, f) |-> f(v), which, given a metric, corresponds to the inner product.
- cshimmin 2y agoA simple example of a multilinear function is the inner (a.k.a dot) product <a, b>: it takes a vector (b), and a dual vector (a^T), and returns a number. In tensor notation it's typically written δ_ij. It's multilinear because it's linear in each of its arguments separately: <ca, b> = c<a,b> and <a, cb> = c<a,b>. Another simple but less obvious example is a rotation (orthogonal) matrix. It takes a vector as an input, and returns a vector. But a vector itself can be thought of as a linear function that takes a dual vector and returns a number (via the inner product, above!). So, applying the rotation matrix to a vector is a sort of "currying" on the multilinear map, while the matrix alone can be considered a function that takes a vector and a dual vector, and returns a number. In functional notation, you can consider your rotation matrix to be a function (V x V*) -> K, which can in turn be considered a function V -> (V* -> K), where V* is the dual space of V.
- senderista 2y agoI think you're describing the evaluation map T(v, w) = w(v), which has type (1,1), rather than the inner product, which has type (2,0). The inner product lets you "raise and lower indices" (i.e. convert between vectors and dual vectors), so you can basically pretend that it is the evaluation map.
- will-burner 2y agoThe dot product! That's a good example, thank you.
- klodolph 2y agoI think part of this is “if you have a linear algebra background”. There are a few different explanations of tensors, and different explanations make sense for different people.
- cfgauss2718 2y agoYes, the “multi linear map” definition is accessible to an undergraduate who has taken linear algebra. However, the more common meaning of tensor in physics, like the metric tensor of spacetime, requires some more sophisticated background to understand (differential geometry, Lie Groups come to mind).
- adrian_b 2y agoIn physics, the first and even now the most important application of multilinear functions, a.k.a. tensors, is in the properties of anisotropic solids. A solid can be anisotropic, i.e. with properties that depend on the direction, either because it is crystalline or because there are certain external influences, like a force or an electric field or a magnetic field that are applied in a certain direction. In (linear) anisotropic solids, a vector property that depends on another vector property is no longer collinear with the source, but it has another direction, so the output vector is a bilinear function of the input vector and of the crystal orientation, i.e. it is obtained by the multiplication with a matrix. This happens for various mechanical, optical, electric or magnetic properties. When there are more complex effects, which connect properties from different domains, like piezoelectricity, which connects electric properties with mechanical properties, then the matrices that describe vector transformations, a.k.a. tensors of the second order, may depend on other such tensors of the second order, so the corresponding dependence is described by a tensor of the fourth order. So the tensors really appear in physics as multilinear functions, which compute the answers to questions like "if I apply a voltage on the electrodes deposited on a crystal in this positions, which will be the direction and magnitude of the displacements of certain parts of the crystal". While in isotropic media you can have relationships between vectors that are described by scalars and relationships between scalars that are also described by scalars, the corresponding relationships for anisotropic media become much more complicated and the simple scalars are replaced everywhere by tensors of various orders. What in an isotropic medium is a simple proportionality becomes a multilinear function in an anisotropic medium. The distinction between vectors and dual vectors appears only when the coordinate system does not use orthogonal axes, which makes all computations much more complicated. The anisotropic solids have become extremely important in modern technology. All the high-performance semiconductor devices are made with anisotropic semiconductor crystals.
- cfgauss2718 2y agoHere’s maybe a useful example. Consider a scalar potential function F on R^3 that describes some nonlinear spring law. At a point p=(x,y,z), the differential dF can be thought of as a (1,0) tensor measuring the spring force. It acts on a particle at p moving with velocity v to give the instantaneous work of the particle on the spring dF(p)(v). Now, suppose that we want to know how this quantity changes when we vary the x coordinate. The x coordinate is also a function of p, we can represent its differential as dx, which is a co-vector(field). The quantity that captures this change can be thought of as a (1,1) tensor field, which is related to the stiffness of the spring potential in the x direction at each point p. In the usual undergraduate setting, this tensor field is given as the hessian of F, call this H. The action of this tensor looks like the product u^T H(p) v, where in our case, u^T = dx(p) = [1 0 0]. A good giveaway for when a “co-vector” appears in a tensor calculation is whenever there is a “row vector” in a matrix operation (most people identify “column” vectors with proper vectors). It’s helpful in this case that “row” rhymes with “co-“.
- AnotherGoodName 2y agoFor those without a strong math background but more of a programmers background; You know the matrices you work with in 2D or 3D graphics environments that you can apply to vectors or even other matrices to more easily transform (rotate, translate, scale)? Well tensors are the generalisation of this concept. If you’ve noticed 2D games transformation matrices seem similar (although much simpler) to 3D games transformation mateices you’ve probably wondered what it’d look like for a 4D spacetime or even more complex scenarios. Well you’ve now started thinking about tensors.
- pyinstallwoes 2y agoIs there a similar "gimbal lock" problem that people ran into?
- andrewla 2y agoSlight disagree here -- matrices are enough for transformations in 2, 3, 4, and 100 dimensions. Tensors are not arrays with more rows and columns; they are higher dimensional objects -- more indices, not greater range of indices.
- SkyBelow 2y agoIs a tensor higher dimension, or is it the generalized form of the structure encompassing all of it (individual numbers (0 dimensions), vectors (1 dimension), matrixes (2 dimensions), and so on)? Kind of like how an n-sphere describes circles and spheres for n equal to 2 or 3.
- andrewla 2y agoThe problem is that I'm using dimensional in two different senses. A vector with N elements, for example, is a one-dimensional array of numbers operating on N dimensional spaces, and so on for matrices and tensors. If you're doing graphics programming you're operating in three and four dimensional spaces mostly (four dimensional being projective spaces), because that's the space you're trying to render in two dimensions. But you'll rarely need anything higher than a matrix (a two-dimensional data structure) for operations on that space. If you're doing physics you're operating in three, four, and infinite dimensional spaces, mostly. And you'll routinely use higher data structures -- even things like moment of inertia for rigid bodies can't really be described without rank 3 tensors (a three-dimensional data structure). In statistics and machine learning, you're operating in very high dimensional spaces, and will find yourself using non-square tensors especially (in the other areas everything will be square). The data structures will generally be high dimensional as well, but usually just a function of model complexity; so maybe 4 or 5 dimensional data structures.
- g15jv2dp 2y agoThat's incorrect if V is infinite-dimensional. A (0,1)-tensor is just supposed to be an element of V but with your definition you get an element of the bidual of V. Which is not isomorphic to V when dim V is infinite. And even when dim V is finite, you need to choose a basis of V to find an isomorphism with the bidual. From a math point of view, that's just no good.
- senderista 2y agoNo, the isomorphism between V and V** (for finite-dimensional V) is canonical. The canonical isomorphism T:V->V** is easy to construct: map a vector v in V to the element of V** which takes an element w from V* and applies it to v: T(v)(w) = w(v).
- deleted 2y ago[deleted]
- g15jv2dp 2y agoGP is giving you an element of V**. You want to turn it into a vector. To do that, please make the inverse isomorphism explicit without using a basis. I'll wait...
- xanderlewis 2y agoYou said even when dim V is finite you need a basis to find an isomorphism with V**. But that’s not true. You’re right if you mean V*, but not the bidual.
- g15jv2dp 2y agoI'm talking about a practical task. Not an abstract existence result.
- xanderlewis 2y agoIt’s not that abstract. You can literally write down the isomorphism: v —> [e_v: V* —> F, e_v(f) = f(v)].
- mr_mitm 2y agoYes, very simple, except that when physicists say "tensor", they mean tensor fields, on smooth, curved manifolds, in at least four dimensions, often with a Lorentz metric. Things stop being simple quickly.
- adrian_b 2y agoIt does not matter on what set a tensor field is defined. A tensor field is not a tensor, but the value of a tensor field at any point is a tensor, which satisfies the definition given above, exactly like the value of a vector field at any point is a vector. The "fields" are just functions. There are physics books that do not give the easier to understand definition given above, but they give an equivalent, but more obscure, definition of a tensor, by giving the transformation rules for its contravariant components and for its covariant components at a change of the reference system. The word "tensor" with the current meaning has been used for the first time by Einstein and he has not given any explanation for this word choice. The theory of tensors that Einstein has learned had not used the word "tensor". Before Einstein, the word "tensor" (coined by Hamilton) was used in physics with the meaning of "symmetrical matrix", because the geometric (affine) transformation of a body that is determined by the multiplication with a symmetric matrix extends (or compresses) the body towards certain directions (the axes that correspond to a rotation that would diagonalize the symmetric matrix). The word "tensor" in the old sense was applied only to what is called now "symmetric tensor of the second order" (which remains the most important kind of the tensors that are neither vectors nor scalars).
- prof-dr-ir 2y ago> The "fields" are just functions. I think this is far too simplistic, for one because the values of this putative function depend on the chosen coordinate system. So I completely agree with the comment you are replying to: when a physicist says "tensor" they really mean a "tensor field" and the definition of the latter is quite a bit more involved than just specifying a multilinear map at each point of a manifold.
- mr_mitm 2y ago
- bratwurst3000 2y agoyou could also call it a matrix to modify a matrix in a vector space. not 100% correct. xD
- bjourne 2y agoWell, I can write a definition that is both easier to understand and shorter than yours: A tensor is a multi-dimensional array. :)
- eigenket 2y agoThis only works in finite dimensions, which for mathematicians excludes pretty much all of the interesting cases.
- enugu 2y agoFinite dimension tensors is interesting both in physics(ex: mechanics, electromagnetism, general relativity) and mathematics(ex: representation theory, differential geometry). Infinite dimensions is also used in physics(quantum theory) and in mathematics (Operator Algebras, representation theory again).
- eigenket 2y agoI guess? Mostly the cool applications in physics and differential geometry are about tensor fields, which are more complicated than bare tensors. You could argue that they're talking about finite dimensional tensors but tensor fields are kinda a different object (at least subjectively, to me).
- enugu 2y agoA tensor field is a finite dimensional object varying over space. The space of all tensor fields is infinite dimensional. An operator in QM is infinite dimensional at a single point itself, and in QFT we have fields of such operators.
- ithinkso 2y agoThis is actually a harmful definition, both (1,1) and (0,2) tensors can be written as a matrix but they are very different. It's like calling vector an array but vectors require vector space and arrays are just arrays. It doesn't help that std::vector is very common in CS but 'pushing back' to a mathematical vector just doesn't make any sense
- ndriscoll 2y agoI think the people who find this definition to be mysterious are really looking for (borrowing from Ravi Vakil[0]) "why is a tensor" rather than "what is a tensor". In that case, a better answer IMO is that it's the "most generic" way to multiply vectors that's compatible with the linear structure: "v times w" is defined to be the symbol "v⊗w". There is no meaning to that symbol. But these things are vectors, so you could write e.g. v = a⋅x+b⋅y, and then you want e.g. (a⋅x+b⋅y)⊗w = ax⊗w + by⊗w, and so on. So in some sense, the quotient space construction[1] gives a better "why". It says * I want to multiply vectors in V and W. So let's just start by writing down that "v times w" is the symbol "v⊗w", and I want to have a vector space, so take the vector space generated by all of these symbols. * But I also want that (v_1+v_2)⊗w = v_1⊗w + v_2⊗w * And I also want that v⊗(w_1+w_2) = v⊗w_1 + v⊗w_2 * And I also want that (sv)⊗w = s(v⊗w) = v⊗(sw) And that's it. However you want to concretely define tensors, they ought to be "a way to multiply vectors that follows those rules". Quotienting is a generic technique to say "start with this object, and add this additional rule while keeping all of the others". Another way to say this is that the tensor algebra is the "free associative algebra": it's a way to multiply vectors where the only rules you have to reduce expressions are the ones you needed to have. [0] https://www.youtube.com/live/mqt1f8owKrU?t=500 https://www.youtube.com/live/mqt1f8owKrU?t=500 [1] https://en.wikipedia.org/wiki/Tensor_product#As_a_quotient_space https://en.wikipedia.org/wiki/Tensor_product#As_a_quotient_s...
- senderista 2y agoThat abstract approach tends to be how mathematicians view the tensor product (there is also a categorical construction), but I don't find it very helpful for understanding what tensors do, or why they are useful in physics. With the "multilinear map" definition, taking the tensor product T of tensors U and V just means evaluating U and V respectively on the arguments of T and multiplying their outputs. Extend this definition by linearity and you have the tensor product of spaces of tensors.
- Koshkin 2y agoMore simply, a tensor is an element of a tensor product of linear spaces. (And a monad is simply a monoid in the category of endofunctors.)