qtableview与sqlite使用显示科学计算_国产自主知识产权科学计算平台HedgehogLab的不详尽分析...

本文使用 Zhihu On VSCode 创作并发布

什么是Hedgehog Lab?

首先我们看一下关于其创始人"立党"的个人文章介绍:

5c20bd5c79c40e478b8a9c102ee3d1c3.png
Image

我们本着严谨的态度,不考虑吹X的情况下,这段介绍的关键字为“国产”,“自主知识产权”,“宏内核(我X?)”,“并行加速”。请大家记住这几个关键词,这里我们不考虑没有提到的类“simulink”等模拟仿真部分,我们只逐一分析一下这些关键字部分。

国产?

首先因为立党老师应该还没有入美籍,其他共同贡献者也是中国人,所以这条check √。

自主知识产权?

首先我们首先考虑一下,作为一个科学计算平台(按照立党的话:科学矩阵符号运算编程环境),人话就是做数学计算的平台的话,其核心是什么,结合立党的文章有如下选项:

  • 前端UI界面
    • 用户交互界面
    • 数据渲染图
      • 饼图
      • 柱状图
      • 散点图
      • 折线图
      • 等等blabla
  • 数值计算功能
    • 精度:能提供到多少精度的计算功能
    • 矩阵
      • 维度:计算功能支持的矩阵维度
      • 基本加减乘运算
      • 矩阵分解,行列式,特征向量等运算
    • 代数计算
    • 积分计算
    • 导数计算
    • 初始化
      • 矩阵初始化
      • 随机变量初始化
    • 扩展
      • 最优化问题求解器
  • 计算性能
    • GPU加速支持
    • 多线程,多进程计算支持

那我们我们分析一下,一个科学计算平台(软件),前端UI重要吗?当然重要,毕竟好的UI能方便用户的使用增加效率。那么有多重要?远远比不上数值计算的核心需求重要,对于大部分的科学计算需求,其底层都是这些数值计算功能,毕竟如果你连个矩阵分解都做不了的话,还求解什么方程组是吧,界面写出花也没用。所以如果排序的话,重要性应该是:

  1. 数值计算功能
  2. 计算性能
  3. 前端界面

那么问题来了,哪些部分是”自主知识产权“?也就是哪部分是立党和他的小伙伴们写的呢?

前端部分

用户界面

大体看了一下,主要他们用了material-ui和react及相关的一些开源框架,当然前端交互界面部分我们可以说总体上属于”自主知识产权“。

数据渲染图

这部分他们使用了plotly.js这个库,https://plotly.com/javascript/

确实效果不错。

数值计算部分

这里是科学计算平台的核心,如果我们注意一下立党在他的项目里定义矩阵计算那部分代码,如下图所示

46cab068979a886b3bdc6f315ae122c7.png
Image

我们发现使用了gpu.js和math.js开源库,我们先不管gpu那部分,只讨论数值计算。在定义的矩阵Mat类里,所有的运算都是基于mathjs而来,而且还不全,这里只简单举几个例子:

  • 矩阵维度只有两维
  • 矩阵分解功能缺失

总之,对于数值计算部分,主要做的还是调用mathjs的方法写了一个最简单的运算封装,连mathjs本身的全部功能都没有全部用到(我能想到的最贴切语言了,欢迎大佬提供更好的表达方式)。为此我们可以专门比较一下在mathjs官网的demo,https://mathjs.org/index.html ,我们也可以在官网上做一些数值运算如下所示:

c6a65749af8823c962372b7a65bcfdbc.png
Image

而参考mathjs文档,HedgehogLab目前的数值计算部分只是mathjs已有功能的一个子集

计算性能部分

立党按照其宣传的”并行加速“的核心代码,主要体现在这里:

fda5a7740967094251ca89053d38b0e5.png
Image

而我们又知道,其调用GPU做并行计算的程序是用的开源库gpu.js。所以到这里,可以说是一个利用gpujs对于mathjs部分计算功能重新封装后的一个gpu并行计算提升。

所以是自主知识产权吗?

我想看完分析大家也心里有答案了,核心数值计算底层非自己写的而且封装后提供的运算函数鸡肋。当然做数学计算的大佬一看肯定就知道在吹牛X,可能只是没有人愿意去捅吧。

什么值得肯定?

我觉着对于功能接口的封装部分,大家可以看一下runtime那里还挺有意思,parser那里写的可以,看起来用的话比较方便,前端做的也挺漂亮,值得肯定。如果不考虑“自主知识产权”部分,是一个不错的开源项目。

One More Thing ?

我觉着这是一个值得思考的事,我们缺什么?

  • 我们缺写前端UI的工程师吗?我们缺像尤大那样写出Vue框架的前端工程师吗?
  • 我们缺提供数值运算功能的开源库吗?我们缺有能写像BLAS这种底层数值运算库的数学家/工程师吗?

我觉着每个问题都有不同的答案,而这些答案也代表到底真的是”自主知识产权“还是”吹牛X“的区别,更是未来发展值得思考的问题。

我觉着既然”立党“老师曾经热衷与批判于某些国内不良风气问题,为何自己要说一些或者就在做自己批评的人呢?

之前有个一阵热度的TRUFFER,一位匿名大佬评价的很好,具体解释了其数值计算库的成员变量及方法并,而且还用c++动手实现了其50%核心计算函数。

如何评价国产软件 TRUFFER(可替代 MATLAB)? - 知乎 https://www. zhihu.com/question/4030 55136/answer/1300485419

希望立党老师能发挥出这个匿名大佬的精神,好好琢磨一下什么叫格物致知,而不是调用个已有的开源库写个封装写个前端就叫”自主知识产权“。

当然本人并非数值计算专家,只是大学时候做过一些数值计算项目,由于立党高调的宣传,加上立党早就拉黑我让我没法给他评论,让我产生了简单的公开分析了一下Hedgehog Lab这个项目的想法,欢迎大家提出不同观点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值