Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .other_libs/build_fcns/configure.ac_FormCHK
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
AC_INIT([MQC_Pack], [25.11.0], [hhratchian@ucmerced.edu])
AC_INIT([MQC_Pack], [25.11.1], [hhratchian@ucmerced.edu])
AM_INIT_AUTOMAKE([foreign])
AC_CONFIG_SRCDIR([src/mqc_general.F03])
AC_PROG_CPP
Expand Down
2 changes: 1 addition & 1 deletion .other_libs/build_fcns/configure.ac_MatrixFile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
AC_INIT([MQC_Pack], [25.11.0], [hhratchian@ucmerced.edu])
AC_INIT([MQC_Pack], [25.11.1], [hhratchian@ucmerced.edu])
AM_INIT_AUTOMAKE([foreign])
AC_CONFIG_SRCDIR([src/mqc_general.F03])
AC_LANG([Fortran])
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
** **
** The Merced Quantum Chemistry Package **
** (MQCPack) **
** Version 25.9.0 **
** September 10, 2025 **
** Version 25.11.1 **
** November 10, 2025 **
** **
** **
** Written By: **
Expand Down
5 changes: 5 additions & 0 deletions releaseNotes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@ number updates will be documented here. Note that the minor version number
will often be updated near the start of the month and the revision number
in that case will be set to 0.

November 10, 2025
* MQCPack version set to 25.11.1.
* Added a wrapper in MQC_General_LAPack for DGESV, which is used for linear
equation solving.

