
I'm assuming that the different forms of bracketing needed in column vectors versus row vectors have some payoff later in terms of being able to use the Dot function with tensors. It is a good feature that I can use oblong matrices to put all my vertices into, so I won't complain too much about these small difficulties. If I have time, I'll try to develop a linear algebra package that lets me use the time-tested traditional notation, from square brackets, to a space meaning matrix multiplication, to always being able to use traditional matrix and vector layout. Even TraditionalForm, doesn't give the expected, traditional list of vectors in column form. But it would be much easier just to have Mathematica convert row and column vectors to lists when they're passed to ParametricPlot, etc.Īlso, couldn't matrices be threaded over lists of vectors, instead of requiring the clutter of mapping the dot-product?Īnd why doesn't MatrixForm applied to the result give me the expected list of matrices, in standard layout. I've figured out that I can just add in a substitution rule to do that, so I guess that's not too much to ask. One main wish: Anywhere we have what is a vector argument to a function, we should be able to type it as a row or column vector. One is not necessarily better than the other. There are different traditions of teaching this stuff. So it's not quite accurate to say that this is "not kosher". When I studied linear algebra, we started with vectors, not "row vectors" and "column vectors", and I didn't find it confusing.
#WOLFRAM MATHEMATICA MATRIX MULTIPLICATION SOFTWARE#
I believe most of these people come from MATLAB or MATLAB-inspired software which typically doesn't support vectors at all, only row and column matrices. This is all unnecessary complication in Mathematica, which does support proper 1D vectors, as well as N-D tensors. On Mathematica.SE I regularly see people trying to use "row vectors" and "column vectors" and a lot of transposision and complex indexing to try to do simple tasks.

I find this implementation much more logical and consistent than what I see in rigidly matrix based systems like MATLAB, which don't even support vectors. Correspondingly, Dot does tensor contraction, not just matrix multiplication. Mathematica was designed to work with tensors of arbitrary dimensions, not just 2-dimensional matrices.
