The `*` binary operator normally represents the product of its
operands element-by-element, following the same conformability rules as
the other binary operators. However, by marking one dimension of its left
operand and one dimension of its right operand with `+`,
`*`
will be interpreted as a matrix multiply along the marked dimensions. The
marked dimensions must have the same length. The result will have the unmarked
dimensions of the left operand, followed by the unmarked dimensions of
the right operand.

For example, if `x` is a 12-by-25-by-35 array, `y` and
`z`
are vectors of length 35, and `w` is a 9-by-12-by-7 array, then:

x(,,+)*y(+) |
is a 12-by-25 array |

y(+)*z(+) |
is the inner product of y and z |

x(+,,)*w(,+,) |
is a 25-by-35-by-9-by-7 array |

- Language Reference
- Function Reference
- Including Source Files
- Comments
- Issuing Shell Commands
- Matrix Multiplication
- Information About Variables
- Elementary Functions
- Advanced Array Indexing
- Index Range Functions
- Logical Functions
- Interpolation and Lookup Functions
- Sorting
- Transposing
- Manipulating Strings
- Generating Simple Meshes
- Using Pointers
- Instancing Data Structures
- Reshaping Arrays

- I/O Reference