lstrs 1 2 matlab software for large scale trust regions
play

LSTRS 1.2: MATLAB Software for Large-Scale Trust-Regions Subproblems - PowerPoint PPT Presentation

LSTRS 1.2: MATLAB Software for Large-Scale Trust-Regions Subproblems and Regularization Marielba Rojas Informatics and Mathematical Modelling Technical University of Denmark Computational Methods with Applications Harrachov, Czech Republic


  1. LSTRS 1.2: MATLAB Software for Large-Scale Trust-Regions Subproblems and Regularization Marielba Rojas Informatics and Mathematical Modelling Technical University of Denmark Computational Methods with Applications Harrachov, Czech Republic August 19-25, 2007

  2. Joint work with Sandra A. Santos, Campinas, Brazil Danny C. Sorensen, Rice, USA Special thanks to Wake Forest, CERFACS, and T.U. Delft.

  3. Outline • The Trust-Region Subproblem • LSTRS - The basic idea • LSTRS - The Algorithm • LSTRS - The Software • Comparisons • Applications

  4. Basic Idea

  5. Trust-Region Subproblem 1 min T Hx + g T x 2 x s.t. � x �≤ ∆ R n × n , H = H T , n large • H ∈ I R n , g � = 0 • g ∈ I • ∆ > 0

  6. Regularization Problem 1 2 � Ax − b � 2 min s.t. � x �≤ ∆ R m × n , m ≥ n large, from ill-posed problem • A ∈ I R m , containing noise, and A T b � = 0 • b ∈ I • ∆ > 0

  7. Trust-Region Subproblem Characterization of solutions. Gay 1981, Sorensen 1982. x ∗ with � x ∗ � ≤ ∆ is a solution of TRS with Lagrange multiplier λ ∗ , if and only if (i) ( H − λ ∗ I ) x ∗ = − g . (ii) H − λ ∗ I positive semidefinite. (iii) λ ∗ ≤ 0. (iv) λ ∗ ( � x ∗ � − ∆) = 0.

  8. TRS as Parameterized Eigenvalue Problem Consider the bordered matrix   g T  α B α =  g H Then • Eigenvalues of H interlace eigenvalues of B α • ∃ α such that TRS equivalent to T B α y min 2 y 1 y T y ≤ 1+∆ 2 s.t. e T 1 y =1

  9. LSTRS       g T  1  1 α − λ = − g T x  α  = λ Note ⇔   ( H − λI ) x = − g g H x x Let H = Q diag ( δ 1 , δ 2 , . . . , δ n ) Q T and γ i = Q T g , i = 1 , 2 , . . . , n R n such that ( H − λI ) x = − g . Suppose x ∈ I n γ 2 � i T x = Define φ ( λ ) = − g δ i − λ i =1 φ ′ ( λ ) = x Then T x . Idea: Adjust α such that α − ˆ λ = φ (ˆ λ ) with φ ′ (ˆ λ ) = ∆ 2 .

  10. LSTRS • Compute rational interpolant φ and adjust α such that α − ˆ λ = φ (ˆ λ ) with φ ′ (ˆ λ ) = ∆ 2 . • Obtain interpolation points by solving large-scale eigenvalue problems for smallest eigenvalue of B α . • Solve eigenvalue problems with efficient method such as ARPACK (matrix-free, fixed storage).

  11. LSTRS in pictures - the standard case ( H − λ I ) x = − g , α − λ = φ ( λ ) ≈ − g T x , φ ′ ( λ ) = x T x . 5 φ ( λ ) 4 3 φ ( λ ), α − λ 2 α * − λ φ ( λ * ) + ∆ 2 λ 1 0 −1 −2 −4 −3.5 −3 −2.5 −2 −1.5 −1 −0.5 0 0.5 λ * λ

  12. LSTRS in pictures - the (near) hard case ( H − λ I ) x = − g , α − λ = φ ( λ ) ≈ − g T x , φ ′ ( λ ) = x T x . 5 4.5 φ ( λ ) 4 α k+1 − λ 3.5 φ ( λ ) 3 φ ( λ ), α − λ 2.5 2 1.5 1 0.5 0 λ k−1 λ k −4 −3.5 −3 −2.5 −2 λ k+1 −1.5 −1 −0.5 0 λ

  13. LSTRS in pictures - hard case in ill-posed problems

  14. Algorithm

  15. LSTRS - The Algorithm R n × n , symmetric; g ∈ I R n ; ∆ > 0; tolerances ( ε ∆ , ε ν , ε HC , ε α , ε Int ). Input: H ∈ I Output: x ∗ , solution to TRS and Lagrange multiplier λ ∗ . 1. Initialization 1.1 Compute δ U ≥ δ 1 , initialize α U , initialize α 0 1.2 Compute eigenpairs { λ 1( α 0) , ( ν 1 , uT 1 ) T } , { λi ( α 0) , ( ν 2 , uT 2 ) T } of B α 0 1.3 Initialize α L , set k = 0 2. repeat 2.1 Adjust α k (might need to compute eigenpairs ) √ 1 − ν 1 2 then 2.2 if � g �| ν 1 | > ε ν λ k = λ 1 ( α k ) and x k = u 1 set , and update α L or α U . ν 1 else set λ k = λ i ( α k ) , x k = u 2 , and α U = α k ν 2 2.3 Compute α k +1 by 1-point ( k = 0 ) or 2-point interpolation scheme and set k = k + 1 2.4 Safeguard α k +1 2.5 Compute eigenpairs { λ 1( αk ) , ( ν 1 , uT 1 ) T } , { λi ( αk ) , ( ν 2 , uT 2 ) T } of B α k until convergence

  16. LSTRS - The Algorithm • Update α k by rational interpolation • Adjust α k until eigenvector with desired structure is obtained • Safeguard α k using safeguarding interval • Tolerances • Convergence (Stopping Criteria) • H (Hessian Matrix) • Eigensolver

  17. LSTRS - The Algorithm Tolerances The desired relative accuracy in the norm of the trust-region solution. ε ∆ A boundary solution x satisfies |� x �− ∆ | ≤ ε ∆ · ∆ ε HC The desired accuracy of a quasi-optimal solution in the hard case. A quasi-optimal solution ˆ x satisfies ψ ( x ∗ ) ≤ ψ (ˆ x ) ≤ ε HC ψ ( x ∗ ), 2 x T Hx + g T x , and x ∗ is the true solution. where ψ ( x ) = 1 ε α The minimum relative length of the safeguarding interval for α . The interval is too small when | α U − α L | ≤ ε α ∗ max {| α L | , | α U |} · Used to declare that the smallest eigenvalue of B α is positive in the test ε Int for an interior solution: λ 1 ( α ) is considered positive if λ 1 ( α ) > − ε Int · ε ν The minimum relative size of an eigenvector component. � u � The component ν is small when | ν | ≤ ε ν � g � ·

  18. LSTRS - The Algorithm Stopping Criteria 1. Boundary Solution - ε ∆ 2. Interior Solution - ε Int 3. Quasi-Optimal Solution ( Near Hard Case ! ) - ε HC 4. Safeguarding interval cannot be further decreased - ε α 5. Maximum number of iterations reached

  19. Software

  20. LSTRS - The Software Version: 1.2 System: MATLAB 6.0 or higher

  21. LSTRS - The Software Front-end routine: lstrs LSTRS Iteration: lstrs method Update of α k : upd param0, upd paramk, interpol1, interpol2, inter point Adjustment of α k : adjust alpha Safeguarding of α k : safe alpha1, safe alphak, upd alpha safe Eigenproblems: b epairs, eig gateway, eigs lstrs, eigs lstrs gateway, tcheigs lstrs gateway Stopping Criteria: convergence, boundary sol, interior sol, quasioptimal sol Output: output

  22. LSTRS - The Software General Call [x,lambda,info,moreinfo] = ... lstrs ( H ,g,delta,epsilon, eigensolver ,lopts, Hpar , eigensolverpar ) Simplest Call [x,lambda,info,moreinfo] = lstrs ( H ,g,delta);

  23. LSTRS - The Software Input Parameters char: H, eigensolver double: H, g, delta struct: epsilon, lopts, Hpar, eigensolverpar function-handle: H, eigensolver Output Parameters x : solution vector lambda : Lagrange multiplier (Tikhonov parameter) info : exit condition moreinfo : other exit conditions, matrix-vector products, etc.

  24. LSTRS Software: Key Features • Two options for Hessian Matrix : – H (explicitly) – Matrix-Vector Multiplication Routine • Several options for Eigensolver : – eig – eigs lstrs (modified version of eigs that returns more information): this is MATLAB’s interface to ARPACK (Implicitly Restarted Arnoldi Method) – tcheigs lstrs +Tchebyshev Spectral Transformation – user-provided • Fixed Storage

  25. % % File: simple.m % A simple problem where the Hessian is the Identity matrix. % H = eye(50); g = ones(50,1); mu = -3; % chosen arbitrarily xexact = -ones(50,1)/(1-mu); Delta = norm(xexact); % % The simplest possible calls to lstrs . Default values are used. % [x,lambda,info,moreinfo] = lstrs (H,g,Delta); [x,lambda,info,moreinfo] = lstrs (@ mv ,g,Delta);

  26. % % File: mv.m % A simple matrix-vector multiplication routine % that computes the Identity matrix times a vector v % function [w] = mv (v,varargin) w = v;

  27. < M A T L A B > >> simple Problem: no name available. Dimension: 50. Delta: 1.767767e+00 Eigensolver: eigs lstrs gateway LSTRS iteration: 0 || x || : 9.317862e-01, lambda: -6.588723e+00 ||| x || -Delta | / Delta: 4.729021e-01 LSTRS iteration: 1 || x || : 1.767767e+00, lambda: -3.000000e+00 ||| x || -Delta | / Delta: 1.381681e-15 Number of LSTRS Iterations: 2 Number of calls to eigensolver: 2 Number of MV products: 18 ( || x || -Delta)/Delta: 1.381681e-15 lambda: -3.000000e+00 || g + (H-lambda*I)x || / || g || = 1.553836e-15 The vector x is a Boundary Solution

  28. % % File: regularization.m % Computes a regularized solution to problem phillips from % the Regularization Tools Package by P.C. Hansen % [A,b,xexact] = phillips(300); atamvpar .A = A; g = - A’*b; Delta = norm(xexact); lopts.name = ’phillips’; lopts.plot = ’y’; lopts.message level = 2; lopts.correction = ’n’; lopts.interior = ’n’; epar .k = 2; epar .p = 7; % for a total of 7 vectors (default) [x,lambda,info,moreinfo] = ... lstrs (@ atamv ,g,Delta,[ ],@ tcheigs lstrs gateway ,lopts, atamvpar , epar );

  29. % % File: atamv.m % A matrix-vector multiplication routine % that computes A’*A*v % The matrix A must be a field of the structure atamvpar % function [w] = atamv (v,atamvpar) w = atamvpar.A*v; w = (w’*atamvpar.A)’;

  30. < M A T L A B > >> regularization Problem: phillips. Dimension: 300. Delta: 2.999927e+00 Eigensolver: tcheigs lstrs gateway LSTRS iteration: 0 || x || : 8.327280e-01, lambda: -6.913002e+01 ||| x || -Delta | / Delta: 7.224172e-01 LSTRS iteration: 1 || x || : 1.746167e+00, lambda: -1.768532e+01 ||| x || -Delta | / Delta: 4.179302e-01 LSTRS iteration: 2 || x || : 2.935925e+00, lambda: -3.680399e-01 ||| x || -Delta | / Delta: 2.133441e-02 LSTRS iteration: 3 || x || : 3.000547e+00, lambda: 1.883460e-03 ||| x || -Delta | / Delta: 2.067913e-04 Number of LSTRS Iterations: 4 Number of calls to eigensolver: 5 Number of MV products: 342 ( || x || -Delta)/Delta: 1.332300e-15 lambda: 1.904171e-03 || g + (H-lambda* I)x || / || g || = 1.929542e-05 The vector x is a Quasi-optimal Solution

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend