Option variable
matrix_element_transposeDefault value: false
matrix_element_transpose is the operation
applied to each element of a matrix when it is transposed.
matrix_element_mult can be assigned any unary operator.
The assigned value may be the name of an operator enclosed in quote marks,
the name of a function,
or a lambda expression.
When matrix_element_transpose equals transpose,
the transpose function is applied to every element.
When matrix_element_transpose equals nonscalars,
the transpose function is applied to every nonscalar element.
If some element is an atom, the nonscalars option applies
transpose only if the atom is declared nonscalar,
while the transpose option always applies transpose.
The default value, false, means no operation is applied.
Examples:
(%i1) declare (a, nonscalar)$ (%i2) transpose ([a, b]); [ transpose(a) ] (%o2) [ ] [ b ] (%i3) matrix_element_transpose: nonscalars$ (%i4) transpose ([a, b]); [ transpose(a) ] (%o4) [ ] [ b ] (%i5) matrix_element_transpose: transpose$ (%i6) transpose ([a, b]); [ transpose(a) ] (%o6) [ ] [ transpose(b) ] (%i7) matrix_element_transpose: lambda ([x], realpart(x) - %i*imagpart(x))$ (%i8) m: matrix ([1 + 5*%i, 3 - 2*%i], [7*%i, 11]); [ 5 %i + 1 3 - 2 %i ] (%o8) [ ] [ 7 %i 11 ] (%i9) transpose (m); [ 1 - 5 %i - 7 %i ] (%o9) [ ] [ 2 %i + 3 11 ]