pub struct MultivectorField<const P: usize, const Q: usize, const R: usize> { /* private fields */ }Expand description
A general multivector field F: ℝⁿ → Cl(p,q,r)
Represents a function that maps points in n-dimensional space to general multivectors (not necessarily grade-1).
Implementations§
Source§impl<const P: usize, const Q: usize, const R: usize> MultivectorField<P, Q, R>
impl<const P: usize, const Q: usize, const R: usize> MultivectorField<P, Q, R>
Sourcepub fn new(function: fn(&[f64]) -> Multivector<P, Q, R>) -> Self
pub fn new(function: fn(&[f64]) -> Multivector<P, Q, R>) -> Self
Create a new multivector field from a function
Sourcepub fn with_dimension(
function: fn(&[f64]) -> Multivector<P, Q, R>,
dim: usize,
) -> Self
pub fn with_dimension( function: fn(&[f64]) -> Multivector<P, Q, R>, dim: usize, ) -> Self
Create a multivector field with explicit dimension
Sourcepub fn evaluate(&self, coords: &[f64]) -> Multivector<P, Q, R>
pub fn evaluate(&self, coords: &[f64]) -> Multivector<P, Q, R>
Evaluate the multivector field at a point
Sourcepub fn partial_derivative(
&self,
coords: &[f64],
axis: usize,
h: f64,
) -> CalculusResult<Multivector<P, Q, R>>
pub fn partial_derivative( &self, coords: &[f64], axis: usize, h: f64, ) -> CalculusResult<Multivector<P, Q, R>>
Compute numerical derivative of multivector field component along coordinate axis
§Arguments
coords- Point at which to compute derivativeaxis- Coordinate axis indexh- Step size (default: 1e-5)
Trait Implementations§
Auto Trait Implementations§
impl<const P: usize, const Q: usize, const R: usize> Freeze for MultivectorField<P, Q, R>
impl<const P: usize, const Q: usize, const R: usize> RefUnwindSafe for MultivectorField<P, Q, R>
impl<const P: usize, const Q: usize, const R: usize> Send for MultivectorField<P, Q, R>
impl<const P: usize, const Q: usize, const R: usize> Sync for MultivectorField<P, Q, R>
impl<const P: usize, const Q: usize, const R: usize> Unpin for MultivectorField<P, Q, R>
impl<const P: usize, const Q: usize, const R: usize> UnwindSafe for MultivectorField<P, Q, R>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more