
and outer product
vector*transpose(vector) //vector*covector
since a vector is actually a matrix we can transpose it
Well, semantics I know but they are all tensors. A scalar -> tensor of order 0, vector -> a tensor of order 1, matrix -> a tensor of order 2. ;-)
w = wedge(u,v); // Wedge product, function form w = u ^ v; // Wedge product operator form. Though I'm not sure it has the right precedence properties... would be pretty neat. I'll go away and hide now.... unfortunately i think in linalg domain (you think in tensor domain i guess) so we may misanderstand each other in the end i think it's possible to attach a mechanism to support tensor style operations by the way
The more I think about it the less inclined I am towards 'tensors are the one true way'. Since we can ultimately represent everything (conceptually) as matrices it may (perversely) make some sense to treat tensors as a special type of matrix, embuing them with certain properties. This way it keeps the development reasonably sane, works for most of the people all the time and could be extended later. I will ponder that.... -ed