Operators in the Student:-LinearAlgebra Package
A + B
A . B
x * A
A * x
A ^ n
A ^ +
A ^ *
v &x w
Matrix, Vector, or scalar
To add two Matrices, two Vectors, or a Matrix and a scalar, use the syntax A+B. In the case where one of A or B is a Matrix and the other is a scalar, the scalar is interpreted as a diagonal Matrix of appropriate dimensions, with that scalar value along the diagonal.
To multiply two Matrices, a Matrix and a Vector, a Matrix or Vector and a scalar, or to compute the dot product of two Vectors, use the syntax A·B. This "." operator is non-commutative, so it does not rearrange the orders of non-scalar terms.
If A and B are numbers (including complex and extended numerics such as infinity and undefined), then A·B=A⁢B, that is, the '.' operator extends the '*' operator in this case.
If A and B are Vectors with the same orientation (that is, both are row Vectors or both are column Vectors) and dimension, then A·B is computed as their dot product.
If one of A and B is a Matrix or a Vector, and the other is a Matrix, Vector, or constant and the previous case does not apply, then their product is computed as the relevant algebraic operation, without reordering. That is, the '.' operator implements non-commutative multiplication.
The '.' operator is n-ary, meaning that expressions such as A·B·C are interpreted as expected.
Note: In Maple, '.' can be interpreted as a decimal point (for example, 3.7), as part of a range operator (for example, x..y), or as the (non-commutative) multiplication operator. To distinguish between these three circumstances, Maple uses the following rule.
Any dot that is not part of a range operator (more than one '.' in a row) and not part of a number is interpreted as the non-commutative multiplication operator.
Note that the interpretation of the phrase "not part of a number" depends on whether you are using 1-D or 2-D input mode. In 1-D input mode, interpretation proceeds from left to right, and a dot following a number will be interpreted as a decimal point unless that number already contains a decimal point. In 2-D input mode, interpretation is carried out on the expression as a whole, and because spaces and juxtaposition can be interpreted as multiplication, a dot which is immediately preceded or followed by a number is always interpreted as a decimal point.
For example, in 1-D input mode, 3.4 is a number, 3. 4 is an error and 3 .4 and 3 . 4 return 12. 3. .4 is 12. and 3..4 is a range.
In 2-D input mode, 3.4 is a number, 3. 4 and 3 .4 are errors and 3 . 4 returns 12. 3. .4 is an error and 3..4 is again a range. (All of the errors shown by these examples are due to the rule that a number cannot appear as the right-hand operand of an implicit multiplication operation. In such cases, use of explicit multiplication (*) can avoid the error. See also 2-D Math Details for more information.)
It is an error to use the "*" operator between operands that are both Matrices or Vectors. To multiply a scalar, x, and a Matrix or Vector, you can use x * A or A * x. There is a small, but important, difference between x·A and x⁢A in this case, where x is a scalar and A is a Matrix or Vector. Namely, if x is a symbolic expression (not a constant), then x⁢A performs the componentwise multiplication, while x·A returns unevaluated.
If A is a square Matrix, then its (integer) powers can be computed using the syntax An, where n is an integer. If n is negative, An=A−1−n, where A−1 is the inverse of A (if it exists).
The transpose of a Matrix or Vector is obtained by the special syntax A+ or the Transpose(A) command.
Similarly, the Hermitian transpose of a Matrix or Vector is obtained by the special syntax A* or the HermitianTranspose(A) command.
The cross product of two 3-D Vectors is computed using the syntax v&xw.
A ≔ 1,2|3,4|5,6
B ≔ a,b|c,d
Error, (in LinearAlgebra:-Multiply) first matrix column dimension (3) <> second matrix row dimension (2)
v ≔ 1,0,−1
v &x 2,3,4
Download Help Document