Option variable
matrix_element_transpose
Default 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 ]