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:
parent
2655f99622
commit
1d5f2f3735
@ -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
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user