hrefspace

 找回密码
 立即注册
搜索
热搜: PHP PS 程序设计
查看: 1271|回复: 9

征集求解线性方程组的数学软件

[复制链接]

275

主题

454

帖子

1014

积分

大司空

Rank: 5Rank: 5

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

  1.至少能求10阶以上的线性方程组。
  2.必须有编程接口,或者命令行或者脚本接口。GUI接口对我来说意义不大。
  3.软件是免费的,或者有破解版或者注册码,我需要在本地安装来使用。
  4.最好给出使用方法。
回复

使用道具 举报

0

主题

192

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 2024-1-7 06:41:56 | 显示全部楼层
可不可这样考虑:取一个大素数为模,将待解线性方程组看做是一个同余方程组,在解同余方程时就不存在整数溢出的问题了。如果有解,再代入判定是否合法。
回复

使用道具 举报

0

主题

195

帖子

166

积分

关内侯

Rank: 2

积分
166
发表于 2024-1-7 06:42:02 | 显示全部楼层
不错的主意!能给出同余方程组解法的一些资料或者给出一个简单的例子吗?
回复

使用道具 举报

0

主题

171

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2024-1-7 06:42:16 | 显示全部楼层
估计也就是消元什么的,
模运算可以让任意非0系数变为1,消元就简单多了。
且用模运算,不存在分数,不存在小数精度损失等问题。
回复

使用道具 举报

0

主题

212

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2024-1-7 06:43:10 | 显示全部楼层
GSL - GNU Scientific Library

先看看gsl文档中关于解线性代数的部分吧
http://www.gnu.org/software/gsl/ ... Linear-Algebra.html
回复

使用道具 举报

0

主题

181

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2024-1-7 06:43:58 | 显示全部楼层
5# wayne


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


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

TNT由著名的NIST开发,又俗称三硝基甲苯
回复

使用道具 举报

0

主题

202

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2024-1-7 06:44:28 | 显示全部楼层
楼主系数矩阵及解均要求为整数,不同于一般的线性方程组,应该有特殊的优化手段。
不过,wayne 提供的几个链接也很具有参考价值。
lapack++ 最新版v. 1.1a 更新于 Feb, 2000,好长时间没动静了。
回复

使用道具 举报

0

主题

191

帖子

47

积分

新手上路

Rank: 1

积分
47
发表于 2024-1-7 06:45:18 | 显示全部楼层
那就试试Mathematica的MathLink吧,提供c/c++接口,回家了我给你弄几个例子

不知道maxima可不可以。。。
回复

使用道具 举报

275

主题

454

帖子

1014

积分

大司空

Rank: 5Rank: 5

积分
1014
 楼主| 发表于 2024-1-7 06:46:03 | 显示全部楼层
刚才查了boost的文档,内容也非常丰富。
http://www.boost.org/doc/libs/1_ ... ublas/doc/index.htm
回复

使用道具 举报

0

主题

179

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2024-1-7 06:46:31 | 显示全部楼层
我的解法是消元法,将系数矩阵化为上三角矩阵。
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|hrefspace

GMT+8, 2024-11-22 09:26 , Processed in 0.073190 second(s), 21 queries .

Powered by hrefspace X3.4 Licensed

Copyright © 2022, hrefspace.

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