Expand description
Functional analysis on multivector spaces.
This crate provides the mathematical foundations of functional analysis applied to Clifford algebra-valued function spaces, including:
- Hilbert spaces: Complete inner product spaces over multivectors
- Linear operators: Bounded and unbounded operators on Hilbert spaces
- Spectral theory: Eigenvalues, eigenvectors, and spectral decomposition
- Compact operators: Fredholm theory and index theorems
- Sobolev spaces: Function spaces with weak derivatives
§Space Hierarchy
The module implements the standard functional analysis hierarchy:
VectorSpace
↓
NormedSpace (adds ||·||)
↓
BanachSpace (complete normed space)
↓
InnerProductSpace (adds ⟨·,·⟩)
↓
HilbertSpace (complete inner product space)§Quick Start
§Finite-Dimensional Hilbert Space
use amari_functional::space::{MultivectorHilbertSpace, HilbertSpace, InnerProductSpace};
// Create the Hilbert space Cl(2,0,0) ≅ ℝ⁴
let space: MultivectorHilbertSpace<2, 0, 0> = MultivectorHilbertSpace::new();
// Create elements
let x = space.from_coefficients(&[1.0, 2.0, 0.0, 0.0]).unwrap();
let y = space.from_coefficients(&[0.0, 0.0, 3.0, 4.0]).unwrap();
// Compute inner product
let ip = space.inner_product(&x, &y);
assert!(ip.abs() < 1e-10); // x and y are orthogonal§L² Space of Multivector Functions
use amari_functional::space::{MultivectorL2, L2Function, NormedSpace};
use amari_core::Multivector;
// Create L²([0,1], Cl(2,0,0))
let l2: MultivectorL2<2, 0, 0> = MultivectorL2::unit_interval();
// Define a function f(x) = x * e₀ (scalar coefficient is x)
let f = L2Function::new(|x| {
Multivector::<2, 0, 0>::scalar(x[0])
});
// Compute L² norm: ||f||² = ∫₀¹ x² dx = 1/3
let norm_sq = l2.norm(&f).powi(2);
assert!((norm_sq - 1.0/3.0).abs() < 0.1);§Mathematical Background
This crate is built on the following mathematical concepts:
- Clifford algebras Cl(P,Q,R): 2^(P+Q+R)-dimensional real algebras
- Hilbert spaces: Complete inner product spaces with orthogonal decomposition
- Bounded operators: Continuous linear maps between Hilbert spaces
- Spectral theorem: Self-adjoint operators have orthonormal eigenbases
- Compact operators: Operators mapping bounded sets to precompact sets
§Features
std(default): Enable standard library featuresparallel: Enable Rayon parallelism for large-scale computationsformal-verification: Enable Creusot contracts for formal verification
Re-exports§
pub use space::BanachSpace;pub use space::Domain;pub use space::HilbertSpace;pub use space::InnerProductSpace;pub use space::L2Function;pub use space::MultivectorHilbertSpace;pub use space::MultivectorL2;pub use space::NormedSpace;pub use space::VectorSpace;pub use operator::AdjointableOperator;pub use operator::BoundedOperator;pub use operator::CompactMatrixOperator;pub use operator::CompactOperator;pub use operator::CompositeOperator;pub use operator::FiniteRankOperator;pub use operator::FredholmMatrixOperator;pub use operator::FredholmOperator;pub use operator::IdentityOperator;pub use operator::LinearOperator;pub use operator::MatrixOperator;pub use operator::OperatorNorm;pub use operator::ProjectionOperator;pub use operator::ScalingOperator;pub use operator::SelfAdjointOperator;pub use operator::ZeroOperator;pub use spectral::compute_eigenvalues;pub use spectral::inverse_iteration;pub use spectral::power_method;pub use spectral::spectral_decompose;pub use spectral::Eigenpair;pub use spectral::Eigenvalue;pub use spectral::SpectralDecomposition;pub use sobolev::poincare_constant_estimate;pub use sobolev::H1Space;pub use sobolev::H2Space;pub use sobolev::SobolevFunction;pub use sobolev::SobolevSpace;
Modules§
- operator
- Linear operators on function spaces.
- sobolev
- Sobolev spaces for multivector-valued functions.
- space
- Function space abstractions for functional analysis.
- spectral
- Spectral theory for linear operators.
Structs§
- Bounded
- Bounded operator: ||Tx|| ≤ M||x|| for some M and all x.
- Compact
- Compact operator: maps bounded sets to precompact sets.
- Complete
- Complete space: every Cauchy sequence converges within the space.
- Continuous
Spectrum - Continuous spectrum: contains intervals or continuous parts.
- Discrete
Spectrum - Discrete spectrum: consists only of isolated eigenvalues.
- Fredholm
- Fredholm operator: finite-dimensional kernel and cokernel.
- General
- General operator with no special symmetry properties.
- H1Regularity
- H¹ regularity (k=1 Sobolev space).
- H2Regularity
- H² regularity (k=2 Sobolev space).
- HkRegularity
- General Hᵏ regularity.
- L2Regularity
- L² regularity (k=0 Sobolev space).
- Mixed
Spectrum - Mixed spectrum: combination of discrete and continuous parts.
- Multivector
- A multivector in a Clifford algebra Cl(P,Q,R)
- NonCompact
- Non-compact operator.
- Normal
- Normal operator: TT* = T*T.
- NotFredholm
- Not Fredholm.
- PreHilbert
- Pre-Hilbert space: inner product defined but not necessarily complete.
- Properties
- Zero-cost wrapper for phantom type properties.
- Pure
Point Spectrum - Pure point spectrum: all spectral values are eigenvalues.
- Scalar
- Scalar type - wrapper around Multivector with only grade 0
- Self
Adjoint - Self-adjoint operator: T = T*.
- Semi
Fredholm - Semi-Fredholm operator: either kernel or cokernel is finite-dimensional.
- Unbounded
- Unbounded operator: no finite bound exists.
- Unitary
- Unitary operator: TT = TT = I.
Enums§
- Functional
Error - Errors that can occur during functional analysis operations.
Traits§
- Boundedness
Property - Marker trait for operator boundedness properties.
- Compactness
Property - Marker trait for operator compactness properties.
- Completeness
Property - Marker trait for space completeness properties.
- Fredholm
Property - Marker trait for Fredholm operator properties.
- Regularity
Property - Marker trait for Sobolev regularity.
- Spectral
Property - Marker trait for spectral properties.
- Symmetry
Property - Marker trait for operator symmetry properties.
Type Aliases§
- Compact
Self Adjoint Operator - Properties of a compact self-adjoint operator.
- H1Space
Properties - Standard H¹ Sobolev space properties.
- Hilbert
Schmidt Operator - Properties of a Hilbert-Schmidt operator.
- L2Space
Properties - Standard L² Hilbert space properties.
- Result
- Result type for functional analysis operations.
- Unitary
Operator - Properties of a unitary operator.