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:
parent
3c230b42fe
commit
9e88e7f0de
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user