---
name: "transqt"
section: "1"
platform: "linux"
package: "psi3"
version: "3.4.0-6+b3"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/transqt"
---

# transqt(1)

**NAME**      **transqt - transforms one and two electron integrals over symmetry**  **orbitals into integrals over molecular orbitals.**

**DESCRIPTION**      **The program** **transqt**      **reads molecular orbital coefficients from**  **FILE30** **and uses them to transform the one and two electron integrals** **contained in**  **FILE33** **,** **FILE35** **,** **FILE36** **, and** **FILE37** **to integrals over molecular orbitals.  No integrals involving frozen** **occupied and unoccupied orbitals (as determined from user input) are** **transformed.  As a consequence, the program must be re-run whenever the** **user-input frozen orbital arrays are changed.  The program uses a** **straightforward four single-index transformation algorithm, modified to use** **matrix multiplications for each quarter-transform.  Additionally,** **restricted transformations have been implemented when an MP2 or MP2-R12/A energy is** **desired.  Further, the program is capable of backtransforming the** **Lagrangian and one- and two-particle density matrices from correlated** **calculations.  This assumes that the terms involving core orbitals are** **present, but those involving frozen virtual orbitals are not.**

**REFERENCES**

General integral transformation methods:

1\. S. Wilson, "Four-Index Transformations," in Methods in Computationsl Chemistry, Vol. 1, S. Wilson, ed., Plenum Press, 1987.

TRANSQT references:

1\. C. D. Sherrill, "Computational Algorithms for Large-Scale Full and Multi-Reference Configuration Interaction Wavefunctions", Ph.D.  Dissertation, University of Georgia, 1996.

```
input.dat
FILE30
FILE33
FILE35
FILE36
FILE37
```

```
output.dat
FILE71        (one-electron integrals)
FILE72        (two-electron integrals)
```

**INPUT OPTIONS**

The following command-line options are available:

*-quiet* This gives the same result as **PRINT=0**.

*-backtr* This runs a back-transformation and has the same effect as  **BACKTRANS=TRUE**.

*-mp2r12a type* This tells TRANSQT to transform non-standard two-electron integrals required in MP2-R12/A calculations.  Program CR12INTS must be run prior to the transformation. *type* should take values from 0 to 2, where 0 refers to regular ERIs and one-electron integrals,  1 - to two-electron integrals over the r12 operator, and 2 to two-electron integrals over the \[r12,T1\] operator. Thus, to obtain a complete set of integrals TRANSQT needs to be run  three times.

Additional input is read from the file input.dat. The following keywords are valid:

**BACKTRANS** = *boolean* This is set to TRUE for a back-transformation of the Lagrangian and the one- and two-particle density matrices from the MO basis to the AO basis.  It is assumed that these quantities are given in terms of the correlated orbital order.  TRANSQT will rearrange them into the Pitzer order but with frozen virtuals at the top (this occurs during the pre-sort for the two-pdm).

**CHECK\_C\_ORTHONORM** = *boolean* If TRUE, then check the orthonormality of the SCF coefficient matrix.

**MEMORY** = (*real* MB) Gives the amount of core memory to be used, in megabytes.

**WFN** = *string* This is the type of wavefunction ultimately desired.  If the value is set to MP2, then only a restricted transformation which produces integrals necessary for the evaluation of the MP2 energy is performed. Otherwise, a full transformation is carried out.  The default is CCSD.

**PRINT** = *integer* Determines the verbosity of the printing information.  A print value of 0 gives minimal information, while 5 gives debugging information (do NOT use print levels above 3 for more than 20 basis functions).  The default is 0.

**FROZEN\_DOCC** = *integer\_vector* Array giving the number of doubly occupied orbitals to be frozen per irreducible representation, using Cotton ordering.  The default is a zero array.

**FROZEN\_UOCC** = *integer\_vector* Array giving the number of virtual molecular orbitals per irrep to be deleted from the transformed integrals. The default is a zero array.

**DELETE\_AO** = *boolean* If TRUE, then the AO integrals will be deleted after the  transformation.  The default is TRUE.

**DELETE\_TPDM** = *boolean* If TRUE, then the MO-basis two-particle density matrix will be  deleted after a back-transformation.  The default is TRUE.

