pub struct NaiveDense;Expand description
Reference kernels: straightforward loops, always available, the oracle of the others in tests.
use xingo_sparse::{DenseBlock, DenseKernel, NaiveDense};
let mut a = DenseBlock { rows: 2, cols: 2, data: vec![4.0, 2.0, 0.0, 5.0] };
NaiveDense.potrf(&mut a).unwrap();
assert_eq!((a.get(0, 0), a.get(1, 0), a.get(1, 1)), (2.0, 1.0, 2.0));Trait Implementations§
Source§impl Clone for NaiveDense
impl Clone for NaiveDense
impl Copy for NaiveDense
Source§impl Debug for NaiveDense
impl Debug for NaiveDense
Source§impl Default for NaiveDense
impl Default for NaiveDense
Source§impl<T: Real> DenseKernel<T> for NaiveDense
impl<T: Real> DenseKernel<T> for NaiveDense
Source§fn potrf(&self, a: &mut DenseBlock<T>) -> Result<(), DenseError>
fn potrf(&self, a: &mut DenseBlock<T>) -> Result<(), DenseError>
In-place Cholesky
A = L Lᵀ of a square block (Algorithm P).Source§fn sytrf(
&self,
a: &mut DenseBlock<T>,
perm: &mut Perm,
pivot_2x2: &mut Vec<bool>,
) -> Result<Inertia, DenseError>
fn sytrf( &self, a: &mut DenseBlock<T>, perm: &mut Perm, pivot_2x2: &mut Vec<bool>, ) -> Result<Inertia, DenseError>
In-place
P A Pᵀ = L B Lᵀ with 1×1/2×2 pivots (Bunch–Kaufman,
Algorithm B); returns the inertia and writes the permutation into
perm and the 2×2 marks into pivot_2x2 (both resized to n).Source§fn trsm_lower(&self, l: &DenseBlock<T>, b: &mut DenseBlock<T>, transpose: bool)
fn trsm_lower(&self, l: &DenseBlock<T>, b: &mut DenseBlock<T>, transpose: bool)
Source§fn gemm_sub(&self, a: &DenseBlock<T>, b: &DenseBlock<T>, c: &mut DenseBlock<T>)
fn gemm_sub(&self, a: &DenseBlock<T>, b: &DenseBlock<T>, c: &mut DenseBlock<T>)
C ← C − A Bᵀ. Read moreSource§fn syrk_sub(&self, a: &DenseBlock<T>, c: &mut DenseBlock<T>)
fn syrk_sub(&self, a: &DenseBlock<T>, c: &mut DenseBlock<T>)
impl Eq for NaiveDense
Source§impl PartialEq for NaiveDense
impl PartialEq for NaiveDense
impl StructuralPartialEq for NaiveDense
Auto Trait Implementations§
impl Forget for NaiveDense
impl Freeze for NaiveDense
impl RefUnwindSafe for NaiveDense
impl Send for NaiveDense
impl Sync for NaiveDense
impl Unpin for NaiveDense
impl UnsafeUnpin for NaiveDense
impl UnwindSafe for NaiveDense
Blanket Implementations§
impl<T> Boilerplate for T
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