9
1
mirror of https://github.com/QuantumPackage/qp2.git synced 2025-04-25 17:54:44 +02:00

Optim in 2RDM

This commit is contained in:
Anthony Scemama 2025-02-26 15:26:22 +01:00
parent 2655f99622
commit 1d5f2f3735
2 changed files with 40 additions and 40 deletions

View File

@ -632,11 +632,11 @@ subroutine update_keys_values_n_states_local(keys,values,nkeys,dim1,n_st,big_arr
integer :: i,h1,h2,p1,p2 integer :: i,h1,h2,p1,p2
do i = 1, nkeys do i = 1, nkeys
h1 = keys(1,i)
h2 = keys(2,i)
p1 = keys(3,i)
p2 = keys(4,i)
do istate = 1, N_st do istate = 1, N_st
h1 = keys(1,i)
h2 = keys(2,i)
p1 = keys(3,i)
p2 = keys(4,i)
big_array_local(istate,h1,h2,p1,p2) = big_array_local(istate,h1,h2,p1,p2) + values(istate,i) big_array_local(istate,h1,h2,p1,p2) = big_array_local(istate,h1,h2,p1,p2) + values(istate,i)
enddo enddo
enddo enddo

View File

@ -592,6 +592,15 @@ subroutine orb_range_off_diag_single_to_all_states_aa_dm_buffer(det_1,det_2,c_1,
keys(3,nkeys) = p1 keys(3,nkeys) = p1
keys(4,nkeys) = h2 keys(4,nkeys) = h2
nkeys += 1
do istate = 1, N_st
values(istate,nkeys) = - c_1(istate) * phase
enddo
keys(1,nkeys) = h2
keys(2,nkeys) = h1
keys(3,nkeys) = p1
keys(4,nkeys) = h2
nkeys += 1 nkeys += 1
do istate = 1, N_st do istate = 1, N_st
values(istate,nkeys) = - c_1(istate) * phase values(istate,nkeys) = - c_1(istate) * phase
@ -609,15 +618,6 @@ subroutine orb_range_off_diag_single_to_all_states_aa_dm_buffer(det_1,det_2,c_1,
keys(2,nkeys) = h1 keys(2,nkeys) = h1
keys(3,nkeys) = h2 keys(3,nkeys) = h2
keys(4,nkeys) = p1 keys(4,nkeys) = p1
nkeys += 1
do istate = 1, N_st
values(istate,nkeys) = - c_1(istate) * phase
enddo
keys(1,nkeys) = h2
keys(2,nkeys) = h1
keys(3,nkeys) = p1
keys(4,nkeys) = h2
enddo enddo
else else
return return
@ -706,6 +706,15 @@ subroutine orb_range_off_diag_single_to_all_states_bb_dm_buffer(det_1,det_2,c_1,
keys(3,nkeys) = p1 keys(3,nkeys) = p1
keys(4,nkeys) = h2 keys(4,nkeys) = h2
nkeys += 1
do istate = 1, N_st
values(istate,nkeys) = - c_1(istate) * phase
enddo
keys(1,nkeys) = h2
keys(2,nkeys) = h1
keys(3,nkeys) = p1
keys(4,nkeys) = h2
nkeys += 1 nkeys += 1
do istate = 1, N_st do istate = 1, N_st
values(istate,nkeys) = - c_1(istate) * phase values(istate,nkeys) = - c_1(istate) * phase
@ -723,15 +732,6 @@ subroutine orb_range_off_diag_single_to_all_states_bb_dm_buffer(det_1,det_2,c_1,
keys(2,nkeys) = h1 keys(2,nkeys) = h1
keys(3,nkeys) = h2 keys(3,nkeys) = h2
keys(4,nkeys) = p1 keys(4,nkeys) = p1
nkeys += 1
do istate = 1, N_st
values(istate,nkeys) = - c_1(istate) * phase
enddo
keys(1,nkeys) = h2
keys(2,nkeys) = h1
keys(3,nkeys) = p1
keys(4,nkeys) = h2
enddo enddo
endif endif
! endif ! endif
@ -814,6 +814,15 @@ subroutine orb_range_off_diag_double_to_all_states_aa_dm_buffer(det_1,det_2,c_1,
keys(3,nkeys) = p1 keys(3,nkeys) = p1
keys(4,nkeys) = p2 keys(4,nkeys) = p2
nkeys += 1
do istate = 1, N_st
values(istate,nkeys) = - c_1(istate) * phase
enddo
keys(1,nkeys) = h2
keys(2,nkeys) = h1
keys(3,nkeys) = p1
keys(4,nkeys) = p2
nkeys += 1 nkeys += 1
do istate = 1, N_st do istate = 1, N_st
values(istate,nkeys) = - c_1(istate) * phase values(istate,nkeys) = - c_1(istate) * phase
@ -831,15 +840,6 @@ subroutine orb_range_off_diag_double_to_all_states_aa_dm_buffer(det_1,det_2,c_1,
keys(2,nkeys) = h1 keys(2,nkeys) = h1
keys(3,nkeys) = p2 keys(3,nkeys) = p2
keys(4,nkeys) = p1 keys(4,nkeys) = p1
nkeys += 1
do istate = 1, N_st
values(istate,nkeys) = - c_1(istate) * phase
enddo
keys(1,nkeys) = h2
keys(2,nkeys) = h1
keys(3,nkeys) = p1
keys(4,nkeys) = p2
! endif ! endif
end end
@ -917,6 +917,15 @@ subroutine orb_range_off_diag_double_to_all_states_bb_dm_buffer(det_1,det_2,c_1,
keys(3,nkeys) = p1 keys(3,nkeys) = p1
keys(4,nkeys) = p2 keys(4,nkeys) = p2
nkeys += 1
do istate = 1, N_st
values(istate,nkeys) = - c_1(istate) * phase
enddo
keys(1,nkeys) = h2
keys(2,nkeys) = h1
keys(3,nkeys) = p1
keys(4,nkeys) = p2
nkeys += 1 nkeys += 1
do istate = 1, N_st do istate = 1, N_st
values(istate,nkeys) = - c_1(istate) * phase values(istate,nkeys) = - c_1(istate) * phase
@ -934,15 +943,6 @@ subroutine orb_range_off_diag_double_to_all_states_bb_dm_buffer(det_1,det_2,c_1,
keys(2,nkeys) = h1 keys(2,nkeys) = h1
keys(3,nkeys) = p2 keys(3,nkeys) = p2
keys(4,nkeys) = p1 keys(4,nkeys) = p1
nkeys += 1
do istate = 1, N_st
values(istate,nkeys) = - c_1(istate) * phase
enddo
keys(1,nkeys) = h2
keys(2,nkeys) = h1
keys(3,nkeys) = p1
keys(4,nkeys) = p2
! endif ! endif
end end