# [−][src]Struct na::linalg::Cholesky

`pub struct Cholesky<N, D> where    D: Dim,    N: ComplexField,    DefaultAllocator: Allocator<N, D, D>,  { /* fields omitted */ }`

The Cholesky decomposition of a symmetric-definite-positive matrix.

## Methods

### `impl<N, D> Cholesky<N, D> where    D: DimSub<Dynamic>,    N: ComplexField,    DefaultAllocator: Allocator<N, D, D>, `[src]

#### `pub fn new(    matrix: Matrix<N, D, D, <DefaultAllocator as Allocator<N, D, D>>::Buffer>) -> Option<Cholesky<N, D>>`[src]

Attempts to compute the Cholesky decomposition of `matrix`.

Returns `None` if the input matrix is not definite-positive. The input matrix is assumed to be symmetric and only the lower-triangular part is read.

#### `pub fn unpack(    self) -> Matrix<N, D, D, <DefaultAllocator as Allocator<N, D, D>>::Buffer>`[src]

Retrieves the lower-triangular factor of the Cholesky decomposition with its strictly upper-triangular part filled with zeros.

#### `pub fn unpack_dirty(    self) -> Matrix<N, D, D, <DefaultAllocator as Allocator<N, D, D>>::Buffer>`[src]

Retrieves the lower-triangular factor of the Cholesky decomposition, without zeroing-out its strict upper-triangular part.

The values of the strict upper-triangular part are garbage and should be ignored by further computations.

#### `pub fn l(    &self) -> Matrix<N, D, D, <DefaultAllocator as Allocator<N, D, D>>::Buffer>`[src]

Retrieves the lower-triangular factor of the Cholesky decomposition with its strictly uppen-triangular part filled with zeros.

#### `pub fn l_dirty(    &self) -> &Matrix<N, D, D, <DefaultAllocator as Allocator<N, D, D>>::Buffer>`[src]

Retrieves the lower-triangular factor of the Cholesky decomposition, without zeroing-out its strict upper-triangular part.

This is an allocation-less version of `self.l()`. The values of the strict upper-triangular part are garbage and should be ignored by further computations.

#### `pub fn solve_mut<R2, C2, S2>(&self, b: &mut Matrix<N, R2, C2, S2>) where    C2: Dim,    R2: Dim,    S2: StorageMut<N, R2, C2>,    ShapeConstraint: SameNumberOfRows<R2, D>, `[src]

Solves the system `self * x = b` where `self` is the decomposed matrix and `x` the unknown.

The result is stored on `b`.

#### `pub fn solve<R2, C2, S2>(    &self,     b: &Matrix<N, R2, C2, S2>) -> Matrix<N, R2, C2, <DefaultAllocator as Allocator<N, R2, C2>>::Buffer> where    C2: Dim,    R2: Dim,    S2: StorageMut<N, R2, C2>,    DefaultAllocator: Allocator<N, R2, C2>,    ShapeConstraint: SameNumberOfRows<R2, D>, `[src]

Returns the solution of the system `self * x = b` where `self` is the decomposed matrix and `x` the unknown.

#### `pub fn inverse(    &self) -> Matrix<N, D, D, <DefaultAllocator as Allocator<N, D, D>>::Buffer>`[src]

Computes the inverse of the decomposed matrix.

## Trait Implementations

### `impl<N, D> Clone for Cholesky<N, D> where    D: Dim + Clone,    N: Clone + ComplexField,    DefaultAllocator: Allocator<N, D, D>, `[src]

#### `default fn clone_from(&mut self, source: &Self)`1.0.0[src]

Performs copy-assignment from `source`. Read more

## Blanket Implementations

### `impl<T, U> TryFrom for T where    U: Into<T>, `[src]

#### `type Error = Infallible`

The type returned in the event of a conversion error.

### `impl<T, U> TryInto for T where    U: TryFrom<T>, `[src]

#### `type Error = <U as TryFrom<T>>::Error`

The type returned in the event of a conversion error.

### `impl<T> Same for T`

#### `type Output = T`

Should always be `Self`