Code covered by the BSD License
 cheap_condest (d, fail_if...CHEAP_CONDEST checks the diagonal of a triangular matrix
 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 objectoriented method for solving linear systems
 get_diag (A)GET_DIAG extracts the diagonal of a matrix or vector.
 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_chol_sparse
 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_qr_sparse
 factorization_qrt_denseFACTORIZATION_QRT_DENSE A' = Q*R where A is full.
 factorization_qrt_sparse
 factorization_svdFACTORIZATION_SVD A = U*S*V'
 Contents.mFACTORIZE: an objectoriented method for solving linear systems and least
 Contents.mTest code for the FACTORIZE object.
 factorize_demo.mTHE FACTORIZE OBJECT for solving linear systems
 fdemo.mRun the factorize demo

View all files
Don't let that INV go past your eyes; to solve that system, FACTORIZE!
by
Tim Davis
14 May 2009
(Updated
06 Sep 2011)
A simpletouse objectoriented method for solving linear systems and leastsquares problems.

Contents.m 
%FACTORIZE: an objectoriented method for solving linear systems and least
% squares problems. The method provides an efficient way of computing
% mathematical expressions involving the inverse, without actually
% computing the inverse. For example, S=AB*inverse(D)*C computes the
% Schur complement by computing S=AB*(D\C) instead.
%
% factorize  an objectoriented method for solving linear systems
% inverse  factorized representation of inv(A) or pinv(A).
%
% The package also includes methods for complete orthogonal decomposition
% of full and sparse matrices:
%
% cod  complete orthogonal decomposition of a full matrix A = U*R*V'
% rq  economy RQ or QL factorization of a full matrix A.
% cod_sparse  complete orthogonal decomposition of a sparse matrix A = U*R*V'
% cod_qmult  computes Q'*X, Q*X, X*Q', or X*Q with Q from COD_SPARSE.
%
% Example
% cd Demo ; fdemo % run the demo
%
% "Don't let that INV go past your eyes; to solve that system, FACTORIZE!"
%
% See also chol, lu, ldl, qr, svd.
% Installation and testing:
%
% To install this package, type "pathtool" in the MATLAB command window. Add
% the directory that contains this Factorize/Contents.m file to the path. Save
% the path for future use. Alternatively, type these commands while in this
% directory:
%
% addpath(pwd)
% savepath
%
% If you do not have the proper file permissions to save your path, create a
% startup.m file that includes the command "addpath(here)" where "here" is the
% directory containing this file. Type "help startup" for more information.
%
% The cod function for sparse matrices requires the SPQR mexFunction from the
% SuiteSparse library. The simplest way to get this is to install all of
% SuiteSparse from http://www.cise.ufl.edu/research/sparse .
%
% The Test/ subdirectory contains functions that test this package.
%
% The Doc/ subdirectory contains a document that illustrates how to use
% the package (the output of fdemo).
% Objectoriented methods, not meant to be usercallable:
%
% factorization  a generic matrix factorization object
% factorization_chol_dense  A = R'*R where A is full and symmetric pos. def.
% factorization_chol_sparse  P'*A*P = L*L' where A is sparse and sym. pos. def.
% factorization_cod_dense  complete orthogonal factorization: A = U*R*V' where A is full.
% factorization_cod_sparse  complete orthogonal factorization: A = U*R*V' where A is sparse.
% factorization_ldl_dense  P'*A*P = L*D*L' where A is sparse and full
% factorization_ldl_sparse  P'*A*P = L*D*L' where A is sparse and symmetric
% factorization_lu_dense  P*A = L*U where A is square and full.
% factorization_lu_sparse  P*A*Q = L*U where A is square and sparse.
% factorization_qr_dense  A = Q*R where A is full.
% factorization_qr_sparse  (A*P)'*(A*P) = R'*R where A is sparse.
% factorization_qrt_dense  A' = Q*R where A is full.
% factorization_qrt_sparse  (P*A)*(P*A)'=R'*R where A is sparse.
% factorization_svd  A = U*S*V'
% Copyright 2011, Timothy A. Davis, University of Florida.


Contact us