##
RTNI_light_web

With RTNI_light one can integrate matrices symbolically with respect to Haar unitary matrices.
RTNI_light is a light and user-friendly version of the program called RTNI, originally developed in the following paper:

M. Fukuda, R. Koenig, I. Nechita "RTNI - A symbolic integrator for Haar-random tensor networks",

arXiv:1902.08539 [quant-ph].

The programs of the above paper can be found at the GitHub page:

RTNI at GitHub.

On this website, one can use the web version of RTNI_light, but
there are limitations:

- All matrices are `n xx n`.
- Only two i.i.d. Haar unitary matrices are allowed.
- The number of conjugate pairs of each Haar unitary matrix should not exceed two.

The first condition is set for RTNI_light, and the second and third conditions are set to save computational resource of the server.
One can download and customize the program placed at:

RTNI_light at GitHub
Besides, one can get the Weingarten functions for upto partitions of 20 as well.

Input data will not be stored or monitored on this webpage.

### Integrating with respect to the Haar unitary.

An input is a sequence of two kinds of brackets and each bracket contains alphabets and some selected symbols (spaces will be ignored).

- [ ] represents application of trace operation and ( ) otherwise.
- U and V (upper case) are reserved for i.i.d. Haar unitary matrices.
Any other upper and lower case alphabets can be used to represent matrices. Repetitions are allowed.
- +,-,* are used to represent transpose, complex conjugate and adjoint, respectively.

Some examples (you do not need "" for the input.):
- "Trace`[U^(**)AU] xx`Trace`[U^(T)BU^(-)]`" should be written as "[U*AU][U+BU-]".
- "Trace`[U^(**)AU] UCU^(**)`" should be written as "[U*AU](UCU*)".
- "`U^(**)AU^(T) ox UCDU^(**) ox VA^(T)DV^(-)`" should be written as "(U*AU+)(UCDU*)(VA+DV-)".

Note that those top-right symbols in AsciiMath: `T`, `-` and `**` are used in the output format,
to represent transpose, complex conjugate and adjoint, respectively.

### Getting Weingarten functions.

An input is a set of numbers separated by commas. For example,

- "4,2,5" will give you the Weingarten function of the type (5,4,2).

where the input numbers are ordered automatically.