biVector forum

Dimensional Analysis and GA

In physics and engineering, one of our most reliable analytical tools is dimensional analysis. Briefly, by labeling numbers by their physical use (length, time, force, etc.) we can troubleshoot calculations by checking for consistent dimensions (i.e. physics is a “strongly typed” language). Also, we can often gain insight into relationships between quantities by looking for dimensionless combinations. Particularly, when teaching undergraduate students we’re always nagging them about properly labeling units and dimensions.

One thing that’s a little confusing in this regard about GA is that each grade of a multivector has a different dimensionality. This is particularly vexing when trying to parse geometric products for dimensional content.

Does anyone have suggestions on easy ways to track dimensionality in GA? For my own use I keep notes about the grades present in any expressions, but that seems to clunky and tedious to teach to students.

I would think that every dimension drop in a term of a geometric product is because a scalar square has cancelled out. Keeping the dimensionality of those cancellations (like meter squared or so) should still make things homogeneous from a dimensional analysis point of view.

In CGA, Anthony Lasenby makes sure explicitly that each of those vectors have a sensible unit anyway, are dimensionally uniform. That is a prerequisite for the above.

Yes, of course. Thank you for pointing that out. I was doing a mental shortcut by equating grades with powers of units but that can’t be correct. I think that if all quantities can be traced back to products of vectors then things will remain dimensionally consistent.

This is a very important question for me as I have used GA for physics.

I have come to several conclusions :

  1. Unlike what I was always told at school, it is totally ok to add cherries and apples. It is exactly the same as adding imaginary numbers and real numbers. One “apple” plus two “cherry” can be in the same basket in my kitchen. If I then right multiply by “worm-eaten”, I simply use the distributivity of the product and get One “apple × worm-eaten” plus two “cherry × worm-eaten”. It goes the same way with physical units. Of course, when you make a physical measurement, you usually get only one term at a time.

  2. Unlike what I was always told at school, zero is unitless and gradeless. Zero is nothing, no meter, no vector, no scalar. Zero tensor, zero vector, zero matrix, zero second, zero apple are all the same, they are zero, which is a particular algebraic element.

  3. It is meaningful to give different physical units to unit vectors and to their coordinates. For instance, in space-time, I consider that timelike unit vectors square to c², that spacelike unit vectors square to 1, that coordinates along timelike unit vectors are times, and that coordinates along spacelike unit vectors are spatial distances. Therefore, a coordinate multiplied with its unit vector always gives a spatial distance so that space-time is an homogeneous vector space. I strongly disagree to set the speed of light to 1 because it relaxes the useful strong typing of physics. A clock measures times, not distances, they are not the same ! And of course you can relate the two by using some speed, which is not necessarily the speed of light.

Short answer to your question : track the dimensionality of every term in an expression, just like you usually do, but also track grades and directions because a bivector in meters cannot equal a vector in meters and a vector in some direction cannot equal a vector in another direction.

(These are my own thoughts, and I am sure not everyone will agree with me.)

1 Like

I think what @Leo_Dorst was saying is that we shouldn’t attach units to units vectors, but keep them with the coefficients. This was my error, too. For example, I was thinking of a unit bivector as an area unit. However, the unit bivector is really not describing an area, but a plane (“where?”, not “how much?”). The coefficient of the unit bivector stores the quantity of the area, e.g. (2 m2) e12.

In my example, the spatial coordinate has the dimension of a distance, so the dimension of a surface would indeed be on the scalar coordinate of the unit bivector (like you have written). It makes sense that the amplitude of the k-vector has some unit, it is what we measure (“how much?” as you said). It happens that physicists haven’t given a particular dimension to the “in which direction?” in 3D space. So the unit vectors have no dimension. But maybe they could have one.

In space-time, asking “in which time-like direction?” is equivalent to asking “At which speed?”. And measuring along a time-like direction is really asking “how much proper time?”. So it makes sense to give a dimension of speed to the direction and a dimension of time to the amplitude.

I guess several different conventions are acceptable. For instance, an angle is usually dimensionless. But I have noted that it would make sense to give an angle the dimension of a surface : it is twice the surface swept by the angle in the unit disk. This works regardless of the metric of the plane in which the angle is measured (see https://en.wikipedia.org/wiki/Hyperbolic_functions#/media/File:Hyperbolic_functions-2.svg). If angles had been defined as the surface swept instead of twice of it, we would get rid of all these half angles in the formulas of rotations.