V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
mathzhaoliang
V2EX  ›  问与答

现在有公司在做国产的计算机代数/数值软件吗(类似 matlab, mathematica 这种)

  •  
  •   mathzhaoliang · 2018-03-23 10:17:35 +08:00 · 7458 次点击
    这是一个创建于 2469 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我想知道国内是否有公司或者团队在开发类似 matlab, mathematica 这样的计算机代数软件系统?有的话团队带头人是否靠谱?

    美国人一套软件卖你好几万,总这样下去不是个事。中国人不能永远在这些基础软件上受制于人。随着大家对高等教育的质量要求越来越高,对好的软件的需求也越来越大。中国不缺优秀的程序员,但好的程序员都去互联网公司赚钱也非长久之计,提高产业竞争力的核心还是要归结到基础科学上来。

    我个人有一些数学和编程方面的经验,希望从事这方面的工作,但能力浅薄,闭门造车肯定不行,现在已经不是 Wolfram 当年一己之力搞个原型出来就可以到处卖的时代了,所以请 V 友提供下这方面的信息,谢谢!

    个人背景:本人博士毕业于北大数学学院,数学和算法还可以,会用 C 和 python.

    62 条回复    2019-04-06 09:43:06 +08:00
    whitewhite
        1
    whitewhite  
       2018-03-23 10:24:45 +08:00
    板凳瓜子,等大佬
    gowl
        2
    gowl  
       2018-03-23 10:29:35 +08:00
    我觉得从商业和工程以及设计上超越这两位前辈的难度都太大。
    gggxxxx
        3
    gggxxxx  
       2018-03-23 10:30:29 +08:00
    这类软件专业性太强了,国内互联网的程序员大多连高级算法都够呛。
    做这类软件最需要的不是程序员的编码能力,而是对数学概念抽象能力。
    非常支持国产。
    gowl
        4
    gowl  
       2018-03-23 10:30:29 +08:00
    比价格的话又有免费的……
    nbndco
        5
    nbndco  
       2018-03-23 10:30:29 +08:00
    python 和 R 还不够么?
    gowl
        6
    gowl  
       2018-03-23 10:35:16 +08:00
    你可以换个思路,比如说做一个 AI 领域的 Mathematica。
    mathzhaoliang
        7
    mathzhaoliang  
    OP
       2018-03-23 10:35:41 +08:00   ❤️ 2
    @gowl 我觉得可以在算法上下功夫,主攻各种机器学习算法(或者加密算法 /排序算法.. 等等等等),搞差异化竞争啊。如果有一个帮助大家入门各种机器学习算法的软件还是有用的。

    最好开放 lisp 和 python 接口,这样大家既可以用 mma 风格的函数式,也可以用 matlab 的 numpy/matpotlib。

    最后,超越对手的难度大并不是不去做它们的理由,因为难度大才更值得去努力。我不要求几年以后就上市拿股票买房子,我的愿望是有生之年写一个国产软件打败 mma 和 matlab.
    gowl
        8
    gowl  
       2018-03-23 10:36:37 +08:00
    有开创性的东西一开始的时候还真的得闭门造车。
    mathzhaoliang
        9
    mathzhaoliang  
    OP
       2018-03-23 10:38:10 +08:00
    @nbndco 如果够的话,那 matlab 和 mma 为啥还有人用? python 可以在代数数域上做多项式分解,求椭圆曲线离散对数?
    gowl
        10
    gowl  
       2018-03-23 10:41:58 +08:00
    产品和技术是不一样的。你可以算法世界第一高效,但是从那里到产品仅仅是万里长征第一步。
    green15
        11
    green15  
       2018-03-23 10:43:42 +08:00 via iPhone
    数值分析有开源免费软件……忘了叫啥名了,以前用过
    gowl
        12
    gowl  
       2018-03-23 10:43:58 +08:00
    一般软件涉及到“图形”,就不是靠谁聪明了,而是更多地依赖多年的产品积累。
    yech1990
        13
    yech1990  
       2018-03-23 10:46:25 +08:00 via Android
    国内有的话也是基于 R 之类的在做二次开发,有点类似微软的 enterpriseR 那样。
    个人觉得做成这个事基础是先开发一门高效的静态语言,然后才是各种算法库的支持,可视化的实现。而现在从头搞一门语言推广难度略大,MATLAB,R,Python 都诞生于最好的时代,大家都在写汇编的时候,这些语言再怎么折腾都是“简单易懂”的。而在加一个语法糖都要吵半年的时代,门槛会很高。
    是不是私底下有团队在开发就不清楚了。。
    gowl
        14
    gowl  
       2018-03-23 10:49:08 +08:00
    个人智能助理领域似乎还没有“可用”的。最牛的 Siri 可能连猫的”智商“都没有。楼主可以试试这个领域。纯数学软件从头做是做不到 MMA 那样全面的,这是功能上;价格上打不过免费。但是智能助理做到世界第一还是有可能的:)估计我这个频率回复,一会儿就要被 suspend 了,要是不能回复你,可别怪我哦:)
    nbndco
        15
    nbndco  
       2018-03-23 10:49:25 +08:00
    @mathzhaoliang http://www.sympy.org/en/index.html 这个可以用么,我也不搞这个,不确定。

    但是现在用 Matlab 的人真心已经很少了,剩下的更多的也还是在用 simulink。

    而且你是要搞成啥,如果是开源的,你直接投身现有开源框架添砖加瓦就可以了,我很难想象一个商业软件没有对应的开源版本,唯一的问题是开源的在功能上往往是斗不过商业软件;如果是商业软件,那么只有这两家还是有原因的。
    mathzhaoliang
        16
    mathzhaoliang  
    OP
       2018-03-23 10:53:13 +08:00
    @gowl mma 是上世纪八十年代开发出来的,历经了三十年的积累迭代和上百位数学 /编程专家的打磨才有今天,而且需要一个非常稳定的团队。这个壁垒很高,但也没有不可逾越,在今天技术的基础上,我们花上十来年做个比它好的总是不难的。难的地方不在技术,难在人才不愿意做这种来钱慢的事情,大多数人的想法是我今年来了起薪有没有一个月 20k?啥时候给股票?我四十岁的时候能财务自由不?纳斯达克敲钟的时候给个镜头不?做这种软件需要一个核心团队持续十几年做冷板凳。这种人来了也坐不住,这是关键。
    seraphv3
        17
    seraphv3  
       2018-03-23 10:53:20 +08:00   ❤️ 1
    清华原来有个团队在做 mathμ,是一个类似 mathematica 的系统,还写了一本讲算法的书《计算机代数系统的数学原理》,好像后来这批同学毕业了之后这个项目就不太活跃。
    mathzhaoliang
        18
    mathzhaoliang  
    OP
       2018-03-23 10:57:29 +08:00
    @nbndco sympy 效率和功能上都不能和 mma 相比,这个不用想。我举个例子,实现椭圆函数的包 mpmath 是一个个人爱好者开发的,我看过源码,写的不咋地,功能也很有限,其里面用到的高精度数值计算库也是 python 开发的,与 mma 自己本身内置的高精度数值计算算法无法相提并论。
    yech1990
        19
    yech1990  
       2018-03-23 10:59:19 +08:00 via Android
    如果是按照 7 楼的描述,怎么像是要做一个闭源的 GSL
    mathzhaoliang
        20
    mathzhaoliang  
    OP
       2018-03-23 11:00:04 +08:00
    @seraphv3 那个项目现在看是个噱头,我当年在北大的时候还为此专门去过清华,见了他们的主创一面。其实他志并不在此。不过项目初心还是不错的,作品对本科生来说也很棒了。
    gowl
        21
    gowl  
       2018-03-23 11:00:36 +08:00
    mma 的公司有约 800 个全职,这些人每年都在拿着体面的工作改进 mma 的各个方面。超越它应该是越来越难的吧?
    nbndco
        22
    nbndco  
       2018-03-23 11:02:05 +08:00
    @mathzhaoliang 我相信这些开源的东西不太可能比得上商业版的。

    问题是你自己都说了不能看钱,核心竞争力是情怀。可开源的情怀是为了全人类,你的情怀是为了让中国人赚中国人的钱。我觉得竞争力不强啊……
    gowl
        23
    gowl  
       2018-03-23 11:02:34 +08:00
    我不是为了打击楼主而打击楼主,而是怕你误入歧途,浪费了时间……
    mathzhaoliang
        24
    mathzhaoliang  
    OP
       2018-03-23 11:03:05 +08:00
    @yech1990 不用想那么复杂,底层就是 C/C++, 最多有少量汇编或者 fortran. 但是确实需要实现自己的数据类型(高精度计算不可能使用机器精度),顶层开放的编程语言相对没那么重要(个人感觉)。
    Biggoldfish
        25
    Biggoldfish  
       2018-03-23 11:03:16 +08:00   ❤️ 3
    问题是这种软件搞一套“国产”出来的有多少意义呢? MATLAB Mathmatica 凝聚了无数数学家和工程师的努力,本身就值这个授权费用,而且也有 Octave、Scilab 一类的开源产品。“不能永远在这些基础软件上受制于人”,那是不是所有的教科书都得自己编写,发表论文的期刊都是国内的,甚至数学符号也来一套国产的才行呢?
    私以为,以楼主的数学和计算机基础,应该做一些更有开创性的工作,而不是干这种“重复造轮子”的活。
    gowl
        26
    gowl  
       2018-03-23 11:04:22 +08:00
    我在 14 楼的建议其实是个好建议~
    gowl
        27
    gowl  
       2018-03-23 11:07:43 +08:00
    -O 3 的话基本不用考虑折腾汇编了……
    nbndco
        28
    nbndco  
       2018-03-23 11:08:55 +08:00
    @gowl -O 3 一般是不够的,实现底层算法需要考虑的比这个多。
    Qianyu
        29
    Qianyu  
       2018-03-23 11:09:31 +08:00 via Android
    Mathematica 的开源替代 Maxima
    MATLAB 的开源替代 Octave
    如果 lz 不是想做商业的赚钱的话,可以考虑对这两个做贡献
    mathzhaoliang
        30
    mathzhaoliang  
    OP
       2018-03-23 11:09:49 +08:00
    @gowl 这个看你怎么定义歧途了。开发国产操作系统,国产芯片比这还难呢,都是歧途喽?当然国产数学软件没那么重要,没有也不影响中国崛起,最多面子上不好看 ...
    gowl
        31
    gowl  
       2018-03-23 11:11:27 +08:00
    对个体来讲浪费时间的歧途~
    Or2
        32
    Or2  
       2018-03-23 11:14:17 +08:00 via Android
    可以写 Python 的收费 library 可以参考 plotly
    Python 科学计算的很多 library 确实很差。
    gowl
        33
    gowl  
       2018-03-23 11:16:55 +08:00
    你要知道,我拦你是爱你。

    芯片是因为有了自己的,买别人的就可以压价了。操作系统有免费的,不一定要自己做。很多不便宜的高级品都是中国造的,也不一定能为国人撑面子啊……
    gggxxxx
        34
    gggxxxx  
       2018-03-23 11:18:01 +08:00
    软件是人类发明的工具,是用来解决某个事情或者提升效率的。显然国产化意义重大,商业上潜力更是巨大。
    这类软件在国内处境是属于没有被用户正确认识,所以基本没有国内软件公司做。而美帝越战时期就开始把数据分析这套理念运用在战争等领域,当时用的电脑还是穿孔卡输入。
    ouqihang
        35
    ouqihang  
       2018-03-23 11:19:00 +08:00
    这些项目由高校发起,然后进入商业运营比较好,但国内高校你懂的。
    gowl
        36
    gowl  
       2018-03-23 11:19:06 +08:00
    曲线救国:1、做一个超级赚钱的公司; 2、收购 mma。
    mathzhaoliang
        37
    mathzhaoliang  
    OP
       2018-03-23 11:22:49 +08:00
    @Biggoldfish
    @Qianyu

    我的想法不是复制一个 mma 或者 matlab 出来,那肯定浪费时间,做出来了恐怕也没多少人用。搞差异化是必然的。我的初步想法是集中在算法上,比如一个工程专业的学生,他要学习矩阵的 LU 分解,或者通信专业的要学习 BCH 码的编码解码算法,或者现在流行的深度学习,等等。可以让软件在算法与人的交互上下下功夫。。。

    Wolfram 这种公司其实很赚钱,而且竞争压力很小,过得很滋润。。。所以这并不是一个单纯靠情怀忽悠人的工作。
    abmin521
        38
    abmin521  
       2018-03-23 11:39:34 +08:00 via Android
    看过楼主的数学那个 repo 比较赞

    国内和国外不同 生存压力比较大
    mathzhaoliang
        39
    mathzhaoliang  
    OP
       2018-03-23 11:40:19 +08:00
    @gowl 能搞这种软件创业的要么是高校,要么是大公司,要么就是王思聪这种不愁吃穿的富二代(不过好像还没有这种会写代码的富二代)。有一些创业孵化项目大概可以起步的时候资助下,但是恐怕撑不到出成果那天。我打算自己先上着班,业余时候积累下代码,想想架构,也许有一天合适了再扯大旗拉队伍。
    mathzhaoliang
        40
    mathzhaoliang  
    OP
       2018-03-23 11:45:07 +08:00
    @abmin521 嘿嘿刚更新了个新脚本

    ![]( )

    还有很多高维(>3) 和非欧空间里的奇妙数学对象没写呢!
    squid157
        41
    squid157  
       2018-03-23 11:51:33 +08:00
    想在原来那个领域取代是不太可能的,大多数人都是习惯用某一个。

    不过想想什么新的领域,应该会好。只是现在可能都流行做开源的东西了,不能直接带来盈利。
    parkcg
        42
    parkcg  
       2018-03-23 11:58:49 +08:00
    要么已经财务自由了有兴趣研究这方面的东西,要么就工作比较稳定的组个团队兼职做。
    国内生存压力太大了,而且资本市场很浮躁,不可能投资一个 10 年都不一定盈利的公司。
    v2register
        43
    v2register  
       2018-03-23 12:32:16 +08:00
    Wolfram Mathematica 已经开发 30 多年了
    https://en.wikipedia.org/wiki/Wolfram_Mathematica
    l1093178
        44
    l1093178  
       2018-03-23 13:06:42 +08:00
    为什么不直接考虑给 Sympy Scipy 做贡献呢?
    marcolin
        45
    marcolin  
       2018-03-23 15:31:19 +08:00
    还是有人想过做的,比如有个叫杉数科技的公司,创始人是斯坦福叶荫宇教授(冯·诺依曼理论奖的唯一一位华人得主)的学生。他们最早是想做优化算法的软件包,可能类似 linpack 这种。后来应该也是不好做,现在换方向做一些更落地的工程性的东西,还拿了不少订单和投资
    stevenbipt
        46
    stevenbipt  
       2018-03-23 15:36:16 +08:00 via Android
    感觉够呛,也许做出来可能能实现,但是能优化到那个程度就不容易了,而且推广出去也不容易
    casstiel
        47
    casstiel  
       2018-03-23 15:36:19 +08:00
    julia 了解一下
    yianing
        48
    yianing  
       2018-03-23 17:36:59 +08:00
    octave 了解一下
    mathzhaoliang
        49
    mathzhaoliang  
    OP
       2018-03-23 17:43:05 +08:00
    @yianing 我用过,不咋地啊。
    mathzhaoliang
        50
    mathzhaoliang  
    OP
       2018-03-23 17:46:14 +08:00
    @casstiel
    @yianing

    octave, sage, magma, maple 这些我都用过,都不满意。octave 是个阉割的 matlab,我的愿望是 beat matlab,怎么用个 octave 就行了? maple, magma 这些侧重代数符号计算,UI 做的很差,可视化也不行,语言也很啰嗦。sage 就不说了,一锅大杂烩。
    bleaker
        51
    bleaker  
       2018-03-23 17:52:24 +08:00
    如果不是想骗经费(没有任何贬义,大家都是讨生活的),那么重点是做好东西,而不是做国产的东西
    austinchou0126
        52
    austinchou0126  
       2018-03-23 18:21:57 +08:00
    octave 了解一下
    bookit
        53
    bookit  
       2018-03-23 20:38:48 +08:00
    “总这样下去不是个事”,你想太多了,这样下去就是这么回事。

    我以前和哥们一起做了个软件自动化测试的工具,根本卖不出去,国外正版在国内一年销售额才 200 万。

    你这套软件写出来一年能卖多少钱?能有几个付费用户?够不够养活 3、5 个员工?

    不要凭自己的想象和一厢情愿去做事。先把市场调查做一下。
    Kirscheis
        54
    Kirscheis  
       2018-03-23 20:43:29 +08:00
    师兄好呀

    我也想过做类似的事情,但是这好像不是短期能弄出来的东西,至少短期内谈不上什么回报。国内企业和风投应该没有愿意往这方面投资的。也许依托现有的开源项目,作为一个长期的业余兴趣项目写下去要更可行一些。。
    rashawn
        55
    rashawn  
       2018-03-23 20:58:31 +08:00 via iPhone
    gnu 有个开源的 忘了叫啥了
    kalman03
        56
    kalman03  
       2018-03-23 21:02:58 +08:00 via Android
    为楼主的想法点赞,为科学创新的人都是值得尊敬的
    TimePPT
        57
    TimePPT  
       2018-03-23 22:46:58 +08:00 via iPhone
    @gowl 不是打击你,比 Siri 好的智能助理不比做 Matlab 简单,投入甚至更大,最基本的对话语料库够你喝一壶。ASR,NLP,KG,TTS,加上 VUI 和 GUI,几十人的团队想做到可用没个把年下不来。
    menc
        58
    menc  
       2018-03-24 01:26:28 +08:00
    @mathzhaoliang orange 了解一下?
    msg7086
        59
    msg7086  
       2018-03-24 07:12:11 +08:00
    会有多少付费用户?
    你们会有多少收入?
    员工们用爱发电吗?

    美国人一套软件卖你好几万。
    你想想,如果自己做,一套会卖多少钱?好几万够吗?可能都回不了本。
    springx
        60
    springx  
       2018-03-24 10:39:38 +08:00
    matlab 和 mathematica 都不只是套软件,而是两套成熟的生态体系
    你的产品除非能够超越这两种软件很多,不然用户很难接受
    那么多能用的遗留代码,想要打开新市场并不容易
    mathzhaoliang
        61
    mathzhaoliang  
    OP
       2018-03-24 16:22:45 +08:00
    @msg7086
    @springx

    是的,重复发明一个一模一样的轮子不可取,但是从某个创新点入手,成熟以后再覆盖对方的功能是可以的。
    perilla
        62
    perilla  
       2019-04-06 09:43:06 +08:00
    正有此意
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3088 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 13:23 · PVG 21:23 · LAX 05:23 · JFK 08:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.