Skip to content

Latest commit

 

History

History
66 lines (48 loc) · 2.39 KB

README.md

File metadata and controls

66 lines (48 loc) · 2.39 KB

hcomplex

Crates.io Docs.rs Travis CI Appveyor Codecov.io License

Lightweight complex and hypercomplex algebra library.

Contents

  • Complex and hypercomplex numbers:
    • Complex<T> - 2-dimensional commutative and associative algebra.
    • Quaternion<T> - 4-dimensional associative but non-commutative algebra.
    • Octonion<T> - 8-dimensional non-commutative and non-associative algebra.
    • Sedenion<T> - 16-dimensional non-commutative and non-associative algebra with nontrivial zero divisors.
    • and following algebras created by Cayley-Dickson construction Construct<T, A<T>> where A<T> is previous algebra.
  • Transformations:
    • transform::Moebius<T, A<T>> - Moebius transform, where A<T> is some algebra.

To construct hypercomplex types from your own type you need to implement Algebra trait for it.

Crate Features

Crate could be used in no_std mode.

  • std - Use std. Enabled by default.
  • random - Hypercomplex number random generator.
  • approx - Approximate comparison of hypercomplex numbers.

Testing

cargo test --features random,approx

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.