Math 可搜索的名称';等式评估、缓存、智能更新';解放党

Math 可搜索的名称';等式评估、缓存、智能更新';解放党,math,lib,Math,Lib,我正在寻找一个库,但我不确定要搜索什么,因为我不确定我想做的任务(以可搜索的方式)应该称为什么 功能示例 我有许多矩阵方程,涉及一个运算(乘法),其中包含一些常见元素,例如: result_1 = a * b * c * e result_2 = b * c result_3 = c * e * f 这里没有未知数;我们只是在计算结果\n项 执行这些乘法的成本很高,因此我需要一个库,它允许我设置方程式和a,b等的值,然后检索结果项 最重要的是,我还需要能够说“我正在更新值(例如)a和f”,并且

我正在寻找一个库,但我不确定要搜索什么,因为我不确定我想做的任务(以可搜索的方式)应该称为什么

功能示例

我有许多矩阵方程,涉及一个运算(乘法),其中包含一些常见元素,例如:

result_1 = a * b * c * e
result_2 = b * c
result_3 = c * e * f
这里没有未知数;我们只是在计算
结果\n

执行这些乘法的成本很高,因此我需要一个库,它允许我设置方程式和
a
b
等的值,然后检索
结果

最重要的是,我还需要能够说“我正在更新值(例如)
a
f
”,并且让库不做任何不必要的计算;它不会麻烦重新计算
result\u2
(因为答案不会改变),也不会麻烦重新计算子项
b*c*e
(在
result\u1
)或
c*e
(在
result\u3
),因为这些部分也不会有什么不同

这种设施有好名字吗


理想情况下,它还能够处理不同的运算符(例如二进制
*
和一元
转置
),并且您可以指定运算符的属性,例如“
*
不进行转换,但是关联的”。了解这些属性有时会使库执行更有效的工作。

除非您使用的是非常大的数字,否则我建议您坚持使用标准库。在使用汇编代码的情况下,C++中的乘法数可能是最小的,即使是这样,我怀疑你会看到显著的改进。 <>我个人说你很好,如果你使用Python,那么我肯定会建议你使用Python的数学库,但是因为这是C++,所以你不必担心它。p>
如果我可以问的话,你为什么需要优化它?您是否尝试过用优化标记编译器?您使用的数字是否很大?

谢谢您的回答!在C++中,你是对的,在很多情况下它可能不值得。然而,我对“这个有一个合适的名字吗?”和“有一个库可以做这类事情吗?”-它可以在不同的语言中使用me@occulus在重新阅读您的回答
之后,这些乘法执行起来非常昂贵,因此我想要一个库,它可以让我设置方程和a,b的值,etc,然后检索结果项。
这实际上听起来像是返回向量的操作重载。这将是一个有点棘手的设置虽然!如果你正在寻找一个词来搜索,那么“电子表格”怎么样?你的问题在meta上讨论过:@MrLister我在寻找一个库,一个库,而不是电子表格。我可以从python或Golang等中调用一些东西