LANBPRO Lanczos bidiagonalization with partial reorthogonalization.
LANBPRO computes the Lanczos bidiagonalization of a real
matrix using the with partial reorthogonalization.
[U_k,B_k,V_k,R,ierr,work] = LANBPRO(A,K,R0,OPTIONS,U_old,B_old,V_old)
[U_k,B_k,V_k,R,ierr,work] = LANBPRO('Afun','Atransfun',M,N,K,R0, ...
OPTIONS,U_old,B_old,V_old)
Computes K steps of the Lanczos bidiagonalization algorithm with partial
reorthogonalization (BPRO) with M-by-1 starting vector R0, producing a
lower bidiagonal K-by-K matrix B_k, an N-by-K matrix V_k, an M-by-K
matrix U_k and a M-by-1 vector such that
A*V_k = U_k*B_k + R
Partial reorthogonalization is used to keep the columns of V_K and U_k
semiorthogonal:
MAX(DIAG((EYE(K) - V_K'*V_K))) <= OPTIONS.delta
and
MAX(DIAG((EYE(K) - U_K'*U_K))) <= OPTIONS.delta.
B_k = LANBPRO(...) returns the bidiagonal matrix only.
The first input argument is either a real matrix, or a string
containing the name of an M-file which applies a linear operator
to the columns of a given matrix. In the latter case, the second
input must be the name of an M-file which applies the transpose of
the same linear operator to the columns of a given matrix,
and the third and fourth arguments must be M and N, the dimensions
of then problem.
The OPTIONS structure is used to control the reorthogonalization:
OPTIONS.delta: Desired level of orthogonality
(default = sqrt(eps/K)).
OPTIONS.eta : Level of orthogonality after reorthogonalization
(default = eps^(3/4)/sqrt(K)).
OPTIONS.cgs : Flag for switching between different reorthogonalization
algorithms:
0 = iterated modified Gram-Schmidt (default)
1 = iterated classical Gram-Schmidt
OPTIONS.elr : If OPTIONS.elr = 1 (default) then extended local
reorthogonalization is enforced.
OPTIONS.onesided
: If OPTIONS.onesided = 0 (default) then both the left
(U) and right (V) Lanczos vectors are kept
semiorthogonal.
OPTIONS.onesided = 1 then only the columns of U are
are reorthogonalized.
OPTIONS.onesided = -1 then only the columns of V are
are reorthogonalized.
OPTIONS.waitbar
: The progress of the algorithm is display graphically.
If both R0, U_old, B_old, and V_old are provided, they must
contain a partial Lanczos bidiagonalization of A on the form
A V_old = U_old B_old + R0 .
In this case the factorization is extended to dimension K x K by
continuing the Lanczos bidiagonalization algorithm with R0 as a
starting vector.
The output array work contains information about the work used in
reorthogonalizing the u- and v-vectors.
work = [ RU PU ]
[ RV PV ]
where
RU = Number of reorthogonalizations of U.
PU = Number of inner products used in reorthogonalizing U.
RV = Number of reorthogonalizations of V.
PV = Number of inner products used in reorthogonalizing V.
References:
R.M. Larsen, Ph.D. Thesis, Aarhus University, 1998.
G. H. Golub & C. F. Van Loan, "Matrix Computations",
3. Ed., Johns Hopkins, 1996. Section 9.3.4.
B. N. Parlett, ``The Symmetric Eigenvalue Problem'',
Prentice-Hall, Englewood Cliffs, NJ, 1980.
H. D. Simon, ``The Lanczos algorithm with partial reorthogonalization'',
Math. Comp. 42 (1984), no. 165, 115--142.
Rasmus Munk Larsen, DAIMI, 1998.
基于matlab RPCA程序代码
版权申诉
5星 · 超过95%的资源 106 浏览量
2022-04-18
20:54:54
上传
评论 1
收藏 1.02MB RAR 举报
依然风yrlf
- 粉丝: 783
- 资源: 741
最新资源
- 全卷积网络基于voc2012数据集简单pytorch实现
- pycharm的一些介绍-用于更好的学习python
- 基于C++的程序设计大赛天梯赛L2答案(天梯赛)
- 基于python实现的三次样条插值和均值插值法实现
- Python语言教程2-python批量图片大小处理-多文件夹
- Python语言教程1-python批量图片重命名,将后缀某几个不想要的字去除
- Space Combat Kit 太空战斗套件Unity游戏开发插件资源unitypackage C#
- Universal Device Preview 通用设备预览Unity游戏开发插件资源unitypackage
- Paladin Anim Set 圣骑士动画集Unity游戏动作动画插件资源unitypackage
- 计算机财务管理期末考报表部分题目及答案.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