function varargout = irbleigs(varargin)
% IRBLEIGS: Finds a few eigenvalues and eigenvectors of a Hermitian matrix.
%
% IRBLEIGS will find a few eigenvalues and eigenvectors for either the
% standard eigenvalue problem A*x = lambda*x or the generalized eigenvalue
% problem A*x = lambda*M*x, where A is a sparse Hermitian matrix and the
% matrix M is positive definite.
%
% [V,D,PRGINF] = IRBLEIGS(A,OPTIONS)
% [V,D,PRGINF] = IRBLEIGS(A,M,OPTIONS)
% [V,D,PRGINF] = IRBLEIGS('Afunc',N,OPTIONS)
% [V,D,PRGINF] = IRBLEIGS('Afunc',N,M,OPTIONS)
%
% The first input argument into IRBLEIGS can be a numeric matrix A or an M-file
% ('Afunc') that computes the product A*X, where X is a (N x blsz) matrix. If A is
% passed as an M-file then the (N x blsz) matrix X is the first input argument, the
% second input argument is N, (the size of the matrix A), and the third input argument
% is blsz, i.e. Afunc(X,N,blsz). For the generalized eigenvalue problem the matrix M is
% positive definite and passed only as a numeric matrix. IRBLEIGS will compute the
% Cholesky factorization of the matrix M by calling the internal MATLAB function CHOL.
% M may be a dense or sparse matrix. In all the implementations IRBLEIGS(A,...) can
% be replaced with IRBLEIGS('Afunc',N,...).
%
% NOTE: If the M-file 'Afunc' requires additional input parameters, e.g. a data structure,
% use the option FUNPAR to pass any additional parameters to your function (X,N,blsz,FUNPAR).
%
% OUTPUT OPTIONS:
% ---------------
%
% I.) IRBLEIGS(A) or IRBLEIGS(A,M)
% Displays the desired eigenvalues.
%
% II.) D = IRBLEIGS(A) or D = IRBLEIGS(A,M)
% Returns the desired eigenvalues in the vector D.
%
% III.) [V,D] = IRBLEIGS(A) or [V,D] = IRBLEIGS(A,M)
% D is a diagonal matrix that contains the desired eigenvalues along the
% diagonal and the matrix V contains the corresponding eigenvectors, such
% that A*V = V*D or A*V = M*V*D. If IRBLEIGS reaches the maximum number of
% iterations before convergence then V = [] and D = []. Use output option
% IV.) to get approximations to the Ritz pairs.
%
% IV.) [V,D,PRGINF] = IRBLEIGS(A) or [V,D,PRGINF] = IRBLEIGS(A,M)
% This option returns the same as (III) plus a two dimensional array PRGINF
% that reports if the algorithm converges and the number of matrix vector
% products. If PRGINF(1) = 0 then this implies normal return: all eigenvalues have
% converged. If PRGINF(1) = 1 then the maximum number of iterations have been
% reached before all desired eigenvalues have converged. PRGINF(2) contains the
% number of matrix vector products used by the code. If the maximum number of
% iterations are reached (PRGINF(1) = 1), then the matrices V and D contain any
% eigenpairs that have converged plus the last Ritz pair approximation for the
% eigenpairs that have not converged.
%
% INPUT OPTIONS:
% --------------
%
% ... = IRBLEIGS(A,OPTS) or ... = IRBLEIGS(A,M,OPTS)
% OPTS is a structure containing input parameters. The input parameters can
% be given in any order. The structure OPTS may contain some or all of the
% following input parameters. The string for the input parameters can contain
% upper or lower case characters.
%
% INPUT PARAMETER DESCRIPTION
%
% OPTS.BLSZ Block size of the Lanczos tridiagonal matrix.
% DEFAULT VALUE BLSZ = 3
%
% OPTS.CHOLM Indicates if the Cholesky factorization of the matrix M is available. If
% the Cholesky factorization matrix R is available then set CHOLM = 1 and
% replace the input matrix M with R where M = R'*R.
% DEFAULT VALUE CHOLM = 0
%
% OPTS.PERMM Permutation vector for the Cholesky factorization of M(PERMM,PERMM).
% When the input matrix M is replaced with R where M(PERMM,PERMM)=R'*R
% then the vector PERMM is the permutation vector.
% DEFAULT VALUE PERMM=1:N
%
% OPTS.DISPR Indicates if K Ritz values and residuals are to be displayed on each
% iteration. Set positive to display the Ritz values and residuals on
% each iteration.
% DEFAULT VALUE DISPR = 0
%
% OPTS.EIGVEC A matrix of converged eigenvectors.
% DEFAULT VALUE EIGVEC = []
%
% OPTS.ENDPT Three letter string specifying the location of the interior end-
% points for the dampening interval(s).
% 'FLT' - Let the interior endpoints float.
% 'MON' - Interior endpoints are chosen so that the size of the
% dampening interval is increasing. This creates a nested
% sequence of intervals. The interior endpoint will approach
% the closest Ritz value in the undampened part of the spectrum
% to the dampening interval.
% DEFAULT VALUE ENDPT = 'MON' (If SIGMA = 'LE' or 'SE'.)
% DEFAULT VALUE ENDPT = 'FLT' (If SIGMA = a numeric value NVAL.)
%
% OPTS.FUNPAR If A is passed as a M-file then FUNPAR contains any additional parameters
% that the M-file requires in order to compute the matrix vector product.
% FUNPAR can be passed as any type, numeric, character, data structure, etc. The
% M-file must take the input parameters in the following order (X,n,blsz,FUNPAR).
% DEFAULT VALUE FUNPAR =[]
%
% OPTS.K Number of desired eigenvalues.
% DEFAULT VALUE K = 3
%
% OPTS.MAXIT Maximum number of iterations, i.e. maximum number of block Lanczos restarts.
% DEFAULT VALUE MAXIT = 100
%
% OPTS.MAXDPOL Numeric value indicating the maximum degree of the dampening
% polynomial allowed.
% DEFAULT VALUE MAXDPOL = 200 (If SIGMA = 'LE' or 'SE'.)
% DEFAULT VALUE MAXDPOL = N (If SIGMA = a numeric value NVAL.)
%
% OPTS.NBLS Number of blocks in the Lanczos tridiagonal matrix. The program may increase
% NBLS to ensure certain requirements in [1] are satisfied. A warning message
% will be displayed if NBLS increases.
% DEFAULT VALUE NBLS = 3
%
% OPTS.SIGMA Two letter string or numeric value specifying the location
% of the desired eigenvalues.
% 'SE' Smallest Real eigenvalues.
% 'LE' Largest Real eigenvalues.
% NVAL A numeric value. The program searches for the K closest
% eigenvalues to the numeric value NVAL.
% DEFAULT VALUE SIGMA = 'LE'
%
% OPTS.SIZINT Size of the dampening interval. Value of 1 indicates consecutive
% Ritz values are used to determine the endpoints of the dampening
% interval. Value of 2 indicates endpoints are chosen from Ritz
% values that are seprated by a single Ritz value. A value of 3
% indicates endpoints are chosen from Ritz values that are seprated
% by two Ritz values. Etc. The minimum value is 1 and the maximum
% value is (
没有合适的资源?快使用搜索试试~ 我知道了~
基于MATLAB实现的lanczos算法用来计算大型稀疏矩阵的最大最小本征值及相应的本征矢量+使用说明文档.rar
共2个文件
md:1个
m:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 57 浏览量
2024-05-22
17:11:03
上传
评论
收藏 19KB RAR 举报
温馨提示
CSDN IT狂飙上传的代码均可运行,功能ok的情况下才上传的,直接替换数据即可使用,小白也能轻松上手 【资源说明】 基于MATLAB实现的lanczos算法用来计算大型稀疏矩阵的最大最小本征值及相应的本征矢量+使用说明文档.rar 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2020b;若运行有误,根据提示GPT修改;若不会,私信博主(问题描述要详细); 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可后台私信博主; 4.1 期刊或参考文献复现 4.2 Matlab程序定制 4.3 科研合作 功率谱估计: 故障诊断分析: 雷达通信:雷达LFM、MIMO、成像、定位、干扰、检测、信号分析、脉冲压缩 滤波估计:SOC估计 目标定位:WSN定位、滤波跟踪、目标定位 生物电信号:肌电信号EMG、脑电信号EEG、心电信号ECG 通信系统:DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪、数字信号调制、误码率、信号估计、DTMF、信号检测识别融合、LEACH协议、信号检测、水声通信 5、欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于MATLAB实现的lanczos算法用来计算大型稀疏矩阵的最大最小本征值及相应的本征矢量+使用说明文档.rar (2个子文件)
使用说明文档.md 13KB
irbleigs.m 65KB
共 2 条
- 1
资源评论
IT狂飙
- 粉丝: 4779
- 资源: 2640
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功