November 8, 2025
* MQCPack version set to 25.11.0.
* Added Contraction function for intrinsic real matrices.
Expand Down
4 changes: 2 additions & 2 deletions src/mqc_FullWavefunction.F03
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ module MQC_FullWavefunction
! ** Lee M. Thompson, Xianghai Sheng, Andrew D. Mahler, Dave **
! ** Mullally, and Hrant P. Hratchian **
! ** **
! ** Version 25.11.0 **
! ** November 8, 2025 **
! ** Version 25.11.1 **
! ** November 10, 2025 **
! ** **
! ** **
! ** Modules beloning to MQCPack: **
Expand Down
4 changes: 2 additions & 2 deletions src/mqc_algebra.F03
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ Module MQC_Algebra
! ** Lee M. Thompson, Xianghai Sheng, Andrew D. Mahler, Dave **
! ** Mullally, and Hrant P. Hratchian **
! ** **
! ** Version 25.11.0 **
! ** November 8, 2025 **
! ** Version 25.11.1 **
! ** November 10, 2025 **
! ** **
! ** **
! ** Modules beloning to MQCPack: **
Expand Down
4 changes: 2 additions & 2 deletions src/mqc_algebra2.F03
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ Module MQC_Algebra2
! ** Lee M. Thompson, Xianghai Sheng, Andrew D. Mahler, Dave **
! ** Mullally, and Hrant P. Hratchian **
! ** **
! ** Version 25.11.0 **
! ** November 8, 2025 **
! ** Version 25.11.1 **
! ** November 10, 2025 **
! ** **
! ** **
! ** Modules beloning to MQCPack: **
Expand Down
4 changes: 2 additions & 2 deletions src/mqc_binary.F03
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ module MQC_Binary
! ** Lee M. Thompson, Xianghai Sheng, Andrew D. Mahler, Dave **
! ** Mullally, and Hrant P. Hratchian **
! ** **
! ** Version 25.11.0 **
! ** November 8, 2025 **
! ** Version 25.11.1 **
! ** November 10, 2025 **
! ** **
! ** **
! ** Modules beloning to MQCPack: **
Expand Down
4 changes: 2 additions & 2 deletions src/mqc_datastructures.F03
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ Module MQC_DataStructures
! ** Lee M. Thompson, Xianghai Sheng, Andrew D. Mahler, Dave **
! ** Mullally, and Hrant P. Hratchian **
! ** **
! ** Version 25.11.0 **
! ** November 8, 2025 **
! ** Version 25.11.1 **
! ** November 10, 2025 **
! ** **
! ** **
! ** Modules beloning to MQCPack: **
Expand Down
4 changes: 2 additions & 2 deletions src/mqc_est.F03
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ Module MQC_EST
! ** Lee M. Thompson, Xianghai Sheng, Andrew D. Mahler, Dave **
! ** Mullally, and Hrant P. Hratchian **
! ** **
! ** Version 25.11.0 **
! ** November 8, 2025 **
! ** Version 25.11.1 **
! ** November 10, 2025 **
! ** **
! ** **
! ** Modules beloning to MQCPack: **
Expand Down
4 changes: 2 additions & 2 deletions src/mqc_files.F03
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ Module MQC_Files
! ** Lee M. Thompson, Xianghai Sheng, Andrew D. Mahler, Dave **
! ** Mullally, and Hrant P. Hratchian **
! ** **
! ** Version 25.11.0 **
! ** November 8, 2025 **
! ** Version 25.11.1 **
! ** November 10, 2025 **
! ** **
! ** **
! ** Modules beloning to MQCPack: **
Expand Down
4 changes: 2 additions & 2 deletions src/mqc_gaussian.F03
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ Module MQC_Gaussian
! ** Lee M. Thompson, Xianghai Sheng, Andrew D. Mahler, Dave **
! ** Mullally, and Hrant P. Hratchian **
! ** **
! ** Version 25.11.0 **
! ** November 8, 2025 **
! ** Version 25.11.1 **
! ** November 10, 2025 **
! ** **
! ** **
! ** Modules beloning to MQCPack: **
Expand Down
15 changes: 11 additions & 4 deletions src/mqc_general.F03
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ Module MQC_General
! ** Lee M. Thompson, Xianghai Sheng, Andrew D. Mahler, Dave **
! ** Mullally, and Hrant P. Hratchian **
! ** **
! ** Version 25.11.0 **
! ** November 8, 2025 **
! ** Version 25.11.1 **
! ** November 10, 2025 **
! ** **
! ** **
! ** Modules beloning to MQCPack: **
Expand Down Expand Up @@ -157,6 +157,13 @@ Module MQC_General
module procedure mqc_contraction_full_real
end interface
!
! Interfaces for procedures in MQC_General_LAPack
!
interface mqc_dgesv
module procedure mqc_dgesv_mat
module procedure mqc_dgesv_vec
end interface mqc_dgesv
!
!
! Subroutines/Functions...
!
Expand Down Expand Up @@ -185,8 +192,8 @@ subroutine mqc_version(major,minor,revision,versionString)
!
if(PRESENT(major)) major = 25
if(PRESENT(minor)) minor = 11
if(PRESENT(revision)) revision = 0
if(PRESENT(versionString)) versionString = '25.11.0'
if(PRESENT(revision)) revision = 1
if(PRESENT(versionString)) versionString = '25.11.1'
!
return
end subroutine mqc_version
Expand Down
143 changes: 141 additions & 2 deletions src/mqc_general_lapack.F03
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
! ** Lee M. Thompson, Xianghai Sheng, Andrew D. Mahler, Dave **
! ** Mullally, and Hrant P. Hratchian **
! ** **
! ** Version 25.11.0 **
! ** November 8, 2025 **
! ** Version 25.11.1 **
! ** November 10, 2025 **
! ** **
! ** **
! ** Modules beloning to MQCPack: **
Expand Down Expand Up @@ -421,3 +421,142 @@ subroutine mqc_dgesvd_svd_Full(matrix,singularValues, &
!
return
end subroutine mqc_dgesvd_svd_Full



!PROCEDURE mqc_dgesv_mat
subroutine mqc_dgesv_mat(A,B,X,infoOut)
!
! This routine is a wrapper for the LAPack routine DGESV for cases where the
! right hand side of the linear system of equations is a matrix (or multiple
! vectors).
!
!
! H. P. Hratchian, 2025.
!
!
implicit none
real(kind=real64),intent(in)::A(:,:)
real(kind=real64),intent(in)::B(:,:)
real(kind=real64),allocatable,intent(out)::X(:,:)
integer,intent(out),optional::infoOut
!
integer::N,NRHS,LDA,LDB,INFO
integer,dimension(:),allocatable::IPIV
real(kind=real64),dimension(:,:),allocatable::Acopy,Bcopy
!
! Carry out shape checks.
!
if(SIZE(A,1).ne.SIZE(A,2)) call mqc_error('mqc_dgesv: A must be square.')
N = SIZE(A,1)
if (SIZE(B,1).ne.N) call mqc_error('mqc_dgesv: B has incompatible row dimension.')
NRHS = SIZE(B,2)
if (NRHS < 1) call mqc_error('mqc_dgesv: NRHS must be >= 1.')
!
! Allocate and then fill working copies of A and B.
!
allocate(Acopy(N,N),Bcopy(N,NRHS))
Acopy = A
Bcopy = B
!
! Allocate output space.
!
if(allocated(X)) then
if(SIZE(X,1).ne.N .or. SIZE(X,2).ne.NRHS) then
deallocate(X)
allocate(X(N,NRHS))
endIf
else
allocate(X(N,NRHS))
endIf
!
! Call DGESV...
!
LDA = N
LDB = N
allocate(IPIV(N))
INFO = 0
call dgesv(N, NRHS, Acopy, LDA, IPIV, Bcopy, LDB, INFO)
!
! Check for errors in the LAPack run.
!
if(present(infoOut)) infoOut = INFO
if(INFO.ne.0) &
call mqc_error('mqc_dgesv: DGESV failed (INFO /= 0).')
!
! Move Bcopy into the output argument X. Then, DeAllocate the temporary
! memory space this routine has allocated.
!
X = Bcopy
deallocate(Acopy, Bcopy, IPIV)
!
return
end subroutine mqc_dgesv_mat


!PROCEDURE mqc_dgesv_vec
subroutine mqc_dgesv_vec(A, b, x, infoOut)
!
! This routine is a wrapper for the LAPack routine DGESV for cases where the
! right hand side of the linear system of equations is a vector.
!
!
! H. P. Hratchian, 2025.
!
!
implicit none
real(kind=real64),intent(in)::A(:,:)
real(kind=real64),intent(in)::b(:)
real(kind=real64),allocatable,intent(out)::x(:)
integer(kind=int64),intent(out),optional::infoOut
!
integer(kind=int64)::N,NRHS,LDA,LDB,INFO
integer(kind=int64),allocatable::IPIV(:)
real(kind=real64),allocatable::Acopy(:,:),Bcopy(:,:)
!
! Carry out shape checks.
!
if(SIZE(A,1).ne.SIZE(A,2)) call mqc_error('mqc_dgesv: A must be square.')
N = SIZE(A,1)
if(SIZE(b).ne.N) call mqc_error('mqc_dgesv: b has incompatible length.')
!
! Allocate and then fill working copies of A and B.
!
NRHS = 1
allocate(Acopy(N,N),Bcopy(N,NRHS))
Acopy = A
Bcopy(:,1) = b
!
! Allocate output space.
!
if(allocated(x)) then
if(SIZE(x).ne.N) then
deallocate(x)
allocate(x(N))
endIf
else
allocate(x(N))
endIf
!
! Call DGESV...
!
LDA = N
LDB = N
allocate(IPIV(N))
INFO = 0
call dgesv(N, NRHS, Acopy, LDA, IPIV, Bcopy, LDB, INFO)
!
! Check for errors in the LAPack run.
!
if(present(infoOut)) infoOut = INFO
if(INFO.ne.0) &
call mqc_error('mqc_dgesv: DGESV failed (INFO /= 0).')
!
! Move Bcopy into the output argument X. Then, DeAllocate the temporary
! memory space this routine has allocated.
!
x = Bcopy(:,1)
deallocate(Acopy, Bcopy, IPIV)
!
return
end subroutine mqc_dgesv_vec
4 changes: 2 additions & 2 deletions src/mqc_integrals.F03
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ module MQC_Integrals
! ** Lee M. Thompson, Xianghai Sheng, Andrew D. Mahler, Dave **
! ** Mullally, and Hrant P. Hratchian **
! ** **
! ** Version 25.11.0 **
! ** November 8, 2025 **
! ** Version 25.11.1 **
! ** November 10, 2025 **
! ** **
! ** **
! ** Modules beloning to MQCPack: **
Expand Down
4 changes: 2 additions & 2 deletions src/mqc_interface.F03
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
! ** Lee M. Thompson, Xianghai Sheng, Andrew D. Mahler, Dave **
! ** Mullally, and Hrant P. Hratchian **
! ** **
! ** Version 25.11.0 **
! ** November 8, 2025 **
! ** Version 25.11.1 **
! ** November 10, 2025 **
! ** **
! ** **
! ** Modules beloning to MQCPack: **
Expand Down
4 changes: 2 additions & 2 deletions src/mqc_matwrapper.F03
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ Module MQC_MatWrapper
! ** Lee M. Thompson, Xianghai Sheng, Andrew D. Mahler, Dave **
! ** Mullally, and Hrant P. Hratchian **
! ** **
! ** Version 25.11.0 **
! ** November 8, 2025 **
! ** Version 25.11.1 **
! ** November 10, 2025 **
! ** **
! ** **
! ** Modules beloning to MQCPack: **
Expand Down
4 changes: 2 additions & 2 deletions src/mqc_molecule.F03
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ Module MQC_Molecule
! ** Lee M. Thompson, Xianghai Sheng, Andrew D. Mahler, Dave **
! ** Mullally, and Hrant P. Hratchian **
! ** **
! ** Version 25.11.0 **
! ** November 8, 2025 **
! ** Version 25.11.1 **
! ** November 10, 2025 **
! ** **
! ** **
! ** Modules beloning to MQCPack: **
Expand Down