#多项式 #次数 #底层 #评估 #操作 #函数 #变量

nutils-poly

评估和操作多项式的底层函数

1个稳定版本

1.0.0 2023年1月18日

#983数学

MIT 许可证

73KB
1.5K SLoC

评估和操作多项式的底层函数。

示例

多项式 f(x, y) = 3 x y + x^2 的系数向量是 [0, 3, 0, 1, 0, 0]

使用 eval() 我们可以评估这个多项式

use nutils_poly;

let coeffs = [0, 3, 0, 1, 0, 0];
assert_eq!(nutils_poly::eval(&coeffs, &[1, 0], 2), Ok( 1)); // f(1, 0) =  1
assert_eq!(nutils_poly::eval(&coeffs, &[1, 1], 2), Ok( 4)); // f(1, 1) =  4
assert_eq!(nutils_poly::eval(&coeffs, &[2, 3], 2), Ok(22)); // f(2, 3) = 22

PartialDerivPlan::apply() 计算多项式对其中一个变量的偏导数的系数。多项式 f 对第一个变量 x 的偏导数是 ∂_x f(x, y) = 3 y + 2 x(系数:[3, 2, 0]

use nutils_poly::PartialDerivPlan;

let coeffs = [0, 3, 0, 1, 0, 0];
let pd = PartialDerivPlan::new(
    2, // number of variables
    2, // degree
    0, // variable to compute the partial derivative to
).unwrap();
assert_eq!(Vec::from_iter(pd.apply(coeffs)?), vec![3, 2, 0]);
# Ok::<_, nutils_poly::Error>(())

进一步阅读

参见crate文档以获取详细描述。

此crate是Nutils项目的一部分。

依赖关系

~1.5MB
~28K SLoC