magnesia/
lib.rs

1//! A math library for Rust featuring
2//!
3//!   * Polynomials
4//!   * Vectors and Matrices
5//!   * Complex Numbers
6//!
7//! # Goal and Scope
8//!
9//! The goal of Magnesia is to provide an easy to use yet efficient API for
10//! mathematical applications.
11//! Magnesia may not be feature rich and optimized yet, but its interfaces are
12//! designed such that extensions and zero overhead implementations are
13//! possible.
14//!
15//! In the future the package shall contain the following features as well:
16//!
17//!   * Quaternions
18//!   * Big Integers
19//!   * Fast Fourier Transform
20//!   * Symbolic and Numerical Differentiation
21//!   * Numerical Optimization
22//!   * Root Rinding
23//!   * Interpolation
24//!   * Integration and Solving Differential Equations
25//!   * Geometrical Primitives
26//!   * etc.
27//!
28//! Contributions for this cause are highly welcome!
29
30#![deny(missing_docs)]
31
32/// This module provides facilities from abstract algebra.
33///
34/// This includes the following:
35///
36///   * Polynomials
37///   * Complex Numbers
38///   * Rings (as trait)
39///   * Some helper traits
40///
41/// In the future, this module may also include the following:
42///
43///   * Quaternions
44///   * Big Integers
45///   * Fractions
46///   * Finite Fields
47///
48/// Structures belonging to linear algebra can be found in the module
49/// [`algebra`](crate::linalg).
50pub mod algebra;
51
52/// Provides elementary and special functions for different types.
53pub mod functions;
54
55/// This module provides facilities from linear algebra.
56///
57/// This includes the following:
58///   * Vectors
59///   * Matrices
60///
61/// In the future, this module may also include the following:
62///
63///   * Matrix Decompositions
64///   * Affine Transformations
65///   * Tensors
66pub mod linalg;
67
68/// This module provides different local and global numerical optimizers.
69pub mod optimize;