直接算会死人的。根据矩阵特点用不用的分解,写成几个例程,每次实验之前进行尝试,根据尝试结果在算法里决定里决定用哪个。

irst

我想问:

1.全阶矩阵A的求逆运算inv(A) 和稀疏矩阵B(阶数和a一样)

的求逆运算inv(B)是不是采取一样的方法啊?也就是说他们的

计算量是不是一样的啊?不会因为是稀疏矩阵就采取特殊的

方法来处理求逆吧?

我电脑内存256M ,做4096*4096的矩阵求逆还可以,上万阶的

就跑不动了

稀疏存储方式会减少不必要的计算,虽然原理还是一样,不过

计算量大大减少了。

2.如果一个矩阵C非零元素都集中在主对角线的周围,那么对C求逆最好

应该采用什么样的方法最好呢?

一般还是用LU分解+前后迭代的方法,如果矩阵对角占优就更好办了。

只不过还是需要稀疏存储。

稀疏矩阵的逆一般不会是稀疏矩阵,所以对高阶的稀疏矩阵求逆,

是不可行的,对1万阶的全矩阵需要的内存差不多已经达到了pc的

极限,我想最好的办法就是迭代,既然是稀疏,乘法的次数就有限,

效率还是很高的。

不过求逆运算基本上就是解方程,对稀疏矩阵,特别是他那种基本上非零元素都在对角线附近的矩阵来说,LU分解不会产生很多的注入元,所以用LU分解解方程方法的方法是可行的。

如果用迭代法,好像也就是共轭梯度法了。

C的资源网络上有很多 google一下

或者到 www.csdn.net,oonumerics.org上找找

或者用IMSL for C

或者用Lapack

或者用Matlab+C混合编程

有现成代码,但要你自己找了

也可以使用程序库

second

30,000*30,000的稀疏矩阵求逆如何实现?

试试基于krylov子空间方法的算法吧。

如arnoldi和GMRES方法。

matlab中有函数可以直接调用。

直接help gmres就可以了。

如果效果还不好 。

就用用预处理技术。

比如不完全lu预处理方法。。等等。。

各种各样的预处理+GMRES是现在解决大规模稀疏矩阵的主力方法。。

维数再多还是用不完全LU分解预处理+CG or Gmres

我一个同学这么求过200W阶的矩阵

求逆一般是不可取的,无需多说。但稀疏矩阵的直接解法还是不少的。基本上都是对矩阵进行重新排序以期减少填充或运算量。

在matlab里面,有许多算法可以利用:

colamd, colmmd, colperm, spparms, symamd, symmmd, symrcm.

根据是否对称,采用LU分解或者chol分解。

这些算法在internet上搜一下,很多都有相应的C或fortran版本。

稀疏矩阵的存储最常见的是压缩列(行)存储,最近发现一种利用hash表来存储的,其存取复杂度是O(1),很是不错。有幸趣的可以看看下面网页咯,作者提供了源程序。

事实上Hash表存储的效率也跟Hash算法有关,弄不好的话,不见得比直接按行或者列

顺序检索快。而且规模越大,效率肯定越来越低。

http://www.informatik.hs-bremen.de/~brey/

对称正定的稀疏矩阵很好办啊,用LU分解就可以了。

如果维数实在太大,比如超过10^4量级,那就只能用

共轭梯度法之类的迭代法求解了。

好多文献中用Cholesky分解处理的,好像结果还可以

你觉得LL’分解不会破坏矩阵的稀疏性么——如果矩阵不是带状的话?

而且数值稳定性也有问题。

对于一些注入元不是很多的矩阵这应该是个好办法。

但是对于有些矩阵,LU分解后可能就把整个矩阵充满了。~

这是比较郁闷的事情。。

third

带状矩阵的逆有快速算法吗?

我觉得这个说法不对,至少在Matlab里面,使用稀疏矩阵求逆对于效率的提高还是很显著的。利用稀疏特性,很多对于零元素的操作就省掉了。如果原矩阵还是对称的,可以考虑三角分解,把单位阵的列向量作为右端项,求解得到的是对应的逆阵的列向量。

但是,按照前辈的说法,“绝大部分情况下,求逆阵肯定不是必需的”,这一说法我现在还是挺赞同的。 至少, 一般我们不会在有限元求解或者普通的线性方程组求解的时候,是先对系数矩阵求逆的吧。 所以,我认为,逆阵在数学上很漂亮,对于公式推导有所帮助,但是在数值计算中是应该尽量避免直接计算它的,而且,更重要的是,在绝大部分情况下,是可以避免的。

