diff --git a/docs/Project.toml b/docs/Project.toml index e3e6bc6b..08fe3285 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -1,3 +1,4 @@ [deps] CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" +QuantumToolbox = "6c2fb7c5-b903-41d2-bc5e-5a7c320b9fab" diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 00000000..e7c090ca --- /dev/null +++ b/docs/README.md @@ -0,0 +1,18 @@ +# How to build documentation locally ? + +## Working Directory +All the commands should be run under the root folder of the package: `/path/to/QuantumToolbox.jl/` + +## Build Pkg +Run the following command: +```shell +julia --project=docs -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()' +``` +> **_NOTE:_** `Pkg.develop(PackageSpec(path=pwd()))` adds the local version of `QuantumToolbox` as dev-dependency instead of pulling from the registered version. + +## Build Documentation +Run the following command: +```shell +julia --project=docs docs/make.jl +``` +The document pages will be generated in the directory: `/path/to/QuantumToolbox.jl/docs/build/` (which is ignored by git). \ No newline at end of file diff --git a/docs/src/api.md b/docs/src/api.md index 5962881e..61d5fd75 100644 --- a/docs/src/api.md +++ b/docs/src/api.md @@ -10,7 +10,7 @@ CurrentModule = QuantumToolbox Pages = ["api.md"] ``` -## [Quantum object functions](@id doc-API: Quantum object functions) +## [Quantum object functions](@id doc-API:Quantum-object-functions) ```@docs BraQuantumObject @@ -46,7 +46,7 @@ tensor ⊗ ``` -## [General functions](@id doc-API: General functions) +## [General functions](@id doc-API:General-functions) ```@docs row_major_reshape @@ -72,7 +72,7 @@ mat2vec vec2mat ``` -## [Quantum states, operators and super-operators](@id doc-API: Quantum states, operators and super-operators) +## [Quantum states, operators and super-operators](@id doc-API:Quantum-states-operators-and-super-operators) ```@docs spre @@ -97,7 +97,7 @@ sinm cosm ``` -## [Time evolution](@id doc-API: Time evolution) +## [Time evolution](@id doc-API:Time-evolution) ```@docs sesolveProblem @@ -117,7 +117,7 @@ liouvillian_generalized steadystate_floquet ``` -## [Correlations and Spectrum](@id doc-API: Correlations and Spectrum) +## [Correlations and Spectrum](@id doc-API:Correlations-and-Spectrum) ```@docs correlation_3op_2t @@ -126,7 +126,7 @@ correlation_2op_1t spectrum ``` -## [Eigenvalues and eigenvectors](@id doc-API: Eigenvalues and eigenvectors) +## [Eigenvalues and eigenvectors](@id doc-API:Eigenvalues-and-eigenvectors) ```@docs EigsolveResult @@ -138,7 +138,7 @@ eigsolve eigsolve_al ``` -## [Low Rank internal APIs](@id doc-API: Low Rank internal APIs) +## [Low Rank internal APIs](@id doc-API:Low-Rank-internal-APIs) ```@docs _calculate_expectation! @@ -149,7 +149,7 @@ _pinv! dBdz! ``` -## [Miscellaneous](@id doc-API: Miscellaneous) +## [Miscellaneous](@id doc-API:Miscellaneous) ```@docs QuantumToolbox.versioninfo diff --git a/docs/src/index.md b/docs/src/index.md index 93ba3fd7..531e606f 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -18,7 +18,7 @@ QuantumToolbox.jl is equipped with a robust set of features: - **Distributed Computing:** Distribute the computation over multiple nodes (e.g., a cluster). For example, you can run undreds of quantum trajectories in parallel on a cluster, with, again, the same syntax as the simple case. - **Easy Extension:** Easily extend the package, taking advantage of the Julia language features, like multiple dispatch and metaprogramming. -## [Installation](@id doc: Installation) +## [Installation](@id doc:Installation) !!! note "Requirements" `QuantumToolbox.jl` requires `Julia 1.7+`. @@ -98,7 +98,7 @@ 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. + The described feature requires `Julia 1.9+`. See [CUDA extension](@ref doc:CUDA) for more details. ```julia using QuantumToolbox diff --git a/docs/src/install.md b/docs/src/install.md deleted file mode 100644 index 616085df..00000000 --- a/docs/src/install.md +++ /dev/null @@ -1,23 +0,0 @@ -# [Installation](@id doc: Installation) - -## QuantumToolbox.jl -To install `QuantumToolbox.jl`, run the following commands inside Julia's interactive session (also known as REPL): -```julia -using Pkg -Pkg.add("QuantumToolbox") -``` -Alternatively, this can also be done in Julia's [Pkg REPL](https://julialang.github.io/Pkg.jl/v1/getting-started/) by pressing the key `]` in the REPL to use the package mode, and then type the following command: -```julia-REPL -(1.7) pkg> add QuantumToolbox -``` -More information about `Julia`'s package manager can be found at [`Pkg.jl`](https://julialang.github.io/Pkg.jl/v1/). -!!! note "Julia 1.7" - `QuantumToolbox.jl` requires Julia 1.7 or higher. - -## Verify the installation -To load the package and check the version information, use either `versioninfo()` or `about()`, namely -```julia -julia> using QuantumToolbox -julia> QuantumToolbox.versioninfo() -julia> QuantumToolbox.about() -``` \ No newline at end of file diff --git a/docs/src/qutip_differences.md b/docs/src/qutip_differences.md index 1cc06239..22bfd88f 100644 --- a/docs/src/qutip_differences.md +++ b/docs/src/qutip_differences.md @@ -2,4 +2,6 @@ CurrentModule = QuantumToolbox ``` -# [Key differences from QuTiP](@id doc: Key differences from QuTiP) +# [Key differences from QuTiP](@id doc:Key-differences-from-QuTiP) + +This page is still under construction, please visit [API](@ref doc-API) first. \ No newline at end of file diff --git a/docs/src/tutorials/logo.md b/docs/src/tutorials/logo.md index 8606edb7..b7d5a147 100644 --- a/docs/src/tutorials/logo.md +++ b/docs/src/tutorials/logo.md @@ -1,4 +1,4 @@ -# [Create QuantumToolbox.jl logo](@id doc-tutor: Create QuantumToolbox.jl logo) +# [Create QuantumToolbox.jl logo](@id doc-tutor:Create-QuantumToolbox.jl-logo) ## Introduction diff --git a/docs/src/tutorials/lowrank.md b/docs/src/tutorials/lowrank.md index 4896d29b..a04bf3e8 100644 --- a/docs/src/tutorials/lowrank.md +++ b/docs/src/tutorials/lowrank.md @@ -1,4 +1,4 @@ -# [Low rank master equation](@id doc-tutor: Low rank master equation) +# [Low rank master equation](@id doc-tutor:Low-rank-master-equation) We start by importing the packages diff --git a/docs/src/users_guide/QuantumObject/QuantumObject.md b/docs/src/users_guide/QuantumObject/QuantumObject.md index d6c0e853..2086fa4d 100644 --- a/docs/src/users_guide/QuantumObject/QuantumObject.md +++ b/docs/src/users_guide/QuantumObject/QuantumObject.md @@ -1,3 +1,3 @@ -# [Quantum Objects (Qobj)](@id doc: Qobj) +# [Quantum Objects (Qobj)](@id doc:Qobj) This page is still under construction, please visit [API](@ref doc-API) first. \ No newline at end of file diff --git a/docs/src/users_guide/QuantumObject/QuantumObject_functions.md b/docs/src/users_guide/QuantumObject/QuantumObject_functions.md index 5f6311ca..00d16300 100644 --- a/docs/src/users_guide/QuantumObject/QuantumObject_functions.md +++ b/docs/src/users_guide/QuantumObject/QuantumObject_functions.md @@ -1,3 +1,3 @@ -# [Functions operating on Qobj](@id doc: Functions operating on Qobj) +# [Functions operating on Qobj](@id doc:Functions-operating-on-Qobj) This page is still under construction, please visit [API](@ref doc-API) first. \ No newline at end of file diff --git a/docs/src/users_guide/extensions/cuda.md b/docs/src/users_guide/extensions/cuda.md index 92fe33e9..dea34c45 100644 --- a/docs/src/users_guide/extensions/cuda.md +++ b/docs/src/users_guide/extensions/cuda.md @@ -1,3 +1,3 @@ -# [CUDA.jl](@id doc: CUDA) +# [CUDA.jl](@id doc:CUDA) This page is still under construction, please visit [API](@ref doc-API) first. \ No newline at end of file diff --git a/docs/src/users_guide/states_and_operators.md b/docs/src/users_guide/states_and_operators.md index 9fb209cd..565aece2 100644 --- a/docs/src/users_guide/states_and_operators.md +++ b/docs/src/users_guide/states_and_operators.md @@ -1,4 +1,4 @@ -# [States and Operators](@id doc: States and Operators) +# [States and Operators](@id doc:States-and-Operators) This page is still under construction, please visit [API](@ref doc-API) first. diff --git a/docs/src/users_guide/tensor.md b/docs/src/users_guide/tensor.md index 25799c4f..23d89e0a 100644 --- a/docs/src/users_guide/tensor.md +++ b/docs/src/users_guide/tensor.md @@ -1,3 +1,3 @@ -# [Tensor products](@id doc: Tensor products) +# [Tensor products](@id doc:Tensor-products) This page is still under construction, please visit [API](@ref doc-API) first. \ No newline at end of file diff --git a/docs/src/users_guide/time_evolution/intro.md b/docs/src/users_guide/time_evolution/intro.md index fc8b7f3b..fe0097ff 100644 --- a/docs/src/users_guide/time_evolution/intro.md +++ b/docs/src/users_guide/time_evolution/intro.md @@ -1 +1,3 @@ -# [Time Evolution and Quantum System Dynamics](@id doc: Time Evolution and Quantum System Dynamics) \ No newline at end of file +# [Time Evolution and Quantum System Dynamics](@id doc:Time-Evolution-and-Quantum-System-Dynamics) + +This page is still under construction, please visit [API](@ref doc-API) first. \ No newline at end of file