Code covered by the BSD License
- cod (A, tol)COD complete orthogonal decomposition of a full matrix A = U*R*V'
- cod_qmult (Q, X, method)
- cod_sparse (A, arg)COD_SPARSE complete orthogonal decomposition of a sparse matrix A = U*R*V'
- factorize (A,strategy,bur...FACTORIZE an object-oriented method for solving linear systems
- inverse (A, varargin)INVERSE factorized representation of inv(A) or pinv(A).
- reset_randRESET_RAND resets the state of rand
- rq (A, m, n)RQ economy RQ or QL factorization of a full matrix A.
- test_accuracyTEST_ACCURACY test the accuracy of the factorize object
- test_all (performance)TEST_ALL test the Factorize package (factorize, inverse, and related)
- test_all_codTEST_ALL_COD test the COD factorization
- test_all_svdTEST_ALL_SVD tests the svd factorization method for a range of problems.
- test_cod (A, tol)TEST_COD test the COD, COD_SPARSE and RQ functions
- test_dispTEST_DISP test the display method of the factorize object
- test_errorsTEST_ERRORS tests error handling for the factorize object methods
- test_factorize (A)TEST_FACTORIZE test the accuracy of the factorization object
- test_function (A, strateg...TEST_FUNCTION test various functions applied to a factorize object
- test_functionsTEST_FUNCTIONS test various functions applied to a factorize object
- test_performanceTEST_PERFORMANCE compare performance of factorization/solve methods.
- test_svd (A)
- factorizationFACTORIZATION a generic matrix factorization object
- factorization_chol_denseFACTORIZATION_CHOL_DENSE A = R'*R where A is full and symmetric pos. def.
- factorization_cod_denseFACTORIZATION_COD_DENSE complete orthogonal factorization: A = U*R*V' where A is full.
- factorization_cod_sparseFACTORIZATION_COD_SPARSE complete orthogonal factorization: A = U*R*V' where A is sparse.
- factorization_ldl_denseFACTORIZATION_LDL_DENSE P'*A*P = L*D*L' where A is sparse and full
- factorization_ldl_sparseFACTORIZATION_LDL_SPARSE P'*A*P = L*D*L' where A is sparse and symmetric
- factorization_lu_denseFACTORIZATION_LU_DENSE P*A = L*U where A is square and full.
- factorization_lu_sparseFACTORIZATION_LU_SPARSE P*A*Q = L*U where A is square and sparse.
- factorization_qr_denseFACTORIZATION_QR_DENSE A = Q*R where A is full.
- factorization_qrt_denseFACTORIZATION_QRT_DENSE A' = Q*R where A is full.
- factorization_svdFACTORIZATION_SVD A = U*S*V'
View all files
Don't let that INV go past your eyes; to solve that system, FACTORIZE!
14 May 2009
(Updated 06 Sep 2011)
A simple-to-use object-oriented method for solving linear systems and least-squares problems.
classdef factorization_cod_dense < factorization
%FACTORIZATION_COD_DENSE complete orthogonal factorization: A = U*R*V' where A is full.
% A fairly accurate estimate of rank is found. double(inverse(F)) is a fairly
% accurate estimate of pinv(A).
% Copyright 2011, Timothy A. Davis, University of Florida.
function F = factorization_cod_dense (A)
%FACTORIZATION_COD_DENSE A = U*R*V'
[f.U f.R f.V F.A_rank] = cod (A) ;
F.A = A ;
F.Factors = f ;
F.kind = 'dense COD factorization: A = U*R*V''' ;
function x = mldivide_subclass (F,b)
%MLDIVIDE_SUBLCASS x = A\b using a dense COD factorization
% x = V * (R \ (U' * b))
f = F.Factors ;
x = f.V * linsolve (f.R, full (f.U' * b), struct ('UT', true)) ;
function x = mrdivide_subclass (b,F)
%MRDIVIDE_SUBCLASS x = b/A using dense COD factorization
% x = ((b * V) / R) * U' = (U * (R' \ (b*V)'))'
f = F.Factors ;
op.UT = true ;
op.TRANSA = true ;
x = (f.U * linsolve (f.R, full ((b * f.V)'), op))' ;