paper idea要用到pyamg,虽然这个包只有几行代码,但是还是折磨了我挺久,配置环境什么的就废了挺多时间。

好久没用pyamg了,然后又换了电脑,突然感觉有点方,,都忘了之前怎么弄的,今天运行程序,都没有搞定,,,还好在新笔记本上备份了,,我的天啊,要是要我重写,简直要了我的命。

趁现在保存一下,免得我以后哪天找不到。

当时遇到的几个问题,python要用64位的,不然矩阵太大无法运行。还有啥来着,我忘记了,,,

#导入相关库
import numpy
from scipy.io import loadmat
from scipy.sparse import csr_matrix
from pyamg import ruge_stuben_solver
from pyamg.gallery import load_example
#插入我需要处理的轨迹矩阵
data=loadmat('fW3333.mat')
A=data['fW3333']
B=csr_matrix(A)#这步是报错后好不容易百度出来的,稀疏矩阵压缩
mls = ruge_stuben_solver(B,max_levels=10,max_coarse=3,CF='RS',keep=True)
print (mls)# 每层保留多少
splitting1=mls.levels[0].splitting#获取levels属性中splitting特征,也就是矩阵中不为零的序号
splitting2=mls.levels[1].splitting
splitting3=mls.levels[2].splitting
splitting4=mls.levels[3].splitting

numpy.savetxt('splitting1zz.txt',splitting1)#保存成文本
numpy.savetxt('splitting2zz.txt',splitting2)
numpy.savetxt('splitting3zz.txt',splitting3)
numpy.savetxt('splitting4zz.txt',splitting4)

 附上一个关于的csr_matrix的讲解:http://blog.csdn.net/u013010889/article/details/53305595

另外关于pyamg的具体使用可以参考GitHub上的例子:https://github.com/pyamg/pyamg