我需要在应用程序中使用一些基本的矢量数学结构.点产品,交叉产品.寻找线的交叉点,那种东西.
我可以自己做(事实上,已经有),但是没有"标准"使用这样的错误和可能的优化不会在我身上?
Boost没有它.就我所见,他们的数学部分是关于统计函数的.
附录:
提升1.37确实似乎有这个.他们还优雅地在现场引入了许多其他解决方案,以及为什么他们仍然去做自己的.我喜欢.
我没有测试它,但是C++ 特征库现在变得越来越流行.据他们说,他们与那里最快的库相当,他们的API看起来非常整洁.
重新检查C++程序员的ol'good朋友叫Boost.它有一个线性代数包,可能很适合您的需要.
犰狳
犰狳采用延迟评估方法将多个操作合二为一,减少(或消除)对临时工的需求.适用时,优化操作顺序.通过递归模板和模板元编程实现延迟评估和优化.
虽然加法,减法和乘法(矩阵和元素)等链式操作是加速机会的主要目标,但其他操作(如子矩阵的操纵)也可以进行优化.注意保持"小"和"大"矩阵的效率.