⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ldltdown.m

📁 这是在网上下的一个东东
💻 M
字号:
%% [newL,newD]=ldltdown(L,D,v)%% This function downdates the Cholesky factorization of A to the Cholesky % factorization of A-vv'.  i.e. If%%    A=L*D*L'%% then%%    A-v*v'=newL*newD*newL'%% It is assumed that A is symmetric and postive definite.  If A-v*v'% would not be positive definite, then the diagonal elements will % be adjusted to make sure that D is > 0.  %% Reference: Gill, Murray, and Wright, "Practical Optimization", p43.% Author: Brian Borchers (borchers@nmt.edu)%function [newL,newD]=ldltdown(L,D,v)%%  First, find the size of the matrix.  %n=size(D,1);%%  Initialize newL and newD.%newL=L;newD=D;%%  Find the initial values of p and t.  %p=L\v;oldt=1-p'*inv(D)*p;%%  Make sure that D is > 0.%if (oldt <= eps)  oldt=eps;end%% The main loop.  See Gill, Murray, and Wright for details. %for j=n:-1:1  t=oldt+p(j)^2/D(j,j);  newD(j,j)=D(j,j)*oldt/t;  beta=-p(j)/(D(j,j)*oldt);  v(j)=p(j);  if (j < n)    newL(j+1:n,j)=L(j+1:n,j)+beta*v(j+1:n);    v(j+1:n)=v(j+1:n)+p(j)*L(j+1:n,j);  end  oldt=t;end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -