dot
Syntax
dot(X, Y)
            
or
X**Y
Arguments
X / Y can be a scalar/vector/matrix. If both of X and Y are vectors, they must have the same length. If one of X and Y is a matrix, the other is a vector/matrix and their dimensions must satisfy the rules of matrix multiplication.
Details
Return the matrix multiplication of X and Y. If X and Y are vectors of the same length, return their inner product.
Examples
x=1..6$2:3;
y=1 2 3;
x dot y;
            | #0 | 
|---|
| 22 | 
| 28 | 
x=1..6$2:3;
y=6..1$3:2;
x**y;
            | #0 | #1 | 
|---|---|
| 41 | 14 | 
| 56 | 20 | 
y**x;
            | #0 | #1 | #2 | 
|---|---|---|
| 12 | 30 | 48 | 
| 9 | 23 | 37 | 
| 6 | 16 | 26 | 
a=1 2 3;
shape a;
// output
3:1
x**a;
            | #0 | 
|---|
| 22 | 
| 28 | 
b=1 2;
shape b;
// output
2:1
b**x;  // for a matrix multiplication between a matrix and a vector, the system may rotate the dimension of the vector for the multiplication to go through.
            | #0 | #1 | #2 | 
|---|---|---|
| 5 | 11 | 17 | 
x=1 2 3;
y=4 5 6;
x ** y;
// output
32  // inner product of two vectors. Equivalent to 1*4 + 2*5 + 3*6
x ** 2;
// output
[2,4,6]
x=1..6$2:3
x ** 2;
Error: Use * rather than ** for scalar and matrix multiplication.
        