
Oleg Abrosimov wrote:
There is a very good article in wikipedia about tensors in which tensor rank is also described: http://en.wikipedia.org/wiki/Tensor
(snip...)
I'm envision something like boost::operators that can be used to define quantities like length or torque (it can be used to define new system of units/dimensions). something like: struct length : boost::pqs::quantity<1/*rank*/> {...};
I think you have some nice ideas for the foundations of a Tensor library, but not for a part of the units and dimensions library. All of the problems you bring up are problems based in the representations and algebra of tensors. Things like the difference between vectors and pseudo-vectors, and rank issues. You never used the terms covariant and contravariant, but that seems to be where you are working from. Unfortunately, if you start down this road, it quickly presents its own problems. From Tensor theory, we know that there are indexed arrays of quantities that can interact with tensors, but are not tensors themselves (the Christoffel symbols, for example). Should this also become part of the units library? What about the fact that the algebra of two index tensors is not the same as the algebra of matrices? Do we need to add something else to account for that? What about magnitudes of vector and pseudovector quantities? The magnitude of a torque makes complete physical sense, it is a scalar, and it is still a bad idea to add one to an energy. No, on the whole I think te units and dimensions library should try to retain focus on units and dimensions. That is already a huge issue, and it has more than sufficient complexity on its own. Tensors are good and very interesting objects, but the only concern the units library should have for them is in picking a design that doesn't automatically break them.
Hope this post would be helpful for units/dimensions subcommunity in this list ;-)
Best regards, Oleg Abrosimov. _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
I think all of this discussion has been quite helpful and valuable for the interested subcommunity. I doubt there is anyone paying attention to it who hasn't learned a few things in the process. John Phillips