Addition - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Mozilla Firefox.

Online Help

All Products    Maple    MapleSim


Operators in the Student:-LinearAlgebra Package

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

A + B

A . B

x * A

A * x

A ^ n

A ^ +

Transpose(A)

A ^ *

HermitianTranspose(A)

v &x w

Parameters

A

-

Matrix, Vector, or scalar

B

-

Matrix, Vector, or scalar

x

-

scalar

n

-

integer

v

-

3-D Vector

w

-

3-D Vector

Description

• 

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.

Examples

> 

with⁡Student:-LinearAlgebra:

> 

A≔1,2|3,4|5,6

A≔135246

(1)
> 

A+1

235256

(2)
> 

B≔a,b|c,d

B≔acbd

(3)
> 

B·A

a+2⁢c3⁢a+4⁢c5⁢a+6⁢cb+2⁢d3⁢b+4⁢d5⁢b+6⁢d

(4)
> 

A·B

Error, (in LinearAlgebra:-Multiply) first matrix column dimension (3) <> second matrix row dimension (2)

> 

A%T

123456

(5)
> 

B−1

da⁢d−b⁢c−ca⁢d−b⁢c−ba⁢d−b⁢caa⁢d−b⁢c

(6)
> 

B%H

a&conjugate0;b&conjugate0;c&conjugate0;d&conjugate0;

(7)
> 

v≔1&comma;0&comma;−1

v≔10−1

(8)
> 

A·v

−4−4

(9)
> 

v%T

10−1

(10)
> 

v&x2&comma;3&comma;4

3−63

(11)
> 

v·2&comma;3&comma;4

−2

(12)
> 

3⁢v

30−3

(13)
> 

x⁢A

x3⁢x5⁢x2⁢x4⁢x6⁢x

(14)
> 

x·A

x·135246

(15)

See Also

Operators

Student:-LinearAlgebra