Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] aesg_v1_0.tar.gz(839 Kbytes)
Manuscript Title: The FEYNMAN tools for quantum information processing: Design and implementation
Authors: S. Fritzsche
Program title: FEYNMAN
Catalogue identifier: AESG_v1_0
Distribution format: tar.gz
Journal reference: Comput. Phys. Commun. 185(2014)1697
Programming language: Maple 15 and 16.
Computer: Any computer capable of running the Maple package.
Operating system: Suse and Ubuntu Linux.
RAM: Typical time and memory requirements: Most commands respond promptly or require less than a few seconds on a standard processor if invoked with quantum states and registers of four or less qubits. In addition to the memory for using the Maple machinery, about 5-20 MB or working memory is typically sufficient to deal with standard (floating-point) computations. When working with symbolic expressions or some large number of qubits (n >≈ 5), however, the requirements of cpu time and memory depend critically on the size and complexity of the expressions involved. Although Maple's assume feature may sometimes help reduce the complexity of symbolic expressions, more often than not, only numerical computations are feasible for sizeable expressions or a larger number of qubits. Since most commands can be readily applied to quite different computational scenarios, no general scaling rule can be given for the requested cpu time or memory.
Keywords: Entanglement and entropy measures, Quantum information processing and theory, Quantum measurements, Quantum noise evolution, Quantum operations and operators, (n-qubit) quantum registers, Parametrization of quantum states, Quantum state analysis, Quantum tomography, Teaching quantum information science, Tools for quantum simulations.
Classification: 4.15.

Nature of problem:
Quantum information processing and quantum control require a careful preparation and analysis of quantum states. For such an analysis and for implementing new protocols, various computational tasks need to be performed frequently, such as the construction, manipulation and estimation of quantum states, the display of quantum amplitudes and probability distributions, the evaluation of quantum measures and quantum operations, the decomposition of operators into different representations, or the simulation of quantum measurements, to name just a few.

Solution method:
To support a large number of computational tasks in dealing with n-qubit quantum states and quantum registers, a high-level (computer-) language is designed and implemented within the framework of the computer-algebra system Maple. This design is based on a set of keystring-driven commands in order to provide a flexible, interactive and user-friendly environment for quantum computations on finite n-qubit systems. The present design provides high-level commands (procedures) that can be utilized in order to simulate reversible and irreversible quantum computations. Though the use of Maple has been found versatile to access a wealth of (additional) in-built mathematical functions, the re-design of the FEYNMAN tools is general and flexible enough to be implemented (or combined) with other languages and computational environments.

Restrictions:
Restrictions in the manipulation of n-qubit quantum states mainly arise from the complexity and stability of certain algebraic and numerical computations. For example, the symbolic analysis of noise models (as defined by means of the known Kraus operators) often leads to large expressions that slow down all subsequent computations. Owing to the exponential increase of complexity with the number of qubits involved, many computational tasks are limited to about 4-5 qubits on a standard processor, although some larger number of qubits might become feasible by using Maple's parallel features or some link to specially designed code in Matlab, C or Fortran.

Unusual features:
The FEYNMAN tools [1] have been re-designed within the framework of Maple to provide a small but very powerful set of keystring-driven commands for symbolic and numerical simulations of (finite) n-qubit systems. Emphasis was placed especially on establishing a set of (about 15-20) high-level commands that are suitable to deal with most common tasks from quantum information theory, and which can be applied also interactively. Whenever possible, both representations of quantum registers in terms of their state vectors and/or density matrices are equally supported by the program, and with no other restrictions than those given by the memory and processor resources of the computer.

All commands of the FEYNMAN tools are organized in an hierarchical order and can be utilized as language elements in order to perform tasks at even higher level of complexity. Moreover, the design and syntax of this toolbox may serve as a model to apply computer-algebraic techniques to other fields in science and technology.

Additional comments:
For the original FEYNMAN programs see http://cpc.cs.qub.ac.uk/summaries/ADWE_v1_0.html [1] to http://cpc.cs.qub.ac.uk/summaries/ADWE_v5_0.html

Running time:
About 2 minutes on a standard laptop for all test cases below.

References:
[1] T. Radtke and S. Fritzsche, Comput. Phys. Commun. 173 (2005) 91; ibid. 181 (2010) 440.