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