**FREEZE\_CORE** = *boolean* If this is true then the transformed one- and two-electron integrals involving frozen core orbitals will not be obtained or written out.  The transformed one-electron integrals will incorporate the effects of the frozen electrons (i.e. the one-electron operator h(i) will become the frozen core operator h'(i)), and the frozen core energy will be obtained (it is written out as the first word of the one-electron integral output file).  If **FREEZE\_CORE** is false, then the frozen core orbitals will be included in the transformation, and the frozen core energy will be set to zero.

**MAX\_BUCKETS** = *integer* Maximum number of buckets to use during the Yoshimine sort. The default is 199.

**MOORDER =** *integer\_vector* This specifies a molecular orbital reordering vector.  It will only be used if **REORDER = YES**.  This vector contains first the ordering for the orbitals in the first irreducible representation and then the second and so on.  The first orbital of each irreducible representation is numbered 1. There is no default.  This reordering affects the SCF coefficient matrix BEFORE the transformation; the post-transform order is given by a  different array.

**REORDER =** *boolean* The molecular orbitals will be reordered if this is true, in which case, the MOORDER parameter must be present. The default is false.  This has nothing to do with the reordering done AFTER the transformation (to a more convenient order for correlated procedures).

**PRINT\_MOS** = *boolean* If TRUE, the SCF coefficient matrix is written to output. The default is FALSE.

**PRINT\_REORDER** = *boolean* If true prints reordering array which maps Pitzer-ordered orbitals to correlated order.  This is not the same as the *MOORDER* array, which has to do with reordering BEFORE the transformation.

**S\_FILE** = *integer* If USE\_IWL=TRUE, this gives the file number for the overlap integrals. The default is 35.

**T\_FILE** = *integer* If USE\_IWL=TRUE, this gives the file number for the kinetic energy integrals. The default is 36.

**V\_FILE** = *integer* If USE\_IWL=TRUE, this gives the file number for the nuclear attraction integrals. The default is 37.

**AO\_TEI\_FILE** = *integer* This gives the file number for the SO two-electron integrals  to be read in for transforming.  The default is 33.

**J\_FILE** = *integer* This gives the file number for the intermediate file containing the half-transformed two-electron integrals.  The default value is 91.

**KEEP\_J** = *boolean* If this is true then the half-transformed integrals will not be deleted when the transformation is complete.  The default is FALSE.

**M\_FILE** = *integer* This gives the file number for the intermediate file containing the fully transformed two-electron integrals.  The default value is 72.

**FIRST\_TMP\_FILE** = *integer* Gives the number of the first temp file to be used during the Yoshimine sorts.  Default is 100.

**LAG\_IN\_FILE** = *integer* This is the unit number for the MO Lagrangian which is to be  read in during backtransformations.  It is expected that the  Lagrangian is stored on disk in binary format in a matrix of  dimensions (nmo - nfzv)\*(nmo-nfzv).  The Lagrangian is symmetrized and then backtransformed and written after the AO one-particle density matrix in OPDM\_OUT\_FILE.

**OPDM\_IN\_FILE** = *integer* This is the unit number for the MO one-particle density matrix to be read in during backtransformations.  The one-pdm is in binary  format and has dimensions nmo by nmo.

**OPDM\_OUT\_FILE** = *integer* This is the unit number to which the AO one-particle density matrix  will be written out.  Only the lower triangle is written. The AO Lagrangian will be written just after the AO one-pdm, again in lower-triangle format.

**PRESORT\_FILE** = *integer* This gives the file number for the intermediate file containing the  presorted SO-basis two-electron integrals.  The default is 41.

**KEEP\_PRESORT** = *boolean* If this is true then the presorted SO-basis two-electron integrals will not be deleted when the transformation is complete.  The default is FALSE.

**SORTED\_OEI\_FILE** = *integer* This gives the file number for the final, sorted one electron integrals.  The default is 71.

**SORTED\_TEI\_FILE** = *integer* This gives the file number for the final, sorted two electron integrals.  The default is 72.

**TPDM\_ADD\_REF** = *boolean* If TRUE, then the program will automatically add the contributions of the single determinant reference to the two-particle density matrix.  The default is TRUE for *wfn* = QVCCD and FALSE otherwise.

**TPDM\_FILE** = *integer* This gives the file number for the two-particle density matrix which is to be back-transformed if BACKTRANS=TRUE.  The default is 77.

**TOLERANCE** = *integer* This gives the exponent of the cutoff value for the elimination of two-electron integrals from the list of those written to disk.  The default is 14, giving a cutoff of 1e-14.

**PRINT\_TE\_INTEGRALS** = *boolean* If this is true then the fully-transformed two-electron integrals will be written to  output.dat The default is FALSE, and this should  *not*      *be set to TRUE for any but the smallest basis sets (e.g. fewer than 10* *functions).*

**PRINT\_OE\_INTEGRALS** *= boolean* *If this is true then the fully-transformed one-electron integrals will be* *written to*  *output.dat* *The default is FALSE, and this should not be set* *to true for any but very small basis sets (e.g. fewer than 20 functions).*
