Algebra with Matrices, Vectors, and Arrays
Expressions involving sums, products, and powers with rtable objects are evaluated directly. An rtable object is either an Array, Matrix, or Vector.
Description
Sums
Products
Powers
Examples
The result that is returned for a particular expression is described below. In each of the following sections:
- A is an Array
- M is a Matrix
- V is a Vector
- c is a numeric constant
- s is a non-numeric scalar
The result that is returned when an expression of type '+' includes at least one rtable depends on the operands.
Expression
Result
A1+A2
The component-wise sum of A1 and A2,
if the dimensions match;
otherwise, returns an error
A+c
Adds c to every element of A
A+s
Returns unevaluated
M1+M2
The component-wise sum of M1 and M2,
M+c
Adds c to the main diagonal of M
M+s
V1+V2
The component-wise sum of V1 and V2,
if dimensions and orientations match;
V+c
An error
V+s
other
All other combinations raise errors
Direct evaluation of these expressions is implemented by calls to the rtable/Sum library routine.
The result that is returned when an expression of type '*' includes at least one rtable depends on the operands. If the operands are either Matrices, Vectors, or a combination of each (with appropriate dimensions), the '.' operator must be used. The . operator performs noncommutative or dot product multiplcation. For more information, see dot.
A1*A2
The component-wise product of A1 and A2, if the dimensions match;
c*A
Multiplies every element of A by c
s*A
Multiplies every element of A by s
M1*M2
An error (must use the '.' (dot) operator)
c*M
Multiplies every element of M by c
s*M
Multiplies every element of M by s
V1*V2
c*V
Multiplies every element of V by c
s*V
Multiplies every element of V by s
Direct evaluation of these expressions is implemented by calls to the rtable/Product library routine.
The result that is returned when an expression of type '^' includes an rtable object base depends on the exponent type.
There are two cases in which the exponent is interpreted specially: R+=LinearAlgebra:−TransposeR and R*=LinearAlgebra:−HermitianTransposeR. (The deprecated notations, RT and RH, respectively, are similarly interpreted.)
Otherwise, the following interpretations of a power of an rtable apply.
Ac
The component-wise exponentiation of A.
Constant c can be any (complex) numeric value.
As
Mc
If M is square and c is a positive integer, then
the result is the matrix product M·M·M ... M
(c factors using the dot operator)
If c is a negative integer, the result is
MatrixInverse( M·M·M ... M) (c factors using
the dot operator)
If c=0, the result is 1
If c is not an integer, it returns unevaluated
Ms
Direct evaluation of these expressions is implemented by calls to the rtable/Power library routine.
c≔2
A1≔Array⁡1,2,3,4
A1≔1234
A2≔Array⁡u,v,w,x
A2≔uvwx
M1≔1,2|−2,1
M1≔1−221
M2≔2,3|4,4
M2≔2434
V1≔x|y
V1≔xy
1+u2+v3+w4+x
A1+c
3456
A1+s
s+1234
3255
M1+c
3−223
M1+s
s+1−221
A1⁢A2
u2⁢v3⁢w4⁢x
A1·A2
The * operator cannot be used to multiply Matrices or Vectors.
M1 * M2;
Error, (in `rtable/Product`) use *~ for elementwise multiplication of Vectors or Matrices; use . (dot) for Vector/Matrix multiplication
c⁢M1
2−442
c·M1
Note the difference between * and . when one operand is a symbolic scalar.
s⁢M1
s−2⁢s2⁢ss
s·M1
s·1−221
M1·M2
−4−4712
V1·M2
2⁢x+3⁢y4⁢x+4⁢y
A1c
14916
A1s
12s3s4s
M2c
16241828
M2s
2434s
M2%T
2344
V1%H
x&conjugate0;y&conjugate0;
See Also
Array
dot
LinearAlgebra[Transpose]
Matrix
rtable
Vector
Download Help Document