10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-12-23 12:56:14 +01:00

Put davdison_sze_max in EZFIO

This commit is contained in:
Anthony Scemama 2016-11-16 10:37:35 +01:00
parent 3c230b42fe
commit 9e88e7f0de
3 changed files with 6 additions and 21 deletions

View File

@ -6,7 +6,12 @@ default: 1.e-12
[n_states_diag] [n_states_diag]
type: States_number type: States_number
doc: n_states_diag doc: Number of states to consider during the Davdison diagonalization
default: 10 default: 10
interface: ezfio,provider,ocaml interface: ezfio,provider,ocaml
[davidson_sze_max]
type: Strictly_positive_int
doc: Number of micro-iterations before re-contracting
default: 10
interface: ezfio,provider,ocaml

View File

@ -1,21 +1,3 @@
BEGIN_PROVIDER [ integer, davidson_iter_max ]
implicit none
BEGIN_DOC
! Max number of Davidson iterations
END_DOC
davidson_iter_max = 100
END_PROVIDER
BEGIN_PROVIDER [ integer, davidson_sze_max ]
implicit none
BEGIN_DOC
! Max number of Davidson sizes
END_DOC
ASSERT (davidson_sze_max <= davidson_iter_max)
davidson_sze_max = N_states+7
END_PROVIDER
BEGIN_PROVIDER [ character(64), davidson_criterion ] BEGIN_PROVIDER [ character(64), davidson_criterion ]
implicit none implicit none
BEGIN_DOC BEGIN_DOC

View File

@ -148,12 +148,10 @@ subroutine ortho_qr(A,LDA,m,n)
allocate (jpvt(n), tau(n), work(1)) allocate (jpvt(n), tau(n), work(1))
LWORK=-1 LWORK=-1
! call dgeqp3(m, n, A, LDA, jpvt, tau, WORK, LWORK, INFO)
call dgeqrf( m, n, A, LDA, TAU, WORK, LWORK, INFO ) call dgeqrf( m, n, A, LDA, TAU, WORK, LWORK, INFO )
LWORK=2*WORK(1) LWORK=2*WORK(1)
deallocate(WORK) deallocate(WORK)
allocate(WORK(LWORK)) allocate(WORK(LWORK))
! call dgeqp3(m, n, A, LDA, jpvt, tau, WORK, LWORK, INFO)
call dgeqrf( m, n, A, LDA, TAU, WORK, LWORK, INFO ) call dgeqrf( m, n, A, LDA, TAU, WORK, LWORK, INFO )
call dorgqr(m, n, n, A, LDA, tau, WORK, LWORK, INFO) call dorgqr(m, n, n, A, LDA, tau, WORK, LWORK, INFO)
deallocate(WORK,jpvt,tau) deallocate(WORK,jpvt,tau)