Julia has N-vectors in addition to matrices, for performance reasons, as 
far as I know. N-vectors have only one dimension while matrices have two 
(even Nx1 and 1xN ones).

In most linear algebra operation N-vectors behave like Nx1 matrices, this 
means you can multiply a NxN matrix with N-vector. In addition when you 
extract a column from a matrix ( A[:,1] ) it gives you a N-vector and not a 
Nx1 matrix, while getting a row gives you a 1xN matrix.

Transposition automatically convert your N-vector to a matrix, this leads 
to the weird inequality a != a'' because a and a'' are not of the same type.

All of this seems a bit weird, and I don't completely understand why it 
works like that, but there's some reasons, either performances or design, 
for why it's like that. It's not a big deal in practice though, once you 
understand how it behave.

  

Reply via email to