Recent Changes - Search:




The mp-aux-matrix command constructs the auxiliary space representation of lattice operators, which are written to a file in a sparse-matrix format suitable for use in eg MATLAB.


mp-aux-matrix[options] -w <psi> -l <lattice> [-{p,t,f} <file>=<operator>] ...

Given the supplied infinite wavefunction and lattice file, the main arguments are a list of operators and output files, which can be either product MPOs, triangular MPOs, or finite operators.

The matrix elements of the operator are evaluated, and written into the file in sparse format of 4 columns: row, column, real, imag. It is also possible to use a polar format with the --polar option.

The numbering of the rows/columns is 1-based, and is in the order of density matrices, from largest to smallest. Because the matrices can be very big, it is often useful to just show a few of the matrix elements corresponding to the largest eigenvalues, which can be done with the --restrict option.



show help message

-w, '''--wavefunction

Use this infinite MPS (required)

-l, '''--lattice

Parse operators from this lattice file (required)

-p, --product file=operator

Determine the matrix elements of the product MPO operator, and write them to file

-t, --triangular file=operator

Determine the matrix elements of the product MPO operator, and write them to file


Only output a subset of matrix elements, in density matrix order with 1-based indexing.

--degree =0

Only relevant for triangular MPOs, output the component of the polynomial for this degree. Defaults to degree 0.


Write the matrix elements in <magnitude> <argument> format


Display the argument in radians instead of degrees [implies --polar]


  1. Calculate the Hamiltonian matrix elements
    spinchain-u1 -o lat
    mp-idmrg-s3e -H lat:"H_J1" -m 10x100 -q 0 -u 2 --create -w psi
    mp-aux-matrix -w psi -l lat -t file="H_J1"
    cat file
  2. As above but only output the 4x4 matrix corresponding to the largest density matrix eigenvalues
    mp-aux-matrix -w psi -l lat -t file="H_J1" --restrict 1,2,3,4
  3. If we calculate the degree 1 component of the Hamiltonian, this is just the energy * identity matrix
    mp-aux-matrix -w psi -l lat -t file="H_J1" --degree 1

This command is very useful for calculating the matrix elements of SPT symmetry operators, so an example should be added.


For triangular operators, the toolkit chooses to fix the trace to be zero (strictly speaking, the trace weighted by the density matrix, so that {$\mathrm{Tr} A \rho = 0$}). This is a somewhat arbitrary choice, since this value is just a constant boundary term and could be taken to be anything, which amounts to a constant shift of the operator {$A \rightarrow A + xI$}.

Finite operators are not yet supported.

Currently this tool only constructs operators at the edge of the unit cell; other partitions are not yet supported.

See also

Edit - History - Print - Recent Changes - Search
Page last modified on July 09, 2022, at 12:36 PM