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;