double precision noise). It returns the indices of the matching rows, similar
to Matlab’s intersect(A,B,'rows'), yet with crucial practical differences. If
rows are not unique, in the sense that certain index sets appear multiple
times identically across different rows, then all-to-all matches are included
within such ‘degenerate’ subspaces as in a tensor product. An optional
additional info structure is returned as third argument. This contains
additional data such as indices of non-matching entries, etc. See also
uniquerows.

##### cgs2double()

converts an MPFR-encoded Clebsch-Gordan data space, like the multidimensional
arrays as stored in the RC_STORE, to regular double-precision decimal format
(mostly for inspection and testing purposes only). See also lower-level
routine mpfr2dec or @SymStore.

##### mpfr2dec()

converts MPFR-encoded numerical arrays as stored it the RC_STORE to regular
double-precision decimal format (mostly for inspection and testing purposes
only). See also higher-level routine cgs2double.

##### uniquerows()

group rows in a matrix (typically assuming integer values to avoid issues with
double precision noise), returning a matrix with unique rows. Additional
return arguments provide detailed information on the dimension of grouped
blocks with identical row entries together with indices to the original data.
See also matchIndex.

##### wbrat()

Acquire a rational approximation for float numbers based on continued
fractions (similar in functionality to Matlab’s rat.m function, but this
routine automatically also checks for possible representations in terms of the
square root of rationals, as they frequently occur in CGTs. It picks the
closest representation (with or without square root) in terms of numerical
accuracy. This routine returns a string with syntax that can be reevaluated
within Matlab. An additional info structure returned as second argument
provides the integers P and Q as obtained for the rational approximation P/Q.
If this routine fails a find a rational approximation with the requested
accuracy, the original value is returned, instead.

##  Appendix F QSpace Related Matlab Environment

The following gives a listing and brief description of the more important
Matlab routines and additional class constructions. Since there are plenty of
helper routines, including some 250+ m-files in ./lib, these cannot be all
described in detail here. Yet as always, all routines are provided with a help
that explains their purpose.

###  F.1 Class/@QSpace

The @QSpace class is a Matlab wrapper environment for the C++ QSpace class
used in MEX files. Since a tensor X thus becomes QSpace object X, it also
simly referred to as QSpace X then. The @QSpace class contains more than a
hundred class methods which cannot be all discussed in detail here. Only the
most noteworthy ones are listed in the following. A complete listing including
their help output has also been compiled and included in the PDF file
Docu/QSdocs.pdf in the QSpace repository. Rather than alphabetically sorted,
the following entries are mostly grouped by topic.

##### QSpace()

constructor of the @QSpace wrapper class.

##### display()

prints a convenient formatted summary of a given QSpace tensor. It is
automatically invoked by Matlab when displaying a variable by simply typing
its name at the Matlab prompt. It shows a 2-line header that is generated by
info(), followed by a listing of records. See Fig. 7 for an example, together
with a detailed explanation of the printed output. For larger QSpaces with
more than about 12 non-zero blocks (records), display truncates the listing,
by default: it shows the first 5 entries, up to two intermediate entries if
largest in RMT size followed by the last two entries. The listing of all
entries can be enforced, nevertheless, by explicitly invoking the display
routine with the equivalent options '-f' or '-a'. Like logging with wblog(),
the display of QSpace tensors also supports color-highlighted output for
readability when Matlab is run in interactive Matlab terminal mode. In this
case, itags are color-coded by interpreting trailing marker characters.

##### plus(), minus(), sum()

Overload of simple algebraic operators + (plus) or - (minus). These are
extended wrappers of the MEX routine plusQS. The routine sum(A,dim) permits to
sum up a QSpace array $A$ along dimension dim (by default, dim=1; this follows
similar semantics as Matlab’s native sum routine). This adds up QSpaces and
hence returns a QSpace (vector). Simpler cases where for a rank-2 tensor a
plain numerical value $x$ is added or subtracted, are handled within the
Matlab wrapper routine itself. For example, in H+x with H some rank-2 tensor,
the scalar $x$ is interpreted as proportional to the identity matrix for all
symmetry sectors that are present in H (be aware, though, that H may have
missing diagonal all-zero blocks; hence to ensure a full state space, one may
rather use H+x $\to$ H+x*Id, instead, with Id representing a complete identity
operator within given state space).

##### oplus()

The routine oplus(A,B,d12) permits the direct sum of two tensors along
dimensions d12 (default: [1 2]) while respecting the symmetry structure. Both
QSpaces $A$ and $B$ must have the same tensor structure (same rank, same
$q$-directions, etc). If d12 specifies two dimensions (indices), this
catenates blocks in a ‘block-diagonal’ fashion along specified dimensions d12
[the Matlab analogon for matrices with d12=[1 2] is blkdiag(A,B), except that
oplus only combines blocks that also share the same symmetry sectors; other
blocks unique to either A or B are included as is in the output]. If d12
specifies a single dimension (index), symmetry matching blocks are catenated
along that dimension only [the Matlab analogon in this case would be
cat(d12,A,B)].

##### uplus(), uminus()

are unary operators that implement the unary plus and minus, i.e., syntax such
as X=+Y or X=-Y.

##### transpose(), ctranspose()

overload the operators .' and ’ for plain transpose and Hermitian conjugate,
respectively.

##### times(), mtimes(), mrdivide()

overload the respective algebraic operators .*, *, or / (for division by
number only). The routine mtimes is an extended wrapper routine to the MEX
function contractQS. Simple multiplications with scalar numeric values are
handled within the wrapper routine itself.

##### comm(), acomm()

computes commutator or anticommutator, respectively, for a pair of operators.
For irops, the irop index will necessarily also be contracted in this process.
These routines are based on contractQS.

##### real(), imag(), isreal()

extract real and imaginary parts of a QSpace (simple Matlab functions that
operate on the RMTs (i.e., on X.data for a QSpace X), or check whether QSpace
is complex [~isreal()].

##### sqrt()

takes square root of rank-2 QSpace that are diagonal (and diagonal only; this
is enforced). Warnings are issued if input data is negative or complex.

##### logical(), not(), isempty()

boolean operators that check whether a QSpace is empty. The method not() is
the inverse of logical(). For example, for QSpaces X and Y, this permits
simple syntax such as if X && ~Y, (do something); end. The method isempty() is
somewhat more elaborate than logical(), as it includes further structural
checks.

##### eq(), ne(), isequal(), sameas()

Overload of Matlab’s == and ~= operators (wrappers to @QSpace/isequal). This
permits the syntax X==Y for QSpaces X and Y. The method sameas() permits
difference in data up to some epsilon (default: $10^{-10}$ on a relative
scale).

##### getsub()

selects sub-list of QSpace records while maintaining the QSpace structure,
otherwise. The index of records to select may be specified explicitly, as in
getsub(X,I) with record index I, or implicitly by selecting a particular
symmetry sector, as in getsub(X,[qlabels],dim) which only selects the records
that have specified qlabels (set specified as rows in a matrix) on leg dim.

##### subsref(), subsasgn()

overloads indexing and access to fields in a QSpace object. As a technical
subtlety concerning Matlab, note that for a QSpace X, typing X.Q{:} on the
Matlab prompt does not work as expected for a plain Matlab structure. Since
the operation X.Q needs to be rerouted via the overloaded method subsref here,
this itself operates like a function call. Therefore typing X.Q{:} on the
Matlab prompt only displays X.Q{1}. To display all entries in X.Q, this
requires, e.g., a temporary assignment followed by its display, like Q=X.Q;
Q{:}. Similarly, catenating symmetry labels across all legs as in Q=X.Q;
Q=[Q{:}] is not equivalent to Q=[X.Q{:}]. The latter rather corresponds to
X.Q{1} only. This is a Matlab peculiarity, which returns a comma-separated
list for Q{:}. For a function call, this would require the rather awkward
syntax Q=cell(1,numel(X.Q)); [Q{:}]=X.Q{:} which is simply equivalent to Q=X.Q
in the first place.

##### diag()

toggle rank-2 QSpace tensor between diagonal and non-diagonal representation.
This mimics the behavior of Matlab’s diag() function. This function is useful
to deal with the compact diagonal behavior, e.g., as returned by eigQS or
svdQS. With the option '-d', this routine returns a plain numerical vector of
all diagonal entries (see also diagQS in this regard).

##### getitags()

gets the full set of itags for given QSpace tensor.

##### setitags()

Set itags of QSpace while preserving $q$-directions (trailing conjugate flags
'*'). Any trailing '*' specified with the input strings will be ignored. This
routine accepts a range of specialized settings. For example, for $A$-tensors,
the following are equivalent,

⬇

A=setitags(A,’-A’,4)

setitags(A,{’K03’,’K04’, ’s04’})

setitags(A,{’K03’,’K04*’,’s04’})

as may be used, e.g., for site $4$ in an MPS (e.g., see Fig. 2). Conjugate
flags, as in line 3, are ignored. Since line 2-3 specify A by name, they will
also assign the changes to A in the workspace same as line 1. For operators,
S=setitags(S,'-op:s',4) sets itags {'s04','s04' [,'op']}, with the last
‘operator’ index skipped if S is of rank $2$. See help on setitags for more
details.

##### itagrep()

Change itags based on regular epxressions (uses Matlab’s regexprep).

##### untag()

Remove itags for specified QSpace tensors. For convenience, if no return
argument is requested and all tensors are specified by name, as in
untag(A,B,$\ldots$), all objects will get updated in the caller workspace,
nevertheless, using Matlab’s assignin('caller',...). Therefore [A,B,...] =
untag(A,B,...); and untag(A,B,...) are equivalent.

##### isscalarop()

(boolean) whether input represents scalar operator, i.e., is of rank 2 and is
block-diagonal for all symmetries.

##### fixScalarOp()

for scalar operators with trailing irop index having $q_{\rm irop}=0$, this
trailing singleton irop index (third leg) is skipped. See also reverse
operation makeIrop().

##### makeIrop()

transform scalar rank-2 operator back to an irop by explicitly adding a
trivial irop index (third leg) with scalar symmetry labels $q=0$. This is the
reverse operation to fixScalarOp().

##### appendSingletons()

Append indices in the scalar symmetry sector $q=0$ for all symmetries and thus
of dimensions $1$ (singletons) to given QSpace tensor.

##### addSymmetry()

Add new symmetry to specified QSpace tensor. By default, this appends the
symmetry in the irep of the scalar representation $q=0$ as an additional
symmetry. This routine is intended for specialized model setups to tweak
existing output of getLocalSpace(). Like getLocalSpace, there should be no
need to ever call this routine after the model setup. If the symmetry label
$q$ for the new symmetry is explicitly specified and non-scalar with multiplet
dimension $|q|>1$, then a $\sqrt{|q|}$ factor is applied to given QSpace X.
This mimics having added $|q|$ copies, such that the norm
$\|X\|^{2}=$norm(X)^2 will change by a factor $|q|$.

##### getvac()

Get identity operator (‘state space’) in the vacuum state for the symmetry
setting of the input QSpace. Hence this has dimensions $1\times 1$ and all-
zero $q$-labels, yet is aware of all symmetries and their order. With the
option '-1d', this returns a vector of length $d=1$, with an example shown in
(LABEL:eq:rank1).

##### SEntropy()

compute von-Neumann entropy assuming that the input QSpace represents a scalar
density matrix.

##### plotQSpectra()

Plot eigenspectrum of scalar input operator in a symmetry-resolved manner.
With option '-ES', this plots the entanglement spectrum, instead (the latter
is intended for properly normalized density matrices only).

##### contract()

simple wrapper for contractQS.

##### dim()

simple wrapper for getDimQS.

##### eig()

simple wrapper for eigQS.

##### getIdentity()

simple wrapper for getIdentityQS.

##### permute()

simple wrapper for permuteQS.

##### skipzeros()

simple wrapper for skipzerosQS.

###  F.2 Class/@SymOp

Utility class to generate a minimal set of generators (symmetry operators, or
‘SymOp’ for short) in terms of raising and $z$-operators (simple positive
roots Sp and Cartan subalgebra Sz, respectively) when setting up symmetries in
models. It is used in getLocalSpace only, e.g., with objects of this type
returned in IS.SOP $\to$ Sp, Sz together with the MEX routine getSymStates to
bootstrap symmetry spaces. This class should not be relevant otherwise, hence
can be safely ignored from an application point of view.

###  F.3 Class/@SymStore

The @SymStore class offers basic utility routines to access the RC_STORE. It
is intended mostly for information, testing, and debugging purposes. It does
not try to generate any symmetry related data. Therefore if the requested data
is not yet present in the RC_STORE, this class simply returns an error. For
example, the minimal set of generators (simple roots and Cartan subalgebra, or
conversely, raising and $z$-operators) for SU(2) for the defining
representation ${\hyperref@@ii[idx:SU2:qlabels]{q=2S}}=1$ can be loaded from
the RC_STORE via I=SymStore('SU2','-R','(1)') with the option '-R' which thus
looks up the folder $RC_STORE/SU2/RStore/. The round brackets with the string
of the $q$-labels in the last input argument are optional. The returned
generators are encoded as sparse MPFR arrays. These can be converted to
regular double precision arrays via the MEX utility routine cgs2double(I.Sz).
Since the output is rank-2 in the present context, this permits and thus also
returns a regular sparse double array. Standard Clebsch Gordan coefficients
(CGC) can be loaded with the option '-C' which looks up the CStore folder. For
example, I=SymStore('SU2','-C','(2,2;2)','-f') loads the CGC for the spin
tensor product $(S_{1}=1)\otimes(S_{2}=1)\to(S_{\rm tot}=1)$ bearing in mind
the labeling convention with Eq. (7) and that within QSpace, $q=2S$, thus
resulting in (2,2;2). Since CGTs may get large, the data returned with the -C
option effectively contains a reference, by default. The option '-f' then
enforces that the full CGT is loaded. With this, I.cdata contains the CGT in
MPFR format, while I.CData $\equiv$ cgs2double(I.cdata) contains the same data
but already converted to a double-precision multidimensional array. Lastly,
the fusion map out of two multiplets can be accessed via the option '-M' which
looks up the currently generated CStore/++-/*.mp3 files. For example, with
reference to the previous example, the command M =
SymStore('SU2','-M','(2,2)') returns all outcomes of the fusion of the two
SU(2) multiplets $(S_{1}=1)\otimes(S_{2}=1)$, with M.J12 reconfirming the
input, and the fused multiplets shown with M.J as $q\in\\{0,2,4\\}$, i.e.,
$S\in\\{0,1,2\\}$, as expected.

###  F.4 Class/@Hamilton1D

An application class that underlies DMRG/runDMRG.m. This permits to run DMRG
simulations on simple pre-setup models as defined in runDMRG with the option
to adapt to one’s own needs. Since this class is rather extensive on its own,
this will be described in more detail elsewhere. Yet please feel free to
explore. In case of issues or more detailed questions, please also feel free
to contact the author of this documentation in this regard.

## References

  * [1] A. Weichselbaum,  _QSpace tensor library (v4.0)_ ,
https://bitbucket.org/qspace4u/ (2006-2023).

  * [2] M. Fishman and M. Stoudenmire,  _ITensor Library (version 2)_ ,  http://itensor.org.
  * [3] M. Fishman, S. White and E. Stoudenmire,  _The ITensor software library for tensor network calculations_ ,  SciPost Physics Codebases p. 004 (2022).
  * [4] Y.-J. Kao, Y.-D. Hsieh and P. Chen,  _Uni10: an open-source library for tensor network algorithms_ ,  Journal of Physics: Conference Series 640(1), 012040 (2015),  10.1088/1742-6596/640/1/012040.
  * [5] B. Bauer, L. D. Carr, H. G. Evertz, A. Feiguin, J. Freire, S. Fuchs, L. Gamper, J. Gukelberger, E. Gull, S. Guertler, A. Hehn, R. Igarashi _et al._ ,  _The ALPS project release 2.0: open source software for strongly correlated systems_ ,  Journal of Statistical Mechanics: Theory and Experiment 2011(05), P05001 (2011).
  * [6] J. Hauschild and F. Pollmann,  _Efficient numerical simulations with Tensor Networks: Tensor Network Python (TeNPy)_ ,  SciPost Phys. Lect. Notes p. 5 (2018),  10.21468/SciPostPhysLectNotes.5,  Code available from https://github.com/tenpy/tenpy,  1805.00055.
  * [7] J. Haegeman,  _TensorKit_ ,  https://github.com/Jutho/TensorKit.jl,  A Julia package for large-scale tensor computations, with a hint of category theory (2020).
  * [8] A. Weichselbaum,  _Non-abelian symmetries in tensor networks: A quantum symmetry space approach_ ,  Annals of Physics 327(12), 2972 (2012),  10.1016/j.aop.2012.07.009.
  * [9] S. Singh, R. N. C. Pfeifer and G. Vidal,  _Tensor network decompositions in the presence of a global symmetry_ ,  Phys. Rev. A 82(5), 050301(R) (2010),  10.1103/PhysRevA.82.050301.
  * [10] J. J. Sakurai,  _Modern Quantum Mechanics_ ,  Addison-Wesley Publishing Company, Reading, MA, Revised edn. (1994).
  * [11] H. R. Krishna-murthy, J. W. Wilkins and K. G. Wilson,  _Renormalization-group approach to the Anderson model of dilute magnetic alloys. i. static properties for the symmetric case_ ,  Phys. Rev. B 21(3), 1003 (1980),  10.1103/PhysRevB.21.1003.
  * [12] A. I. Tóth, C. P. Moca, Ö. Legeza and G. Zaránd,  _Density matrix numerical renormalization group for non-abelian symmetries_ ,  Phys. Rev. B 78(24), 245109 (2008),  10.1103/PhysRevB.78.245109.
  * [13] R. Bulla, T. A. Costi and T. Pruschke,  _Numerical renormalization group method for quantum impurity systems_ ,  Rev. Mod. Phys. 80, 395 (2008),  10.1103/RevModPhys.80.395.
  * [14] C. P. Moca, A. Alex, J. von Delft and G. Zaránd,  _SU(3) Anderson impurity model: A numerical renormalization group approach exploiting non-abelian symmetries_ ,  Phys. Rev. B 86, 195128 (2012),  10.1103/PhysRevB.86.195128.
  * [15] A. Weichselbaum,  _X-symbols for non-abelian symmetries in tensor networks_ ,  Phys. Rev. Research 2, 023385 (2020),  10.1103/PhysRevResearch.2.023385.
  * [16] S. R. White,  _Density matrix formulation for quantum renormalization groups_ ,  Phys. Rev. Lett. 69(19), 2863 (1992),  10.1103/PhysRevLett.69.2863.
  * [17] U. Schollwöck,  _The density-matrix renormalization group in the age of matrix product states_ ,  Ann. Phys. 326, 96 (2011),  10.1016/j.aop.2010.09.012.
  * [18] K. G. Wilson,  _The renormalization group: Critical phenomena and the Kondo problem_ ,  Rev. Mod. Phys. 47(4), 773 (1975),  10.1103/RevModPhys.47.773.
  * [19] A. Weichselbaum and J. von Delft,  _Sum-rule conserving spectral functions from the numerical renormalization group_ ,  Phys. Rev. Lett. 99(7), 076402 (2007),  10.1103/PhysRevLett.99.076402.
  * [20] T. A. Costi, L. Bergqvist, A. Weichselbaum, J. von Delft, T. Micklitz, A. Rosch, P. Mavropoulos, P. H. Dederichs, F. Mallet, L. Saminadayar and C. Bäuerle,  _Kondo decoherence: Finding the right spin model for iron impurities in gold and silver_ ,  Phys. Rev. Lett. 102(5), 056802 (2009),  10.1103/PhysRevLett.102.056802.
  * [21] H. E. Türeci, M. Hanl, M. Claassen, A. Weichselbaum, T. Hecht, B. Braunecker, A. Govorov, L. Glazman, A. Imamoglu and J. von Delft,  _Many-body dynamics of exciton creation in a quantum dot by optical absorption: A quantum quench towards Kondo correlations_ ,  Phys. Rev. Lett. 106(10), 107402 (2011),  10.1103/PhysRevLett.106.107402.
  * [22] H. Saberi, A. Weichselbaum, L. Lamata, D. Pérez-García, J. von Delft and E. Solano,  _Constrained optimization of sequentially generated entangled multiqubit states_ ,  Phys. Rev. A 80(2), 022334 (2009),  10.1103/PhysRevA.80.022334.
  * [23] W. Münder, A. Weichselbaum, A. Holzner, J. von Delft and C. L. Henley,  _Correlation density matrices for one-dimensional quantum chains based on the density matrix renormalization group_ ,  New J. of Phys. 12, 075027 (51pp) (2010),  10.1088/1367-2630/12/7/075027.
  * [24] A. Holzner, A. Weichselbaum, I. P. McCulloch, U. Schollwöck and J. von Delft,  _Chebyshev matrix product state approach for spectral functions_ ,  Phys. Rev. B 83(19), 195115 (2011),  10.1103/PhysRevB.83.195115.
  * [25] A. Weichselbaum, F. Verstraete, U. Schollwöck, J. I. Cirac and J. von Delft,  _Variational matrix-product-state approach to quantum impurity models_ ,  Phys. Rev. B 80(16), 165117 (2009),  10.1103/PhysRevB.80.165117.
  * [26] H. Saberi, A. Weichselbaum and J. von Delft,  _Matrix-product-state comparison of the numerical renormalization group and the variational formulation of the density-matrix renormalization group_ ,  Phys. Rev. B 78(3), 035124 (2008),  10.1103/PhysRevB.78.035124.
  * [27] M. Hanl, A. Weichselbaum, T. A. Costi, F. Mallet, L. Saminadayar, C. Bäuerle and J. von Delft,  _Iron impurities in gold and silver: Comparison of transport measurements to numerical renormalization group calculations exploiting non-abelian symmetries_ ,  Phys. Rev. B 88, 075146 (2013),  10.1103/PhysRevB.88.075146.
  * [28] M. Hanl, A. Weichselbaum, J. von Delft and M. Kiselev,  _Equilibrium Fermi-liquid coefficients for the fully screened $N$-channel Kondo model_,  Phys. Rev. B 89, 195131 (2014),  10.1103/PhysRevB.89.195131.
  * [29] J. Eisert,  _Entanglement and tensor network states_ ,  arXiv:1308.3318 [quant-ph] (2013),  Invited lecture notes for the “Autumn School on Correlated Electrons: Emergent Phenomena in Correlated Matter”, E. Pavarini, E. Koch, and U. Schollwoeck Eds., Juelich, September 23-27, 2013.
  * [30] R. Orús,  _A practical introduction to tensor networks: Matrix product states and projected entangled pair states_ ,  Annals of Physics 349, 117 (2014),  https://doi.org/10.1016/j.aop.2014.06.013.
  * [31] R. Orús,  _Tensor networks for complex quantum systems_ ,  Nature Reviews Physics 1, 538 (2019),  10.1038/s42254-019-0086-7.
  * [32] J. von Delft,  _Lecture course on tensor networks for many-body physics_ ,
https://www.theorie.physik.uni-
muenchen.de/lsvondelft/teaching/tensornetworks/index.html (2017-2023).

  * [33] P. Corboz, R. Orús, B. Bauer and G. Vidal,  _Simulation of strongly correlated fermions in two spatial dimensions with fermionic projected entangled-pair states_ ,  Phys. Rev. B 81(16), 165104 (2010),  10.1103/PhysRevB.81.165104.
  * [34] B. Bruognolo, J.-W. Li, J. v. Delft and A. Weichselbaum,  _A beginner’s guide to non-abelian iPEPS for correlated fermions_ ,  SciPost Phys. Lect. Notes p. 25 (2021),  10.21468/SciPostPhysLectNotes.25.
  * [35] J.-R. Derome and W. T. Sharp,  _Racah Algebra for an Arbitrary Group_ ,  Journal of Mathematical Physics 6, 1584 (1965),  10.1063/1.1704698.
  * [36] P. H. Butler,  _Coupling coefficients and tensor operators for chains of groups_ ,  Trans. Roy. Soc. A (London) 277(1272), pp. 545 (1975).
  * [37] J. P. Elliott and P. G. Dawber,  _Symmetry in physics, Vol. I+II_ ,  Oxford University Press, New York (1979).
  * [38] A. Alex, M. Kalus, A. Huckleberry and J. von Delft,  _A numerical algorithm for the explicit calculation of SU(N) and SL(N,C) Clebsch-Gordan coefficients_ ,  J. Math. Phys. 52(2), 023507 (2011),  10.1063/1.3521562,  http://arxiv.org/abs/1009.0437.
  * [39] M. A. Werner, C. P. Moca, O. Legeza, M. Kormos and G. Zaránd,  _Spin fluctuations after quantum quenches in the $s=1$ haldane chain: Numerical validation of the semi-semiclassical theory_,  Phys. Rev. B 100, 035401 (2019),  10.1103/PhysRevB.100.035401.
  * [40] M. A. Werner, C. u. u. u. u. P. m. c. Moca, O. Legeza and G. Zaránd,  _Quantum quench and charge oscillations in the su(3) Hubbard model: A test of time evolving block decimation with general non-abelian symmetries_ ,  Phys. Rev. B 102, 155108 (2020),  10.1103/PhysRevB.102.155108.
  * [41] W. Hackbusch,  _Tensor spaces and numerical tensor calculus_ , vol. 42,  Springer (2012).
  * [42] D. Pérez-García, F. Verstraete, M. M. Wolf and J. I. Cirac,  _Matrix product state representations_ ,  Quantum Inf. Comput. 7, 401 (2007).
  * [43] R. Orús,  _Advances on tensor network theory: symmetries, fermions, entanglement, and holography_ ,  The European Physical Journal B 87(11), 280 (2014),  10.1140/epjb/e2014-50502-9.
  * [44] L. Fousse, G. Hanrot, V. Lefèvre, P. Pélissier and P. Zimmermann,  _MPFR: A multiple-precision binary floating-point library with correct rounding_ ,  ACM Transactions on Mathematical Software 33(2), 13:1 (2007).
  * [45] _The GNU MPFR library_ ,  https://www.mpfr.org/.
  * [46] R. N. Cahn,  _Semi-simple Lie algebras and their representations_ ,  The Benjamin/Cummings Publishing Company (1984).
  * [47] N. Bultinck, D. J. Williamson, J. Haegeman and F. Verstraete,  _Fermionic matrix product states and one-dimensional topological phases_ ,  Phys. Rev. B 95, 075108 (2017),  10.1103/PhysRevB.95.075108.
  * [48] Q. Mortier, L. Devos, L. Burgelman, B. Vanhecke, N. Bultinck, F. Verstraete, J. Haegeman and L. Vanderstraeten,  _Fermionic tensor network methods_ ,  arXiv:2404.14611 [quant-ph] (2024).
  * [49] C. Guo, A. Weichselbaum, J. von Delft and M. Vojta,  _Critical and strong-coupling phases in one- and two-bath spin-boson models_ ,  Phys. Rev. Lett. 108, 160401 (2012),  10.1103/PhysRevLett.108.160401.
  * [50] A. Weichselbaum,  _Tensor networks and the numerical renormalization group_ ,  Habilitation thesis (2012).
  * [51] F. D. M. Haldane,  _Nonlinear field theory of large-spin Heisenberg antiferromagnets: Semiclassically quantized solitons of the one-dimensional easy-axis néel state_ ,  Phys. Rev. Lett. 50, 1153 (1983),  10.1103/PhysRevLett.50.1153.
  * [52] H.-H. Tu, G.-M. Zhang and T. Xiang,  _Class of exactly solvable $so(n)$ symmetric spin chains with matrix product ground states_,  Phys. Rev. B 78, 094404 (2008),  10.1103/PhysRevB.78.094404.
  * [53] F. Verstraete and J. I. Cirac,  _Renormalization algorithms for quantum-many body systems in two and higher dimensions_ ,  arXiv:cond-mat/0407066v1 [cond-mat.str-el] (2004).
  * [54] J. I. Cirac and F. Verstraete,  _Renormalization and tensor product states in spin chains and lattices_ ,  J. Phys. A: Math. Theor. 42(50), 504004 (2009).
  * [55] G. Vidal,  _Classical simulation of infinite-size quantum lattice systems in one spatial dimension_ ,  Phys. Rev. Lett. 98(7), 070201 (2007),  10.1103/PhysRevLett.98.070201.
  * [56] A. Weichselbaum, W. Münder and J. von Delft,  _Anderson orthogonality and the numerical renormalization group_ ,  Phys. Rev. B 84(7), 075137 (2011),  10.1103/PhysRevB.84.075137.
  * [57] W. Münder, A. Weichselbaum, M. Goldstein, Y. Gefen and J. von Delft,  _Anderson orthogonality in the dynamics after a local quantum quench_ ,  Phys. Rev. B 85, 235104 (2012),  10.1103/PhysRevB.85.235104.
  * [58] A. Weichselbaum,  _Discarded weight and entanglement spectra in the numerical renormalization group_ ,  Phys. Rev. B 84, 125130 (2011),  10.1103/PhysRevB.84.125130.
  * [59] F. B. Anders and A. Schiller,  _Real-time dynamics in quantum-impurity systems: A time-dependent numerical renormalization-group approach_ ,  Phys. Rev. Lett. 95, 196801 (2005),  10.1103/PhysRevLett.95.196801.
  * [60] F. D. M. Haldane,  _Scaling theory of the asymmetric anderson model_ ,  Phys. Rev. Lett. 40, 416 (1978),  10.1103/PhysRevLett.40.416.
  * [61] M. Filippone, C. P. Moca, A. Weichselbaum, J. von Delft and C. Mora,  _At which magnetic field, exactly, does the kondo resonance begin to split? a fermi liquid description of the low-energy properties of the anderson model_ ,  Phys. Rev. B 98, 075404 (2018),  10.1103/PhysRevB.98.075404.
  * [62] A. B. Zamolodchikov,  _On ‘irreversibility’ of renormalization group flow in two-dimensional field theory_ ,  Pisma Zh. Eksp. Teor. Fiz 43, 565 (1986).
  * [63] R. Peters, T. Pruschke and F. B. Anders,  _Numerical renormalization group approach to green’s functions for quantum impurity models_ ,  Phys. Rev. B 74(24), 245114 (2006),  10.1103/PhysRevB.74.245114.
  * [64] A. Weichselbaum,  _Tensor networks and the numerical renormalization group_ ,  Phys. Rev. B 86, 245124 (2012),  10.1103/PhysRevB.86.245124.
  * [65] J. Dukelsky, M. A. Martin-Delgado, T. Nishino and G. Sierra,  _Equivalence of the variational matrix product method and the density matrix renormalization group applied to spin chains_ ,  Europhys. Lett. 43, 457 (1998).
  * [66] I. V. Oseledets,  _Tensor-train decomposition_ ,  SIAM Journal on Scientific Computing 33(5), 2295 (2011),  10.1137/090752286,  https://doi.org/10.1137/090752286.
  * [67] N. Schuch, I. Cirac and D. Pérez-García,  _PEPS as ground states: Degeneracy and topology_ ,  Annals of Physics 325(10), 2153 (2010),  10.1016/j.aop.2010.05.008.
  * [68] J. C. Bridgeman and C. T. Chubb,  _Hand-waving and interpretive dance: an introductory course on tensor networks_ ,  Journal of Physics A: Mathematical and Theoretical 50(22), 223001 (2017),  10.1088/1751-8121/aa6dc3.
  * [69] Y.-Y. Shi, L.-M. Duan and G. Vidal,  _Classical simulation of quantum many-body systems with a tree tensor network_ ,  Phys. Rev. A 74, 022320 (2006),  10.1103/PhysRevA.74.022320.
  * [70] V. Murg, F. Verstraete, Ö. Legeza and R. M. Noack,  _Simulating strongly correlated quantum systems with tree tensor networks_ ,  Phys. Rev. B 82, 205105 (2010),  10.1103/PhysRevB.82.205105.
  * [71] E. M. Stoudenmire and S. R. White,  _Minimally entangled typical thermal state algorithms_ ,  New Journal of Physics 12(5), 055026 (2010),  10.1088/1367-2630/12/5/055026.
  * [72] S. Singh and G. Vidal,  _Global symmetries in tensor network states: Symmetric tensors versus minimal bond dimension_ ,  Phys. Rev. B 88, 115147 (2013),  10.1103/PhysRevB.88.115147.
  * [73] M. Lubasch, J. I. Cirac and M.-C. Bañuls,  _Algorithms for finite projected entangled pair states_ ,  Phys. Rev. B 90, 064425 (2014),  10.1103/PhysRevB.90.064425.
  * [74] _MEX functions_ ,  https://www.mathworks.com/help/matlab/call-mex-functions.html.
  * [75] F. Verstraete and J. I. Cirac,  _Continuous matrix product states for quantum fields_ ,  Phys. Rev. Lett. 104, 190405 (2010),  10.1103/PhysRevLett.104.190405.
  * [76] A. Weichselbaum, S. Capponi, P. Lecheminant, A. M. Tsvelik and A. M. Läuchli,  _Unified phase diagram of antiferromagnetic SU(N) spin ladders_ ,  Phys. Rev. B 98, 085104 (2018),  10.1103/PhysRevB.98.085104.
  * [77] I. Affleck, T. Kennedy, E. H. Lieb and H. Tasaki,  _Valence bond ground states in isotropic quantum antiferromagnets_ ,  Comm. Math. Phys. 115(3), 477 (1988).
  * [78] R. Bro,  _PARAFAC. Tutorial and applications_ ,  Chemometrics and intelligent laboratory systems 38(2), 149 (1997).
  * [79] M. K. Ritter, Y. Núñez Fernández, M. Wallerberger, J. von Delft, H. Shinaoka and X. Waintal,  _Quantics tensor cross interpolation for high-resolution parsimonious representations of multivariate functions_ ,  Physical Review Letters 132(5) (2024),  10.1103/physrevlett.132.056501.
  * [80] M. Jeannin, Y. Núñez-Fernández, T. Kloss, O. Parcollet and X. Waintal,  _Cross-extrapolation reconstruction of low-rank functions and application to quantum many-body observables in the strong coupling regime_ ,  arXiv:2401.05547 [cond-mat.str-el] (2024).
  * [81] H. Weyl,  _Theorie der darstellung kontinuierlicher halb-einfacher gruppen durch lineare transformationen. i_ ,  Mathematische Zeitschrift 23, 271 (1925),  10.1007/BF01506234.
  * [82] _LAPACK - Linear Algebra PACKage_ ,
https://www.netlib.org/lapack/ (1992–2023).

  * [83] _OpenMP (v5)_ ,
https://www.openmp.org/ (1997–2021).

  * [84] F. Haupt, S. Smolka, M. Hanl, W. Wüster, J. Miguel-Sanchez, A. Weichselbaum, J. von Delft and A. Imamoglu,  _Nonequilibrium dynamics in an optical transition from a neutral quantum dot to a correlated many-body state_ ,  Phys. Rev. B 88, 161304 (2013),  10.1103/PhysRevB.88.161304.