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

[Docs] "Manipulating States and Operators" and "Tensor Products and Partial Traces" #223

Merged
merged 7 commits into from
Sep 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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