pub struct LeastSquaresResult<E: Scalar, I: Dimension> {
pub singular_values: Array1<E::Real>,
pub solution: Array<E, I>,
pub rank: i32,
pub residual_sum_of_squares: Option<Array<E::Real, I::Smaller>>,
}
Expand description
Result of a LeastSquares computation
Takes two type parameters, E
, the element type of the matrix
(one of f32
, f64
, c32
or c64
) and I
, the dimension of
b in the equation Ax = b
(one of Ix1
or Ix2
). If I
is Ix1
,
the right-hand-side (RHS) is a n x 1
column vector and the solution
is a m x 1
column vector. If I
is Ix2
, the RHS is a n x k
matrix
(which can be seen as solving Ax = b
k times for different b) and
the solution is a m x k
matrix.
Fields§
§singular_values: Array1<E::Real>
The singular values of the matrix A in Ax = b
solution: Array<E, I>
The solution vector or matrix x
which is the best
solution to Ax = b
, i.e. minimizing the 2-norm ||b - Ax||
rank: i32
The rank of the matrix A in Ax = b
residual_sum_of_squares: Option<Array<E::Real, I::Smaller>>
If n < m and rank(A) == n, the sum of squares If b is a (m x 1) vector, this is a 0-dimensional array (single value) If b is a (m x k) matrix, this is a (k x 1) column vector
Trait Implementations§
Auto Trait Implementations§
impl<E, I> Freeze for LeastSquaresResult<E, I>
impl<E, I> RefUnwindSafe for LeastSquaresResult<E, I>where
I: RefUnwindSafe,
<I as Dimension>::Smaller: RefUnwindSafe,
<E as Scalar>::Real: RefUnwindSafe,
E: RefUnwindSafe,
impl<E, I> Send for LeastSquaresResult<E, I>
impl<E, I> Sync for LeastSquaresResult<E, I>
impl<E, I> Unpin for LeastSquaresResult<E, I>
impl<E, I> UnwindSafe for LeastSquaresResult<E, I>where
I: UnwindSafe,
<E as Scalar>::Real: RefUnwindSafe,
E: RefUnwindSafe,
<I as Dimension>::Smaller: UnwindSafe,
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)