qcgpu 0.1.0

Open Source, High Performance & Hardware Accelerated, Quantum Computer Simulation in Rust
Documentation
# Decoherence

QCGPU provides a way to easily simulate the effects of decoherence on the quantum computer. The effects are simulated by a random gate, corresponding to a random rotation around the \\(z\\) axis of the bloch sphere.

The angle of the rotation is a normal distrobuted value, with the varience as the strength factor `d`.

To avoid performance costs when not being used, decoherence can be enabled via a feature.

Change the dependency in `cargo.toml` to

```toml
[dependencies]
qcgpu = { version = "0.1", features = ["decoherence"] }
```

Now you can add decoherence to your simulator.

To set the amount of decoherence, the `set_decoherence` method is used. Its arguments are the strength of the decoherence.
This will affect all following gate applications.

```rust
use qcgpu::State;

let mut register = State::new(5, 0);
register.set_decoherence(0.4);
```

You can also manually decohere the register based on the previously set strength value. This method is automatically called by all gate applications.

```rust
register.decohere();
```