#complex-numbers #root #complex #numbers

croot

用于寻找实数和复数根的 crate。

4 个版本

0.3.3 2023 年 5 月 14 日
0.3.2 2023 年 5 月 14 日
0.2.1 2023 年 4 月 23 日
0.1.1 2023 年 4 月 22 日

792数学 中排名

Download history 4/week @ 2024-03-09 1/week @ 2024-03-16 22/week @ 2024-03-30 7/week @ 2024-04-06

每月下载量 84
用于 croot-gui

BSD-3-Clause 许可协议

9KB
100

Croot

Build No Std Label

一个用于寻找实数和复数的主根的 Rust 库;

上下文

任何数,实数或复数,都有 n 次方根。

例如,1 的四次方根有 4 个值

通常,我们忽略除了主根之外的所有根;即具有最大实部的那一个

1 的主四次方根是 1,但其他的根是 [-1, i, -i]

示例

示例中的结果已四舍五入到小数点后 5 位

主根

具有最大实部和正虚部的根

实数主根

为了找到实数的主根,我们使用 principal_root

principal_root(1.0, 4);  // 1.0
principal_root(-1.0, 4); // 0.707107 + 0.707107i

复数主根

为了找到复数的主根,我们使用 complex_principal_root

let c1 = Complex64::new(3.0, 4.0);  // 3 + 4i
let c2 = Complex64::new(10.0, 2.0); // 10 + 2i

complex_principal_root(c1, 3) // 1.62894 + 0.52017
complex_principal_root(c1, 3) // 2.16387 + 0.14259

所有根

n 个值,当它们被 n 次幂时,给出原始值

所有实数

为了找到实数的所有根,我们使用 root

root(1.0, 2);  // [1.0, -1.0]
root(1.0, 4);  // [1.0, -1.0, i, -i]
root(81.0, 4); // [3.0, -3.0, 3i, -3i]

所有复数

为了找到复数的所有根,我们使用 complex_root

let c1 = Complex64::new(3.0, 4.0)  // 3 + 4i
let c2 = Complex64::new(10.0, 2.0) // 10 + 2i

complex_root(c1, 3) // [1.6289 + 0.5202i, -1.2650 + 1.1506i, -0.3640 - 1.6708i]
complex_root(c2, 3) // [2.1639 + 0.14259, -1.2054 + 1.8027i, -0.9585 - 1.9453i]

单位根

单位根是 1 的 n 次方根

可以使用 roots_of_unity 找到 1 的 n 次方根

roots_of_unity(3); // [1, -0.5 + 0.8660i, -0.5 - 0.8660i]
roots_of_unity(4); // [1, i, -1, -i]

依赖项

~270KB