|
Calling Sequence
|
|
A . B
|
|
Parameters
|
|
|
|
Description
|
|
•
|
The '.' operator performs noncommutative or dot product multiplication on its arguments.
|
|
If A and B are numbers (including complex and extended numerics such as infinity and undefined), then A . B = A*B.
|
|
If A and B are Vectors with the same orientation (i.e., both are row Vectors or both are column Vectors), then A . B is computed by using LinearAlgebra[DotProduct].
|
|
If A and B are Arrays, their product is computed as component-wise multiplication using zip. If A and B do not have the same dimensions, extra entries are ignored.
|
|
Arguments that are not of type Matrix, Vector, constant, or Array are ignored, and A . B remains unevaluated.
|
•
|
Calls to '.' such as A . B . C call `.`(A, B, C).
|
|
In this case, the process is repeated on the (transformed) arguments until no such argument pairs remain.
|
•
|
The dot operator is left-associative.
|
•
|
Note: In Maple, '.' can be interpreted as a decimal point (for example, ), as part of a range operator (for example, ), or as the (noncommutative) 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 noncommutative 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.)
|
|
|
Thread Safety
|
|
•
|
The `.` operator is thread-safe as of Maple 15.
|
|
|
Examples
|
|
>
|
|
>
|
|
>
|
|
>
|
|
>
|
|
>
|
|
If the dimensions of the Arrays are not the same, extra entries are ignored by the dot operator.
|
|
|