找回密码
 欢迎注册
查看: 13147|回复: 4

[讨论] 祝贺增设数学软件版块,希望促进数学软件开发研究!

[复制链接]
发表于 2011-1-21 16:42:19 | 显示全部楼层 |阅读模式

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

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

×
数学软件是matlab、maple、Mathematica 等国外软件的天下,国内的研究大多是如何更好地使用这些软件,这样会永远跟在别人后面。

这些软件实在太强大了,但并非尽善尽美。举例来说,国产的优化软件1stOpt的优化算法是世界领先的。郭先生的HugeCalc也有众多亮点,拥有世界领先的大数算法。

软件的核心的东西是算法。国外的软件公司汇集了很多优秀的算法,人力、物力、财力巨大,所以长成了软件大鳄。以matlab为例,众多的实用工具箱恐怕是受到追捧的重要原因。

国内众多的算法高手,算法之精悍一点也不比国外差,但大多数人的聪明才智只是随着时间的消逝而消逝。

为了能将大家的研究心得与他人共享,因而在此提一个建议:将自己的算法封装到dll中,给出接口说明,便于他人使用。为了有偿使用,鼓励创新,所有dll都提供一个统一的函数接受注册码之类的参数。在这方面,HugeCalc为我们树立了榜样。当然,并不是只有大型的算法才这样做,小巧的自己感觉有价值的算法都可以这样做。

最近在热心网友的帮助调试下,我也写了两个函数:isolve用于求解隐函数方程全部解,solve用于搜索非线性方程组的全部解(尽可能搜索全部解),这两个函数放到了Forcal扩展库FcOpt中(可到我的网站下载OpenFC试用并提出改进意见)。相信大家会写出更多更好的库函数,因而我在这里算是预先献丑,抛砖引玉吧。

欢迎大家讨论。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2011-1-21 20:33:11 | 显示全部楼层
1# forcal
我也写了两个函数:isolve用于求解隐函数方程全部解,solve用于搜索非线性方程组的全部解(尽可能搜索全部解)

关于求根,Mathematica有两大类的 命令,一类是试图求所有确切解的,一类是用随机算法,启发式算法搜索出某一可行解的 , 这第二类命令的函数命名有一个鲜明的特点,就是以Find开头,十分明了,比如:
FindRoot,FindArgMax,FindMinimum
我感觉楼主的这两个函数的命名不够人性化,要是我某天用forcal的话,很可能会把这两个函数名和 功能张冠李戴了
Screenshot.png
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2011-1-21 20:38:46 | 显示全部楼层
国产的优化软件1stOpt,我很早用过,的确很不错,至少比MATLAB爽快利落。
但很多问题,它似乎只能给出一个解,而不能给出所有解,我的意思是说,该软件用的算法似乎都是那种启发式搜索的偏多。

当然了,我对该软件认识的还不够,可这也不能怪我阿,1stOpt根本就没有像样的文档!
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2011-1-22 09:27:05 | 显示全部楼层
2# wayne

关于求根,Mathematica有两大类的 命令,一类是试图求所有确切解的,一类是用随机算法,启发式算法搜索出某一可行解的 , 这第二类命令的函数命名有一个鲜明的特点,就是以Find开头,十分明了,比如:
FindRoot,FindArgMax,FindMinimum
我感觉楼主的这两个函数的命名不够人性化,要是我某天用forcal的话,很可能会把这两个函数名和 功能张冠李戴了
wayne 发表于 2011-1-21 20:33

呵呵,名字起的有些随意了。是不是改成iFindAllRoot和FindAllRoot更好些?或者iFindRoot和FindRoot?i表示隐函数。

请大家给想个更好的名字。名字尽可能简洁些,因为这两个函数很常用。

另外,matlab似乎还没有提供求非线性方程(组)全部解的函数,Mathematica的FindRoot似乎也是只求得一个解。虽然可以通过编程求得全部解,但失去了简单易用性和通用性,一般人不容易掌握。智能化、傻瓜化的东西更容易亲近用户。

哪些软件提供了这个功能,能否介绍一下?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2011-1-22 10:14:03 | 显示全部楼层
关于文档问题,限于目前的状况,我是这样想的:

1、软件功能是本质,文档是现象。现象应该和本质一致,这就是我们所说的表里如一。文档华而不实,会引起人的厌烦;文档太差强人意,会让人失去兴趣;表里如一最好。

2、多数人:Forcal功能似乎不错->看看去->哇,真难看,算了:反正目前我也用不着,以后再说。或者:一看文档就知道不怎么样。

3、少数人:Forcal功能似乎不错->看看去->哇,真难看,不过再看看吧:耐着性子看看,其实问题也都说清楚了。

故目前只有少数真正对Forcal感兴趣的人会认真看Forcal的文档。

对1stOpt,我想也是这样:只有真正需要的人才去使用它。

应该充分发挥详尽文档的作用,Forcal将尽快做到表里如一。

这要再次感谢像bainhome 、wayne 等热心的朋友。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-4-27 07:46 , Processed in 0.047596 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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