zoukankan      html  css  js  c++  java
  • python 应用 pyamg

    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

  • 相关阅读:
    SQl语句学习笔记(二)
    Adaboost 算法
    降维PCA技术
    scanf 格式化字符串详解
    大小端模式和位域详解(转载)
    推荐系统开源软件列表汇总和点评(转载)
    遗传算法入门(转载)
    大白话解析模拟退火算法(转载)
    机器学习相关——协同过滤(转载)
    python面向对象之单例模式
  • 原文地址:https://www.cnblogs.com/Roxy121314/p/8480783.html
Copyright © 2011-2022 走看看