• 全部
  • 问答

HugeCalc V5.1.0.1 rc 终于面世了!欢迎讨论!

gxqcn 2005-10-14 12:58:24
HugeCalc V5.1.0.1 rc 终于面世了!欢迎讨论!

HugeCalc 是一款高精度算法库(同时包含 MBCS + UNICODE 版),适合于大规模科学计算,尤其适用于数论、密码学等领域研究,其核心算法耗费作者十余年的心血。具有占用资源少、效率高、使用便捷、易二次开发、可移植性强、可扩展性好等特点。关键文件 HugeCalc.dll 虽然很小,却提供了 428 个功能接口,且其计算速度完全可与大型专业数学工具软件媲美!其最核心的算法现已优于当前的 apfloat、Mathematica、Maple,甚至 GMP!

HugeCalc 现有公共接口 428 个,提供了如下功能:
⊙ 高精度快速加法
⊙ 高精度快速减法
⊙ 高精度快速乘法
⊙ 高精度快速除法
⊙ 高精度快速同余
⊙ 高精度快速位运算
⊙ 高精度快速乘方
⊙ 高精度快速开方
⊙ 超大整数快速取对数
⊙ 高精度快速求排列
⊙ 高精度快速求组合
⊙ 高精度快速阶乘、双阶乘
⊙ 高精度快速计算 Fibonacci 数列
⊙ 高精度快速乘积取模
⊙ 高精度快速数论倒数取模运算
⊙ 高精度快速乘方取模(支持负指数)
⊙ 高精度快速求最大公约数(支持群组运算)
⊙ 高精度快速计算扩展最大公约数
⊙ 高精度快速求最小公倍数(支持群组运算)
⊙ 高精度快速“等幂和”(支持群组运算)
⊙ 高精度快速任意进制转换
⊙ 自由指定有效位运算
⊙ 强大而灵活的输出
⊙ 高精度计时器(有暂停、累计、复位等功能)


为了与广大网友分享 HugeCalc 带来的便捷,该版公开了 HugeCalc.dll 的所有接口文件(同时包含 MBCS + UNICODE 版),大家可以更自由地进行高精度计算或自开发,而无须再依赖于 Mathematica 等大型软件。

相对于前一版,V5.1.0.1 不仅仅新增了许多公共函数,还优化了很多核心算法;并放宽了对未注册用户的使用限制,提供多种模式以供未注册用户进行试用和评估。



What's new:
⊙ 新增一些数论函数
⊙ 新增指定精度函数
⊙ 原进制转换结构更改为导出类
⊙ 优化了许多核心算法
⊙ 放宽对未注册用户的使用限制
⊙ 提供多种模式以供未注册用户进行试用和评估
⊙ 导出函数新增到 428 个
⊙ 修改了注册程序 RegDLL.exe,使之更智能
⊙ 改进了 PrimeNumber.exe,可以迅速预测出屏幕输出的字串长度、文件输出的大小及行数等信息

下载地址(在正式版发布前有效,1.55 MB):
http://maths.myrice.com/download/HugeCalcV5101rc.rar
http://www.freewebs.com/maths/download/HugeCalcV5101rc.rar



欢迎您使用并反馈信息(在正式版发布前联系作者可能得到免费注册码)!
正式release 日期定于 2005-10-18(Why? ——这是我的结婚纪念日!)

在本帖留言者均有分;
留序列号者将有机会得到注册码;
提交新bug者将免费成为注册用户!

欢迎大家踊跃讨论,无论是提出批评和建议,我将虚心接受。。。
...全文
468 点赞 收藏 32
写回复
32 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
gxqcn 2005-10-31
今天是十月的最后一天,我打算在明天结帖。

楼上的朋友,以前曾有过e-Mail联系的,基本上已获得注册码;
对HugeCalc感兴趣者,请在今天内将你机器上的SN号发在帖子里(SN号不含任何用户隐私信息),我将在明天结帖前(部分的)集中免费发放注册码,过期不候。
回复
yingle2000 2005-10-30
mark
回复
gxqcn 2005-10-28
原链接文件不知何故被网站删除,现下载链接文件名改为(经测试正常):
http://maths.myrice.com/download/AutomorphicNumber_src.rar (8.62 KB)
回复
gxqcn 2005-10-27
to thirdapple(.:RNPA:.陨落雕 - O(1)的未来) :
HugeCalc 本身不直接对矩阵进行运算,但你可以调用它进行相关运算。

to mmmcd(超超):
以前我们曾讨论的《求解b进制的n位自守数》,该帖不幸被“蒸发”了(可笑的是,它还一直在本版置顶),幸亏我早有准备,将它收集到我的个人主页中了:
http://maths.myrice.com/florilegium/csdn/AutomorphicNumber.htm
在该帖中我写了一些源代码,随着 HugeCalc V5.1.0.1 的稳定并发布,现将该部分源代码也单独打包一并发布,下载链接为:http://maths.myrice.com/download/AutomorphicNumber(src).rar (8.62 KB)
回复
WoodJohn 2005-10-23
支持学习
回复
thirdapple 2005-10-23
楼主,计算672*672的对称矩阵特征值大概要多长时间?
回复
taney 2005-10-23
怎么搞的
安装了也不行还是出现错误
HugeCalc_Example.cpp
f:\hugecalc\copyrightbyguoxianqiang\hugecalc\hugecalc_dll_import\include\hugeint.h(115) : fatal error C1001: INTERNAL COMPILER ERROR
(compiler file 'msc1.cpp', line 1786)
Please choose the Technical Support command on the Visual C++
Help menu, or open the Technical Support help file for more information
回复
taney 2005-10-23
是的
可以用了
原来是由于网络的限制
我用的是教育网
找个代理就行了
回复
gxqcn 2005-10-22
从 http://www.sgi.com/tech/stl/download.html 中可以下载 STL v3.3 http://www.sgi.com/tech/stl/stl.zip

