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

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=AB, 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 xA 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 xA 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=A1n, where A1 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

withStudent:-LinearAlgebra:

A1,2|3,4|5,6

A135246

(1)

A+1

235256

(2)

Ba,b|c,d

Bacbd

(3)

B·A

a+2c3a+4c5a+6cb+2d3b+4d5b+6d

(4)

A·B

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

A%T

123456

(5)

B1

dadbccadbcbadbcaadbc

(6)

B%H

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

(7)

v1&comma;0&comma;1

v10−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)

3v

30−3

(13)

xA

x3x5x2x4x6x

(14)

x·A

x·135246

(15)

See Also

Operators

Student:-LinearAlgebra