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. 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

Table of contents

Print/export