symbfact - Symbolic factorization analysis - MATLAB (original) (raw)
Symbolic factorization analysis
Syntax
count = symbfact(A) count = symbfact(A,'sym') count = symbfact(A,'col') count = symbfact(A,'row') count = symbfact(A,'lo') [count,h,parent,post,R] = symbfact(...) [count,h,parent,post,L] = symbfact(A,type,'lower')
Description
count = symbfact(A)
returns the vector of row counts of `R=chol(A)`
. symbfact
should be much faster than chol(A
).
count = symbfact(A,'sym')
is the same as count = symbfact(A)
.
count = symbfact(A,'col')
returns row counts of R=chol(A'*A)
(without forming it explicitly).
count = symbfact(A,'row')
returns row counts of R=chol(A*A')
.
count = symbfact(A,'lo')
is the same as count = symbfact(A)
and uses tril(A)
.
[count,h,parent,post,R] = symbfact(...)
has several optional return values.
The flop count for a subsequent Cholesky factorization is sum(count.^2)
Return Value | Description |
---|---|
h | Height of the elimination tree |
parent | The elimination tree itself |
post | Postordering of the elimination tree |
R | 0-1 matrix having the structure of chol(A) for the symmetric case, chol(A'*A) for the 'col' case, or chol(A*A') for the 'row' case. |
symbfact(A)
and symbfact(A,'sym')
use the upper triangular part of A (triu(A))
and assume the lower triangular part is the transpose of the upper triangular part. symbfact(A,'lo')
uses tril(A)
instead.
[count,h,parent,post,L] = symbfact(A,type,'lower')
where type
is one of 'sym'
,'col'
, 'row'
, or'lo'
returns a lower triangular symbolic factor L=R'
. This form is quicker and requires less memory.
References
[1] Chen, Yanqing, Timothy A. Davis, William W. Hager, and Sivasankaran Rajamanickam. “Algorithm 887: CHOLMOD, Supernodal Sparse Cholesky Factorization and Update/Downdate.” ACM Transactions on Mathematical Software 35, no. 3 (October 2008): 1–14.https://doi.org/10.1145/1391989.1391995.
Extended Capabilities
Version History
Introduced before R2006a