Loading Prog_8/Compile_Examples +2 −2 Original line number Diff line number Diff line TARGET= Examples.out OBJS= control_mod.o Operator.o observables_mod.o Hamiltonian_Examples.o Hop_mod.o UDV_WRAP.o Global_mod.o \ tau_m.o main.o wrapul.o QDRP_decompose.o cgr1.o wrapgrup.o wrapur.o upgrade.o \ wrapgrdo.o outconfc.o inconfc.o cgr2_2.o wrap_helpers.o tau_m.o main.o QDRP_decompose.o wrap_helpers.o wrapul.o cgr1.o wrapgrup.o wrapur.o upgrade.o \ wrapgrdo.o outconfc.o inconfc.o cgr2_2.o .SUFFIXES: .f90 .f Loading Prog_8/Compile_Ising +2 −2 Original line number Diff line number Diff line TARGET= Ising.out OBJS= control_mod.o Operator.o observables_mod.o print_bin_mod.o Hamiltonian_Ising.o Hop_mod.o UDV_WRAP.o \ Global_mod.o tau_m.o QDRP_decompose.o main.o wrapul.o cgr1.o wrapgrup.o wrapur.o upgrade.o \ wrapgrdo.o outconfc.o inconfc.o cgr2.o cgr2_2.o cgr2_1.o wrap_helpers.o Global_mod.o tau_m.o QDRP_decompose.o wrap_helpers.o main.o wrapul.o cgr1.o wrapgrup.o wrapur.o upgrade.o \ wrapgrdo.o outconfc.o inconfc.o cgr2.o cgr2_2.o cgr2_1.o .SUFFIXES: .f90 .f .f.o .f90.o: Loading Prog_8/Compile_Kondo_Honey +2 −2 Original line number Diff line number Diff line TARGET= Kondo_Honey.out OBJS= control_mod.o Operator.o observables_mod.o print_bin_mod.o Hamiltonian_Kondo_Honey_mod.o Hop_mod.o UDV_WRAP.o \ Global_mod.o tau_m.o QDRP_decompose.o main.o wrapul.o cgr1.o wrapgrup.o wrapur.o upgrade.o \ wrapgrdo.o outconfc.o inconfc.o cgr2.o cgr2_2.o cgr2_1.o wrap_helpers.o Global_mod.o tau_m.o QDRP_decompose.o wrap_helpers.o main.o wrapul.o cgr1.o wrapgrup.o wrapur.o upgrade.o \ wrapgrdo.o outconfc.o inconfc.o cgr2.o cgr2_2.o cgr2_1.o .SUFFIXES: .f90 .f .f.o .f90.o: Loading Prog_8/Compile_SPT +3 −3 Original line number Diff line number Diff line TARGET= SPT.out OBJS= control_mod.o Operator.o print_bin_mod.o observables_mod.o Hamiltonian_SPT.o Hop_mod.o UDV_WRAP.o \ Global_mod.o tau_m.o QDRP_decompose.o main.o wrapul.o cgr1.o wrapgrup.o wrapur.o upgrade.o \ wrapgrdo.o outconfc.o inconfc.o cgr2.o cgr2_2.o cgr2_1.o wrap_helpers.o Global_mod.o tau_m.o QDRP_decompose.o wrap_helpers.o main.o wrapul.o cgr1.o wrapgrup.o wrapur.o upgrade.o \ wrapgrdo.o outconfc.o inconfc.o cgr2.o cgr2_2.o cgr2_1.o #block.o block_obs.o Mol_Dyn.o Hubb.o inconfc.o outconfc.o npbc.o salph.o sli.o \ # sthop.o wrapul.o wrapur.o cgr1.o \ Loading @@ -14,7 +14,7 @@ OBJS= control_mod.o Operator.o print_bin_mod.o observables_mod.o Hamiltonian_SP $(FC) -c $(F90USEFULFLAGS) -o $@ $(FLAGS) $< $(TARGET): $(OBJS) $(FC) -pg $(LF) -o $(TARGET) $(OBJS) $(LIBS) $(FC) $(LF) -o $(TARGET) $(OBJS) $(LIBS) clean: rm $(OBJS) Loading Prog_8/QDRP_decompose.f90 +5 −4 Original line number Diff line number Diff line Loading @@ -54,8 +54,9 @@ Implicit None Integer, intent(in) :: Ndim Integer, intent(inout) :: LWORK Integer, Dimension(:), intent(inout), Allocatable :: IPVT COMPLEX(Kind=Kind(0.d0)), Dimension(:,:), Intent(inout), Allocatable :: Mat COMPLEX(Kind=Kind(0.d0)), Dimension(:), Intent(inout), Allocatable :: D, TAU COMPLEX(Kind=Kind(0.d0)), Dimension(:,:), Intent(inout) :: Mat COMPLEX(Kind=Kind(0.d0)), Dimension(:), Intent(inout) :: D COMPLEX(Kind=Kind(0.d0)), Dimension(:), Intent(inout), Allocatable :: TAU COMPLEX(Kind=Kind(0.d0)), Dimension(:), Intent(INOUT), Allocatable :: WORK COMPLEX(Kind=Kind(0.d0)), Dimension(:), Allocatable :: RWORK Loading @@ -65,11 +66,11 @@ Real(Kind=Kind(0.d0)) :: X ALLOCATE(RWORK(2*Ndim)) ! Query optimal amount of memory call ZGEQP3(Ndim, Ndim, Mat(1, 1), Ndim, IPVT, TAU(1), Z, -1, RWORK(1), INFO) call ZGEQP3(Ndim, Ndim, Mat, Ndim, IPVT, TAU(1), Z, -1, RWORK(1), INFO) LWORK = INT(DBLE(Z)) ALLOCATE(WORK(LWORK)) ! QR decomposition of Mat with full column pivoting, Mat * P = Q * R call ZGEQP3(Ndim, Ndim, Mat(1, 1), Ndim, IPVT, TAU(1), WORK(1), LWORK, RWORK(1), INFO) call ZGEQP3(Ndim, Ndim, Mat, Ndim, IPVT, TAU(1), WORK(1), LWORK, RWORK(1), INFO) DEALLOCATE(RWORK) ! separate off D do i = 1, Ndim Loading Loading
Prog_8/Compile_Examples +2 −2 Original line number Diff line number Diff line TARGET= Examples.out OBJS= control_mod.o Operator.o observables_mod.o Hamiltonian_Examples.o Hop_mod.o UDV_WRAP.o Global_mod.o \ tau_m.o main.o wrapul.o QDRP_decompose.o cgr1.o wrapgrup.o wrapur.o upgrade.o \ wrapgrdo.o outconfc.o inconfc.o cgr2_2.o wrap_helpers.o tau_m.o main.o QDRP_decompose.o wrap_helpers.o wrapul.o cgr1.o wrapgrup.o wrapur.o upgrade.o \ wrapgrdo.o outconfc.o inconfc.o cgr2_2.o .SUFFIXES: .f90 .f Loading
Prog_8/Compile_Ising +2 −2 Original line number Diff line number Diff line TARGET= Ising.out OBJS= control_mod.o Operator.o observables_mod.o print_bin_mod.o Hamiltonian_Ising.o Hop_mod.o UDV_WRAP.o \ Global_mod.o tau_m.o QDRP_decompose.o main.o wrapul.o cgr1.o wrapgrup.o wrapur.o upgrade.o \ wrapgrdo.o outconfc.o inconfc.o cgr2.o cgr2_2.o cgr2_1.o wrap_helpers.o Global_mod.o tau_m.o QDRP_decompose.o wrap_helpers.o main.o wrapul.o cgr1.o wrapgrup.o wrapur.o upgrade.o \ wrapgrdo.o outconfc.o inconfc.o cgr2.o cgr2_2.o cgr2_1.o .SUFFIXES: .f90 .f .f.o .f90.o: Loading
Prog_8/Compile_Kondo_Honey +2 −2 Original line number Diff line number Diff line TARGET= Kondo_Honey.out OBJS= control_mod.o Operator.o observables_mod.o print_bin_mod.o Hamiltonian_Kondo_Honey_mod.o Hop_mod.o UDV_WRAP.o \ Global_mod.o tau_m.o QDRP_decompose.o main.o wrapul.o cgr1.o wrapgrup.o wrapur.o upgrade.o \ wrapgrdo.o outconfc.o inconfc.o cgr2.o cgr2_2.o cgr2_1.o wrap_helpers.o Global_mod.o tau_m.o QDRP_decompose.o wrap_helpers.o main.o wrapul.o cgr1.o wrapgrup.o wrapur.o upgrade.o \ wrapgrdo.o outconfc.o inconfc.o cgr2.o cgr2_2.o cgr2_1.o .SUFFIXES: .f90 .f .f.o .f90.o: Loading
Prog_8/Compile_SPT +3 −3 Original line number Diff line number Diff line TARGET= SPT.out OBJS= control_mod.o Operator.o print_bin_mod.o observables_mod.o Hamiltonian_SPT.o Hop_mod.o UDV_WRAP.o \ Global_mod.o tau_m.o QDRP_decompose.o main.o wrapul.o cgr1.o wrapgrup.o wrapur.o upgrade.o \ wrapgrdo.o outconfc.o inconfc.o cgr2.o cgr2_2.o cgr2_1.o wrap_helpers.o Global_mod.o tau_m.o QDRP_decompose.o wrap_helpers.o main.o wrapul.o cgr1.o wrapgrup.o wrapur.o upgrade.o \ wrapgrdo.o outconfc.o inconfc.o cgr2.o cgr2_2.o cgr2_1.o #block.o block_obs.o Mol_Dyn.o Hubb.o inconfc.o outconfc.o npbc.o salph.o sli.o \ # sthop.o wrapul.o wrapur.o cgr1.o \ Loading @@ -14,7 +14,7 @@ OBJS= control_mod.o Operator.o print_bin_mod.o observables_mod.o Hamiltonian_SP $(FC) -c $(F90USEFULFLAGS) -o $@ $(FLAGS) $< $(TARGET): $(OBJS) $(FC) -pg $(LF) -o $(TARGET) $(OBJS) $(LIBS) $(FC) $(LF) -o $(TARGET) $(OBJS) $(LIBS) clean: rm $(OBJS) Loading
Prog_8/QDRP_decompose.f90 +5 −4 Original line number Diff line number Diff line Loading @@ -54,8 +54,9 @@ Implicit None Integer, intent(in) :: Ndim Integer, intent(inout) :: LWORK Integer, Dimension(:), intent(inout), Allocatable :: IPVT COMPLEX(Kind=Kind(0.d0)), Dimension(:,:), Intent(inout), Allocatable :: Mat COMPLEX(Kind=Kind(0.d0)), Dimension(:), Intent(inout), Allocatable :: D, TAU COMPLEX(Kind=Kind(0.d0)), Dimension(:,:), Intent(inout) :: Mat COMPLEX(Kind=Kind(0.d0)), Dimension(:), Intent(inout) :: D COMPLEX(Kind=Kind(0.d0)), Dimension(:), Intent(inout), Allocatable :: TAU COMPLEX(Kind=Kind(0.d0)), Dimension(:), Intent(INOUT), Allocatable :: WORK COMPLEX(Kind=Kind(0.d0)), Dimension(:), Allocatable :: RWORK Loading @@ -65,11 +66,11 @@ Real(Kind=Kind(0.d0)) :: X ALLOCATE(RWORK(2*Ndim)) ! Query optimal amount of memory call ZGEQP3(Ndim, Ndim, Mat(1, 1), Ndim, IPVT, TAU(1), Z, -1, RWORK(1), INFO) call ZGEQP3(Ndim, Ndim, Mat, Ndim, IPVT, TAU(1), Z, -1, RWORK(1), INFO) LWORK = INT(DBLE(Z)) ALLOCATE(WORK(LWORK)) ! QR decomposition of Mat with full column pivoting, Mat * P = Q * R call ZGEQP3(Ndim, Ndim, Mat(1, 1), Ndim, IPVT, TAU(1), WORK(1), LWORK, RWORK(1), INFO) call ZGEQP3(Ndim, Ndim, Mat, Ndim, IPVT, TAU(1), WORK(1), LWORK, RWORK(1), INFO) DEALLOCATE(RWORK) ! separate off D do i = 1, Ndim Loading