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.7.3], [hhratchian@ucmerced.edu])
AC_INIT([MQC_Pack], [25.8.0], [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.7.3], [hhratchian@ucmerced.edu])
AC_INIT([MQC_Pack], [25.8.0], [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.7.3 **
** July 30, 2025 **
** Version 25.8.0 **
** August 1, 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.

August 16, 2025
* MQCPack version set to 25.8.0.
* Minor updates for printing logical arrays made to MQC_General.
* Merged in updates from the Thompson Group.

July 30, 2025
* MQCPack version set to 25.7.3.
* Several updates to MQC_Integrals.
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.7.3 **
! ** July 30, 2025 **
! ** Version 25.8.0 **
! ** August 1, 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.7.3 **
! ** July 30, 2025 **
! ** Version 25.8.0 **
! ** August 1, 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.7.3 **
! ** July 30, 2025 **
! ** Version 25.8.0 **
! ** August 1, 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.7.3 **
! ** July 30, 2025 **
! ** Version 25.8.0 **
! ** August 1, 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.7.3 **
! ** July 30, 2025 **
! ** Version 25.8.0 **
! ** August 1, 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.7.3 **
! ** July 30, 2025 **
! ** Version 25.8.0 **
! ** August 1, 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.7.3 **
! ** July 30, 2025 **
! ** Version 25.8.0 **
! ** August 1, 2025 **
! ** **
! ** **
! ** Modules beloning to MQCPack: **
Expand Down
5 changes: 2 additions & 3 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.7.3 **
! ** July 30, 2025 **
! ** Version 25.8.0 **
! ** August 1, 2025 **
! ** **
! ** **
! ** Modules beloning to MQCPack: **
Expand Down Expand Up @@ -351,7 +351,6 @@ Subroutine MQC_Gaussian_FChk_Open(FileInfo,FileName,UnitNumber, &
Return
End Subroutine MQC_Gaussian_FChk_Open


!
!PROCEDURE Find_FChk_Entry
Subroutine Find_FChk_Entry(FChkFile,EntryTag,FoundEntry, &
Expand Down
50 changes: 45 additions & 5 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.7.3 **
! ** July 30, 2025 **
! ** Version 25.8.0 **
! ** August 1, 2025 **
! ** **
! ** **
! ** Modules beloning to MQCPack: **
Expand Down Expand Up @@ -179,9 +179,9 @@ subroutine mqc_version(major,minor,revision,versionString)
character(len=*),OPTIONAL,intent(out)::versionString
!
if(PRESENT(major)) major = 25
if(PRESENT(minor)) minor = 7
if(PRESENT(revision)) revision = 3
if(PRESENT(versionString)) versionString = '25.7.3'
if(PRESENT(minor)) minor = 8
if(PRESENT(revision)) revision = 0
if(PRESENT(versionString)) versionString = '25.8.0'
!
return
end subroutine mqc_version
Expand Down Expand Up @@ -1243,6 +1243,46 @@ Subroutine MQC_Print_Vector_Array_Complex(vector,iOut,Header,Blank_At_Top, &
Return
End Subroutine MQC_Print_Vector_Array_Complex

!
!PROCEDURE MQC_Print_Vector_Array_Logical
subroutine MQC_Print_Vector_Array_Logical(Vector,iOut,Header,Blank_At_Top, &
Blank_At_Bottom)
!
! This subroutine is used to print a Vector array type variable.
!
! H. P. Hratchian, 2025.
!
!
! Variable Declarations.
implicit none
integer(kind=int64),Intent(In)::IOut
logical,Dimension(:),Intent(In)::Vector
character(Len=*),Intent(In),Optional::Header
logical(kind=int64),Intent(In),Optional::Blank_At_Top,Blank_At_Bottom
integer(kind=int64)::I,Length
Character(Len=256)::FormatLine
!
1000 Format(1x,A)
1001 Format(1x,I7,2x,L14)
1002 Format(1x,I7,2X,F14.6)
1003 Format(1x,I7,2x,A)
1020 Format(' ')
!
If(PRESENT(Blank_At_Top)) then
If(Blank_At_Top) Write(IOut,1020)
EndIf
if(Present(Header)) Write(IOut,1000) TRIM(Header)
Length = Size(Vector)
Do I = 1, Length
Write(IOut,1001) I, Vector(I)
EndDo
If(PRESENT(Blank_At_Bottom)) then
If(Blank_At_Bottom) Write(IOut,1020)
EndIf
!
Return
End Subroutine MQC_Print_Vector_Array_Logical

!
!PROCEDURE MQC_Print_R4Tensor_Array_Integer
Subroutine MQC_Print_R4Tensor_Array_Integer(Array,iOut,Header,Blank_At_Top, &
Expand Down
109 changes: 106 additions & 3 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.7.3 **
! ** July 30, 2025 **
! ** Version 25.8.0 **
! ** August 1, 2025 **
! ** **
! ** **
! ** Modules beloning to MQCPack: **
Expand Down Expand Up @@ -114,7 +114,6 @@ subroutine mqc_dsyev_eigensystem_symmFull(matrix,eigenValues,eigenVectors)
return
end subroutine mqc_dsyev_eigensystem_symmFull


!
!PROCEDURE mqc_dgeev_eigensystem_Full
subroutine mqc_dgeev_eigensystem_Full(matrix,eigenValues, &
Expand Down Expand Up @@ -318,3 +317,107 @@ end subroutine mqc_dgeev_eigensystem_Full
! return
! end subroutine mqc_eigensystem_symmFull
!hph



!
!PROCEDURE mqc_dgesvd_svd_Full
subroutine mqc_dgesvd_svd_Full(matrix,singularValues, &
leftSingularVectors,rightSingularVectorsT)
!
! This subroutine wraps the LAPACK SVD routine DGESVD for a general real
! rectangular matrix A. If the optional outputs are PRESENT, it returns full
! U (M×M) and full VT (N×N).
!
! H. P. Hratchian, 2025.
!
implicit none
real(kind=real64),dimension(:,:),intent(in)::matrix
real(kind=real64),dimension(:),allocatable,intent(out)::singularValues
real(kind=real64),dimension(:,:),allocatable,OPTIONAL,intent(out)::leftSingularVectors
real(kind=real64),dimension(:,:),allocatable,OPTIONAL,intent(out)::rightSingularVectorsT
!
integer::M,N,LDU,LDVT,INFO,LWORK
real(kind=real64),dimension(:,:),allocatable::matrixCopy
real(kind=real64),dimension(:),allocatable::Work
real(kind=real64),dimension(1)::WorkTmp
real(kind=real64),dimension(1,1)::Utmp,VTtmp
character(len=1)::JOBU,JOBVT
!
! Do initial checks and figure out dimensions for arrays needed below. Then
! allocate space and figure out a few LAPack flags.
!
M = SIZE(matrix,1)
N = SIZE(matrix,2)
Allocate(matrixCopy(M,N))
matrixCopy = matrix
if(Allocated(singularValues)) then
if(SIZE(singularValues).ne.min(M,N)) then
DeAllocate(singularValues)
Allocate(singularValues(min(M,N)))
endIf
else
Allocate(singularValues(min(M,N)))
endIf
if(PRESENT(leftSingularVectors)) then
JOBU = 'A'
LDU = M
if(Allocated(leftSingularVectors)) then
if(SIZE(leftSingularVectors,1).ne.M.or.SIZE(leftSingularVectors,2).ne.M) then
DeAllocate(leftSingularVectors)
Allocate(leftSingularVectors(M,M))
endIf
else
Allocate(leftSingularVectors(M,M))
endIf
else
JOBU = 'N'
LDU = 1
endIf
if(PRESENT(rightSingularVectorsT)) then
JOBVT = 'A'
LDVT = N
if(Allocated(rightSingularVectorsT)) then
if(SIZE(rightSingularVectorsT,1).ne.N.or.SIZE(rightSingularVectorsT,2).ne.N) then
DeAllocate(rightSingularVectorsT)
Allocate(rightSingularVectorsT(N,N))
endIf
else
Allocate(rightSingularVectorsT(N,N))
endIf
else
JOBVT = 'N'
LDVT = 1
endIf
INFO = 0
if(JOBU.eq.'N') then
Utmp(1,1) = mqc_float(0)
endIf
if(JOBVT.eq.'N') then
VTtmp(1,1) = mqc_float(0)
endIf
!
! Call LAPack routine DGESVD.
!
call dgesvd(JOBU,JOBVT,M,N,matrixCopy,M,singularValues, &
merge(leftSingularVectors,Utmp, PRESENT(leftSingularVectors)),LDU, &
merge(rightSingularVectorsT,VTtmp, PRESENT(rightSingularVectorsT)),LDVT, &
WorkTmp,-1,INFO)
if(INFO.ne.0) call mqc_error( &
'mqc_dgesvd_svd_Full: Failure in DGESVD getting WORK length.')
LWORK = int(WorkTmp(1))
if(LWORK.lt.1) LWORK = 1
Allocate(Work(LWORK))
call dgesvd(JOBU,JOBVT,M,N,matrixCopy,M,singularValues, &
merge(leftSingularVectors,Utmp, PRESENT(leftSingularVectors)),LDU, &
merge(rightSingularVectorsT,VTtmp, PRESENT(rightSingularVectorsT)),LDVT, &
Work,LWORK,INFO)
if(INFO.gt.0) then
call mqc_error('mqc_dgesvd_svd_Full: DGESVD did not converge.')
elseIf(INFO.lt.0) then
call mqc_error('mqc_dgesvd_svd_Full: Illegal argument in DGESVD call.')
endIf
DeAllocate(matrixCopy,Work)
!
return
end subroutine mqc_dgesvd_svd_Full
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.7.3 **
! ** July 30, 2025 **
! ** Version 25.8.0 **
! ** August 1, 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.7.3 **
! ** July 30, 2025 **
! ** Version 25.8.0 **
! ** August 1, 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.7.3 **
! ** July 30, 2025 **
! ** Version 25.8.0 **
! ** August 1, 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.7.3 **
! ** July 30, 2025 **
! ** Version 25.8.0 **
! ** August 1, 2025 **
! ** **
! ** **
! ** Modules beloning to MQCPack: **
Expand Down
Loading