刚试过,没问题啊。
回复
taney 2005-10-22
我怎么下不了SGI-STL啊
网页已经过期了
回复
gxqcn 2005-10-20
我曾对SGI-STL的代码局部作了修订,使之更合理,
不同步作该修订并不会影响对 HugeCalc 的调用。

to liangbch(宝宝):
若能作些全面测试,我将感激不尽!
V5.1.0.1 已新增了指定精度的相关函数,为完全精度向任意精度作好了铺垫。只是我精力有限,暂不会考虑编写浮点库的打算(我开发 HugeCalc 的初衷仅是为了方便数论研究)。
回复
liangbch 2005-10-20
1.下载了sgi的stl后,vc6.0 编译通过。
2.我很愿意对这个算法包进行测试,只是现在很忙,等有时间我会做一些测试的。
2.纯粹的整数计算应用有限,楼主是否有编写 通用任意精度算法库的计划((我指可以计算小数的四则运算,甚至可以计算三角、对数等初等函数)。
回复
NowCan 2005-10-18
没有过期啊,正常。
回复
boylez 2005-10-18
myrice的页面过期了,我这里是这样,大家呢?
回复
gxqcn 2005-10-18
请确认是否打了sp6补丁?我这里情况都是好的。

另外,该工程用到了 SGI-STL,所以请到 http://www.sgi.com/tech/stl/download.html 下载安装一份STL,并在 VC 的 Tools->Options->Directories->Include files 中将 SGI-STL 目录加进去并提到最前。(在头文件 HugeCalc.h 中已有说明)
回复
mmmcd 2005-10-18
HugeCalc_Example中的工程用vc6编译出错:

hugecalc_dll_import\include\hugeint.h(115) : fatal error C1001: INTERNAL COMPILER ERROR
(compiler file 'msc1.cpp', line 1786)
Please choose the Technical Support command on the Visual C++
Help menu, or open the Technical Support help file for more information
回复
gxqcn 2005-10-18
HugeCalc V5.1.0.1 已正式发布!
见:http://maths.myrice.com/software.htm#02 (同时将 HugeCalcV5101rc.rar 删除)

正式版比rc版更稳定,速度更快!欢迎下载!

以上回复的朋友,若对之感兴趣,请留 SN 号,我将免费发送注册号。
此帖继续留言讨论者,每天从中随机赠送3个注册号,直至本月底结束。

由于连续奋战,我现在非常疲乏,对网友们的问题暂不回复,请见谅!(过几天再补上吧)
回复
gxqcn 2005-10-18
关于对数计算,咱们以前曾有讨论。

我的问题要求是:“整数关于整数取对数,结果精确到整数”。所以估计用复杂的函数反倒不划算。
(其实,HugeCalc 内部全部是整型函数,所以它在 AMD CPU 上运行性能更突出。)
回复
liangbch 2005-10-18
上面的算法描述我不太懂,但是我觉得这个算法是低效的。
 关于AGM(算术几何平均数)算法,请参阅这篇文章(http://numbers.computation.free.fr/Constants/Log2/log2.html),在该文的第7节,log 2 and the AGM,有该算法的介绍。
 我看了一下apfloat的源代码,它的求对数,甚至三角函数的算法都是基于AGM算法的。

 另外我也自创了一个求对数的算法,这个算法是基于Mercator series (即log(x)泰勒展开式的)的,它的复杂度为大抵为O(n^2),n为精度,即精确到多少位有效字。

我们知道,当 x较大时,log(1+x)的泰勒展开式的的收敛很慢,纵使x很小,如 x<=1e-9,当精度要求很高时,如果在大数乘法的复杂度为O(n^2),使用泰勒展开式复度度仍为O(n^3).我的算法是分解(1+x),使其等于(m/n)*(1+x0)(1+x1)(1+x2)(1+x3)(1+..),x0<1e-9,x1<1e-18,x2<1e-27,以此类推。且x0,x1,x2,x3的有效字仅为9位,因此log(1+xn)的速度较快。m/n 可表示为p1*p2*p3*../(q1*q2*q3* ..) p(i),q(i)均为小于50的小质数,它的对数可事先求出。这样可以使总的代价降至O(n^2),具体实现比较复杂,这里就不细述了。

回复
gxqcn 2005-10-18
HugeCalc中计算对数算法是我自创的,下面是简略思路:

记当前数为 A, 底数为b,要计算的对数:x <-- 0
1、先求底数b的2整数次幂的乘方序列:b, b^2, b^4, ..., b^(2^k)(直至 >= A)
2、A = q*(b^(2^k))+r,如果 q != 0,则 x += 2^k;
3、A <--> q,--k,重复2,直至 k==0 结束

我不知道“AGM算法”,可以介绍一下吗?
回复
相关推荐
发帖
数据结构与算法
创建于2007-08-27

3.2w+

社区成员

数据结构与算法相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2005-10-14 12:58
社区公告
暂无公告