diff --git a/Project.toml b/Project.toml index d12acec..75ff8cc 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "QuantumPropagators" uuid = "7bf12567-5742-4b91-a078-644e72a65fc1" authors = ["Michael Goerz "] -version = "0.7.5" +version = "0.7.6" [deps] LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" diff --git a/docs/make.jl b/docs/make.jl index e8e405c..a00a80f 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -40,6 +40,7 @@ links = InterLinks( "https://docs.sciml.ai/RecursiveArrayTools/stable/objects.inv", joinpath(@__DIR__, "src", "inventories", "RecursiveArrayTools.toml") ), + "qutip" => "https://qutip.readthedocs.io/en/qutip-5.0.x/", ) externals = ExternalFallbacks( diff --git a/docs/src/overview.md b/docs/src/overview.md index 675cf7f..bb979a8 100644 --- a/docs/src/overview.md +++ b/docs/src/overview.md @@ -9,7 +9,7 @@ ``` -The `QuantumPropagators` packages provides solvers for the dynamic equations of quantum mechanics, most importantly the Schrödinger and Liouville equations. We refer to the numerical evaluation of a quantum state ``|Ψ(t + dt)⟩`` from a state ``|Ψ(t)\rangle`` under a given equation of motion as "time propagation". +The `QuantumPropagators` packages provides solvers for the dynamic equations of quantum mechanics, most importantly the Schrödinger and Liouville equations. We refer to the numerical evaluation of a quantum state ``|Ψ(t + dt)⟩`` from a state ``|Ψ(t)⟩`` under a given equation of motion as "time propagation". ## [Getting started](@id getting_started) @@ -128,7 +128,7 @@ See the more extended discussion of [Propagation Methods](@ref) for more details ## [Dynamical generators](@id overview_dynamical_generators) -In the [initial example](@ref getting_started), the "generator" `H` that is the second argument to [`propagate`](@ref) was a simple static operator. In general, we will want time-dependent Hamiltonians or Liouvillians. The standard way to initialize a time-dependent Hamiltonian is via the [`hamiltonian`](@ref) function, e.g., as `hamiltonian(Ĥ₀, (Ĥ₁, ϵ₁), (Ĥ₂, ϵ₂))`. The `Ĥ₀`, `Ĥ₁`, and `Ĥ₂` are static operators, and `ϵ₁` and `ϵ₂` are control fields, typically functions ([or function-like objects](https://docs.julialang.org/en/v1/manual/methods/#Function-like-objects)) of time `t`. For piecewise-constant propagators, `ϵ₁` and `ϵ₂` may also be an array of amplitude values appropriate to the time grid `tlist`. The tuple-syntax for the time-dependent terms is inspired by [QuTiP](https://qutip.org/docs/latest/guide/dynamics/dynamics-time.html). +In the [initial example](@ref getting_started), the "generator" `H` that is the second argument to [`propagate`](@ref) was a simple static operator. In general, we will want time-dependent Hamiltonians or Liouvillians. The standard way to initialize a time-dependent Hamiltonian is via the [`hamiltonian`](@ref) function, e.g., as `hamiltonian(Ĥ₀, (Ĥ₁, ϵ₁), (Ĥ₂, ϵ₂))`. The `Ĥ₀`, `Ĥ₁`, and `Ĥ₂` are static operators, and `ϵ₁` and `ϵ₂` are control fields, typically functions ([or function-like objects](https://docs.julialang.org/en/v1/manual/methods/#Function-like-objects)) of time `t`. For piecewise-constant propagators, `ϵ₁` and `ϵ₂` may also be an array of amplitude values appropriate to the time grid `tlist`. The tuple-syntax for the time-dependent terms is inspired by [QuTiP](@extref qutip :label:`time`). Generally, the `generator`, or the operators/controls inside the tuples can be a arbitrary objects, as long as some relevant methods are implemented for these objects, see the full section on [Dynamical Generators](@ref).