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