Реализация алгоритма разложения произвольной унитарной матрицы в произведение двухуровневых матриц. Алгоритм описан в книгах "Quantum Computation and Quantum Information" Майкла Нильсена и Исаака Чанга (4.5.1 Two-level unitary gates are universal) и "Quantum computing : from linear algebra to physical realizations" Микио Накахары и Тетсуо Оми (4.6 Universal Quantum Gates).
Для Scala 2.13.1:
sbt ++2.13.1 packageVer
Для Scala 2.12.11:
sbt ++2.12.11 packageVer
Для Scala 2.11.12:
sbt ++2.11.12 packageVer
Полученные zip-файлы будут находиться в папке package
.
Распакуйте архив с указанной требуемой версией Scala. Если вы используете Java 8 или выше, используйте версию 2.13 или 2.12. В противном случае - 2.11.
Запуск (Linux):
./matr2scheme <filename>
Запуск (Windows):
matr2scheme.bat <filename>
filename
должен быть текстовым файлом с унитарной матрицей. Комплексные числа
вводятся в виде (Re,Im)
. Для полной информации запустите matr2scheme
без
параметров.