Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AINT_TR optimization #85

Open
talassio opened this issue Mar 26, 2020 · 0 comments
Open

AINT_TR optimization #85

talassio opened this issue Mar 26, 2020 · 0 comments
Assignees
Labels
update Update required

Comments

@talassio
Copy link
Collaborator

talassio commented Mar 26, 2020

Subroutine AINT_TR

  1. Deal separately with B generic and B=Identinity, I(n).
  2. w%B is acting as a dense Identity matrix, and is mostly not required, except for the calls to solve_spd and solve_general, some proposals follow:
  3. Assembly and allocation of m0(2n,2n) and m1(2n,2n) might not be required, specially m1 where it is constituted of two diagonals identities.
  4. Change max_eig so not to expect m1 and m0 but the assembly blocks a and (potentially a non identity block b)
  5. Solving ( A + lambda* B ) x = b can be optimized for the case where B=I(n) and probably the allocation of b(n,n) will not be required.

SUBROUTINE AINT_tr(J,A,f,X,v,hf,n,m,Delta,d,normd,options,inform,w)
! -----------------------------------------
! AINT_tr
! Solve the trust-region subproblem using
! the method of ADACHI, IWATA, NAKATSUKASA and TAKEDA
! -----------------------------------------
Implicit None
REAL(wp), intent(in) :: J(:), A(:,:), hf(:), f(:), v(:), X(:), Delta
integer, intent(in) :: n, m
real(wp), intent(out) :: d(:)
real(wp), intent(out) :: normd ! ||d||_D
TYPE( nlls_options ), INTENT( IN ) :: options
TYPE( nlls_inform ), INTENT( INOUT ) :: inform
type( AINT_tr_work ) :: w
integer :: i, size_hard(2)
real(wp) :: obj_p0, obj_p1, obj_p0_gn, obj_p1_gn
REAL(wp) :: norm_p0, tau, lam, eta
Character(Len=80) :: rec(1)
If ( .not. w%allocated ) Then

@talassio talassio added the update Update required label Mar 31, 2020
@talassio talassio added this to the RC3: Enhancements to solver milestone Mar 31, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
update Update required
Projects
None yet
Development

No branches or pull requests

2 participants