dot
语法
dot(X, Y) 或 X**Y
详情
返回 X 和 Y 的矩阵乘法。如果 X 和 Y 是具有相同长度的向量,返回它们的内积。
与 Python 中 numpy.dot 的区别:numpy.dot 对
1-D、2-D、N-D 数组分别采用不同乘法规则,并支持 out 参数;DolphinDB 的
dot 支持标量、向量和矩阵,两个向量返回内积,矩阵与向量相乘时会自动调整向量维度,且
X**Y 可作为矩阵乘法操作符。
参数
X 和 Y 可以是标量、向量或矩阵。如果 X 和 Y 都是向量,他们必须具有相同的长度。如果 X 或 Y 的其中一个是矩阵,另一个必须是维度满足矩阵乘法规则的向量或矩阵。
返回值
返回一个标量、向量或矩阵。
例子
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;
// 对于矩阵和向量之间的矩阵乘法,系统会自动转换向量的维度以便完成乘法。
| #0 | #1 | #2 |
|---|---|---|
| 5 | 11 | 17 |
x=1 2 3;
y=4 5 6;
x ** y;
// output
32
// 两个向量之间的内积。等价于 1*4 + 2*5 + 3*6
x ** 2;
// output
[2,4,6]
x=1..6$2:3
x ** 2;
// output
Use * rather than ** for scalar and matrix multiplication.
相关函数:rowDot