matlab上万大型矩阵求逆,要好好总结一下超大矩阵求逆的技巧了相关推荐

  1. 一次调频matlab仿真,基于Matlab的大型火电机组一次调频特性仿真.pdf

    第 33 卷 第 14 期 电 网 技 术 Vol. 33 No. 14 2009 年 7 月 Power System Technology Jul. 2009 文章编号:1000-3673 (20 ...

  2. matlab到word文字转变,Matlab代码或中文复制到word变成乱码的解决技巧

    Matlab代码或中文复制到word变成乱码怎么处理?本节就主要介绍了Matlab代码或中文复制到word变成乱码的解决技巧,还不了解的朋友就跟着小编学习一下吧,希望对你们有所帮助. 这是小编在Mat ...

  3. matlab 计算大型距离方阵,distance matrix

    转:http://blog.csdn.net/yihaizhiyan/article/details/19410793 利用vlfeat工具包可行. 网址见:http://www.vlfeat.org ...

  4. matlab中a k,Python:相当于Matlab的大型数组的svds(A,k)?

    那么你在寻找什么,在python和numpy中会是这样的(我冒昧地不把'matlab-code'直接翻译成python和numpy,而是重构了一点"感觉'更pythonic [ of'cou ...

  5. 全选主元matlab,全选主元高斯-约当法实矩阵求逆及传统方法求逆

    /* 算法没有做过什么改动,加上了内存释放的部分. 算法介绍 矩阵求逆在3D程序中很常见,主要应用于求Billboard矩阵.按照定义的计算方法乘法运算,严重影响了性能.在需要大量Billboard矩 ...

  6. 大型互联网公司必考java面试题与面试技巧

    ​ 为了节省大家的时间和提高学习效率,一些过时知识点和被笔试概率极低的题目不再被收录和分析. 回答问题的思路:先正面叙述一些基本的核心知识,然后描述一些特殊的东西,最后再来一些锦上添花的东西.要注意有 ...

  7. MATLAB从入门到精通系列之几个实用小技巧

    1.help:最有效的命令 其实可以这样说吧,如果离开matlab软件,我想我自己是基本上什么都不会.一遇到什么问题,通常我的第一反应是:help,就先说说自己对help的一些常用方法吧. (1)命令 ...

  8. MATLAB | 有关数值矩阵、颜色图及颜色列表的技巧整理

    这是一篇有关数值矩阵.颜色矩阵.颜色列表的技巧整合,会以随笔的形式想到哪写到哪,可能思绪会比较飘逸请大家见谅,本文大体分为以下几个部分: 数值矩阵用颜色显示 从颜色矩阵提取颜色 从颜色矩阵中提取数据 ...

  9. matlab日线转周线的做法,技术贴一一趋势线应用技巧:月线、周线、日线、小时、30分钟详解(三)...

    三.趋势线应用法则 1.趋势线的应用法则之一 在上升行情中,股价回落到上升趋势线附近获得支撑,股价可能反转向上:而在下跌行情中,股价反弹到下跌趋势线附近将受到阻力,股价可能再次回落.也就是说:在上升趋 ...

最新文章

  1. mysql基本语句集合
  2. [转]为什么软件开发,人多,事少,还会工作量大?
  3. SQL Server 2008 R2——使用数字辅助表(master..spt_values)实现用计数字段对记录进行重复显示...
  4. 【数据结构与算法】多种语言(VB、C、C#、JavaScript)系列数据结构算法经典案例教程合集目录
  5. vbs运算符号和函数
  6. 针对Parse error: syntax error, unexpected T_PUBLIC in D:报错提醒
  7. 【操作系统】进程与程序的比较
  8. SpringCloud工作笔记046---SpringCloud https证书申请_不同证书区别
  9. linux传输文件命令scp,linux文件传输命令:SCP用法
  10. 有效数据包含额外数据_设置数据有效性的一些技巧
  11. 【优化算法】精子群优化算法(SSO)【含Matlab源码 1465期】
  12. 算法入门—《啊哈算法》读书总结
  13. 邱昭良:“碎片化”学习真是“一场骗局”吗?
  14. 《狂飙》壁纸太帅,Python自动切换太酷(8)
  15. 电子科技大学计算机复试综面,2018年电子科技大学考研复试分数线已公布
  16. 如何将mp4转换mp3音频文件
  17. 2021-06-11认识征信、了解征信,个人征信有什么影响?
  18. [面试经验]某互联网公司霸面经验
  19. 批量抓取并保存考拉海购上的宝贝商品主图和细节图
  20. Java基础-静态代理以及动态代理

热门文章

  1. 我用维权失败经历告诉你,在淘宝上买到假货只能忍气吞声
  2. 图形学进阶——移动端TB(D)R架构基础
  3. 中国各省份省会地图json数据
  4. android 屏蔽wifi功能,Android:若wifi未开启给出相应弹框
  5. 运营必备的神器 | C1N短网址
  6. 队伍不好带!周鸿祎要拆分360业务 鼓励内部创业
  7. 解决 Win 10 ipv6无网络权限/无Internet连接权限 问题
  8. matlab绘制图形hold on_matlab中的hold on 怎么用
  9. 4h上手C++版Opencv
  10. Abp Vnext新增模块