This is an old revision of the document!
OperatorSetTrace
OperatorSetTrace($O$, $t$, {$i_1,...,i_n$}) takes an Operator $O$, an optional real value $t$ for the trace and an optional list {$i_1,...,i_n$} of included orbitals, and sets the trace of these orbitals to $t$. It furthermore sets any scalar offset of the operator to 0 (or rather will, with the next update). If no list of indices is given the function includes all orbitals up to the number of fermionic states, and if no value $t$ is given the trace is set to 0.
After the operation the operator has the property \begin{equation*} \sum_{j=\{i_1,...,i_n\}} O_{jj} = t \hspace{0.3cm} , \end{equation*} where $O_{jj}$ are the prefactors of the diagonal quadratic terms of the operator, \begin{equation*} O = \sum_{i,j} O_{ij} a_i^\dagger a_j^{\phantom{\dagger}} + ... \hspace{0.3cm} . \end{equation*}
Input
-
$O$ : Operator
-
$t$ : New value of the trace (Default 0)
-
{$i_1,...,i_n$} : List of indices (Default {$0,...,N_{Fermi}-1$})
Output
-
$O^\prime$ : Operator with newly set trace
Example
Give me just a minute.
Input
- Example.Quanty
-- some example code
Result
text produced as output