pinverse
语法
pinverse(X)
别名:pinv
详情
计算矩阵 X 的伪逆矩阵。
返回值:双精度浮点矩阵(FAST DOUBLE MATRIX)
参数
X
是一个矩阵。
例子
x=1..42:2;
x.pinverse()
col1 |
col2 |
---|---|
-2 | 1.5 |
1 | -0.5 |
y=1..82:4
y.pinverse();
col1 |
col2 |
---|---|
-1 | 0.85 |
-0.5 | 0.45 |
0 | 0.05 |
0.5 | -0.35 |
s1 = indexedSeries(2012.01.01..2012.01.04, [10, 20, 30, 40])
pinv(s1)
col1 |
col2 |
col3 |
col4 |
---|---|---|---|
0.0033 | 0.0067 | 0.01 | 0.0133 |
m=matrix(1..10, 11..20)
m.rename!(2020.01.01..2020.01.10, `A`B);
m.setIndexedMatrix!()
pinv(m)
col1 |
col2 |
col3 |
col4 |
col5 |
col6 |
col7 |
col8 |
col9 |
col10 |
---|---|---|---|---|---|---|---|---|---|
-0.0945 | -0.0758 | -0.057 | -0.0382 | -0.0194 | -0.0006 | 0.0182 | 0.037 | 0.0558 | 0.0745 |
0.04 | 0.0333 | 0.0267 | 0.02 | 0.0133 | 0.0067 | 0 | -0.0067 | -0.0133 | -0.02 |
当矩阵非满秩时,使用计算逆矩阵(inverse)会报错,此时可以计算伪逆矩阵(pinverse
)。
x=1 2 3 1 2 3$2:3
inverse(x) //报错 The argument of 'inverse' must be a square matrix.
pinverse(x)
col1 | col2 |
---|---|
-0.1067 | 0.2267 |
0.4133 | -0.2533 |
-0.0667 | 0.2667 |
相关函数:inverse