我想在python中得到一个16995乘16995维的稀疏矩阵。我在matlab中有语法,我不知道如何用python编写,以获得与matlab相同的语法和输出。
matlab合成器:
C = [s1 s2 s3;s4 s5 s6;s7 s8 s9];
其中s1、s2、s3、s4、s5、s6、s7、s8、s9是稀疏csr矩阵,每个矩阵的维数为5665乘5665。我如何在python中编写相同的语法来获得精确的维度和稀疏矩阵。
我试过使用块,但它并没有给我正确的尺寸。根据要求,matlab版本的代码:
这最好通过numpy.hstack
和numpy.vstack
来实现。
import numpy as np
C = np.vstack([
np.hstack([s1, s2, s3]),
np.hstack([s4, s5, s6]),
np.hstack([s7, s8, s9]),
])
解决方案:
C = vstack([
hstack([s1, s2, s3]),
hstack([s4, s5, s6]),
hstack([s7, s8, s9])
],format='csr')