Expand description
§Linear Algebra Library
A comprehensive linear algebra library in Rust, offering support for operations with vectors, matrices, and complex numbers.
§Main Features
- Vectors: Basic operations like addition, scalar multiplication, dot product, and norm
- Matrices: Matrix operations including multiplication, transposition, and inversion
- Complex Numbers: Complete support for complex arithmetic with conjugate operations
- Interpolation: Linear interpolation functions
- Cross Products: 3D cross product calculations
- Linear Combinations: Linear combination operations for vectors
§Usage Examples
§Vector Operations
use linear_algebra_42::Vector;
let v1 = Vector::from(vec![1.0, 2.0, 3.0]);
let v2 = Vector::from(vec![4.0, 5.0, 6.0]);
// Vector addition
let sum = v1.add_new(&v2);
// Dot product
let dot = v1.dot(&v2);
// Vector norm
let norm = v1.norm();§Matrix Operations
use linear_algebra_42::Matrix;
let matrix = Matrix::from([
[1.0, 2.0],
[3.0, 4.0]
]);
// Transposition
let transposed = matrix.transpose();
// Matrix multiplication
let result = matrix.mul_mat(&transposed);§Complex Numbers
use linear_algebra_42::{Complex, traits::Magnitude};
let z1 = Complex::new(3.0, 4.0);
let z2 = Complex::new(1.0, 2.0);
// Complex addition
let sum = z1 + z2;
// Conjugate
let conj = z1.conjugate();
// Magnitude
let mag = z1.magnitude();Re-exports§
pub use angle_cos::angle_cos;pub use complex::Complex;pub use cross_product::cross_product;pub use errors::InterpolationError;pub use errors::LinearCombinationError;pub use errors::MatrixInverseError;pub use interpolate::lerp;pub use linear_combination::linear_combination;pub use matrix::Matrix;pub use traits::Conjugate;pub use traits::Magnitude;pub use traits::Negative;pub use traits::One;pub use traits::Zero;pub use vector::Vector;
Modules§
- angle_
cos - complex
- cross_
product - Cross Product
- display
- errors
- Library Error Types
- interpolate
- Linear Interpolation
- linear_
combination - matrix
- traits
- Fundamental Traits for Linear Algebra
- vector