next up previous contents index
Next: MatMult[x, y, ] Up: NC Commands Previous: NCHessian[afunction, ]   Contents   Index

Block Matrix Manipulation

By block matrices we mean matrices with noncommuting entries.

The Mathematica convention for handling vectors is tricky.

   v={{1,2,4}}
is a 1$ \times$3 matrix or a row vector
   v={{1},{2},{4}}
is a 3$ \times$1 matrix or a column vector
   v={1,2,4}
is a vector but NOT A MATRIX. Indeed whether it is a row or column vector depends on the context. DON'T USE IT. Always remember to use TWO curly brackets on your vectors or there will probably be trouble.

As of NCAlgebra version 3.2 one can handle block matrix manipulation two different ways. One is the old way as described below where you use the command MatMult[A, B] to multiply block matrices A and B and tpMat[A] to take transposes. The other way is much more pleasing though still a little risky. First you use the NCGuts[] with the Options NCStrongProduct1 $ \rightarrow $ True to change $ **$ to make block matrices multiply corectly. Further invoke the Option NCStrongProduct2 $ \rightarrow $ True to strengthen the power of $ **$. Now one does not have to use MatMult and tpMat; just use $ **$ and $ tp$ instead it recognizes matrix sizes and multiplies correctly.



Subsections
next up previous contents index
Next: MatMult[x, y, ] Up: NC Commands Previous: NCHessian[afunction, ]   Contents   Index
NCAlgebra Project 2002-09-09