qulacs


Namequlacs JSON
Version 0.6.3 PyPI version JSON
download
home_page
SummaryQuantum circuit simulator for research
upload_time2023-12-25 09:28:16
maintainer
docs_urlNone
author
requires_python
licenseMIT License Copyright (c) 2018 Qulacs Authors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Qulacs

[![Ubuntu CI](https://github.com/qulacs/qulacs/actions/workflows/ci_ubuntu.yml/badge.svg)](https://github.com/qulacs/qulacs/actions/workflows/ci_ubuntu.yml)
[![macOS CI](https://github.com/qulacs/qulacs/actions/workflows/ci_macos.yml/badge.svg)](https://github.com/qulacs/qulacs/actions/workflows/ci_macos.yml)
[![Windows CI](https://github.com/qulacs/qulacs/actions/workflows/ci_windows.yml/badge.svg)](https://github.com/qulacs/qulacs/actions/workflows/ci_windows.yml)
[![Wheel build](https://github.com/qulacs/qulacs/actions/workflows/wheel.yml/badge.svg)](https://github.com/qulacs/qulacs/actions/workflows/wheel.yml)
[![Downloads](https://pepy.tech/badge/qulacs)](https://pepy.tech/project/qulacs)


Qulacs is a Python/C++ library for fast simulation of large, noisy, or parametric quantum circuits.
Qulacs is developed at QunaSys, Osaka University, NTT, and Fujitsu.

Qulacs is licensed under the [MIT license](https://github.com/qulacs/qulacs/blob/master/LICENSE).

## Quick Install for Python

```
pip install qulacs
```

If your CPU is older than Intel Haswell architecture, the binary installed with the above command does not work. In this case, please install Qulacs with the following command.
Even if your CPU is newer than Haswell, Qulacs installed with the below command shows better performance but takes a longer time. See "Install Python library from source" section for detail.

```
pip install git+https://github.com/qulacs/qulacs.git
```

If you have NVIDIA GPU and CUDA is installed, GPU-version can be installed with the following command:
```
pip install qulacs-gpu
```

## Features

**Note**
Qulacs-Osaka/qulacs-osaka was integrated into the qulacs/qulacs. For more details, please refer to [Information](#Information) section.

- Fast quantum circuit simulation with parallelized C/C++ backend
- Noisy quantum gate for simulation of NISQ devices
- Parametric quantum gates for variational methods
- Circuit compression for fast simulation
- GPU support for fast simulation
- Many utility functions for research

## Performance

The time for simulating random quantum circuits is compared with several quantum circuit simulators in November 2020.

See [the benchmark repository](https://github.com/qulacs/benchmark-qulacs) and [Section VI and VII of our paper](https://arxiv.org/abs/2011.13524) for the detail of this benchmark.

Note that the plots with names ending with "opt" and "heavy opt" perform circuit optimization for fast simulation, where the time for optimization is included in the execution time.

### Single-thread benchmark

![single thread benchmark](https://storage.googleapis.com/qunasys/fig_both_singlethread.png)

### Multi-thread benchmark

![multi thread benchmark](https://storage.googleapis.com/qunasys/fig_both_multithread.png)

### GPU benchmark

![GPU benchmark](https://storage.googleapis.com/qunasys/fig_both_gpu.png)

## Install Python library from source

To install Qulacs optimized for your system, we recommend the following install procedure for faster simulation of quantum circuits, while this requires a compiler and takes time for installation. In addition, you can enable or disable optimization features such as SIMD optimization, OpenMP parallelization, and GPU support.

A binary that is installed via pip command is optimized for Haswell architecture. Thus, Qulacs installed via pip command does not work with a CPU older than Haswell. If your CPU is newer than Haswell, Qualcs built from source shows the better performance.

### Requirements

- C++ compiler (gcc or VisualStudio)
  - gcc/g++ >= 7.0.0 (checked in Linux, MacOS, cygwin, MinGW, and WSL)
  - Microsoft VisualStudio C++ 2015 or later
- [Boost](https://github.com/boostorg/boost) >= 1.71.0 (Minimum version tested in CI)
- Python >= 3.7
- CMake >= 3.0
- git
- (option) CUDA >= 8.0
- (option) AVX2 support

If your system supports AVX2 instructions, SIMD optimization is automatically enabled. 
If you want to enable GPU simulator, install qulacs through `qulacs-gpu` package or build from source.
Note that `qulacs-gpu` includes CPU simulator. You don't need to install both.

Qulacs is tested on the following systems.

- Ubuntu 20.04
- macOS Big Sur 11
- Windows Server 2019

If you encounter some troubles, see [troubleshooting](http://qulacs.org/md_4__trouble_shooting.html).

### How to install

Install with default options (Multi-thread without GPU):

```
pip install .
```

If AVX2 instructions are not supported, SIMD optimization is automatically disabled.


Install with GPU support (CUDA is required):

```
USE_GPU=Yes pip install .
```

Install single-thread Qulacs:

```
USE_OMP=No pip install .
```

The number of threads used in Qulacs installed with default options can be controlled via the environment variable `OMP_NUM_THREADS` or `QULACS_NUM_THREADS`.
While `OMP_NUM_THREADS` affects the parallelization of other libraries, `QULACS_NUM_THREADS` controls only the parallelization of QULACS.
Or, if you want to force only Qulacs to use a single thread, You can install single-thread Qulacs with the above command.

For development purpose, optional dependencies can be installed as follows.
```
# Install development tools
pip install .[dev]
# Install dependencies for document generation
pip install .[doc]
```

Uninstall Qulacs:

```
pip uninstall qulacs
```

## Use Qulacs as C++ library

### Build with GCC

Static libraries of Qulacs can be built with the following commands:

```
git clone https://github.com/qulacs/qulacs.git
cd qulacs
./script/build_gcc.sh
```

To build shared libraries, execute `make shared` at `./qulacs/build` folder.
When you want to build with GPU, use `build_gcc_with_gpu.sh` instead of `build_gcc.sh`.

Then, you can build your codes with the following gcc command:

```sh
g++ -O2 -I ./<qulacs_path>/include -L ./<qulacs_path>/lib <your_code>.cpp -lvqcsim_static -lcppsim_static -lcsim_static -fopenmp
```

If you want to run your codes with GPU, include `cppsim/state_gpu.hpp` and use `QuantumStateGpu` instead of `QuantumState` and build with the following command:

```
nvcc -O2 -I ./<qulacs_path>/include -L ./<qulacs_path>/lib <your_code>.cu -lvqcsim_static -lcppsim_static -lcsim_static -lgpusim_static -D _USE_GPU -lcublas -Xcompiler -fopenmp
```

### Build with MSVC

Static libraries of Qulacs can be built with the following command:

```
git clone https://github.com/qulacs/qulacs.git
cd qulacs
script/build_msvc_2017.bat
```

When you want to build with GPU, use `build_msvc_2017_with_gpu.bat`.
If you use MSVC with other versions, use `build_msvc_2015.bat` or edit the generator name in `build_msvc_2017.bat`.

Your C++ codes can be built with Qulacs with the following process:

1. Create an empty project.
1. Select "x64" as an active solution platform.
1. Right Click your project name in Solution Explorer, and select "Properties".
1. At "VC++ Directories" section, add the full path to `./qulacs/include` to "Include Directories"
1. At "VC++ Directories" section, add the full path to `./qulacs/lib` to "Library Directories"
1. At "C/C++ -> Code Generation" section, change "Runtime library" to "Multi-threaded (/MT)".
1. At "Linker -> Input" section, add `vqcsim_static.lib;cppsim_static.lib;csim_static.lib;` to "Additional Dependencies".

## Tutorial and API documents

See the following documents for tutorials.

- [Python Tutorial](http://docs.qulacs.org/en/latest/intro/4.1_python_tutorial.html)
- [C++ Tutorial](http://docs.qulacs.org/en/latest/intro/4.2_cpp_tutorial.html)
- [Manual](http://docs.qulacs.org/en/latest/guide/2.0_python_advanced.html)
- [Examples](http://docs.qulacs.org/en/latest/apply/0_overview.html)  


### Python sample code

```python
from qulacs import Observable, QuantumCircuit, QuantumState
from qulacs.gate import Y,CNOT,merge

state = QuantumState(3)
state.set_Haar_random_state()

circuit = QuantumCircuit(3)
circuit.add_X_gate(0)
merged_gate = merge(CNOT(0,1),Y(1))
circuit.add_gate(merged_gate)
circuit.add_RX_gate(1,0.5)
circuit.update_quantum_state(state)

observable = Observable(3)
observable.add_operator(2.0, "X 2 Y 1 Z 0")
observable.add_operator(-3.0, "Z 2")
value = observable.get_expectation_value(state)
print(value)
```

If you want to run it on GPU, install GPU-enabled qulacs and replace `QuantumState` in the above codes with `QuantumStateGpu`.

### C++ sample code

```cpp
#include <iostream>
#include <cppsim/state.hpp>
#include <cppsim/circuit.hpp>
#include <cppsim/observable.hpp>
#include <cppsim/gate_factory.hpp>
#include <cppsim/gate_merge.hpp>

int main(){
    QuantumState state(3);
    state.set_Haar_random_state();

    QuantumCircuit circuit(3);
    circuit.add_X_gate(0);
    auto merged_gate = gate::merge(gate::CNOT(0,1),gate::Y(1));
    circuit.add_gate(merged_gate);
    circuit.add_RX_gate(1,0.5);
    circuit.update_quantum_state(&state);

    Observable observable(3);
    observable.add_operator(2.0, "X 2 Y 1 Z 0");
    observable.add_operator(-3.0, "Z 2");
    auto value = observable.get_expectation_value(&state);
    std::cout << value << std::endl;
    return 0;
}
```

If you place the above codes in the root directory of this repository(e.g., `qulacs/main.cpp`), you can build your codes with the following command:

```
g++ -O2 -I ./include -L ./lib main.cpp -fopenmp -lcppsim_static -lcsim_static
```

If you want to run it on GPU, include `cppsim/state_gpu.hpp` and replace `QuantumState` with `QuantumStateGpu`.


## How to cite

Please cite this arXiv paper: [Qulacs: a fast and versatile quantum circuit simulator for research purpose](https://arxiv.org/abs/2011.13524)

## Information

Experimental new features of Qulacs that have been developed in the Osaka University repository [Qulacs-Osaka/qulacs-osaka](https://github.com/Qulacs-Osaka/qulacs-osaka) will be integrated into the original [Qulacs](https://github.com/qulacs/qulacs). The following new features will be added!!!

### Integration date
Scheduled around August 2022.

### New features
The main new features are as follows
- Providing type hint files for Python
	- Configure tools such as mypy to take full advantage of type hint information.
	- mypy can detect the use of incorrect argument types in the qulacs API.
- Sending exceptions with detailed information
	- Makes it easier to understand the cause of the error.
	- (For Jupyter Notebook users) kernel is less likely to crash if incorrect input is given.
- Added backprop (gradient calculation by error back propagation method) to ParametricQuantumCircuit
	- It is faster than calculating gradients one by one.
- Gradient Calculator

### Scope of impact
The existing functionality has not been changed, so the existing code using Qulacs will continue to work as is. However, since the implementation language of csim has been changed from C to C++, changes may be necessary if you have been using direct calls to csim.
Due to the C++ change, all complex numbers are now handled by `std::complex`.

### Add dependency libraries
This integration adds boost as a dependency library.
There will be some changes in the installation procedure.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "qulacs",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "",
    "author_email": "QunaSys <qulacs@qunasys.com>",
    "download_url": "https://files.pythonhosted.org/packages/c2/86/886949db3231edba0e24b0ffa5745a7b29dd18f28ca6fb758139233f6287/qulacs-0.6.3.tar.gz",
    "platform": null,
    "description": "# Qulacs\n\n[![Ubuntu CI](https://github.com/qulacs/qulacs/actions/workflows/ci_ubuntu.yml/badge.svg)](https://github.com/qulacs/qulacs/actions/workflows/ci_ubuntu.yml)\n[![macOS CI](https://github.com/qulacs/qulacs/actions/workflows/ci_macos.yml/badge.svg)](https://github.com/qulacs/qulacs/actions/workflows/ci_macos.yml)\n[![Windows CI](https://github.com/qulacs/qulacs/actions/workflows/ci_windows.yml/badge.svg)](https://github.com/qulacs/qulacs/actions/workflows/ci_windows.yml)\n[![Wheel build](https://github.com/qulacs/qulacs/actions/workflows/wheel.yml/badge.svg)](https://github.com/qulacs/qulacs/actions/workflows/wheel.yml)\n[![Downloads](https://pepy.tech/badge/qulacs)](https://pepy.tech/project/qulacs)\n\n\nQulacs is a Python/C++ library for fast simulation of large, noisy, or parametric quantum circuits.\nQulacs is developed at QunaSys, Osaka University, NTT, and Fujitsu.\n\nQulacs is licensed under the [MIT license](https://github.com/qulacs/qulacs/blob/master/LICENSE).\n\n## Quick Install for Python\n\n```\npip install qulacs\n```\n\nIf your CPU is older than Intel Haswell architecture, the binary installed with the above command does not work. In this case, please install Qulacs with the following command.\nEven if your CPU is newer than Haswell, Qulacs installed with the below command shows better performance but takes a longer time. See \"Install Python library from source\" section for detail.\n\n```\npip install git+https://github.com/qulacs/qulacs.git\n```\n\nIf you have NVIDIA GPU and CUDA is installed, GPU-version can be installed with the following command:\n```\npip install qulacs-gpu\n```\n\n## Features\n\n**Note**\nQulacs-Osaka/qulacs-osaka was integrated into the qulacs/qulacs. For more details, please refer to [Information](#Information) section.\n\n- Fast quantum circuit simulation with parallelized C/C++ backend\n- Noisy quantum gate for simulation of NISQ devices\n- Parametric quantum gates for variational methods\n- Circuit compression for fast simulation\n- GPU support for fast simulation\n- Many utility functions for research\n\n## Performance\n\nThe time for simulating random quantum circuits is compared with several quantum circuit simulators in November 2020.\n\nSee [the benchmark repository](https://github.com/qulacs/benchmark-qulacs) and [Section VI and VII of our paper](https://arxiv.org/abs/2011.13524) for the detail of this benchmark.\n\nNote that the plots with names ending with \"opt\" and \"heavy opt\" perform circuit optimization for fast simulation, where the time for optimization is included in the execution time.\n\n### Single-thread benchmark\n\n![single thread benchmark](https://storage.googleapis.com/qunasys/fig_both_singlethread.png)\n\n### Multi-thread benchmark\n\n![multi thread benchmark](https://storage.googleapis.com/qunasys/fig_both_multithread.png)\n\n### GPU benchmark\n\n![GPU benchmark](https://storage.googleapis.com/qunasys/fig_both_gpu.png)\n\n## Install Python library from source\n\nTo install Qulacs optimized for your system, we recommend the following install procedure for faster simulation of quantum circuits, while this requires a compiler and takes time for installation. In addition, you can enable or disable optimization features such as SIMD optimization, OpenMP parallelization, and GPU support.\n\nA binary that is installed via pip command is optimized for Haswell architecture. Thus, Qulacs installed via pip command does not work with a CPU older than Haswell. If your CPU is newer than Haswell, Qualcs built from source shows the better performance.\n\n### Requirements\n\n- C++ compiler (gcc or VisualStudio)\n  - gcc/g++ >= 7.0.0 (checked in Linux, MacOS, cygwin, MinGW, and WSL)\n  - Microsoft VisualStudio C++ 2015 or later\n- [Boost](https://github.com/boostorg/boost) >= 1.71.0 (Minimum version tested in CI)\n- Python >= 3.7\n- CMake >= 3.0\n- git\n- (option) CUDA >= 8.0\n- (option) AVX2 support\n\nIf your system supports AVX2 instructions, SIMD optimization is automatically enabled. \nIf you want to enable GPU simulator, install qulacs through `qulacs-gpu` package or build from source.\nNote that `qulacs-gpu` includes CPU simulator. You don't need to install both.\n\nQulacs is tested on the following systems.\n\n- Ubuntu 20.04\n- macOS Big Sur 11\n- Windows Server 2019\n\nIf you encounter some troubles, see [troubleshooting](http://qulacs.org/md_4__trouble_shooting.html).\n\n### How to install\n\nInstall with default options (Multi-thread without GPU):\n\n```\npip install .\n```\n\nIf AVX2 instructions are not supported, SIMD optimization is automatically disabled.\n\n\nInstall with GPU support (CUDA is required):\n\n```\nUSE_GPU=Yes pip install .\n```\n\nInstall single-thread Qulacs:\n\n```\nUSE_OMP=No pip install .\n```\n\nThe number of threads used in Qulacs installed with default options can be controlled via the environment variable `OMP_NUM_THREADS` or `QULACS_NUM_THREADS`.\nWhile `OMP_NUM_THREADS` affects the parallelization of other libraries, `QULACS_NUM_THREADS` controls only the parallelization of QULACS.\nOr, if you want to force only Qulacs to use a single thread, You can install single-thread Qulacs with the above command.\n\nFor development purpose, optional dependencies can be installed as follows.\n```\n# Install development tools\npip install .[dev]\n# Install dependencies for document generation\npip install .[doc]\n```\n\nUninstall Qulacs:\n\n```\npip uninstall qulacs\n```\n\n## Use Qulacs as C++ library\n\n### Build with GCC\n\nStatic libraries of Qulacs can be built with the following commands:\n\n```\ngit clone https://github.com/qulacs/qulacs.git\ncd qulacs\n./script/build_gcc.sh\n```\n\nTo build shared libraries, execute `make shared` at `./qulacs/build` folder.\nWhen you want to build with GPU, use `build_gcc_with_gpu.sh` instead of `build_gcc.sh`.\n\nThen, you can build your codes with the following gcc command:\n\n```sh\ng++ -O2 -I ./<qulacs_path>/include -L ./<qulacs_path>/lib <your_code>.cpp -lvqcsim_static -lcppsim_static -lcsim_static -fopenmp\n```\n\nIf you want to run your codes with GPU, include `cppsim/state_gpu.hpp` and use `QuantumStateGpu` instead of `QuantumState` and build with the following command:\n\n```\nnvcc -O2 -I ./<qulacs_path>/include -L ./<qulacs_path>/lib <your_code>.cu -lvqcsim_static -lcppsim_static -lcsim_static -lgpusim_static -D _USE_GPU -lcublas -Xcompiler -fopenmp\n```\n\n### Build with MSVC\n\nStatic libraries of Qulacs can be built with the following command:\n\n```\ngit clone https://github.com/qulacs/qulacs.git\ncd qulacs\nscript/build_msvc_2017.bat\n```\n\nWhen you want to build with GPU, use `build_msvc_2017_with_gpu.bat`.\nIf you use MSVC with other versions, use `build_msvc_2015.bat` or edit the generator name in `build_msvc_2017.bat`.\n\nYour C++ codes can be built with Qulacs with the following process:\n\n1. Create an empty project.\n1. Select \"x64\" as an active solution platform.\n1. Right Click your project name in Solution Explorer, and select \"Properties\".\n1. At \"VC++ Directories\" section, add the full path to `./qulacs/include` to \"Include Directories\"\n1. At \"VC++ Directories\" section, add the full path to `./qulacs/lib` to \"Library Directories\"\n1. At \"C/C++ -> Code Generation\" section, change \"Runtime library\" to \"Multi-threaded (/MT)\".\n1. At \"Linker -> Input\" section, add `vqcsim_static.lib;cppsim_static.lib;csim_static.lib;` to \"Additional Dependencies\".\n\n## Tutorial and API documents\n\nSee the following documents for tutorials.\n\n- [Python Tutorial](http://docs.qulacs.org/en/latest/intro/4.1_python_tutorial.html)\n- [C++ Tutorial](http://docs.qulacs.org/en/latest/intro/4.2_cpp_tutorial.html)\n- [Manual](http://docs.qulacs.org/en/latest/guide/2.0_python_advanced.html)\n- [Examples](http://docs.qulacs.org/en/latest/apply/0_overview.html)  \n\n\n### Python sample code\n\n```python\nfrom qulacs import Observable, QuantumCircuit, QuantumState\nfrom qulacs.gate import Y,CNOT,merge\n\nstate = QuantumState(3)\nstate.set_Haar_random_state()\n\ncircuit = QuantumCircuit(3)\ncircuit.add_X_gate(0)\nmerged_gate = merge(CNOT(0,1),Y(1))\ncircuit.add_gate(merged_gate)\ncircuit.add_RX_gate(1,0.5)\ncircuit.update_quantum_state(state)\n\nobservable = Observable(3)\nobservable.add_operator(2.0, \"X 2 Y 1 Z 0\")\nobservable.add_operator(-3.0, \"Z 2\")\nvalue = observable.get_expectation_value(state)\nprint(value)\n```\n\nIf you want to run it on GPU, install GPU-enabled qulacs and replace `QuantumState` in the above codes with `QuantumStateGpu`.\n\n### C++ sample code\n\n```cpp\n#include <iostream>\n#include <cppsim/state.hpp>\n#include <cppsim/circuit.hpp>\n#include <cppsim/observable.hpp>\n#include <cppsim/gate_factory.hpp>\n#include <cppsim/gate_merge.hpp>\n\nint main(){\n    QuantumState state(3);\n    state.set_Haar_random_state();\n\n    QuantumCircuit circuit(3);\n    circuit.add_X_gate(0);\n    auto merged_gate = gate::merge(gate::CNOT(0,1),gate::Y(1));\n    circuit.add_gate(merged_gate);\n    circuit.add_RX_gate(1,0.5);\n    circuit.update_quantum_state(&state);\n\n    Observable observable(3);\n    observable.add_operator(2.0, \"X 2 Y 1 Z 0\");\n    observable.add_operator(-3.0, \"Z 2\");\n    auto value = observable.get_expectation_value(&state);\n    std::cout << value << std::endl;\n    return 0;\n}\n```\n\nIf you place the above codes in the root directory of this repository(e.g., `qulacs/main.cpp`), you can build your codes with the following command:\n\n```\ng++ -O2 -I ./include -L ./lib main.cpp -fopenmp -lcppsim_static -lcsim_static\n```\n\nIf you want to run it on GPU, include `cppsim/state_gpu.hpp` and replace `QuantumState` with `QuantumStateGpu`.\n\n\n## How to cite\n\nPlease cite this arXiv paper: [Qulacs: a fast and versatile quantum circuit simulator for research purpose](https://arxiv.org/abs/2011.13524)\n\n## Information\n\nExperimental new features of Qulacs that have been developed in the Osaka University repository [Qulacs-Osaka/qulacs-osaka](https://github.com/Qulacs-Osaka/qulacs-osaka) will be integrated into the original [Qulacs](https://github.com/qulacs/qulacs). The following new features will be added!!!\n\n### Integration date\nScheduled around August 2022.\n\n### New features\nThe main new features are as follows\n- Providing type hint files for Python\n\t- Configure tools such as mypy to take full advantage of type hint information.\n\t- mypy can detect the use of incorrect argument types in the qulacs API.\n- Sending exceptions with detailed information\n\t- Makes it easier to understand the cause of the error.\n\t- (For Jupyter Notebook users) kernel is less likely to crash if incorrect input is given.\n- Added backprop (gradient calculation by error back propagation method) to ParametricQuantumCircuit\n\t- It is faster than calculating gradients one by one.\n- Gradient Calculator\n\n### Scope of impact\nThe existing functionality has not been changed, so the existing code using Qulacs will continue to work as is. However, since the implementation language of csim has been changed from C to C++, changes may be necessary if you have been using direct calls to csim.\nDue to the C++ change, all complex numbers are now handled by `std::complex`.\n\n### Add dependency libraries\nThis integration adds boost as a dependency library.\nThere will be some changes in the installation procedure.\n",
    "bugtrack_url": null,
    "license": "MIT License  Copyright (c) 2018 Qulacs Authors  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
    "summary": "Quantum circuit simulator for research",
    "version": "0.6.3",
    "project_urls": {
        "homepage": "http://docs.qulacs.org"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "583f14669e63a3deaf6a5a9bd482e087dc7b773e4cdb9058ff0f877e7baea477",
                "md5": "98ddf0436211cce3bbcbee23f16de69f",
                "sha256": "3fc1c9e39d25e5e6b119c2b963e65da0854f1dd4df803acc7a22fa5b1f58e1e6"
            },
            "downloads": -1,
            "filename": "qulacs-0.6.3-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "98ddf0436211cce3bbcbee23f16de69f",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 717016,
            "upload_time": "2023-12-25T09:37:17",
            "upload_time_iso_8601": "2023-12-25T09:37:17.491109Z",
            "url": "https://files.pythonhosted.org/packages/58/3f/14669e63a3deaf6a5a9bd482e087dc7b773e4cdb9058ff0f877e7baea477/qulacs-0.6.3-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "138a61d4916ca78071c1fefabf4f9abff6eb461849bf0d25198cb94ac60add5f",
                "md5": "f3b2e1ef2b294c8de27e8e9fec897feb",
                "sha256": "d45ceab18150beacc1c9c78ff633df9bb29e40a34662b155299963f8b96ed498"
            },
            "downloads": -1,
            "filename": "qulacs-0.6.3-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "f3b2e1ef2b294c8de27e8e9fec897feb",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 633386,
            "upload_time": "2023-12-25T09:36:01",
            "upload_time_iso_8601": "2023-12-25T09:36:01.090821Z",
            "url": "https://files.pythonhosted.org/packages/13/8a/61d4916ca78071c1fefabf4f9abff6eb461849bf0d25198cb94ac60add5f/qulacs-0.6.3-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3f17c97bafa80417cab7580b9cf83f010038e59b01e6ddee393a992a788bc088",
                "md5": "d14375f945e7cc417ab296e269edb724",
                "sha256": "62d72d06368b5470760ce635852430f9bca572796e893352aa14c4a293bea7bc"
            },
            "downloads": -1,
            "filename": "qulacs-0.6.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d14375f945e7cc417ab296e269edb724",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 947546,
            "upload_time": "2023-12-25T09:31:26",
            "upload_time_iso_8601": "2023-12-25T09:31:26.426820Z",
            "url": "https://files.pythonhosted.org/packages/3f/17/c97bafa80417cab7580b9cf83f010038e59b01e6ddee393a992a788bc088/qulacs-0.6.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d1b8931561fa54ed82269736c13fb8c40b9191f6b3052dd904d470c990196b19",
                "md5": "7da99fc2041412156e4b5fbff284ae28",
                "sha256": "73ce272c95310a01eaeb9aee4d7b65ae7558feb65c4dc2bdb48f89bced686fa2"
            },
            "downloads": -1,
            "filename": "qulacs-0.6.3-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "7da99fc2041412156e4b5fbff284ae28",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 628953,
            "upload_time": "2023-12-25T09:33:43",
            "upload_time_iso_8601": "2023-12-25T09:33:43.643406Z",
            "url": "https://files.pythonhosted.org/packages/d1/b8/931561fa54ed82269736c13fb8c40b9191f6b3052dd904d470c990196b19/qulacs-0.6.3-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2d61d5011901f54e774aa4f440d880176fefcb80e830fbcef09f147595f50687",
                "md5": "bab42b4aff10ec8b109d21f6e1811961",
                "sha256": "3cc8e57d6fd27a636a367414c052f7b97faf65690f9b9ca9ff19388994a279c7"
            },
            "downloads": -1,
            "filename": "qulacs-0.6.3-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "bab42b4aff10ec8b109d21f6e1811961",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 717213,
            "upload_time": "2023-12-25T09:36:24",
            "upload_time_iso_8601": "2023-12-25T09:36:24.949435Z",
            "url": "https://files.pythonhosted.org/packages/2d/61/d5011901f54e774aa4f440d880176fefcb80e830fbcef09f147595f50687/qulacs-0.6.3-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "48b70434d4fca802ee32e6e283777787d8216ea54f09a55283b7d5cb0b00c46f",
                "md5": "81f1fe996eebb4df1ab2a8a3e1a1001c",
                "sha256": "1fbc92890c168db207a83d17f4b6d9868d6b6cc95f844a3c40cff594a4928eca"
            },
            "downloads": -1,
            "filename": "qulacs-0.6.3-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "81f1fe996eebb4df1ab2a8a3e1a1001c",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 633356,
            "upload_time": "2023-12-25T09:31:50",
            "upload_time_iso_8601": "2023-12-25T09:31:50.460363Z",
            "url": "https://files.pythonhosted.org/packages/48/b7/0434d4fca802ee32e6e283777787d8216ea54f09a55283b7d5cb0b00c46f/qulacs-0.6.3-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "27187b7068167d5cb9f91c886da85cf9a4043fce28c4d119c3470d0ca09bf4d5",
                "md5": "8ff8535ed568313e690657b2cc2fc335",
                "sha256": "512668f59c1f4bc83d150f6a560f7c6bdfc6db8e9c04fe18a9bcd3f39b1e08b5"
            },
            "downloads": -1,
            "filename": "qulacs-0.6.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8ff8535ed568313e690657b2cc2fc335",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 947572,
            "upload_time": "2023-12-25T09:31:11",
            "upload_time_iso_8601": "2023-12-25T09:31:11.182579Z",
            "url": "https://files.pythonhosted.org/packages/27/18/7b7068167d5cb9f91c886da85cf9a4043fce28c4d119c3470d0ca09bf4d5/qulacs-0.6.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "50d656079027ff7d0bce5d508a5ea676506094d26bbb90d7dbba8aadf4f7ae5f",
                "md5": "70df7201709bb86a3b76dc57d713a1be",
                "sha256": "20259a446159a978b973aadf83b2f4dbede9c5297a78074ddf91f7c2e3208966"
            },
            "downloads": -1,
            "filename": "qulacs-0.6.3-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "70df7201709bb86a3b76dc57d713a1be",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 628988,
            "upload_time": "2023-12-25T09:37:09",
            "upload_time_iso_8601": "2023-12-25T09:37:09.725292Z",
            "url": "https://files.pythonhosted.org/packages/50/d6/56079027ff7d0bce5d508a5ea676506094d26bbb90d7dbba8aadf4f7ae5f/qulacs-0.6.3-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ff2ede5ca79ffe1660b6091a3ab0580e8fa0a3a1c8edfe625df32f478cd6b733",
                "md5": "490f68b0f645f1df5fed42e9b27c6091",
                "sha256": "5ae99a8d5fab37d77e7d490575ceb5042494ff32894017eb32b260efbc1b3072"
            },
            "downloads": -1,
            "filename": "qulacs-0.6.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "490f68b0f645f1df5fed42e9b27c6091",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 963508,
            "upload_time": "2023-12-25T09:31:02",
            "upload_time_iso_8601": "2023-12-25T09:31:02.970211Z",
            "url": "https://files.pythonhosted.org/packages/ff/2e/de5ca79ffe1660b6091a3ab0580e8fa0a3a1c8edfe625df32f478cd6b733/qulacs-0.6.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "19e758abd182408770fcae4041160355fa930ca3616eeb90fd98073c37a5bdd1",
                "md5": "b8c21dbe67f29546eeac336033893089",
                "sha256": "34d9413d901af29a71902786a362c05cce25392c7283b407412b3c6aec33c465"
            },
            "downloads": -1,
            "filename": "qulacs-0.6.3-cp37-cp37m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "b8c21dbe67f29546eeac336033893089",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 624555,
            "upload_time": "2023-12-25T09:34:00",
            "upload_time_iso_8601": "2023-12-25T09:34:00.085336Z",
            "url": "https://files.pythonhosted.org/packages/19/e7/58abd182408770fcae4041160355fa930ca3616eeb90fd98073c37a5bdd1/qulacs-0.6.3-cp37-cp37m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "59c0df17f3bf30302924c7ad0f2ca2af3706c57f98c1ce403b751dc5e3f12fac",
                "md5": "0b001991672541dd507ea041645bde01",
                "sha256": "cd131937e44a0362d57000d8584bee80b12f284fa36c84761ecec85dbfde3056"
            },
            "downloads": -1,
            "filename": "qulacs-0.6.3-cp38-cp38-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0b001991672541dd507ea041645bde01",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 717114,
            "upload_time": "2023-12-25T09:41:25",
            "upload_time_iso_8601": "2023-12-25T09:41:25.402759Z",
            "url": "https://files.pythonhosted.org/packages/59/c0/df17f3bf30302924c7ad0f2ca2af3706c57f98c1ce403b751dc5e3f12fac/qulacs-0.6.3-cp38-cp38-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9e0b001245ad874b2146436a48b1086f4b6b1ec5c12d9b985af0200fc0a34b79",
                "md5": "b86ff93d2a4d5e0439579ebf2b0f9b2e",
                "sha256": "12e70d19e3d6e957f150d81fe3dd1cd5a3eea2930208d8c2ce18f1330b332d36"
            },
            "downloads": -1,
            "filename": "qulacs-0.6.3-cp38-cp38-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "b86ff93d2a4d5e0439579ebf2b0f9b2e",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 633314,
            "upload_time": "2023-12-25T09:40:43",
            "upload_time_iso_8601": "2023-12-25T09:40:43.393318Z",
            "url": "https://files.pythonhosted.org/packages/9e/0b/001245ad874b2146436a48b1086f4b6b1ec5c12d9b985af0200fc0a34b79/qulacs-0.6.3-cp38-cp38-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6de0df06236977d2705b9ee6c198ae53338608d188c08b6050f8288a9d151036",
                "md5": "41474e75c3ccf1f1bd9b32b426941452",
                "sha256": "d3d2998eb495fba853d299826e4a228616a659c82edb321e859e71434ed9b211"
            },
            "downloads": -1,
            "filename": "qulacs-0.6.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "41474e75c3ccf1f1bd9b32b426941452",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 947250,
            "upload_time": "2023-12-25T09:30:55",
            "upload_time_iso_8601": "2023-12-25T09:30:55.895014Z",
            "url": "https://files.pythonhosted.org/packages/6d/e0/df06236977d2705b9ee6c198ae53338608d188c08b6050f8288a9d151036/qulacs-0.6.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a0142816915ebfcb35ab43c2484b55bf4d1cfff3baffce3bf7dbf5b412fab585",
                "md5": "8f91d8532071f4ec8d7272430a73f4f9",
                "sha256": "3aea0e95dd07b6c2ae4a1ea8fb46a7eff4fd757ff32520a116f301ca0bd9fadd"
            },
            "downloads": -1,
            "filename": "qulacs-0.6.3-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "8f91d8532071f4ec8d7272430a73f4f9",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 629090,
            "upload_time": "2023-12-25T09:33:59",
            "upload_time_iso_8601": "2023-12-25T09:33:59.588347Z",
            "url": "https://files.pythonhosted.org/packages/a0/14/2816915ebfcb35ab43c2484b55bf4d1cfff3baffce3bf7dbf5b412fab585/qulacs-0.6.3-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b7d01f61529a3c20640d7cb5829ae336873631b529f2ed4b5980d4b1f2fca2dc",
                "md5": "f78b07760f937e4d0004e05ab97248d8",
                "sha256": "506cc2055d46ede0f93dec65a63eeffc71e639a0c83a9db2e71290c7d110b907"
            },
            "downloads": -1,
            "filename": "qulacs-0.6.3-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f78b07760f937e4d0004e05ab97248d8",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 717137,
            "upload_time": "2023-12-25T09:42:40",
            "upload_time_iso_8601": "2023-12-25T09:42:40.934952Z",
            "url": "https://files.pythonhosted.org/packages/b7/d0/1f61529a3c20640d7cb5829ae336873631b529f2ed4b5980d4b1f2fca2dc/qulacs-0.6.3-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2b055d7c5e12f5166e4486fab5cf930f0ff729601ce1d9284a178f1237c4354c",
                "md5": "9758ec15bd82d67dc27682777a393abb",
                "sha256": "9d1c66a1322a0e48967f83af3dc6bdea65df23c325143a063f3099de4fd92eb1"
            },
            "downloads": -1,
            "filename": "qulacs-0.6.3-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "9758ec15bd82d67dc27682777a393abb",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 633437,
            "upload_time": "2023-12-25T09:36:32",
            "upload_time_iso_8601": "2023-12-25T09:36:32.921014Z",
            "url": "https://files.pythonhosted.org/packages/2b/05/5d7c5e12f5166e4486fab5cf930f0ff729601ce1d9284a178f1237c4354c/qulacs-0.6.3-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cda6bfdca67318a2e17e546944368121c463137a01092ab11ff3b5258a1f9101",
                "md5": "736426dfecc327862cdcadd3f5d4f49e",
                "sha256": "0bfb8e0f9a4fb43df60a410040e98d99d5433bd7edf714f451a2bfb4152303ff"
            },
            "downloads": -1,
            "filename": "qulacs-0.6.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "736426dfecc327862cdcadd3f5d4f49e",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 947781,
            "upload_time": "2023-12-25T09:31:09",
            "upload_time_iso_8601": "2023-12-25T09:31:09.305274Z",
            "url": "https://files.pythonhosted.org/packages/cd/a6/bfdca67318a2e17e546944368121c463137a01092ab11ff3b5258a1f9101/qulacs-0.6.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bb07f50de393c8b1e5fbfff45663d6950075188db1baa1c738204b4e26879dc5",
                "md5": "0f3e40488db1a08009fa8894b0cc3159",
                "sha256": "68463565c032e76b055bbb967617b49e73c7c8b079cce064dbf9d0379afb3da2"
            },
            "downloads": -1,
            "filename": "qulacs-0.6.3-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "0f3e40488db1a08009fa8894b0cc3159",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 611563,
            "upload_time": "2023-12-25T09:35:21",
            "upload_time_iso_8601": "2023-12-25T09:35:21.152634Z",
            "url": "https://files.pythonhosted.org/packages/bb/07/f50de393c8b1e5fbfff45663d6950075188db1baa1c738204b4e26879dc5/qulacs-0.6.3-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c286886949db3231edba0e24b0ffa5745a7b29dd18f28ca6fb758139233f6287",
                "md5": "8a2fc52140f6b35c67be3dd893c8db65",
                "sha256": "8450e550deef7c7aa56b973c05bee0b7d1e88836ee0cd147c8721ca65bd1a595"
            },
            "downloads": -1,
            "filename": "qulacs-0.6.3.tar.gz",
            "has_sig": false,
            "md5_digest": "8a2fc52140f6b35c67be3dd893c8db65",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 798273,
            "upload_time": "2023-12-25T09:28:16",
            "upload_time_iso_8601": "2023-12-25T09:28:16.237632Z",
            "url": "https://files.pythonhosted.org/packages/c2/86/886949db3231edba0e24b0ffa5745a7b29dd18f28ca6fb758139233f6287/qulacs-0.6.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-25 09:28:16",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "qulacs"
}
        
Elapsed time: 0.20074s