[−][src]Struct opensrdk_linear_algebra::matrix::Matrix
Implementations
impl Matrix<f64>[src]
impl Matrix<c64>[src]
impl Matrix<f64>[src]
pub fn dipowf(self, exp: f64) -> Self[src]
Pow integer
for diagonal matrix
impl Matrix<c64>[src]
pub fn dipowf(self, exp: f64) -> Self[src]
Pow integer
for diagonal matrix
impl Matrix<f64>[src]
pub fn dipowi(self, exp: i32) -> Self[src]
Pow integer
for diagonal matrix
impl Matrix<c64>[src]
pub fn dipowi(self, exp: i32) -> Self[src]
Pow integer
for diagonal matrix
impl Matrix[src]
impl Matrix<c64>[src]
impl Matrix[src]
pub fn gemm(
self,
lhs: &Matrix,
rhs: &Matrix,
alpha: f64,
beta: f64
) -> Result<Matrix, String>[src]
self,
lhs: &Matrix,
rhs: &Matrix,
alpha: f64,
beta: f64
) -> Result<Matrix, String>
impl Matrix<c64>[src]
pub fn gemm(
self,
lhs: &Matrix<c64>,
rhs: &Matrix<c64>,
alpha: c64,
beta: c64
) -> Result<Matrix<c64>, String>[src]
self,
lhs: &Matrix<c64>,
rhs: &Matrix<c64>,
alpha: c64,
beta: c64
) -> Result<Matrix<c64>, String>
impl Matrix[src]
pub fn gesv(self, constants: Matrix) -> Result<Matrix, String>[src]
Solve equations
for square matrix
impl Matrix[src]
pub fn dgesvd(&self) -> Result<(Matrix, Matrix, Matrix), String>[src]
Singular Value Decomposition
https://en.wikipedia.org/wiki/Singular_value_decomposition
M = U * Sigma * V^T
(u, sigma, vt)
impl Matrix[src]
impl Matrix<c64>[src]
pub fn zgetrf(self) -> Result<(Matrix<c64>, Vec<i32>), String>[src]
LU decomposition
for c64
pub fn zgetri(self, ipiv: &[i32]) -> Result<Matrix<c64>, String>[src]
impl Matrix<c64>[src]
impl Matrix[src]
impl<T> Matrix<T> where
T: Number, [src]
T: Number,
impl<T> Matrix<T> where
T: Number, [src]
T: Number,
pub fn linear_prod(&self, rhs: &Matrix<T>) -> T[src]
pub fn hadamard_prod(self, rhs: &Matrix<T>) -> Matrix<T>[src]
pub fn kronecker_prod(&self, rhs: &Matrix<T>) -> Matrix<T>[src]
impl<T> Matrix<T> where
T: Number, [src]
T: Number,
impl<T> Matrix<T> where
T: Number, [src]
T: Number,
impl<T> Matrix<T> where
T: Number, [src]
T: Number,
impl Matrix[src]
impl Matrix[src]
pub fn posvcgm(self, constants: Matrix) -> Result<Matrix, String>[src]
Solve equations with Conjugate Gradient Method
for positiveDefinite matrix
impl Matrix[src]
pub fn potrf(self) -> Result<Matrix, String>[src]
Cholesky decomposition
for positive definite matrix
https://en.wikipedia.org/wiki/Cholesky_decomposition
A = L * L^T
impl Matrix[src]
pub fn dpttrf(d: Vec<f64>, e: Vec<f64>) -> Result<(Vec<f64>, Vec<f64>), String>[src]
Cholesky decomposition
for tridiagonal matrix
impl Matrix[src]
pub fn sytrd(self) -> Result<(Matrix, Vec<f64>, Vec<f64>), String>[src]
Lanczos algorithm
for symmetric matrix
impl<T> Matrix<T> where
T: Number, [src]
T: Number,
pub fn det(&self) -> T[src]
Determinant
for triangle matrix To apply this method to none triangle matrix, use LU decomposition or Cholesky decomposition.
impl<T> Matrix<T> where
T: Number, [src]
T: Number,
pub fn new(rows: usize, columns: usize, elements: Vec<T>) -> Self[src]
pub fn is_same_size(&self, rhs: &Matrix<T>) -> bool[src]
pub fn get_rows(&self) -> usize[src]
pub fn get_columns(&self) -> usize[src]
pub fn get_elements(&self) -> &[T][src]
impl Matrix<f64>[src]
pub fn to_complex(&self) -> Matrix<c64>[src]
impl Matrix<c64>[src]
Trait Implementations
impl<T: Number, '_> Add<&'_ Matrix<T>> for Matrix<T>[src]
type Output = Matrix<T>
The resulting type after applying the + operator.
fn add(self, rhs: &Matrix<T>) -> Self::Output[src]
impl<T: Number> Add<Matrix<T>> for Matrix<T>[src]
type Output = Matrix<T>
The resulting type after applying the + operator.
fn add(self, rhs: Matrix<T>) -> Self::Output[src]
impl<T: Number, '_> Add<Matrix<T>> for &'_ Matrix<T>[src]
type Output = Matrix<T>
The resulting type after applying the + operator.
fn add(self, rhs: Matrix<T>) -> Self::Output[src]
impl<T: Clone> Clone for Matrix<T> where
T: Number, [src]
T: Number,
impl<T: Debug> Debug for Matrix<T> where
T: Number, [src]
T: Number,
impl<T: Default> Default for Matrix<T> where
T: Number, [src]
T: Number,
impl<T: Hash> Hash for Matrix<T> where
T: Number, [src]
T: Number,
fn hash<__H: Hasher>(&self, state: &mut __H)[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, 1.3.0[src]
H: Hasher,
impl<T> Index<usize> for Matrix<T> where
T: Number, [src]
T: Number,
type Output = [T]
The returned type after indexing.
fn index(&self, index: usize) -> &Self::Output[src]
impl<T> IndexMut<usize> for Matrix<T> where
T: Number, [src]
T: Number,
impl<'_> Mul<&'_ Matrix<Complex<f64>>> for Matrix<c64>[src]
type Output = Matrix<c64>
The resulting type after applying the * operator.
fn mul(self, rhs: &Matrix<c64>) -> Self::Output[src]
impl<'_, '_> Mul<&'_ Matrix<Complex<f64>>> for &'_ Matrix<c64>[src]
type Output = Matrix<c64>
The resulting type after applying the * operator.
fn mul(self, rhs: &Matrix<c64>) -> Self::Output[src]
impl<'_> Mul<&'_ Matrix<f64>> for Matrix<f64>[src]
type Output = Matrix<f64>
The resulting type after applying the * operator.
fn mul(self, rhs: &Matrix<f64>) -> Self::Output[src]
impl<'_, '_> Mul<&'_ Matrix<f64>> for &'_ Matrix<f64>[src]
type Output = Matrix<f64>
The resulting type after applying the * operator.
fn mul(self, rhs: &Matrix<f64>) -> Self::Output[src]
impl Mul<Complex<f64>> for Matrix<c64>[src]
type Output = Matrix<c64>
The resulting type after applying the * operator.
fn mul(self, rhs: c64) -> Self::Output[src]
impl Mul<Matrix<Complex<f64>>> for c64[src]
type Output = Matrix<c64>
The resulting type after applying the * operator.
fn mul(self, rhs: Matrix<c64>) -> Self::Output[src]
impl Mul<Matrix<Complex<f64>>> for Matrix<c64>[src]
type Output = Matrix<c64>
The resulting type after applying the * operator.
fn mul(self, rhs: Matrix<c64>) -> Self::Output[src]
impl<'_> Mul<Matrix<Complex<f64>>> for &'_ Matrix<c64>[src]
type Output = Matrix<c64>
The resulting type after applying the * operator.
fn mul(self, rhs: Matrix<c64>) -> Self::Output[src]
impl Mul<Matrix<f64>> for f64[src]
type Output = Matrix<f64>
The resulting type after applying the * operator.
fn mul(self, rhs: Matrix<f64>) -> Self::Output[src]
impl Mul<Matrix<f64>> for Matrix<f64>[src]
type Output = Matrix<f64>
The resulting type after applying the * operator.
fn mul(self, rhs: Matrix<f64>) -> Self::Output[src]
impl<'_> Mul<Matrix<f64>> for &'_ Matrix<f64>[src]
type Output = Matrix<f64>
The resulting type after applying the * operator.
fn mul(self, rhs: Matrix<f64>) -> Self::Output[src]
impl Mul<f64> for Matrix<f64>[src]
type Output = Matrix<f64>
The resulting type after applying the * operator.
fn mul(self, rhs: f64) -> Self::Output[src]
impl<T: Number, '_> Sub<&'_ Matrix<T>> for Matrix<T>[src]
type Output = Matrix<T>
The resulting type after applying the - operator.
fn sub(self, rhs: &Matrix<T>) -> Self::Output[src]
impl<T: Number> Sub<Matrix<T>> for Matrix<T>[src]
type Output = Matrix<T>
The resulting type after applying the - operator.
fn sub(self, rhs: Matrix<T>) -> Self::Output[src]
impl<T: Number, '_> Sub<Matrix<T>> for &'_ Matrix<T>[src]
type Output = Matrix<T>
The resulting type after applying the - operator.
fn sub(self, rhs: Matrix<T>) -> Self::Output[src]
impl<T> SubMatrix<T> for Matrix<T> where
T: Number, [src]
T: Number,
impl<T, '_> SubMatrix<T> for &'_ Matrix<T> where
T: Number, [src]
T: Number,
Auto Trait Implementations
impl<T> RefUnwindSafe for Matrix<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Send for Matrix<T>
impl<T> Sync for Matrix<T>
impl<T> Unpin for Matrix<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for Matrix<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T[src]
fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,