Go to the first, previous, next, last section, table of contents.

Functions

expression

The expression function constructs an expression from a symbolic format that is easy for users to type in.

plus

Sums a group of expressions.

lhs

rhs

fintermediate

unlinked

connected

Returns the terms that have connected diagrams.

linked_disconnected

Returns the terms with linked disconnected diagrams.

times

Finds the product of a group of terms.

canonicalize

The first step in the simplification of an expression is canonicalization. This involves taking each term in an expression and rearranging its factors to some unique order. If the factor's indices can be rearranged using the index permutation symmetries that have been given with the factor command, then the indices must be rearranged to a unique form as well. Since more than one of a given type of factor can occur in a term, the arrangement of indices within a factor can influence the ordering of factors within a term. Thus, the index rearrangement and term reordering become coupled in a complex way. The canonicalize function completely solves this problem; that is, no matter how the factors or indices in a term might be permuted, the canonicalize function will put the term in the same canonical form. This is important for the combine function, which searches through an expression for terms which are identical. If two identical terms are found, then they are replaced with a single term equal to the sum of the two original terms.

substitute

The substitute function is like the substitute command, except is does not produce side effects in the expression and instead returns the new expression, section substitute

combine

sort

The sort function takes a single expression as an argument. The terms in the expression are sorted into a canonical order. This is mainly used so two equivalent expressions generated in different ways can be easily compared when they are printed out.

term

The term function allows the user to construct in a symbolic format an expression with only one term.

This code fragment sets up the t1 cluster operator. The repeated indices represent an implied summation.

SQ> assign t1op (term +1 t1(a i) ac(a  spin1) aa(i  spin1));

The expression function the simplist way to construct an expression with several terms.

vewick

Use Wick's theorem to take a quasivacuum expectation value.

wick

WARNING: THIS ROUTINE IS UNTESTED!!

This converts the expression to a form consisting of normal ordered operators only. This function is invoked as (wick (n) exp), where n is the number of creation and annihilation operators in the resulting expression. The sum over all n of these expressions is equivalent to the original expression.

WARNING: THIS ROUTINE IS UNTESTED!!

normalorder

Converts an expression to its normal ordered form.

adjoint

adjoint computes the adjoint of an expression.

delta

The delta function attempts to remove Kronecker delta functions from terms. This can usually be done when one of the delta function's indices is not an external index. When both of the delta function's indices are internal and identical, the delta function can be replaced by the dimension of the range over which the index sums. This is why the dimensions of subspaces could be given with the direct_product command. If a dimension was given as undefined and a delta function of this sort was encountered, then delta command would leave this delta function in the term. Otherwise, the multiplicative factor is adjusted by the appropriate amount.

vetimes

This function finds the quasivacuum expectation of a product of expressions using Wick's theorem.

This is much more efficient that first taking the product with times and then computing the vacuum expectation value with vewick. The problem is that many of the terms in the product will give zero contribution to the expectation value. Knowing in advance of taking the product that we are going to take the expectation value, a large number of the products need not be formed. For example, in open-shell spin-adapted coupled cluster theory, the eighth power in T is required for some of equations. Since the T expression has nine terms, computing the product would produce 9 to the eighth power or 43,046,721 terms. But only two of the nine terms can possibly contribute, meaning that only 2 to the eighth or 256 terms in the product can contribute to the quasivacuum expectation value. Although it is true that the user of sqsym could avoid such excessive computation, to have to explicitly take advantage of these savings would require long and complex input files, with an increased possibility of error.

restore

The restore function obtains an expression from a disk file. It is similar to the restore command, section restore. It is not necessary to use the restore function as a quoted string giving the prefix file name and the expression name as described for the restore command can be used in place of any expression name.

switch

Switches two external indices in an expression.

contract

The contract function allows two external indices to be set equal to each other and summed over throughout all the terms in the expression.

update

Given a factor with its list of external indices, find the coefficients of this factor in the given expression. This can be used to compute denominators needed in the cluster coefficient update process. For example,

assign denom (update tph (ae ie) expression 2);

The last argument is an integer which gives the maximum number of factors which may appear in the terms from which will appear in the result (including the factor begin sought).

update2

Given a factor this will find all terms in the expression which contain the factor with all indices but one external.

simplify_range

Given an expression as an argument, this will return an expression which has had all complex ranges split into simple ranges. The expression argument can be followed with a list of external indices. If the ranges of these indices are one and any range in an expression has the given external index, then the summation over that index is replaced with the external index.

permop

This reads a permutation (declared as a scalar) followed by a parenthesized list of external indices and then an expression and replaces terms in the expression which differ by external index permutations by one term multiplied by the permutation operator.

vemmaccum

The vemmaccum function takes as arguments a parenthesized list of options followed by a series of vetimes function invocations. When vetimes is called in such a way, the terms will be added together that requires a minimal amount of memory. Intermediate expressions will be kept in an external file.

The options include NoUseVEMM, NoMinimizePaging, NoAccumVEMM, Compress0, Compress8, and Compress16.

For example,

assign result (sort (vemmaccum (Compress24 UseVEMM AccumVEMM)
  (vetimes                   hopn top top top)
  (vetimes m_1_1 top         hopn top top    )
  (vetimes       top top     hopn top        )
  (vetimes m_1_1 top top top hopn            )));

The options given in this example are defaults.


Go to the first, previous, next, last section, table of contents.