|
| 1 | +# Fast Free Fermion Compiler: F3C++ |
| 2 | + |
| 3 | +F3C++ is an object-oriented, fully templated C++ package for compiling |
| 4 | +time-evolution quantum circuits of spin Hamiltonians that can be mapped to free |
| 5 | +fermions. F3C++ is build on top of QCLAB++ and provides I/O through openQASM |
| 6 | +making it compatible with quantum hardware. |
| 7 | + |
| 8 | + |
| 9 | +## How to run? |
| 10 | + |
| 11 | +The F3C++ package uses the CMake build system (CMake version ≥ 3.16). |
| 12 | +The recommended way of building F3C++ is as follows: |
| 13 | + |
| 14 | +1. Install |
| 15 | + |
| 16 | + git clone https://github.com/QuantumComputingLab/f3cpp.git |
| 17 | + |
| 18 | +2. CMake |
| 19 | + |
| 20 | + cd f3cpp |
| 21 | + mkdir release |
| 22 | + cd release |
| 23 | + cmake -DCMAKE_BUILD_TYPE=Release .. |
| 24 | + make -j8 |
| 25 | + |
| 26 | +3. Run tests |
| 27 | + |
| 28 | + ./test/f3c_tests |
| 29 | + |
| 30 | +4. Examples |
| 31 | + |
| 32 | + ./examples/f3c_time_evolution_XY ../examples/XY.ini |
| 33 | + ./examples/f3c_time_evolution_TFXY ../examples/TFXY.ini |
| 34 | + or |
| 35 | + |
| 36 | + python3 python/f3c_time_evolution_XY.py ../examples/XY.ini |
| 37 | + python3 python/f3c_time_evolution_TFXY.py ../examples/TFXY.ini |
| 38 | + |
| 39 | +5. Generate documentation |
| 40 | + |
| 41 | + doxygen doxygen.dox |
| 42 | + |
| 43 | + |
| 44 | +## References |
| 45 | +The F3C compiler is based on: |
| 46 | +- An Algebraic Quantum Circuit Compression Algorithm for Hamiltonian Simulation, |
| 47 | + Daan Camps, Efekan Köckü, Lindsay Bassman, Wibe A. de Jong, |
| 48 | + Alexander F. Kemper, and Roel Van Beeumen (2021) |
| 49 | +- Algebraic Compression of Quantum Circuits for Hamiltonian Evolution, |
| 50 | + Efekan Köckü, Daan Camps, Lindsay Bassman, J. K. Freericks, |
| 51 | + Wibe A. de Jong, Roel Van Beeumen, and Alexander F. Kemper (2021) |
| 52 | + |
| 53 | + |
| 54 | +## Developers - Lawrence Berkeley National Laboratory |
| 55 | +- [Roel Van Beeumen](http://www.roelvanbeeumen.be/) - rvanbeeumen@lbl.gov |
| 56 | +- [Daan Camps](http://campsd.github.io/) - dcamps@lbl.gov |
| 57 | + |
| 58 | + |
| 59 | +## Funding |
| 60 | +The F3C++ project is supported by the Laboratory Directed Research and |
| 61 | +Development Program of Lawrence Berkeley National Laboratory under U.S. |
| 62 | +Department of Energy Contract No. DE-AC02-05CH11231. |
| 63 | + |
| 64 | + |
| 65 | +## About |
| 66 | +F3C++ Copyright (c) 2021, The Regents of the University of California, |
| 67 | +through Lawrence Berkeley National Laboratory (subject to receipt of |
| 68 | +any required approvals from the U.S. Dept. of Energy). All rights reserved. |
| 69 | + |
| 70 | +If you have questions about your rights to use or distribute this software, |
| 71 | +please contact Berkeley Lab's Intellectual Property Office at |
| 72 | +IPO@lbl.gov. |
| 73 | + |
| 74 | +NOTICE. This Software was developed under funding from the U.S. Department |
| 75 | +of Energy and the U.S. Government consequently retains certain rights. As |
| 76 | +such, the U.S. Government has been granted for itself and others acting on |
| 77 | +its behalf a paid-up, nonexclusive, irrevocable, worldwide license in the |
| 78 | +Software to reproduce, distribute copies to the public, prepare derivative |
| 79 | +works, and perform publicly and display publicly, and to permit others to do so. |
0 commit comments