Recent Changes - Search:




The mp-show-operator command displays a representation of an MPO.


mp-show-operator [options] -f|-p|-t Operator

The Operator must be of the form lattice:expression. Because the toolkit uses a slightly different expression parser depending on the nature of the MPO, it is necessary to explicitly label whether the operator is a FiniteMPO (-f), a ProductMPO (-p) or a TriangularMPO (-t).



show help message

-f, --finite

the following Operator is of FiniteMPO form

-p, --product

the following Operator is of ProductMPO form

-t, --triangular

the following Operator is of TriangularMPO form


experimental: only for finite operators, coarsegrain the operator to a single matrix and then finegrain it back to an MPO


Set the epsilon value for testing matrix elements for unity

-v, --verbose

Increase the level of verbose output. This displays the full matrix elements.


An MPO can be regarded as a {$D \times D$} matrix of local operators. This can be a bit cumbersome to try to represent, so the mp-show-operator tool doesn't show the full matrix elements (unless you use -v option), but simply a representation of the {$D \times D$} matrix with one character per matrix element, which indicates the kind of local operator. This character is:

Iidentity operator
iproportional to the identity operator
Ua unitary operator
sa scalar operator (quantum number label is the identity rep)
va vector operator (non-scalar quantum number)
xa mixture of different quantum numbers (a reducible rep)


  1. Heisenberg model with {$U(1)$} symmetry

    $ spinchain-u1 -o lattice
    $ mp-show-operator -t lattice:H_J1
    Triangular Operator lat:H_J1
    TriangularMPO has 1 sites
    Site 0 dimension 5 x 5
    [Isvv ]
    [    s]
    [    v]
    [    v]
    [    I]

    The dimension of the MPO is 5, representing the identity, Hamiltonian, and {$S^+$}, {$S^-$} and {$S^z$} operators. The s entry labels a scalar -- this must be the {$S^z$} operator as this is the true scalar under {$U(1)$}. The {$S^+$} and {$S^-$} operators change the quantum number so are labelled as v. Hence we can deduce the actual matrix elements:

    {$ \left( \begin{array}{ccccc} I & S^z & S^+ & S^- & 0 \\ & 0 & 0 & 0 & S^z \\& & 0 & 0 & S^- \\& & & 0 & S^+ \\ & & & & I \\ \end{array} \right) $}

    where {$S^\alpha = \sigma^\alpha/2$} are the {$2\times 2$} Pauli spin matrices.
  2. Heisenberg model with {$SU(2)$}. This replaces the three components of the spin operator with a single tensor operator that transforms as an {$SU(2)$} vector.

    $ spinchain-su2 -o lattice
    $ mp-show-operator -t lattice:H_J1
    Triangular Operator lattice:H_J1
    TriangularMPO has 1 sites
    Site 0 dimension 3 x 3
    [Iv ]
    [  v]
    [  I]

    The matrix elements are:

    {$ \left( \begin{array}{ccc} I & \vec{S} & 0 \\ & 0 & \vec{S} \\ & & I \\ \end{array} \right) $}

  3. Reducible operators. It is rather unusual to have an MPO that contains an x term. This represents a reducible local operator; that is an operator that transforms as a sum of different quantum number sectors. This never happens with abelian quantum numbers, since for abelian quantum numbers the tensor product of two irreducible operators is uniquely defined and results in a single well-defined quantum number. But this isn't true for non-abelian quantum numbers, for example for the spin vector operator {$\vec{S}$} there are three different kinds of product that one can do, the dot product {$\vec{S} \cdot \vec{S}$}, that produces a scalar (quantum number 0), the cross product {$\vec{S} \times \vec{S}$} that produces another vector (quantum number 1), and the outer product {$\vec{S} \otimes \vec{S}$} that produces a tensor (quantum number 2). By combining these operations, we can produce MPO's containing reducible operators. Consider the dot product and triple product acting on 3 sites,
    {$\vec{S}_1 \cdot \vec{S}_3$}
    {$\vec{S}_1 \cdot \vec{S}_2 \times \vec{S}_3$}

    These are both products of local operators, and representable as {$1\times 1$} MPO's. But interestingly, the sum of these operators is also a {$1\times 1$} MPO. The reason is that we can write the sum also as a product of local operators, schematically
    {$ \vec{S} \otimes (I + \vec{S}) \otimes \vec{S} $}

    where the operator acting on the middle site, {$I + \vec{S}$}, is a reducible operator, since it is the sum of a scalar (the identity, quantum number 0) and a vector (the spin, quantum number 1). The result is a {$1 \times 1$} MPO with an x,

    $ spinchain-su2 -o lattice
    $ mp-show-operator -f lattice:"inner(S(0),S(2)) + inner(S(0), cross(S(1),S(2)))"
    Finite Operator lattice:inner(S(0),S(2)) + inner(S(0), cross(S(1),S(2)))
    FiniteMPO has 3 sites
    Site 0 dimension 1 x 1
    Site 1 dimension 1 x 1
    Site 2 dimension 1 x 1

Edit - History - Print - Recent Changes - Search
Page last modified on October 30, 2016, at 02:42 PM