diff --git a/src/AOtoMO/exchange_matrix_MO_basis.f90 b/src/AOtoMO/exchange_matrix_MO_basis.f90 new file mode 100644 index 0000000..5cb13b1 --- /dev/null +++ b/src/AOtoMO/exchange_matrix_MO_basis.f90 @@ -0,0 +1,26 @@ +subroutine exchange_matrix_MO_basis(nBas,c,P,G,K) + +! Compute exchange matrix in the MO basis + + implicit none + include 'parameters.h' + +! Input variables + + integer,intent(in) :: nBas + double precision,intent(in) :: c(nBas,nBas),P(nBas,nBas) + double precision,intent(in) :: G(nBas,nBas,nBas,nBas) + +! Output variables + + double precision,intent(out) :: K(nBas,nBas) + +! Compute Hartree Hamiltonian in the AO basis + + call exchange_matrix_AO_basis(nBas,P,G,K) + +! Transform Coulomb matrix in the MO basis + + K = matmul(transpose(c),matmul(K,c)) + +end subroutine exchange_matrix_MO_basis