symbfact
シンボリックな因子解析
構文
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')
説明
count = symbfact(A) は、 の行カウントのベクトルを返します。R=chol(A)symbfact は、chol (A) より高速にする必要があります。
count = symbfact(A,'sym') は、count = symbfact(A) と同じです。
count = symbfact(A,'col') は、(明示的に形成することなく) R=chol(A'*A) の行カウントを返します。
count = symbfact(A,'row') は、R=chol(A*A') の行カウントを返します。
count = symbfact(A,'lo') は、count = symbfact(A) と同じ結果になり、tril(A) を使用します。
[count,h,parent,post,R] = symbfact(...) には、オプションの戻り値がいくつかあります。
次のコレスキー分解の flop 数は、sum(count.^2) です。
| 戻り値 | 説明 |
|---|---|
h | 消去ツリーの高さ |
parent | 消去ツリー自身 |
post | 消去ツリーのポスト順 |
R | 対称の場合は関数 |
関数 symbfact(A) と関数 symbfact(A,'sym') は、関数 A (triu(A)) の上三角部分を使用します。また、下三角部分は上三角部分の転置であることを前提としています。symbfact(A,'lo') は代わりに関数 tril(A) を使用します。
[count,h,parent,post,L] = symbfact(A,type,'lower') は、type が 'sym'、'col'、'row'、'lo' のいずれかで、下三角部分のシンボリックな因子 L=R' を返します。この形式は速く、少ないメモリを必要とします。
参照
[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.
拡張機能
バージョン履歴
R2006a より前に導入
参考
chol | etree | treelayout