diag
语法
diag(X)
详情
处理矩阵的对角线元素,支持以下两种转换:
-
向量转对角矩阵:将向量作为主对角线元素构造对角矩阵。
-
方阵提取对角线:从方阵中提取主对角线元素。
DolphinDB 的
diag 函数和 numpy.diag
函数在基本功能上相似,但在参数设计、功能范围、空值处理上存在区别。- DolphinDB
diag函数仅支持一个参数,不支持对角线偏移、仅能处理主对角线、输入必须是向量或方阵 numpy.diag函数支持可选偏移参数、可以提取/设置任意对角线,输入为一维或二维数组。- 在空值处理方面,DolphinDB
diag函数将 NULL 视为 0,而numpy.diag对 NaN/Inf 采取原样保留策略。
参数
X 是一个向量或方阵。
返回值
-
如果 X 是向量,返回一个矩阵。
-
如果 X 是方阵,返回一个向量。
例子
diag(1..5);
| #0 | #1 | #2 | #3 | #4 |
|---|---|---|---|---|
| 1 | 0 | 0 | 0 | 0 |
| 0 | 2 | 0 | 0 | 0 |
| 0 | 0 | 3 | 0 | 0 |
| 0 | 0 | 0 | 4 | 0 |
| 0 | 0 | 0 | 0 | 5 |
m=1..4$2:2;
m;
| #0 | #1 |
|---|---|
| 1 | 3 |
| 2 | 4 |
diag(m);
// output: [1,4]
