pub struct Bivector<const P: usize, const Q: usize, const R: usize> {
pub mv: Multivector<P, Q, R>,
}Expand description
Bivector type - wrapper around Multivector with only grade 2
Fields§
§mv: Multivector<P, Q, R>Implementations§
Source§impl<const P: usize, const Q: usize, const R: usize> Bivector<P, Q, R>
impl<const P: usize, const Q: usize, const R: usize> Bivector<P, Q, R>
pub fn from_components(xy: f64, xz: f64, yz: f64) -> Self
pub fn e12() -> Self
pub fn e13() -> Self
pub fn e23() -> Self
pub fn from_multivector(mv: &Multivector<P, Q, R>) -> Self
pub fn geometric_product(&self, other: &Vector<P, Q, R>) -> Multivector<P, Q, R>
Sourcepub fn geometric_product_with_bivector(
&self,
other: &Self,
) -> Multivector<P, Q, R>
pub fn geometric_product_with_bivector( &self, other: &Self, ) -> Multivector<P, Q, R>
Geometric product with another bivector
pub fn magnitude(&self) -> f64
Sourcepub fn inner_product(&self, other: &Self) -> Multivector<P, Q, R>
pub fn inner_product(&self, other: &Self) -> Multivector<P, Q, R>
Inner product with another bivector
Sourcepub fn inner_product_with_vector(
&self,
other: &Vector<P, Q, R>,
) -> Multivector<P, Q, R>
pub fn inner_product_with_vector( &self, other: &Vector<P, Q, R>, ) -> Multivector<P, Q, R>
Inner product with a vector
Sourcepub fn outer_product(&self, other: &Self) -> Multivector<P, Q, R>
pub fn outer_product(&self, other: &Self) -> Multivector<P, Q, R>
Outer product with another bivector
Sourcepub fn outer_product_with_vector(
&self,
other: &Vector<P, Q, R>,
) -> Multivector<P, Q, R>
pub fn outer_product_with_vector( &self, other: &Vector<P, Q, R>, ) -> Multivector<P, Q, R>
Outer product with a vector
Sourcepub fn right_contraction(&self, other: &Vector<P, Q, R>) -> Multivector<P, Q, R>
pub fn right_contraction(&self, other: &Vector<P, Q, R>) -> Multivector<P, Q, R>
Right contraction with vector
Trait Implementations§
impl<const P: usize, const Q: usize, const R: usize> StructuralPartialEq for Bivector<P, Q, R>
Auto Trait Implementations§
impl<const P: usize, const Q: usize, const R: usize> Freeze for Bivector<P, Q, R>
impl<const P: usize, const Q: usize, const R: usize> RefUnwindSafe for Bivector<P, Q, R>
impl<const P: usize, const Q: usize, const R: usize> Send for Bivector<P, Q, R>
impl<const P: usize, const Q: usize, const R: usize> Sync for Bivector<P, Q, R>
impl<const P: usize, const Q: usize, const R: usize> Unpin for Bivector<P, Q, R>
impl<const P: usize, const Q: usize, const R: usize> UnwindSafe for Bivector<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