You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on May 10, 2025. It is now read-only.
CuYao.jl provides only two extra APIs, reg |> cu to upload a register to GPU, and cureg |> cpu to download a register to CPU.
To start, see the following example
using CuYao
cureg =rand_state(9; nbatch=1000) |> cu # or `curand_state(9; nbatch=1000)`.
cureg |>put(9, 2=>Z)
measure!(cureg |>append_qubits!(1) |>focus!(4,1,3))
cureg |>relax!(4,1,3) |> cpu
Constructors curand_state, cuzero_state, cuproduct_state, cuuniform_state and cughz_state are tailored for GPU,
they are faster than uploading a CPU register to CPU.
Features
Supported Gates
general U(N) gate
general U(1) gate
better X, Y, Z gate
better T, S gate
SWAP gate
better control gates
BP diff blocks
Supported Register Operations
measure!, measure_reset!, measure_remove!, select
append_qudits!, append_qubits!
insert_qudit!, insert_qubits!
focus!, relax!
join
density_matrix
fidelity (not including density matrix)
expect
Other Operations
autodiff is supported when the only parameterized gates are rotation gates in a circuit.
The Team
This project is an effort of QuantumBFS, an open source organization for quantum science. Yao is currently maintained by Xiu-Zhe (Roger) Luo and Jin-Guo Liu with contributions from open source community. All the contributors are listed in the contributors.