找回密码
 注册
Simdroid-非首页
查看: 101|回复: 2

大型矩阵求解

[复制链接]
发表于 2011-7-17 16:40:29 | 显示全部楼层 |阅读模式 来自 江西赣州
我这有个(125000X125000)的稀疏矩阵a,现需要求解au=b;b为已知,求解U值。直接左除的方法会出现out of memory!求教是否有其他求解办法??
发表于 2011-7-17 20:27:31 | 显示全部楼层 来自 上海闸北区
Simdroid开发平台
最方便快捷的办法,增加内存,安装64位的操作系统和64位的matlab;
第二简便的方法是,把矩阵分块求解,暂时利用不到的部分写入硬盘,需要的时候读取;
其次就是改用压缩行(列)、坐标存储方式,减少内存使用量
如果lz会C/C++、Fortran 的话,可以安装intel的ivf专业版,里面自带pardiso,利用C/C++或Fortran调用pardiso求解,当然矩阵必须是压缩行(列)或者坐标存储格式的
根据偶的经验,对于有限元生成的对称正定刚度阵而言,采用压缩行(列)存储方式,大致上4G内存的机器,利用64位的matlab,应该可以计算10wX10w数量级的矩阵
lz可以先用spy画一张图,看看矩阵的稀疏性

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2011-7-17 21:23:23 | 显示全部楼层 来自 江西赣州
2# pasuka
我也想过要分块求解,但不知道如何下手。我要求u=a\b,如何分块呢?这就相当于一个大型线性方程组的求解,x1~xn是有关联的,怎么就能分开呢?
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-6 10:32 , Processed in 0.037487 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表