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