# Non-invasive operators

XXXMatrix operator - ()

Example: B = -A;
Return a new matrix such that each element is the negative of the element of the
source.

XXXMatrix operator ~ ()

Example: B = ~A;
Return a new matrix that is the transpose of the source.

XXXMatrix operator ! ()

Example: B = !A;
Return a new matrix which is the inverse of the source.

XXXMatrix operator ^(int exponent)

Example: B = A^2;
Return a new matrix which is the source matrix to the given exponent power. The exponent can be negative, in which case the exponent is first treated as a positive number and the final result is then inverted.
So A^2 == A*A and A^(-3) == !(A*A*A).

XXXMatrix transpose()

Example: B = A.transpose();
This is the same as the  ~operator but called by a function name instead of an operator.

XXXMatrix inverse()

Example: B = A.inverse();
This is the same as the ! operator but called by a function name instead of an operator.

ComplexMatrix conjugate()

Example: ComplexMatrix B = A.conjugate();
Return a new matrix such that each element is the complex conjugate of the source. This function is defined for the ComplexMatrix class only.

ComplexMatrix hermitian()

Example: ComplexMatrix B = A.hermitian();
Return a new matrix which is the Hermitian Transpose (conjugate transpose) of the source. This function is defined for the ComplexMatrix class only.