SciPost Submission Page
TensorMixedStates: A Julia library for simulating pure and mixed quantum states using matrix product states
by Jérôme Houdayer, Grégoire Misguich
Submission summary
| Authors (as registered SciPost users): | Grégoire Misguich |
| Submission information | |
|---|---|
| Preprint Link: | scipost_202505_00038v2 (pdf) |
| Code repository: | https://github.com/jerhoud/TensorMixedStates.jl |
| Code version: | v1.28 |
| Code license: | GPL v3 |
| Date submitted: | Feb. 4, 2026, 5:18 p.m. |
| Submitted by: | Grégoire Misguich |
| Submitted to: | SciPost Physics Codebases |
| Ontological classification | |
|---|---|
| Academic field: | Physics |
| Specialties: |
|
| Approaches: | Theoretical, Computational |
Abstract
We introduce TensorMixedStates, a Julia library built on top of ITensor which allows the simulation of quantum systems in presence of dissipation using matrix product states (MPS). It offers three key features: i) it implements the MPS representation for mixed states along with associated operations, in particular the time evolution according to a Lindblad equation or discrete time evolution using non-unitary gates (quantum channels), ii) it is based on ITensor, which has proven its effectiveness and which gives access to efficient low-level tensor manipulation as well state-of-the-art algorithms (like DMRG or TDVP), finally iii) it presents a user-friendly interface allowing writing sophisticated simulations for pure and mixed quantum states in a few lines of code.
Author comments upon resubmission
List of changes
- Comments of Referee #1
Broadly, there should be some discussion addressing the details of how the TMS specific functions are implemented and optimized. The authors mention in the introduction that the novel functionality introduced by TMS are functions that create MPOs for the operations required in open systems. However, the authors do not seem to further elaborate on how these functions are designed and optimized. In addition, it is not always clear which of the algorithms the authors have developed from scratch, and which are taken from ITensor, and there should be some details on the implementation for the novel ones (for example, approx W)
Answer: Sections 2.3 and 3.1 have been revised to clarify this point. The construction of the MPOs is largely mechanical and admits little freedom in its current form. At present, no advanced optimizations are implemented to reduce the resulting bond dimension; in this respect, the approach is closely aligned with the standard MPO constructions used in ITensor. Developing such optimizations is a natural and promising direction for future work.
The core numerical routines are those provided by ITensor; TMS primarily serves as a wrapper that extends these routines to mixed-state calculations. Its role is therefore mainly concerned with data representation and bookkeeping rather than introducing new tensor-network algorithms.
Finally, the implementation of the W approximations follows directly the algorithms described in the referenced article.
Section 1 (Introduction) should include a more comprehensive list of references supporting the statements (for instance references to relevant reviews in the fields mentioned, like cold atoms, trapped ions, development in quantum technologies, why is dissipation and decoherence often important).
Answer: we have added several references in the introduction: R. Blatt and C. F. Roos, Monroe et al., and Bruzewicz et al. concerning trapped ions, I. Bloch et al. concerning cold atoms, and M. H. Devoret and R. J. Schoelkopf, and Arute et al. concerning superconducting circuits and three references on Rydberg atoms (Saffman et al., H. Bernien et al., and A. Browaeys and T. Lahaye). Concerning the importance of dissipation and decoherence, we have added a citation to the review by H.-P. Breuer and F. Petruccione on open quantum systems as well as a reference to Morvan et al. Concerning technologies for quantum information we have added a reference to J. Preskill.
At the end of Section 1, the reader would benefit from a brief content overview with a description of the organisation of the paper.
Answer: we have added a paragraph at the end of the introduction, giving an overview of the content and organization of the paper.
In section 2.2, the notation of equation (11) should be further clarified: what do the authors mean by "$T_i$ is a matrix whose elements are states of site i"? It would be useful to first define $|\phi\rangle$ as a sum of complex coefficients multiplying states, and then link the "simplified" notation of equation (11) to the usual/not simplified notation, where it becomes clear what are the indices of $T_i$ and how they are linked to the wave function. In general, the notation of this section could be more accurate.
Answer: This part has been rewritten with more precision on the notations.
Section 3.4: is it possible to specify states using generic linear combinations with complex coefficients? For example, to specify the state $a|0\rangle +b|1\rangle$ of a Spin(), with a,b complex. For a system with 10 qubits (for example sys1), how can I specify different states for all the 10 qubits? It would be useful to expand the examples in this section to clarify these cases, possibly with an explanation of the function syntax in the general case.
Answer: This section as been improved. It now explains in more detail the single site states specification and the function syntax.
In 3.5, it would be useful to specify that the dagger of an operator A can be obtained with dag(A)
Answer: done.
In 3.5, for the example of $R_{xy}$, is there a simple way to type the tensor product symbol in Julia? If one should call a specific function, there should be the function in the code example. In general, this section could be more systematic, by explaining the syntax at a general level and then with examples (for the case of Hamiltonians, for example first write the equation for the Hamiltonian in a generic way), rather than by examples only, which can leave out more special cases.
Answer: section 3.5 is now more precise, listing all operator constructs in general.
The notion of OSEE should be defined in the introductory sections
Answer: A definition of the OSEE has been added in the last paragraph of section 2.2.
Figure 2 should be made colour blind compatible
Answer: We have changed the colors of this figure (Fig. 4 in this revised version of the manuscript).
Would it be possible to show the data of Fig. 4 in Ref 37 in Fig. 2 as well? (I am not sure this can be done, if not, please ignore the comment)
Answer: We have contacted the authors of this publication (now numbered Ref. 48 in the revised version) to obtain the data, but we did not receive any answer.
Can the code snippets contained in the example sections be expanded? Alternatively, would it be possible to make the source code of the examples accessible from the documentation, with some text explaining the context and guiding the user through the implementation? I think it would be beneficial to be able to visualize in one place the code and the text explanation at the same time, to understand the details of how to write a comprehensive code running an explicit example.
Answer: Complete runnable and commented versions of the code examples are available in the repository on GitHub, as now stated in introduction of section 4. Thus reader may have the text of the article together with the actual codes.
How does the performance of TMS compare to other software libraries? For example, for the evolution of unitary circuits there are well established algorithms and libraries that could be used to benchmark the performance of TMS
Answer: We expect TMS to be competitive with other libraries. It is constructed on the top of the ITensor library (in Julia) for the tensor operations, and the latter relies on optimized (and potentially multi-threaded) linear algebra libraries (BLAS, LAPACK, MKL, etc). However, we have not performed any quantitative benchmark. We have added a comment in the conclusion mentioning that a benchmark would be interesting.
Are there some tests implemented to check that the defined density-matrix, Lindbladian, Hamiltonian, and other objects implemented in TMS have the correct properties? (for example, checking that $\rm {Tr}(\rho)=1$ for a custom defined density-matrix, checking that the Hamiltonian is Hermitian and so on)
Answer: a short section (3.8) has been added on this subject.
Do you plan to include routines that take care of symmetries, namely that preserve different symmetry sectors in the operators, states, and throughout the implemented algorithms?
Answer: The conclusion as been made more precise concerning QNS and symmetries. Yes, we do intend to implement algorithms that take care of symmetries by using QNS (which is an important feature of ITensor). Nevertheless, the benefits will be limited as Linbladian and noisy gates often do not have conserved quantities.
Referee #2
Some parts of the text are written poorly with lots of jargon words, unclear formulations and grammar mistakes. The commented file contains the comments with improvement guidelines.
Answer: we thank the referee for the numerous detailed comments and suggestions. The problematic sentences have been corrected.
The introduction to the tensor network techniques for open quantum system is rather brief and unclear. In the dedicated part of the commented file the authors can find the suggestions of improvements. I would also additionally suggest to include tensor-network diagrams to improve the reader's understanding.
Answer: Tensor diagrams have been added. See the new Figs. 1 and 2.
Some of the physics examples are there to merely demonstrate the scope of the TMS package. It would be much more interesting to include in-depth discussions on the limitations of the developed methods. In particular, it would be great to investigate the deviation of the numerics in the free fermion model (Fig. 4), in particular, studying the later dynamics and observe further deviations there (please see a comment to the corresponding figure content).
Answer: The example of the free fermion model has been kept as a demonstration of the capabilities of TMS. A more in-depth study of the limitations of the methods is indeed interesting, but would probably require a dedicated article.
Some of the figures (in particular, Figs. 1 and 2) contain legends that interfere with the plot content. This should be reconsidered.
Reply: These two figures (Figs. 3 and 4 in the revised version) have been modified to move the legends outside the plot area.
The steady-state solver is discussed very briefly in the manuscript, however it is not mentioned in the abstract. It is also demonstrated only for a single physics problem (Fig. 2). It leaves the reader puzzled whether this solver is implemented in the TMS package.
Answer: The steady state solver is better explained in section 2.3 and 3.6. It is actually not demonstrated in the article (The figure mentioned by the referee refers to some steady state values computed elsewhere). But it is definitely implemented in the software.
The quantum number conservation in mentioned in the abstract as if it is implemented in the package. However, in the conclusion to the manuscript the authors indicate this feature as the subject of the future work. This point should be revisited by the authors.
Reply: We have removed the mention of quantum number conservation from the abstract, since it is not yet implemented in TMS.
