Formalizing Tensor Fields in Point-Free and Index Notation

in

” A tensor field is essentially just a function that takes in some input (like coordinates or time) and outputs a tensor. But instead of writing out the whole function, we can use point-free or index notation to make it look more concise and elegant.

Point-Free Notation: The Pointless Way

In point-free notation, we don’t explicitly write out the input variables for our tensor field. Instead, we just define a morphism between two categories that represent the input and output spaces of our function. This can be pretty abstract at first, but it has some nice benefits like being able to compose functions more easily and avoiding unnecessary repetition.

Here’s an example: let’s say we have a tensor field that takes in coordinates (x, y) on the plane and outputs a 2D vector field. In point-free notation, this would look something like this:

(F : R^2 -> Vect_R^2)

This says that F is a morphism from the category of real numbers to the category of vector fields over the reals (which we’ll call Vect_R^2). The input space is just R^2, which represents our coordinates.

Now let’s say we want to compose two tensor fields together: one that takes in time and outputs a scalar field, and another that takes in position and outputs a vector field. In point-free notation, this would look like this:

(G : R -> Scalar_R) (F : R^2 -> Vect_R^2) => (H : R x R^2 -> Tensor_R)

This says that H is the composition of G and F. The input space for H is just the Cartesian product of the input spaces for G and F, which represents our time-position coordinates. And the output space for H is a tensor field over the reals (which we’ll call Tensor_R).

Index Notation: The Einstein Way

If you prefer something more familiar, you can also use index notation to formalize your tensor fields. This involves writing out all of the indices explicitly and using summation conventions to make things look neater. It’s named after Albert Einstein, who used this notation extensively in his work on general relativity.

Here’s an example: let’s say we have a 2D vector field with components (v_x, v_y) that depends on our coordinates (x, y). In index notation, this would look something like this:

(F^i : R^2 -> Vect_R^2)

This says that F is a function from the category of real numbers to the category of vector fields over the reals. The input space for F is just R^2, which represents our coordinates. And the output space for F is a tensor field with two indices (i and j), where i corresponds to the x-component of our vector field and j corresponds to the y-component.

Now let’s say we want to compose two tensor fields together: one that takes in time and outputs a scalar field, and another that takes in position and outputs a vector field. In index notation, this would look like this:

(G_t : R -> Scalar_R) (F^i_j : R^2 -> Vect_R^2) => (H_{ij} : R x R^2 -> Tensor_R)

This says that H is the composition of G and F. The input space for H is just the Cartesian product of the input spaces for G and F, which represents our time-position coordinates. And the output space for H is a tensor field with four indices (i, j, t), where i corresponds to the x-component of our vector field, j corresponds to the y-component, and t corresponds to our scalar field.

In sum, whether you prefer point-free or index notation, both methods can be used to formalize your tensor fields in a concise and elegant way!

SICORPS