Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix ptrace and add extended methods for tensor and kron #224

Closed
wants to merge 12 commits into from
2 changes: 0 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,8 +144,6 @@ We can extract the expectation value of the number operator $\hat{a}^\dagger \ha

We can easily pass the computation to the GPU, by simply passing all the `Qobj`s to the GPU:

> **_NOTE:_** The described feature requires `Julia 1.9+`.

```julia
using QuantumToolbox
using CUDA
Expand Down
2 changes: 1 addition & 1 deletion docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,14 @@ const PAGES = [
"Getting Started" => [
"Introduction" => "index.md",
"Key differences from QuTiP" => "qutip_differences.md",
"The Importance of Type-Stability" => "type_stability.md",
# "Cite QuantumToolbox.jl" => "cite.md",
],
"Users Guide" => [
"Basic Operations on Quantum Objects" => [
"users_guide/QuantumObject/QuantumObject.md",
"users_guide/QuantumObject/QuantumObject_functions.md",
],
"The Importance of Type-Stability" => "users_guide/type_stability.md",
"Manipulating States and Operators" => "users_guide/states_and_operators.md",
"Tensor Products and Partial Traces" => "users_guide/tensor.md",
"Time Evolution and Dynamics" => [
Expand Down
3 changes: 0 additions & 3 deletions docs/src/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,9 +97,6 @@ We can extract the expectation value of the number operator ``\hat{a}^\dagger \h

We can easily pass the computation to the GPU, by simply passing all the `Qobj`s to the GPU:

!!! compat "Compat"
The described feature requires `Julia 1.9+`. See [CUDA extension](@ref doc:CUDA) for more details.

```julia
using QuantumToolbox
using CUDA
Expand Down
File renamed without changes.
5 changes: 4 additions & 1 deletion docs/src/users_guide/QuantumObject/QuantumObject.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ The key difference between classical and quantum mechanics is the use of operato
- `CUDA.CUSPARSE.CuSparseMatrixCSR` (sparse GPU matrix)
- and even more ...

!!! note "Support for GPU arrays"
See [CUDA extension](@ref doc:CUDA) for more details.

We can create a [`QuantumObject`](@ref) with a user defined data set by passing an array of data into the [`QuantumObject`](@ref):

```@setup Qobj
Expand Down Expand Up @@ -53,7 +56,7 @@ Qobj(rand(4, 4), type = SuperOperator)
```

!!! note "Difference between `dims` and `size`"
Notice that `type`, `dims`, and `size` will change according to the input `data`. Although `dims` and `size` appear to be the same, `dims` keep tracking the dimension of individual Hilbert spaces of a multipartite system, while `size` does not. We refer the reader to the section [tensor products and partial traces](@ref doc:Tensor-products) for more information.
Notice that `type`, `dims`, and `size` will change according to the input `data`. Although `dims` and `size` appear to be the same, `dims` keep tracking the dimension of individual Hilbert spaces of a multipartite system, while `size` does not. We refer the reader to the section [Tensor Products and Partial Traces](@ref doc:Tensor-products-and-Partial-Traces) for more information.

## States and operators

Expand Down
3 changes: 0 additions & 3 deletions docs/src/users_guide/extensions/cuda.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@

This is an extension to support `QuantumObject.data` conversion from standard dense and sparse CPU arrays to GPU ([`CUDA.jl`](https://github.com/JuliaGPU/CUDA.jl)) arrays.

!!! note "Requirements"
The [`CUDA.jl`](https://github.com/JuliaGPU/CUDA.jl) extension for `QuantumToolbox.jl` requires `Julia 1.9+`.

This extension will be automatically loaded if user imports both `QuantumToolbox` and [`CUDA.jl`](https://github.com/JuliaGPU/CUDA.jl):

```julia
Expand Down
Loading