pub fn qr_decomposition<T, S>(matrix: &S) -> SparseResult<QRResult<T>>where
T: Float + SparseElement + Debug + Copy + Add<Output = T> + Sub<Output = T> + Mul<Output = T> + Div<Output = T>,
S: SparseArray<T>,Expand description
Compute sparse QR decomposition using Givens rotations
Computes the QR decomposition of a sparse matrix A = Q*R, where Q is orthogonal and R is upper triangular.
§Arguments
matrix- The sparse matrix to decompose
§Returns
QR decomposition result
§Examples
use scirs2_sparse::linalg::qr_decomposition;
use scirs2_sparse::csr_array::CsrArray;
let rows = vec![0, 1, 2];
let cols = vec![0, 0, 1];
let data = vec![1.0, 2.0, 3.0];
let matrix = CsrArray::from_triplets(&rows, &cols, &data, (3, 2), false).unwrap();
let qr_result = qr_decomposition(&matrix).unwrap();