• 廖熊猫
    2020-01-17
    易用的东西灵活性就稍微弱一些,在能快速完成业务的时候,我还是比较偏向易用性,一查文档马上就可以用起来,真的出现性能瓶颈的时候再去折腾复杂性能好的东西。
    给需要学习线性代数的小伙伴推荐一个教材:http://textbooks.math.gatech.edu/ila/index.html
    需要点英语基础才行。

    作者回复: 我的观点和你差不多……🤗

    那个在线教材真棒!谢谢推荐。

    
     3
  • aL
    2020-02-08
    我之前用的eigen,感觉还不错,如果涉及到大规模数值运算的话,还是得上gpu吧!

    作者回复: 是的,异构计算也是新的重要方向。SYCL 就是其中之一,可以了解一下。

    
    
  • 秀
    2020-02-01
    我发现留言的都是大佬。学习了学习了。
    
    
  • 花晨少年
    2020-01-18
    科学计算这块最近几年突然热起来了,在调研xdl深度学习框架时,推理引擎cpu版本用的就是mkl库做各种矩阵运算,但是可能还是gpu版本的cuda库应用更广泛一些,听说cuda编程挺难的,需要了解很多异构硬件的细节。

    作者回复: 如何用 C++ 做异构计算,这是一个新领域。可以留意一下 SYCL。

    
    
  • 三味
    2020-01-17
    当然更偏向易用性。实现更重要。一个算法不确定是否能实现,先从易用的库开始快速迭代算法实现。优化是最后要考虑的。
    还有就是在选择第三方库的时候,我倾向于选择纯头文件的库。比如Eigen3。我用Eigen3无非就是矩阵计算,能够快速求解线性方程组的解就好,并没有高次方程求根这种(其实也有,为了求一个三次方程就要引用一个库,我选择找一个现成的实现)。
    当然,开篇的例子的话,我肯定也不会用Eigen去求,三维空间下的数学,还是交给glm这种用于渲染的数学库比较好,纯头文件,易于集成,而且简单好用。
    当然我说的只是图形渲染中常用的一些库。貌似还真没看到过图形学方面代码用犰狳库的,因为用不到吧。

    最后,我看了一下老师最后列出来的博客,提到了From Mathematics to Generic Programming,哈哈,我手头上也有一本这书!当然是中文版的。。。《数学与泛型编程》。。当时以为是接触泛型编程,顺便了解一些数学才买的。结果买来之后第六章群那里我实在看不动了。。其实第五章我就看着老吃力了。。。即使如此,也感觉收获不小。比如,看这本书之前我一直不知道质数筛。。还有古人如何计算乘法,如何计算最大公约数等等。回头我还要继续啃一下这本书。
    展开

    作者回复: 看来你是真正搞计算的啊……我是偶尔碰一下而已。

    《数学与泛型编程》绝对是好书。这本已经算是作者的另一本书的简化版本了(那本书更抽象,我也只啃了个开头而已了)。对于喜欢数学的程序员,我绝对大力推荐。

    
    
我们在线,来聊聊吧