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
The component-wise sum of and ,
if the dimensions match;
otherwise, returns an error
Adds to every element of
Returns unevaluated
Adds to the main diagonal of
if dimensions and orientations match;
An error
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.
The component-wise product of and , if the dimensions match;
Multiplies every element of by
An error (must use the '.' (dot) operator)
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: and . (The deprecated notations, and , respectively, are similarly interpreted.)
Otherwise, the following interpretations of a power of an rtable apply.
The component-wise exponentiation of .
Constant c can be any (complex) numeric value.
If M is square and c is a positive integer, then
the result is the matrix product ...
(c factors using the dot operator)
If c is a negative integer, the result is
( ... ) ( factors using
the dot operator)
If , the result is
If is not an integer, it returns unevaluated
Direct evaluation of these expressions is implemented by calls to the rtable/Power library routine.
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
Note the difference between * and . when one operand is a symbolic scalar.
See Also
Array
dot
LinearAlgebra[Transpose]
Matrix
rtable
Vector
Download Help Document