No BSD License
-
...
TFQMR solver for linear systems
-
...
Preconditioned Conjugate-Gradient solver
-
...
Krylov linear equation solver for use in nsola
-
...
Forward difference Bi-CGSTAB solver for use in nsola
-
...
Bi-CGSTAB solver for linear systems
-
...
Forward difference TFQMR solver for use in nsola
-
[l, u] =diffjac(x, f, f0)
compute a forward difference Jacobian f'(x), return lu factors
-
brsol(x,f,tol, parms)
Broyden's Method solver, locally convergent
-
brsola(x,f,tol, parms)
Broyden's Method solver, globally convergent
-
dirder(x,w,f,f0)
Finite difference directional derivative
-
fdgmres(f0, f, xc, params, xi...
GMRES linear equation solver for use in Newton-GMRES solver
-
fish2d(f)
Poisson solver in 2D based on matlab fft
-
gmres(x0, b, atv, params)
GMRES linear equation solver
-
gmresb(x0, b, atv, params)
% GMRES linear equation solver, brute-force approach
-
nsol(x,f,tol,parms)
Newton solver, locally convergent
-
nsola(x,f,tol, parms)
Newton-Krylov solver, globally convergent
-
nsolgm(x,f,tol, parms)
Newton-GMRES locally convergent solver for f(x) = 0
-
parab3p(lambdac, lambdam, ff0...
Apply three-point safeguarded parabolic model for a line search.
-
u=isintv(z)
-
u=sintv(z)
-
vrot=givapp(c,s,vin,k)
Apply a sequence of k Givens rotations, used within gmres codes
-
View all files
|
|
| parab3p(lambdac, lambdam, ff0, ffc, ffm) |
function lambdap = parab3p(lambdac, lambdam, ff0, ffc, ffm)
% Apply three-point safeguarded parabolic model for a line search.
%
% C. T. Kelley, June 29, 1994
%
% This code comes with no guarantee or warranty of any kind.
%
% function lambdap = parab3p(lambdac, lambdam, ff0, ffc, ffm)
%
% input:
% lambdac = current steplength
% lambdam = previous steplength
% ff0 = value of \| F(x_c) \|^2
% ffc = value of \| F(x_c + \lambdac d) \|^2
% ffm = value of \| F(x_c + \lambdam d) \|^2
%
% output:
% lambdap = new value of lambda given parabolic model
%
% internal parameters:
% sigma0 = .1, sigma1=.5, safeguarding bounds for the linesearch
%
%
% set internal parameters
%
sigma0=.1; sigma1=.5;
%
% compute coefficients of interpolation polynomial
%
% p(lambda) = ff0 + (c1 lambda + c2 lambda^2)/d1
%
% d1 = (lambdac - lambdam)*lambdac*lambdam < 0
% so if c2 > 0 we have negative curvature and default to
% lambdap = sigam1 * lambda
%
c2 = lambdam*(ffc-ff0)-lambdac*(ffm-ff0);
if c2 >= 0
lambdap = sigma1*lambdac; return
end
c1=lambdac*lambdac*(ffm-ff0)-lambdam*lambdam*(ffc-ff0);
lambdap=-c1*.5/c2;
if (lambdap < sigma0*lambdac) lambdap=sigma0*lambdac; end
if (lambdap > sigma1*lambdac) lambdap=sigma1*lambdac; end
|
|
Contact us at files@mathworks.com