找回密码
 欢迎注册
查看: 31094|回复: 26

[提问] 征集求解线性方程组的数学软件

[复制链接]
发表于 2010-3-1 14:55:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
  我在求解小素数的自然对数算法中,需要求解线性方程组,我的这个程序在运行过程中,按照一定的规则,构造出成千上万的方程组,然后逐一求解。如果方程组有解,将这个方程组和它的解保存到文件。求解的方程组具有这样的特性,系数矩阵和方程组右边的列矩阵都是整数,要求方程组的解也必须为整数(如果解不是整数,视为无解)。基于速度考虑,我自己用C言语编程实现了线程方程组解法。目前我的程序可解2到31阶的整系数线性方程组,运算速度很快。在我的实现中,参与运算的变量为64bit整数,在求解高阶的方程组时,有时会遇到整数溢出,这会漏掉部分方程组的解。我的想法是对于可导致整数溢出的线程方程组,重新采用数学软件来求解。现征集可求解线性方程组的数学软件,要求:

  1.至少能求10阶以上的线性方程组。
  2.必须有编程接口,或者命令行或者脚本接口。GUI接口对我来说意义不大。
  3.软件是免费的,或者有破解版或者注册码,我需要在本地安装来使用。
  4.最好给出使用方法。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-3-1 15:05:24 | 显示全部楼层
可不可这样考虑:取一个大素数为模,将待解线性方程组看做是一个同余方程组,在解同余方程时就不存在整数溢出的问题了。如果有解,再代入判定是否合法。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-3-1 15:18:32 | 显示全部楼层
不错的主意!能给出同余方程组解法的一些资料或者给出一个简单的例子吗?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-3-1 15:27:39 | 显示全部楼层
估计也就是消元什么的,
模运算可以让任意非0系数变为1,消元就简单多了。
且用模运算,不存在分数,不存在小数精度损失等问题。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-3-1 15:30:16 | 显示全部楼层
GSL - GNU Scientific Library

先看看gsl文档中关于解线性代数的部分吧
http://www.gnu.org/software/gsl/ ... Linear-Algebra.html
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-3-1 15:35:48 | 显示全部楼层
本帖最后由 wayne 于 2010-3-1 15:44 编辑

5# wayne


还有老牌的lapack++,大名鼎鼎的矩阵计算软件MATLAB就发源于这个库


=====================================================
哦,这个太老了,好像被TNT更新掉了:
being superseded by the Template Numerical Toolkit (TNT)

TNT由著名的NIST开发,又俗称三硝基甲苯
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-3-1 15:48:31 | 显示全部楼层
楼主系数矩阵及解均要求为整数,不同于一般的线性方程组,应该有特殊的优化手段。
不过,wayne 提供的几个链接也很具有参考价值。
lapack++ 最新版v. 1.1a 更新于 Feb, 2000,好长时间没动静了。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-3-1 15:57:17 | 显示全部楼层
那就试试Mathematica的MathLink吧,提供c/c++接口,回家了我给你弄几个例子

不知道maxima可不可以。。。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-3-1 16:17:59 | 显示全部楼层
刚才查了boost的文档,内容也非常丰富。
http://www.boost.org/doc/libs/1_ ... ublas/doc/index.htm
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-3-1 16:31:26 | 显示全部楼层
我的解法是消元法,将系数矩阵化为上三角矩阵。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-3-29 05:09 , Processed in 0.044357 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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