Rust:
複素数の扱い方
使い方:
Rustには複素数をサポートする組み込み機能はありませんが、num-complex
のようなクレートがサポートしてくれます。使い方は以下のとおりです:
use num_complex::Complex;
fn main() {
let a = Complex::new(2.0, 3.0); // 2 + 3i
let b = Complex::new(1.0, -4.0); // 1 - 4i
let sum = a + b;
let product = a * b;
println!("Sum: {}", sum); // 合計: 3 - 1i
println!("Product: {}", product); // 積: 14 - 5i
}
このマジックを実現するためには、Cargo.toml
にnum_complex
を追加する必要があります。
深掘り
複素数は16世紀に考案されましたが、18世紀に入り、オイラーのような数学者がそれらを取り扱い始めたときに本当に隆盛を迎えました。
ネイティブの複素数操作をサポートしていない言語は、Rustのようにサードパーティーのライブラリに依存します。num-complex
はそのようなクレートの一つであり、Rustに数値型とトレイトを提供することを目指すnum
クレートコレクションの一部です。
複素数を組み込みサポートしている言語(Pythonなど)や、標準ライブラリの一部として提供している言語(<complex>
ヘッダーを持つC++など)がある一方で、Rustでは標準ライブラリを小さく保つという決定により、追加機能のためにコミュニティが作成したクレートに頻繁に頼ることになります。
参照
- Rustの本: Rustと外部クレートの使用方法をさらに学ぶには。
- 複素数Wikipedia: 複素数についてより深く理解するために。