diff --git a/previews/PR258/404.html b/previews/PR258/404.html index b47974f1..8a2d50f8 100644 --- a/previews/PR258/404.html +++ b/previews/PR258/404.html @@ -9,7 +9,7 @@ - + @@ -19,7 +19,7 @@
- + \ No newline at end of file diff --git a/previews/PR258/api/ansatz.html b/previews/PR258/api/ansatz.html index b44f1453..9c12311e 100644 --- a/previews/PR258/api/ansatz.html +++ b/previews/PR258/api/ansatz.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,8 +21,8 @@ -
Skip to content

Ansatz

MPS

Tenet.MPS Type
julia
MPS <: AbstractAnsatz

A Matrix Product State Ansatz Tensor Network.

source

Made with DocumenterVitepress.jl

- +
Skip to content

Ansatz

MPS

Tenet.MPS Type
julia
MPS <: AbstractAnsatz

A Matrix Product State Ansatz Tensor Network.

source

Made with DocumenterVitepress.jl

+ \ No newline at end of file diff --git a/previews/PR258/api/quantum.html b/previews/PR258/api/quantum.html index 93288c8f..dcbee637 100644 --- a/previews/PR258/api/quantum.html +++ b/previews/PR258/api/quantum.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,8 +21,8 @@ -
Skip to content

Quantum

Tenet.Quantum Type
julia
Quantum

Tensor Network with a notion of "causality". This leads to the notion of sites and directionality (input/output).

Notes

  • Indices are referenced by Sites.

source

Tenet.TensorNetwork Method
julia
TensorNetwork(q::AbstractQuantum)

Returns the underlying TensorNetwork of an AbstractQuantum.

source

Base.adjoint Method
julia
adjoint(q::Quantum)

Returns the adjoint of a Quantum Tensor Network; i.e. the conjugate Tensor Network with the inputs and outputs swapped.

source

Tenet.sites Function
julia
sites(q::AbstractQuantum)

Returns the sites of a AbstractQuantum Tensor Network.

source

Tenet.nsites Function
julia
nsites(q::AbstractQuantum)

Returns the number of sites of a AbstractQuantum Tensor Network.

source

Missing docstring.

Missing docstring for Tenet.inds(::Quantum; kwargs...). Check Documenter's build log for details.

Missing docstring.

Missing docstring for Tenet.tensors(::Quantum; kwargs...). Check Documenter's build log for details.

Missing docstring.

Missing docstring for inputs. Check Documenter's build log for details.

Missing docstring.

Missing docstring for outputs. Check Documenter's build log for details.

Missing docstring.

Missing docstring for lanes. Check Documenter's build log for details.

Missing docstring.

Missing docstring for ninputs. Check Documenter's build log for details.

Missing docstring.

Missing docstring for noutputs. Check Documenter's build log for details.

Missing docstring.

Missing docstring for nlanes. Check Documenter's build log for details.

Missing docstring.

Missing docstring for Socket. Check Documenter's build log for details.

Tenet.socket Method
julia
socket(q::Quantum)

Returns the socket of a Quantum Tensor Network; i.e. whether it is a Scalar, State or Operator.

source

Tenet.Scalar Type
julia
Scalar <: Socket

Socket representing a scalar; i.e. a Tensor Network with no open sites.

source

Tenet.State Type
julia
State <: Socket

Socket representing a state; i.e. a Tensor Network with only input sites (or only output sites if dual = true).

source

Tenet.Operator Type
julia
Operator <: Socket

Socket representing an operator; i.e. a Tensor Network with both input and output sites.

source

Missing docstring.

Missing docstring for Base.merge(::Quantum, ::Quantum...). Check Documenter's build log for details.

Made with DocumenterVitepress.jl

- +
Skip to content

Quantum

Tenet.Quantum Type
julia
Quantum

Tensor Network with a notion of "causality". This leads to the notion of sites and directionality (input/output).

Notes

  • Indices are referenced by Sites.

source

Tenet.TensorNetwork Method
julia
TensorNetwork(q::AbstractQuantum)

Returns the underlying TensorNetwork of an AbstractQuantum.

source

Base.adjoint Method
julia
adjoint(q::Quantum)

Returns the adjoint of a Quantum Tensor Network; i.e. the conjugate Tensor Network with the inputs and outputs swapped.

source

Tenet.sites Function
julia
sites(q::AbstractQuantum)

Returns the sites of a AbstractQuantum Tensor Network.

source

Tenet.nsites Function
julia
nsites(q::AbstractQuantum)

Returns the number of sites of a AbstractQuantum Tensor Network.

source

Missing docstring.

Missing docstring for Tenet.inds(::Quantum; kwargs...). Check Documenter's build log for details.

Missing docstring.

Missing docstring for Tenet.tensors(::Quantum; kwargs...). Check Documenter's build log for details.

Missing docstring.

Missing docstring for inputs. Check Documenter's build log for details.

Missing docstring.

Missing docstring for outputs. Check Documenter's build log for details.

Missing docstring.

Missing docstring for lanes. Check Documenter's build log for details.

Missing docstring.

Missing docstring for ninputs. Check Documenter's build log for details.

Missing docstring.

Missing docstring for noutputs. Check Documenter's build log for details.

Missing docstring.

Missing docstring for nlanes. Check Documenter's build log for details.

Missing docstring.

Missing docstring for Socket. Check Documenter's build log for details.

Tenet.socket Method
julia
socket(q::Quantum)

Returns the socket of a Quantum Tensor Network; i.e. whether it is a Scalar, State or Operator.

source

Tenet.Scalar Type
julia
Scalar <: Socket

Socket representing a scalar; i.e. a Tensor Network with no open sites.

source

Tenet.State Type
julia
State <: Socket

Socket representing a state; i.e. a Tensor Network with only input sites (or only output sites if dual = true).

source

Tenet.Operator Type
julia
Operator <: Socket

Socket representing an operator; i.e. a Tensor Network with both input and output sites.

source

Missing docstring.

Missing docstring for Base.merge(::Quantum, ::Quantum...). Check Documenter's build log for details.

Made with DocumenterVitepress.jl

+ \ No newline at end of file diff --git a/previews/PR258/api/tensor.html b/previews/PR258/api/tensor.html index 2469a781..c54ee606 100644 --- a/previews/PR258/api/tensor.html +++ b/previews/PR258/api/tensor.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,8 +21,8 @@ -
Skip to content

Tensor

Missing docstring.

Missing docstring for Base.parent(::Tensor). Check Documenter's build log for details.

Missing docstring.

Missing docstring for inds(::Tensor). Check Documenter's build log for details.

Base.size Method
julia
Base.size(::Tensor[, i])

Return the size of the underlying array or the dimension i (specified by Symbol or Integer).

source

Graphs.LinAlg.contract Method
julia
contract(a::Tensor[, b::Tensor]; dims=nonunique([inds(a)..., inds(b)...]))

Perform tensor contraction operation.

source

LinearAlgebra.svd Method
julia
LinearAlgebra.svd(tensor::Tensor; left_inds, right_inds, virtualind, kwargs...)

Perform SVD factorization on a tensor.

Keyword arguments

  • left_inds: left indices to be used in the SVD factorization. Defaults to all indices of t except right_inds.

  • right_inds: right indices to be used in the SVD factorization. Defaults to all indices of t except left_inds.

  • virtualind: name of the virtual bond. Defaults to a random Symbol.

source

LinearAlgebra.qr Method
julia
LinearAlgebra.qr(tensor::Tensor; left_inds, right_inds, virtualind, kwargs...)

Perform QR factorization on a tensor.

Keyword arguments

  • left_inds: left indices to be used in the QR factorization. Defaults to all indices of t except right_inds.

  • right_inds: right indices to be used in the QR factorization. Defaults to all indices of t except left_inds.

  • virtualind: name of the virtual bond. Defaults to a random Symbol.

source

LinearAlgebra.lu Method
julia
LinearAlgebra.lu(tensor::Tensor; left_inds, right_inds, virtualind, kwargs...)

Perform LU factorization on a tensor.

Keyword arguments

  • left_inds: left indices to be used in the LU factorization. Defaults to all indices of t except right_inds.

  • right_inds: right indices to be used in the LU factorization. Defaults to all indices of t except left_inds.

  • virtualind: name of the virtual bond. Defaults to a random Symbol.

source

Made with DocumenterVitepress.jl

- +
Skip to content

Tensor

Missing docstring.

Missing docstring for Base.parent(::Tensor). Check Documenter's build log for details.

Missing docstring.

Missing docstring for inds(::Tensor). Check Documenter's build log for details.

Base.size Method
julia
Base.size(::Tensor[, i])

Return the size of the underlying array or the dimension i (specified by Symbol or Integer).

source

Graphs.LinAlg.contract Method
julia
contract(a::Tensor[, b::Tensor]; dims=nonunique([inds(a)..., inds(b)...]))

Perform tensor contraction operation.

source

LinearAlgebra.svd Method
julia
LinearAlgebra.svd(tensor::Tensor; left_inds, right_inds, virtualind, kwargs...)

Perform SVD factorization on a tensor.

Keyword arguments

  • left_inds: left indices to be used in the SVD factorization. Defaults to all indices of t except right_inds.

  • right_inds: right indices to be used in the SVD factorization. Defaults to all indices of t except left_inds.

  • virtualind: name of the virtual bond. Defaults to a random Symbol.

source

LinearAlgebra.qr Method
julia
LinearAlgebra.qr(tensor::Tensor; left_inds, right_inds, virtualind, kwargs...)

Perform QR factorization on a tensor.

Keyword arguments

  • left_inds: left indices to be used in the QR factorization. Defaults to all indices of t except right_inds.

  • right_inds: right indices to be used in the QR factorization. Defaults to all indices of t except left_inds.

  • virtualind: name of the virtual bond. Defaults to a random Symbol.

source

LinearAlgebra.lu Method
julia
LinearAlgebra.lu(tensor::Tensor; left_inds, right_inds, virtualind, kwargs...)

Perform LU factorization on a tensor.

Keyword arguments

  • left_inds: left indices to be used in the LU factorization. Defaults to all indices of t except right_inds.

  • right_inds: right indices to be used in the LU factorization. Defaults to all indices of t except left_inds.

  • virtualind: name of the virtual bond. Defaults to a random Symbol.

source

Made with DocumenterVitepress.jl

+ \ No newline at end of file diff --git a/previews/PR258/api/tensornetwork.html b/previews/PR258/api/tensornetwork.html index b347ec9c..82b56fa2 100644 --- a/previews/PR258/api/tensornetwork.html +++ b/previews/PR258/api/tensornetwork.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,14 +21,14 @@ -
Skip to content

TensorNetwork

Tenet.TensorNetwork Type
julia
TensorNetwork

Graph of interconnected tensors, representing a multilinear equation. Graph vertices represent tensors and graph edges, tensor indices.

source

Missing docstring.

Missing docstring for inds(::Tenet.TensorNetwork). Check Documenter's build log for details.

Base.size Method
julia
size(tn::AbstractTensorNetwork)
-size(tn::AbstractTensorNetwork, index)

Return a mapping from indices to their dimensionalities.

If index is set, return the dimensionality of index. This is equivalent to size(tn)[index].

source

Missing docstring.

Missing docstring for tensors(::Tenet.TensorNetwork). Check Documenter's build log for details.

Base.push! Method
julia
push!(tn::AbstractTensorNetwork, tensor::Tensor)

Add a new tensor to the Tensor Network.

See also: append!, pop!.

source

Base.pop! Method
julia
pop!(tn::TensorNetwork, tensor::Tensor)
-pop!(tn::TensorNetwork, i::Union{Symbol,AbstractVecOrTuple{Symbol}})

Remove a tensor from the Tensor Network and returns it. If a Tensor is passed, then the first tensor satisfies egality (i.e. or ===) will be removed. If a Symbol or a list of Symbols is passed, then remove and return the tensors that contain all the indices.

See also: push!, delete!.

source

Base.append! Method
julia
append!(tn::TensorNetwork, tensors::AbstractVecOrTuple{<:Tensor})

Add a list of tensors to a TensorNetwork.

See also: push!, merge!.

source

Base.merge! Method
julia
merge!(self::TensorNetwork, others::TensorNetwork...)
-merge(self::TensorNetwork, others::TensorNetwork...)

Fuse various TensorNetworks into one.

See also: append!.

source

Base.delete! Method
julia
delete!(tn::TensorNetwork, x)

Like pop! but return the TensorNetwork instead.

source

Base.replace! Function
julia
replace!(tn::AbstractTensorNetwork, old => new...)
-replace(tn::AbstractTensorNetwork, old => new...)

Replace the element in old with the one in new. Depending on the types of old and new, the following behaviour is expected:

  • If Symbols, it will correspond to a index renaming.

  • If Tensors, first element that satisfies egality ( or ===) will be replaced.

source

Base.selectdim Function
julia
selectdim(tn::AbstractTensorNetwork, index::Symbol, i)

Return a copy of the AbstractTensorNetwork where index has been projected to dimension i.

See also: view, slice!.

source

Tenet.slice! Function
julia
slice!(tn::AbstractTensorNetwork, index::Symbol, i)

In-place projection of index on dimension i.

See also: selectdim, view.

source

Base.view Method
julia
view(tn::AbstractTensorNetwork, index => i...)

Return a copy of the AbstractTensorNetwork where each index has been projected to dimension i. It is equivalent to a recursive call of selectdim.

See also: selectdim, slice!.

source

Base.copy Method
julia
copy(tn::TensorNetwork)

Return a shallow copy of a TensorNetwork.

source

Missing docstring.

Missing docstring for Base.rand(::Type{TensorNetwork}, n::Integer, regularity::Integer). Check Documenter's build log for details.

Transformations

Tenet.transform Function
julia
transform(tn::TensorNetwork, config::Transformation)
-transform(tn::TensorNetwork, configs)

Return a new TensorNetwork where some Transformation has been performed into it.

See also: transform!.

source

Tenet.transform! Function
julia
transform!(tn::TensorNetwork, config::Transformation)
-transform!(tn::TensorNetwork, configs)

In-place version of transform.

source

Tenet.HyperFlatten Type
julia
HyperFlatten <: Transformation

Convert hyperindices to COPY-tensors, represented by DeltaArrays. This transformation is always used by default when visualizing a TensorNetwork with plot.

See also: HyperGroup.

source

Tenet.HyperGroup Type
julia
HyperGroup <: Transformation

Convert COPY-tensors, represented by DeltaArrays, to hyperindices.

See also: HyperFlatten.

source

Tenet.ContractSimplification Type
julia
ContractSimplification <: Transformation

Preemptively contract tensors whose result doesn't increase in size.

source

Tenet.DiagonalReduction Type
julia
DiagonalReduction <: Transformation

Reduce the dimension of a Tensor in a TensorNetwork when it has a pair of indices that fulfil a diagonal structure.

Keyword Arguments

  • atol Absolute tolerance. Defaults to 1e-12.

source

Tenet.AntiDiagonalGauging Type
julia
AntiDiagonalGauging <: Transformation

Reverse the order of tensor indices that fulfill the anti-diagonal condition. While this transformation doesn't directly enhance computational efficiency, it sets up the TensorNetwork for other operations that do.

Keyword Arguments

  • atol Absolute tolerance. Defaults to 1e-12.

  • skip List of indices to skip. Defaults to [].

source

Tenet.Truncate Type
julia
Truncate <: Transformation

Truncate the dimension of a Tensor in a TensorNetwork when it contains columns with all elements smaller than atol.

Keyword Arguments

  • atol Absolute tolerance. Defaults to 1e-12.

  • skip List of indices to skip. Defaults to [].

source

Missing docstring.

Missing docstring for Tenet.SplitSimplificationd. Check Documenter's build log for details.

Made with DocumenterVitepress.jl

- +
Skip to content

TensorNetwork

Tenet.TensorNetwork Type
julia
TensorNetwork

Graph of interconnected tensors, representing a multilinear equation. Graph vertices represent tensors and graph edges, tensor indices.

source

Missing docstring.

Missing docstring for inds(::Tenet.TensorNetwork). Check Documenter's build log for details.

Base.size Method
julia
size(tn::AbstractTensorNetwork)
+size(tn::AbstractTensorNetwork, index)

Return a mapping from indices to their dimensionalities.

If index is set, return the dimensionality of index. This is equivalent to size(tn)[index].

source

Missing docstring.

Missing docstring for tensors(::Tenet.TensorNetwork). Check Documenter's build log for details.

Base.push! Method
julia
push!(tn::AbstractTensorNetwork, tensor::Tensor)

Add a new tensor to the Tensor Network.

See also: append!, pop!.

source

Base.pop! Method
julia
pop!(tn::TensorNetwork, tensor::Tensor)
+pop!(tn::TensorNetwork, i::Union{Symbol,AbstractVecOrTuple{Symbol}})

Remove a tensor from the Tensor Network and returns it. If a Tensor is passed, then the first tensor satisfies egality (i.e. or ===) will be removed. If a Symbol or a list of Symbols is passed, then remove and return the tensors that contain all the indices.

See also: push!, delete!.

source

Base.append! Method
julia
append!(tn::TensorNetwork, tensors::AbstractVecOrTuple{<:Tensor})

Add a list of tensors to a TensorNetwork.

See also: push!, merge!.

source

Base.merge! Method
julia
merge!(self::TensorNetwork, others::TensorNetwork...)
+merge(self::TensorNetwork, others::TensorNetwork...)

Fuse various TensorNetworks into one.

See also: append!.

source

Base.delete! Method
julia
delete!(tn::TensorNetwork, x)

Like pop! but return the TensorNetwork instead.

source

Base.replace! Function
julia
replace!(tn::AbstractTensorNetwork, old => new...)
+replace(tn::AbstractTensorNetwork, old => new...)

Replace the element in old with the one in new. Depending on the types of old and new, the following behaviour is expected:

  • If Symbols, it will correspond to a index renaming.

  • If Tensors, first element that satisfies egality ( or ===) will be replaced.

source

Base.selectdim Function
julia
selectdim(tn::AbstractTensorNetwork, index::Symbol, i)

Return a copy of the AbstractTensorNetwork where index has been projected to dimension i.

See also: view, slice!.

source

Tenet.slice! Function
julia
slice!(tn::AbstractTensorNetwork, index::Symbol, i)

In-place projection of index on dimension i.

See also: selectdim, view.

source

Base.view Method
julia
view(tn::AbstractTensorNetwork, index => i...)

Return a copy of the AbstractTensorNetwork where each index has been projected to dimension i. It is equivalent to a recursive call of selectdim.

See also: selectdim, slice!.

source

Base.copy Method
julia
copy(tn::TensorNetwork)

Return a shallow copy of a TensorNetwork.

source

Missing docstring.

Missing docstring for Base.rand(::Type{TensorNetwork}, n::Integer, regularity::Integer). Check Documenter's build log for details.

Transformations

Tenet.transform Function
julia
transform(tn::TensorNetwork, config::Transformation)
+transform(tn::TensorNetwork, configs)

Return a new TensorNetwork where some Transformation has been performed into it.

See also: transform!.

source

Tenet.transform! Function
julia
transform!(tn::TensorNetwork, config::Transformation)
+transform!(tn::TensorNetwork, configs)

In-place version of transform.

source

Tenet.HyperFlatten Type
julia
HyperFlatten <: Transformation

Convert hyperindices to COPY-tensors, represented by DeltaArrays. This transformation is always used by default when visualizing a TensorNetwork with plot.

See also: HyperGroup.

source

Tenet.HyperGroup Type
julia
HyperGroup <: Transformation

Convert COPY-tensors, represented by DeltaArrays, to hyperindices.

See also: HyperFlatten.

source

Tenet.ContractSimplification Type
julia
ContractSimplification <: Transformation

Preemptively contract tensors whose result doesn't increase in size.

source

Tenet.DiagonalReduction Type
julia
DiagonalReduction <: Transformation

Reduce the dimension of a Tensor in a TensorNetwork when it has a pair of indices that fulfil a diagonal structure.

Keyword Arguments

  • atol Absolute tolerance. Defaults to 1e-12.

source

Tenet.AntiDiagonalGauging Type
julia
AntiDiagonalGauging <: Transformation

Reverse the order of tensor indices that fulfill the anti-diagonal condition. While this transformation doesn't directly enhance computational efficiency, it sets up the TensorNetwork for other operations that do.

Keyword Arguments

  • atol Absolute tolerance. Defaults to 1e-12.

  • skip List of indices to skip. Defaults to [].

source

Tenet.Truncate Type
julia
Truncate <: Transformation

Truncate the dimension of a Tensor in a TensorNetwork when it contains columns with all elements smaller than atol.

Keyword Arguments

  • atol Absolute tolerance. Defaults to 1e-12.

  • skip List of indices to skip. Defaults to [].

source

Missing docstring.

Missing docstring for Tenet.SplitSimplificationd. Check Documenter's build log for details.

Made with DocumenterVitepress.jl

+ \ No newline at end of file diff --git a/previews/PR258/assets/api_ansatz.md.Brzm3uFp.js b/previews/PR258/assets/api_ansatz.md.Bd2LjtDP.js similarity index 92% rename from previews/PR258/assets/api_ansatz.md.Brzm3uFp.js rename to previews/PR258/assets/api_ansatz.md.Bd2LjtDP.js index d4702b5d..61a21f2d 100644 --- a/previews/PR258/assets/api_ansatz.md.Brzm3uFp.js +++ b/previews/PR258/assets/api_ansatz.md.Bd2LjtDP.js @@ -1 +1 @@ -import{_ as n,c as i,j as e,a as t,G as r,a5 as l,B as o,o as d}from"./chunks/framework.C5U82uhn.js";const P=JSON.parse('{"title":"Ansatz","description":"","frontmatter":{},"headers":[],"relativePath":"api/ansatz.md","filePath":"api/ansatz.md","lastUpdated":null}'),p={name:"api/ansatz.md"},c={class:"jldocstring custom-block",open:""};function h(m,a,u,f,k,b){const s=o("Badge");return d(),i("div",null,[a[3]||(a[3]=e("h1",{id:"ansatz",tabindex:"-1"},[t("Ansatz "),e("a",{class:"header-anchor",href:"#ansatz","aria-label":'Permalink to "Ansatz"'},"​")],-1)),a[4]||(a[4]=e("h2",{id:"mps",tabindex:"-1"},[t("MPS "),e("a",{class:"header-anchor",href:"#mps","aria-label":'Permalink to "MPS"'},"​")],-1)),e("details",c,[e("summary",null,[a[0]||(a[0]=e("a",{id:"Tenet.MPS",href:"#Tenet.MPS"},[e("span",{class:"jlbinding"},"Tenet.MPS")],-1)),a[1]||(a[1]=t()),r(s,{type:"info",class:"jlObjectType jlType",text:"Type"})]),a[2]||(a[2]=l('
julia
MPS <: AbstractAnsatz

A Matrix Product State Ansatz Tensor Network.

source

',3))])])}const z=n(p,[["render",h]]);export{P as __pageData,z as default}; +import{_ as n,c as i,j as e,a as t,G as r,a5 as l,B as o,o as d}from"./chunks/framework.C5U82uhn.js";const P=JSON.parse('{"title":"Ansatz","description":"","frontmatter":{},"headers":[],"relativePath":"api/ansatz.md","filePath":"api/ansatz.md","lastUpdated":null}'),p={name:"api/ansatz.md"},c={class:"jldocstring custom-block",open:""};function h(m,a,u,b,k,f){const s=o("Badge");return d(),i("div",null,[a[3]||(a[3]=e("h1",{id:"ansatz",tabindex:"-1"},[t("Ansatz "),e("a",{class:"header-anchor",href:"#ansatz","aria-label":'Permalink to "Ansatz"'},"​")],-1)),a[4]||(a[4]=e("h2",{id:"mps",tabindex:"-1"},[t("MPS "),e("a",{class:"header-anchor",href:"#mps","aria-label":'Permalink to "MPS"'},"​")],-1)),e("details",c,[e("summary",null,[a[0]||(a[0]=e("a",{id:"Tenet.MPS",href:"#Tenet.MPS"},[e("span",{class:"jlbinding"},"Tenet.MPS")],-1)),a[1]||(a[1]=t()),r(s,{type:"info",class:"jlObjectType jlType",text:"Type"})]),a[2]||(a[2]=l('
julia
MPS <: AbstractAnsatz

A Matrix Product State Ansatz Tensor Network.

source

',3))])])}const z=n(p,[["render",h]]);export{P as __pageData,z as default}; diff --git a/previews/PR258/assets/api_ansatz.md.Brzm3uFp.lean.js b/previews/PR258/assets/api_ansatz.md.Bd2LjtDP.lean.js similarity index 92% rename from previews/PR258/assets/api_ansatz.md.Brzm3uFp.lean.js rename to previews/PR258/assets/api_ansatz.md.Bd2LjtDP.lean.js index d4702b5d..61a21f2d 100644 --- a/previews/PR258/assets/api_ansatz.md.Brzm3uFp.lean.js +++ b/previews/PR258/assets/api_ansatz.md.Bd2LjtDP.lean.js @@ -1 +1 @@ -import{_ as n,c as i,j as e,a as t,G as r,a5 as l,B as o,o as d}from"./chunks/framework.C5U82uhn.js";const P=JSON.parse('{"title":"Ansatz","description":"","frontmatter":{},"headers":[],"relativePath":"api/ansatz.md","filePath":"api/ansatz.md","lastUpdated":null}'),p={name:"api/ansatz.md"},c={class:"jldocstring custom-block",open:""};function h(m,a,u,f,k,b){const s=o("Badge");return d(),i("div",null,[a[3]||(a[3]=e("h1",{id:"ansatz",tabindex:"-1"},[t("Ansatz "),e("a",{class:"header-anchor",href:"#ansatz","aria-label":'Permalink to "Ansatz"'},"​")],-1)),a[4]||(a[4]=e("h2",{id:"mps",tabindex:"-1"},[t("MPS "),e("a",{class:"header-anchor",href:"#mps","aria-label":'Permalink to "MPS"'},"​")],-1)),e("details",c,[e("summary",null,[a[0]||(a[0]=e("a",{id:"Tenet.MPS",href:"#Tenet.MPS"},[e("span",{class:"jlbinding"},"Tenet.MPS")],-1)),a[1]||(a[1]=t()),r(s,{type:"info",class:"jlObjectType jlType",text:"Type"})]),a[2]||(a[2]=l('
julia
MPS <: AbstractAnsatz

A Matrix Product State Ansatz Tensor Network.

source

',3))])])}const z=n(p,[["render",h]]);export{P as __pageData,z as default}; +import{_ as n,c as i,j as e,a as t,G as r,a5 as l,B as o,o as d}from"./chunks/framework.C5U82uhn.js";const P=JSON.parse('{"title":"Ansatz","description":"","frontmatter":{},"headers":[],"relativePath":"api/ansatz.md","filePath":"api/ansatz.md","lastUpdated":null}'),p={name:"api/ansatz.md"},c={class:"jldocstring custom-block",open:""};function h(m,a,u,b,k,f){const s=o("Badge");return d(),i("div",null,[a[3]||(a[3]=e("h1",{id:"ansatz",tabindex:"-1"},[t("Ansatz "),e("a",{class:"header-anchor",href:"#ansatz","aria-label":'Permalink to "Ansatz"'},"​")],-1)),a[4]||(a[4]=e("h2",{id:"mps",tabindex:"-1"},[t("MPS "),e("a",{class:"header-anchor",href:"#mps","aria-label":'Permalink to "MPS"'},"​")],-1)),e("details",c,[e("summary",null,[a[0]||(a[0]=e("a",{id:"Tenet.MPS",href:"#Tenet.MPS"},[e("span",{class:"jlbinding"},"Tenet.MPS")],-1)),a[1]||(a[1]=t()),r(s,{type:"info",class:"jlObjectType jlType",text:"Type"})]),a[2]||(a[2]=l('
julia
MPS <: AbstractAnsatz

A Matrix Product State Ansatz Tensor Network.

source

',3))])])}const z=n(p,[["render",h]]);export{P as __pageData,z as default}; diff --git a/previews/PR258/assets/api_quantum.md.Cv5NgkpY.js b/previews/PR258/assets/api_quantum.md.11MXmNx9.js similarity index 89% rename from previews/PR258/assets/api_quantum.md.Cv5NgkpY.js rename to previews/PR258/assets/api_quantum.md.11MXmNx9.js index 3e19ab8b..7d52de3b 100644 --- a/previews/PR258/assets/api_quantum.md.Cv5NgkpY.js +++ b/previews/PR258/assets/api_quantum.md.11MXmNx9.js @@ -1 +1 @@ -import{_ as l,c as o,j as t,a as e,G as n,a5 as i,B as p,o as r}from"./chunks/framework.C5U82uhn.js";const Q=JSON.parse('{"title":"Quantum","description":"","frontmatter":{},"headers":[],"relativePath":"api/quantum.md","filePath":"api/quantum.md","lastUpdated":null}'),d={name:"api/quantum.md"},u={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},k={class:"jldocstring custom-block",open:""},h={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},b={class:"jldocstring custom-block",open:""},m={class:"jldocstring custom-block",open:""},f={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""};function j(T,s,v,E,C,w){const a=p("Badge");return r(),o("div",null,[s[27]||(s[27]=t("h1",{id:"quantum",tabindex:"-1"},[e("Quantum "),t("a",{class:"header-anchor",href:"#quantum","aria-label":'Permalink to "Quantum"'},"​")],-1)),t("details",u,[t("summary",null,[s[0]||(s[0]=t("a",{id:"Tenet.Quantum",href:"#Tenet.Quantum"},[t("span",{class:"jlbinding"},"Tenet.Quantum")],-1)),s[1]||(s[1]=e()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[2]||(s[2]=i('
julia
Quantum

Tensor Network with a notion of "causality". This leads to the notion of sites and directionality (input/output).

Notes

source

',5))]),t("details",c,[t("summary",null,[s[3]||(s[3]=t("a",{id:"Tenet.TensorNetwork-Tuple{Quantum}",href:"#Tenet.TensorNetwork-Tuple{Quantum}"},[t("span",{class:"jlbinding"},"Tenet.TensorNetwork")],-1)),s[4]||(s[4]=e()),n(a,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[5]||(s[5]=i('
julia
TensorNetwork(q::AbstractQuantum)

Returns the underlying TensorNetwork of an AbstractQuantum.

source

',3))]),t("details",k,[t("summary",null,[s[6]||(s[6]=t("a",{id:"Base.adjoint-Tuple{Quantum}",href:"#Base.adjoint-Tuple{Quantum}"},[t("span",{class:"jlbinding"},"Base.adjoint")],-1)),s[7]||(s[7]=e()),n(a,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[8]||(s[8]=i('
julia
adjoint(q::Quantum)

Returns the adjoint of a Quantum Tensor Network; i.e. the conjugate Tensor Network with the inputs and outputs swapped.

source

',3))]),t("details",h,[t("summary",null,[s[9]||(s[9]=t("a",{id:"Tenet.sites",href:"#Tenet.sites"},[t("span",{class:"jlbinding"},"Tenet.sites")],-1)),s[10]||(s[10]=e()),n(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[11]||(s[11]=i('
julia
sites(q::AbstractQuantum)

Returns the sites of a AbstractQuantum Tensor Network.

source

',3))]),t("details",g,[t("summary",null,[s[12]||(s[12]=t("a",{id:"Tenet.nsites",href:"#Tenet.nsites"},[t("span",{class:"jlbinding"},"Tenet.nsites")],-1)),s[13]||(s[13]=e()),n(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[14]||(s[14]=i('
julia
nsites(q::AbstractQuantum)

Returns the number of sites of a AbstractQuantum Tensor Network.

source

',3))]),s[28]||(s[28]=i('

Missing docstring.

Missing docstring for Tenet.inds(::Quantum; kwargs...). Check Documenter's build log for details.

Missing docstring.

Missing docstring for Tenet.tensors(::Quantum; kwargs...). Check Documenter's build log for details.

Missing docstring.

Missing docstring for inputs. Check Documenter's build log for details.

Missing docstring.

Missing docstring for outputs. Check Documenter's build log for details.

Missing docstring.

Missing docstring for lanes. Check Documenter's build log for details.

Missing docstring.

Missing docstring for ninputs. Check Documenter's build log for details.

Missing docstring.

Missing docstring for noutputs. Check Documenter's build log for details.

Missing docstring.

Missing docstring for nlanes. Check Documenter's build log for details.

Missing docstring.

Missing docstring for Socket. Check Documenter's build log for details.

',9)),t("details",b,[t("summary",null,[s[15]||(s[15]=t("a",{id:"Tenet.socket-Tuple{Quantum}",href:"#Tenet.socket-Tuple{Quantum}"},[t("span",{class:"jlbinding"},"Tenet.socket")],-1)),s[16]||(s[16]=e()),n(a,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[17]||(s[17]=i('
julia
socket(q::Quantum)

Returns the socket of a Quantum Tensor Network; i.e. whether it is a Scalar, State or Operator.

source

',3))]),t("details",m,[t("summary",null,[s[18]||(s[18]=t("a",{id:"Tenet.Scalar",href:"#Tenet.Scalar"},[t("span",{class:"jlbinding"},"Tenet.Scalar")],-1)),s[19]||(s[19]=e()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[20]||(s[20]=i('
julia
Scalar <: Socket

Socket representing a scalar; i.e. a Tensor Network with no open sites.

source

',3))]),t("details",f,[t("summary",null,[s[21]||(s[21]=t("a",{id:"Tenet.State",href:"#Tenet.State"},[t("span",{class:"jlbinding"},"Tenet.State")],-1)),s[22]||(s[22]=e()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[23]||(s[23]=i('
julia
State <: Socket

Socket representing a state; i.e. a Tensor Network with only input sites (or only output sites if dual = true).

source

',3))]),t("details",y,[t("summary",null,[s[24]||(s[24]=t("a",{id:"Tenet.Operator",href:"#Tenet.Operator"},[t("span",{class:"jlbinding"},"Tenet.Operator")],-1)),s[25]||(s[25]=e()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[26]||(s[26]=i('
julia
Operator <: Socket

Socket representing an operator; i.e. a Tensor Network with both input and output sites.

source

',3))]),s[29]||(s[29]=t("div",{class:"warning custom-block"},[t("p",{class:"custom-block-title"},"Missing docstring."),t("p",null,[e("Missing docstring for "),t("code",null,"Base.merge(::Quantum, ::Quantum...)"),e(". Check Documenter's build log for details.")])],-1))])}const q=l(d,[["render",j]]);export{Q as __pageData,q as default}; +import{_ as l,c as o,j as t,a as e,G as n,a5 as i,B as p,o as r}from"./chunks/framework.C5U82uhn.js";const Q=JSON.parse('{"title":"Quantum","description":"","frontmatter":{},"headers":[],"relativePath":"api/quantum.md","filePath":"api/quantum.md","lastUpdated":null}'),d={name:"api/quantum.md"},u={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},k={class:"jldocstring custom-block",open:""},h={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},b={class:"jldocstring custom-block",open:""},m={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""},j={class:"jldocstring custom-block",open:""};function f(T,s,v,E,C,w){const a=p("Badge");return r(),o("div",null,[s[27]||(s[27]=t("h1",{id:"quantum",tabindex:"-1"},[e("Quantum "),t("a",{class:"header-anchor",href:"#quantum","aria-label":'Permalink to "Quantum"'},"​")],-1)),t("details",u,[t("summary",null,[s[0]||(s[0]=t("a",{id:"Tenet.Quantum",href:"#Tenet.Quantum"},[t("span",{class:"jlbinding"},"Tenet.Quantum")],-1)),s[1]||(s[1]=e()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[2]||(s[2]=i('
julia
Quantum

Tensor Network with a notion of "causality". This leads to the notion of sites and directionality (input/output).

Notes

source

',5))]),t("details",c,[t("summary",null,[s[3]||(s[3]=t("a",{id:"Tenet.TensorNetwork-Tuple{Quantum}",href:"#Tenet.TensorNetwork-Tuple{Quantum}"},[t("span",{class:"jlbinding"},"Tenet.TensorNetwork")],-1)),s[4]||(s[4]=e()),n(a,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[5]||(s[5]=i('
julia
TensorNetwork(q::AbstractQuantum)

Returns the underlying TensorNetwork of an AbstractQuantum.

source

',3))]),t("details",k,[t("summary",null,[s[6]||(s[6]=t("a",{id:"Base.adjoint-Tuple{Quantum}",href:"#Base.adjoint-Tuple{Quantum}"},[t("span",{class:"jlbinding"},"Base.adjoint")],-1)),s[7]||(s[7]=e()),n(a,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[8]||(s[8]=i('
julia
adjoint(q::Quantum)

Returns the adjoint of a Quantum Tensor Network; i.e. the conjugate Tensor Network with the inputs and outputs swapped.

source

',3))]),t("details",h,[t("summary",null,[s[9]||(s[9]=t("a",{id:"Tenet.sites",href:"#Tenet.sites"},[t("span",{class:"jlbinding"},"Tenet.sites")],-1)),s[10]||(s[10]=e()),n(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[11]||(s[11]=i('
julia
sites(q::AbstractQuantum)

Returns the sites of a AbstractQuantum Tensor Network.

source

',3))]),t("details",g,[t("summary",null,[s[12]||(s[12]=t("a",{id:"Tenet.nsites",href:"#Tenet.nsites"},[t("span",{class:"jlbinding"},"Tenet.nsites")],-1)),s[13]||(s[13]=e()),n(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[14]||(s[14]=i('
julia
nsites(q::AbstractQuantum)

Returns the number of sites of a AbstractQuantum Tensor Network.

source

',3))]),s[28]||(s[28]=i('

Missing docstring.

Missing docstring for Tenet.inds(::Quantum; kwargs...). Check Documenter's build log for details.

Missing docstring.

Missing docstring for Tenet.tensors(::Quantum; kwargs...). Check Documenter's build log for details.

Missing docstring.

Missing docstring for inputs. Check Documenter's build log for details.

Missing docstring.

Missing docstring for outputs. Check Documenter's build log for details.

Missing docstring.

Missing docstring for lanes. Check Documenter's build log for details.

Missing docstring.

Missing docstring for ninputs. Check Documenter's build log for details.

Missing docstring.

Missing docstring for noutputs. Check Documenter's build log for details.

Missing docstring.

Missing docstring for nlanes. Check Documenter's build log for details.

Missing docstring.

Missing docstring for Socket. Check Documenter's build log for details.

',9)),t("details",b,[t("summary",null,[s[15]||(s[15]=t("a",{id:"Tenet.socket-Tuple{Quantum}",href:"#Tenet.socket-Tuple{Quantum}"},[t("span",{class:"jlbinding"},"Tenet.socket")],-1)),s[16]||(s[16]=e()),n(a,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[17]||(s[17]=i('
julia
socket(q::Quantum)

Returns the socket of a Quantum Tensor Network; i.e. whether it is a Scalar, State or Operator.

source

',3))]),t("details",m,[t("summary",null,[s[18]||(s[18]=t("a",{id:"Tenet.Scalar",href:"#Tenet.Scalar"},[t("span",{class:"jlbinding"},"Tenet.Scalar")],-1)),s[19]||(s[19]=e()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[20]||(s[20]=i('
julia
Scalar <: Socket

Socket representing a scalar; i.e. a Tensor Network with no open sites.

source

',3))]),t("details",y,[t("summary",null,[s[21]||(s[21]=t("a",{id:"Tenet.State",href:"#Tenet.State"},[t("span",{class:"jlbinding"},"Tenet.State")],-1)),s[22]||(s[22]=e()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[23]||(s[23]=i('
julia
State <: Socket

Socket representing a state; i.e. a Tensor Network with only input sites (or only output sites if dual = true).

source

',3))]),t("details",j,[t("summary",null,[s[24]||(s[24]=t("a",{id:"Tenet.Operator",href:"#Tenet.Operator"},[t("span",{class:"jlbinding"},"Tenet.Operator")],-1)),s[25]||(s[25]=e()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[26]||(s[26]=i('
julia
Operator <: Socket

Socket representing an operator; i.e. a Tensor Network with both input and output sites.

source

',3))]),s[29]||(s[29]=t("div",{class:"warning custom-block"},[t("p",{class:"custom-block-title"},"Missing docstring."),t("p",null,[e("Missing docstring for "),t("code",null,"Base.merge(::Quantum, ::Quantum...)"),e(". Check Documenter's build log for details.")])],-1))])}const q=l(d,[["render",f]]);export{Q as __pageData,q as default}; diff --git a/previews/PR258/assets/api_quantum.md.Cv5NgkpY.lean.js b/previews/PR258/assets/api_quantum.md.11MXmNx9.lean.js similarity index 89% rename from previews/PR258/assets/api_quantum.md.Cv5NgkpY.lean.js rename to previews/PR258/assets/api_quantum.md.11MXmNx9.lean.js index 3e19ab8b..7d52de3b 100644 --- a/previews/PR258/assets/api_quantum.md.Cv5NgkpY.lean.js +++ b/previews/PR258/assets/api_quantum.md.11MXmNx9.lean.js @@ -1 +1 @@ -import{_ as l,c as o,j as t,a as e,G as n,a5 as i,B as p,o as r}from"./chunks/framework.C5U82uhn.js";const Q=JSON.parse('{"title":"Quantum","description":"","frontmatter":{},"headers":[],"relativePath":"api/quantum.md","filePath":"api/quantum.md","lastUpdated":null}'),d={name:"api/quantum.md"},u={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},k={class:"jldocstring custom-block",open:""},h={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},b={class:"jldocstring custom-block",open:""},m={class:"jldocstring custom-block",open:""},f={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""};function j(T,s,v,E,C,w){const a=p("Badge");return r(),o("div",null,[s[27]||(s[27]=t("h1",{id:"quantum",tabindex:"-1"},[e("Quantum "),t("a",{class:"header-anchor",href:"#quantum","aria-label":'Permalink to "Quantum"'},"​")],-1)),t("details",u,[t("summary",null,[s[0]||(s[0]=t("a",{id:"Tenet.Quantum",href:"#Tenet.Quantum"},[t("span",{class:"jlbinding"},"Tenet.Quantum")],-1)),s[1]||(s[1]=e()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[2]||(s[2]=i('
julia
Quantum

Tensor Network with a notion of "causality". This leads to the notion of sites and directionality (input/output).

Notes

source

',5))]),t("details",c,[t("summary",null,[s[3]||(s[3]=t("a",{id:"Tenet.TensorNetwork-Tuple{Quantum}",href:"#Tenet.TensorNetwork-Tuple{Quantum}"},[t("span",{class:"jlbinding"},"Tenet.TensorNetwork")],-1)),s[4]||(s[4]=e()),n(a,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[5]||(s[5]=i('
julia
TensorNetwork(q::AbstractQuantum)

Returns the underlying TensorNetwork of an AbstractQuantum.

source

',3))]),t("details",k,[t("summary",null,[s[6]||(s[6]=t("a",{id:"Base.adjoint-Tuple{Quantum}",href:"#Base.adjoint-Tuple{Quantum}"},[t("span",{class:"jlbinding"},"Base.adjoint")],-1)),s[7]||(s[7]=e()),n(a,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[8]||(s[8]=i('
julia
adjoint(q::Quantum)

Returns the adjoint of a Quantum Tensor Network; i.e. the conjugate Tensor Network with the inputs and outputs swapped.

source

',3))]),t("details",h,[t("summary",null,[s[9]||(s[9]=t("a",{id:"Tenet.sites",href:"#Tenet.sites"},[t("span",{class:"jlbinding"},"Tenet.sites")],-1)),s[10]||(s[10]=e()),n(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[11]||(s[11]=i('
julia
sites(q::AbstractQuantum)

Returns the sites of a AbstractQuantum Tensor Network.

source

',3))]),t("details",g,[t("summary",null,[s[12]||(s[12]=t("a",{id:"Tenet.nsites",href:"#Tenet.nsites"},[t("span",{class:"jlbinding"},"Tenet.nsites")],-1)),s[13]||(s[13]=e()),n(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[14]||(s[14]=i('
julia
nsites(q::AbstractQuantum)

Returns the number of sites of a AbstractQuantum Tensor Network.

source

',3))]),s[28]||(s[28]=i('

Missing docstring.

Missing docstring for Tenet.inds(::Quantum; kwargs...). Check Documenter's build log for details.

Missing docstring.

Missing docstring for Tenet.tensors(::Quantum; kwargs...). Check Documenter's build log for details.

Missing docstring.

Missing docstring for inputs. Check Documenter's build log for details.

Missing docstring.

Missing docstring for outputs. Check Documenter's build log for details.

Missing docstring.

Missing docstring for lanes. Check Documenter's build log for details.

Missing docstring.

Missing docstring for ninputs. Check Documenter's build log for details.

Missing docstring.

Missing docstring for noutputs. Check Documenter's build log for details.

Missing docstring.

Missing docstring for nlanes. Check Documenter's build log for details.

Missing docstring.

Missing docstring for Socket. Check Documenter's build log for details.

',9)),t("details",b,[t("summary",null,[s[15]||(s[15]=t("a",{id:"Tenet.socket-Tuple{Quantum}",href:"#Tenet.socket-Tuple{Quantum}"},[t("span",{class:"jlbinding"},"Tenet.socket")],-1)),s[16]||(s[16]=e()),n(a,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[17]||(s[17]=i('
julia
socket(q::Quantum)

Returns the socket of a Quantum Tensor Network; i.e. whether it is a Scalar, State or Operator.

source

',3))]),t("details",m,[t("summary",null,[s[18]||(s[18]=t("a",{id:"Tenet.Scalar",href:"#Tenet.Scalar"},[t("span",{class:"jlbinding"},"Tenet.Scalar")],-1)),s[19]||(s[19]=e()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[20]||(s[20]=i('
julia
Scalar <: Socket

Socket representing a scalar; i.e. a Tensor Network with no open sites.

source

',3))]),t("details",f,[t("summary",null,[s[21]||(s[21]=t("a",{id:"Tenet.State",href:"#Tenet.State"},[t("span",{class:"jlbinding"},"Tenet.State")],-1)),s[22]||(s[22]=e()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[23]||(s[23]=i('
julia
State <: Socket

Socket representing a state; i.e. a Tensor Network with only input sites (or only output sites if dual = true).

source

',3))]),t("details",y,[t("summary",null,[s[24]||(s[24]=t("a",{id:"Tenet.Operator",href:"#Tenet.Operator"},[t("span",{class:"jlbinding"},"Tenet.Operator")],-1)),s[25]||(s[25]=e()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[26]||(s[26]=i('
julia
Operator <: Socket

Socket representing an operator; i.e. a Tensor Network with both input and output sites.

source

',3))]),s[29]||(s[29]=t("div",{class:"warning custom-block"},[t("p",{class:"custom-block-title"},"Missing docstring."),t("p",null,[e("Missing docstring for "),t("code",null,"Base.merge(::Quantum, ::Quantum...)"),e(". Check Documenter's build log for details.")])],-1))])}const q=l(d,[["render",j]]);export{Q as __pageData,q as default}; +import{_ as l,c as o,j as t,a as e,G as n,a5 as i,B as p,o as r}from"./chunks/framework.C5U82uhn.js";const Q=JSON.parse('{"title":"Quantum","description":"","frontmatter":{},"headers":[],"relativePath":"api/quantum.md","filePath":"api/quantum.md","lastUpdated":null}'),d={name:"api/quantum.md"},u={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},k={class:"jldocstring custom-block",open:""},h={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},b={class:"jldocstring custom-block",open:""},m={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""},j={class:"jldocstring custom-block",open:""};function f(T,s,v,E,C,w){const a=p("Badge");return r(),o("div",null,[s[27]||(s[27]=t("h1",{id:"quantum",tabindex:"-1"},[e("Quantum "),t("a",{class:"header-anchor",href:"#quantum","aria-label":'Permalink to "Quantum"'},"​")],-1)),t("details",u,[t("summary",null,[s[0]||(s[0]=t("a",{id:"Tenet.Quantum",href:"#Tenet.Quantum"},[t("span",{class:"jlbinding"},"Tenet.Quantum")],-1)),s[1]||(s[1]=e()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[2]||(s[2]=i('
julia
Quantum

Tensor Network with a notion of "causality". This leads to the notion of sites and directionality (input/output).

Notes

source

',5))]),t("details",c,[t("summary",null,[s[3]||(s[3]=t("a",{id:"Tenet.TensorNetwork-Tuple{Quantum}",href:"#Tenet.TensorNetwork-Tuple{Quantum}"},[t("span",{class:"jlbinding"},"Tenet.TensorNetwork")],-1)),s[4]||(s[4]=e()),n(a,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[5]||(s[5]=i('
julia
TensorNetwork(q::AbstractQuantum)

Returns the underlying TensorNetwork of an AbstractQuantum.

source

',3))]),t("details",k,[t("summary",null,[s[6]||(s[6]=t("a",{id:"Base.adjoint-Tuple{Quantum}",href:"#Base.adjoint-Tuple{Quantum}"},[t("span",{class:"jlbinding"},"Base.adjoint")],-1)),s[7]||(s[7]=e()),n(a,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[8]||(s[8]=i('
julia
adjoint(q::Quantum)

Returns the adjoint of a Quantum Tensor Network; i.e. the conjugate Tensor Network with the inputs and outputs swapped.

source

',3))]),t("details",h,[t("summary",null,[s[9]||(s[9]=t("a",{id:"Tenet.sites",href:"#Tenet.sites"},[t("span",{class:"jlbinding"},"Tenet.sites")],-1)),s[10]||(s[10]=e()),n(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[11]||(s[11]=i('
julia
sites(q::AbstractQuantum)

Returns the sites of a AbstractQuantum Tensor Network.

source

',3))]),t("details",g,[t("summary",null,[s[12]||(s[12]=t("a",{id:"Tenet.nsites",href:"#Tenet.nsites"},[t("span",{class:"jlbinding"},"Tenet.nsites")],-1)),s[13]||(s[13]=e()),n(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[14]||(s[14]=i('
julia
nsites(q::AbstractQuantum)

Returns the number of sites of a AbstractQuantum Tensor Network.

source

',3))]),s[28]||(s[28]=i('

Missing docstring.

Missing docstring for Tenet.inds(::Quantum; kwargs...). Check Documenter's build log for details.

Missing docstring.

Missing docstring for Tenet.tensors(::Quantum; kwargs...). Check Documenter's build log for details.

Missing docstring.

Missing docstring for inputs. Check Documenter's build log for details.

Missing docstring.

Missing docstring for outputs. Check Documenter's build log for details.

Missing docstring.

Missing docstring for lanes. Check Documenter's build log for details.

Missing docstring.

Missing docstring for ninputs. Check Documenter's build log for details.

Missing docstring.

Missing docstring for noutputs. Check Documenter's build log for details.

Missing docstring.

Missing docstring for nlanes. Check Documenter's build log for details.

Missing docstring.

Missing docstring for Socket. Check Documenter's build log for details.

',9)),t("details",b,[t("summary",null,[s[15]||(s[15]=t("a",{id:"Tenet.socket-Tuple{Quantum}",href:"#Tenet.socket-Tuple{Quantum}"},[t("span",{class:"jlbinding"},"Tenet.socket")],-1)),s[16]||(s[16]=e()),n(a,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[17]||(s[17]=i('
julia
socket(q::Quantum)

Returns the socket of a Quantum Tensor Network; i.e. whether it is a Scalar, State or Operator.

source

',3))]),t("details",m,[t("summary",null,[s[18]||(s[18]=t("a",{id:"Tenet.Scalar",href:"#Tenet.Scalar"},[t("span",{class:"jlbinding"},"Tenet.Scalar")],-1)),s[19]||(s[19]=e()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[20]||(s[20]=i('
julia
Scalar <: Socket

Socket representing a scalar; i.e. a Tensor Network with no open sites.

source

',3))]),t("details",y,[t("summary",null,[s[21]||(s[21]=t("a",{id:"Tenet.State",href:"#Tenet.State"},[t("span",{class:"jlbinding"},"Tenet.State")],-1)),s[22]||(s[22]=e()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[23]||(s[23]=i('
julia
State <: Socket

Socket representing a state; i.e. a Tensor Network with only input sites (or only output sites if dual = true).

source

',3))]),t("details",j,[t("summary",null,[s[24]||(s[24]=t("a",{id:"Tenet.Operator",href:"#Tenet.Operator"},[t("span",{class:"jlbinding"},"Tenet.Operator")],-1)),s[25]||(s[25]=e()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[26]||(s[26]=i('
julia
Operator <: Socket

Socket representing an operator; i.e. a Tensor Network with both input and output sites.

source

',3))]),s[29]||(s[29]=t("div",{class:"warning custom-block"},[t("p",{class:"custom-block-title"},"Missing docstring."),t("p",null,[e("Missing docstring for "),t("code",null,"Base.merge(::Quantum, ::Quantum...)"),e(". Check Documenter's build log for details.")])],-1))])}const q=l(d,[["render",f]]);export{Q as __pageData,q as default}; diff --git a/previews/PR258/assets/api_tensor.md.DiH3kePi.js b/previews/PR258/assets/api_tensor.md.BO8vNnbc.js similarity index 91% rename from previews/PR258/assets/api_tensor.md.DiH3kePi.js rename to previews/PR258/assets/api_tensor.md.BO8vNnbc.js index b9397526..ac1b0d77 100644 --- a/previews/PR258/assets/api_tensor.md.DiH3kePi.js +++ b/previews/PR258/assets/api_tensor.md.BO8vNnbc.js @@ -1 +1 @@ -import{_ as l,c as o,a5 as e,j as i,a,G as n,B as d,o as r}from"./chunks/framework.C5U82uhn.js";const T=JSON.parse('{"title":"Tensor","description":"","frontmatter":{},"headers":[],"relativePath":"api/tensor.md","filePath":"api/tensor.md","lastUpdated":null}'),p={name:"api/tensor.md"},h={class:"jldocstring custom-block",open:""},k={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},u={class:"jldocstring custom-block",open:""};function b(f,s,E,y,m,j){const t=d("Badge");return r(),o("div",null,[s[15]||(s[15]=e('

Tensor

Missing docstring.

Missing docstring for Base.parent(::Tensor). Check Documenter's build log for details.

Missing docstring.

Missing docstring for inds(::Tensor). Check Documenter's build log for details.

',3)),i("details",h,[i("summary",null,[s[0]||(s[0]=i("a",{id:"Base.size-Tuple{Tensor}",href:"#Base.size-Tuple{Tensor}"},[i("span",{class:"jlbinding"},"Base.size")],-1)),s[1]||(s[1]=a()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[2]||(s[2]=e('
julia
Base.size(::Tensor[, i])

Return the size of the underlying array or the dimension i (specified by Symbol or Integer).

source

',3))]),i("details",k,[i("summary",null,[s[3]||(s[3]=i("a",{id:"Graphs.LinAlg.contract-Tuple{Tensor, Tensor}",href:"#Graphs.LinAlg.contract-Tuple{Tensor, Tensor}"},[i("span",{class:"jlbinding"},"Graphs.LinAlg.contract")],-1)),s[4]||(s[4]=a()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[5]||(s[5]=e('
julia
contract(a::Tensor[, b::Tensor]; dims=nonunique([inds(a)..., inds(b)...]))

Perform tensor contraction operation.

source

',3))]),i("details",c,[i("summary",null,[s[6]||(s[6]=i("a",{id:"LinearAlgebra.svd-Tuple{Tensor}",href:"#LinearAlgebra.svd-Tuple{Tensor}"},[i("span",{class:"jlbinding"},"LinearAlgebra.svd")],-1)),s[7]||(s[7]=a()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[8]||(s[8]=e('
julia
LinearAlgebra.svd(tensor::Tensor; left_inds, right_inds, virtualind, kwargs...)

Perform SVD factorization on a tensor.

Keyword arguments

source

',5))]),i("details",g,[i("summary",null,[s[9]||(s[9]=i("a",{id:"LinearAlgebra.qr-Tuple{Tensor}",href:"#LinearAlgebra.qr-Tuple{Tensor}"},[i("span",{class:"jlbinding"},"LinearAlgebra.qr")],-1)),s[10]||(s[10]=a()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[11]||(s[11]=e('
julia
LinearAlgebra.qr(tensor::Tensor; left_inds, right_inds, virtualind, kwargs...)

Perform QR factorization on a tensor.

Keyword arguments

source

',5))]),i("details",u,[i("summary",null,[s[12]||(s[12]=i("a",{id:"LinearAlgebra.lu-Tuple{Tensor}",href:"#LinearAlgebra.lu-Tuple{Tensor}"},[i("span",{class:"jlbinding"},"LinearAlgebra.lu")],-1)),s[13]||(s[13]=a()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[14]||(s[14]=e('
julia
LinearAlgebra.lu(tensor::Tensor; left_inds, right_inds, virtualind, kwargs...)

Perform LU factorization on a tensor.

Keyword arguments

source

',5))])])}const F=l(p,[["render",b]]);export{T as __pageData,F as default}; +import{_ as l,c as o,a5 as e,j as i,a,G as n,B as r,o as d}from"./chunks/framework.C5U82uhn.js";const T=JSON.parse('{"title":"Tensor","description":"","frontmatter":{},"headers":[],"relativePath":"api/tensor.md","filePath":"api/tensor.md","lastUpdated":null}'),p={name:"api/tensor.md"},h={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},k={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},u={class:"jldocstring custom-block",open:""};function b(E,s,y,f,m,j){const t=r("Badge");return d(),o("div",null,[s[15]||(s[15]=e('

Tensor

Missing docstring.

Missing docstring for Base.parent(::Tensor). Check Documenter's build log for details.

Missing docstring.

Missing docstring for inds(::Tensor). Check Documenter's build log for details.

',3)),i("details",h,[i("summary",null,[s[0]||(s[0]=i("a",{id:"Base.size-Tuple{Tensor}",href:"#Base.size-Tuple{Tensor}"},[i("span",{class:"jlbinding"},"Base.size")],-1)),s[1]||(s[1]=a()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[2]||(s[2]=e('
julia
Base.size(::Tensor[, i])

Return the size of the underlying array or the dimension i (specified by Symbol or Integer).

source

',3))]),i("details",c,[i("summary",null,[s[3]||(s[3]=i("a",{id:"Graphs.LinAlg.contract-Tuple{Tensor, Tensor}",href:"#Graphs.LinAlg.contract-Tuple{Tensor, Tensor}"},[i("span",{class:"jlbinding"},"Graphs.LinAlg.contract")],-1)),s[4]||(s[4]=a()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[5]||(s[5]=e('
julia
contract(a::Tensor[, b::Tensor]; dims=nonunique([inds(a)..., inds(b)...]))

Perform tensor contraction operation.

source

',3))]),i("details",k,[i("summary",null,[s[6]||(s[6]=i("a",{id:"LinearAlgebra.svd-Tuple{Tensor}",href:"#LinearAlgebra.svd-Tuple{Tensor}"},[i("span",{class:"jlbinding"},"LinearAlgebra.svd")],-1)),s[7]||(s[7]=a()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[8]||(s[8]=e('
julia
LinearAlgebra.svd(tensor::Tensor; left_inds, right_inds, virtualind, kwargs...)

Perform SVD factorization on a tensor.

Keyword arguments

source

',5))]),i("details",g,[i("summary",null,[s[9]||(s[9]=i("a",{id:"LinearAlgebra.qr-Tuple{Tensor}",href:"#LinearAlgebra.qr-Tuple{Tensor}"},[i("span",{class:"jlbinding"},"LinearAlgebra.qr")],-1)),s[10]||(s[10]=a()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[11]||(s[11]=e('
julia
LinearAlgebra.qr(tensor::Tensor; left_inds, right_inds, virtualind, kwargs...)

Perform QR factorization on a tensor.

Keyword arguments

source

',5))]),i("details",u,[i("summary",null,[s[12]||(s[12]=i("a",{id:"LinearAlgebra.lu-Tuple{Tensor}",href:"#LinearAlgebra.lu-Tuple{Tensor}"},[i("span",{class:"jlbinding"},"LinearAlgebra.lu")],-1)),s[13]||(s[13]=a()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[14]||(s[14]=e('
julia
LinearAlgebra.lu(tensor::Tensor; left_inds, right_inds, virtualind, kwargs...)

Perform LU factorization on a tensor.

Keyword arguments

source

',5))])])}const F=l(p,[["render",b]]);export{T as __pageData,F as default}; diff --git a/previews/PR258/assets/api_tensor.md.DiH3kePi.lean.js b/previews/PR258/assets/api_tensor.md.BO8vNnbc.lean.js similarity index 91% rename from previews/PR258/assets/api_tensor.md.DiH3kePi.lean.js rename to previews/PR258/assets/api_tensor.md.BO8vNnbc.lean.js index b9397526..ac1b0d77 100644 --- a/previews/PR258/assets/api_tensor.md.DiH3kePi.lean.js +++ b/previews/PR258/assets/api_tensor.md.BO8vNnbc.lean.js @@ -1 +1 @@ -import{_ as l,c as o,a5 as e,j as i,a,G as n,B as d,o as r}from"./chunks/framework.C5U82uhn.js";const T=JSON.parse('{"title":"Tensor","description":"","frontmatter":{},"headers":[],"relativePath":"api/tensor.md","filePath":"api/tensor.md","lastUpdated":null}'),p={name:"api/tensor.md"},h={class:"jldocstring custom-block",open:""},k={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},u={class:"jldocstring custom-block",open:""};function b(f,s,E,y,m,j){const t=d("Badge");return r(),o("div",null,[s[15]||(s[15]=e('

Tensor

Missing docstring.

Missing docstring for Base.parent(::Tensor). Check Documenter's build log for details.

Missing docstring.

Missing docstring for inds(::Tensor). Check Documenter's build log for details.

',3)),i("details",h,[i("summary",null,[s[0]||(s[0]=i("a",{id:"Base.size-Tuple{Tensor}",href:"#Base.size-Tuple{Tensor}"},[i("span",{class:"jlbinding"},"Base.size")],-1)),s[1]||(s[1]=a()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[2]||(s[2]=e('
julia
Base.size(::Tensor[, i])

Return the size of the underlying array or the dimension i (specified by Symbol or Integer).

source

',3))]),i("details",k,[i("summary",null,[s[3]||(s[3]=i("a",{id:"Graphs.LinAlg.contract-Tuple{Tensor, Tensor}",href:"#Graphs.LinAlg.contract-Tuple{Tensor, Tensor}"},[i("span",{class:"jlbinding"},"Graphs.LinAlg.contract")],-1)),s[4]||(s[4]=a()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[5]||(s[5]=e('
julia
contract(a::Tensor[, b::Tensor]; dims=nonunique([inds(a)..., inds(b)...]))

Perform tensor contraction operation.

source

',3))]),i("details",c,[i("summary",null,[s[6]||(s[6]=i("a",{id:"LinearAlgebra.svd-Tuple{Tensor}",href:"#LinearAlgebra.svd-Tuple{Tensor}"},[i("span",{class:"jlbinding"},"LinearAlgebra.svd")],-1)),s[7]||(s[7]=a()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[8]||(s[8]=e('
julia
LinearAlgebra.svd(tensor::Tensor; left_inds, right_inds, virtualind, kwargs...)

Perform SVD factorization on a tensor.

Keyword arguments

source

',5))]),i("details",g,[i("summary",null,[s[9]||(s[9]=i("a",{id:"LinearAlgebra.qr-Tuple{Tensor}",href:"#LinearAlgebra.qr-Tuple{Tensor}"},[i("span",{class:"jlbinding"},"LinearAlgebra.qr")],-1)),s[10]||(s[10]=a()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[11]||(s[11]=e('
julia
LinearAlgebra.qr(tensor::Tensor; left_inds, right_inds, virtualind, kwargs...)

Perform QR factorization on a tensor.

Keyword arguments

source

',5))]),i("details",u,[i("summary",null,[s[12]||(s[12]=i("a",{id:"LinearAlgebra.lu-Tuple{Tensor}",href:"#LinearAlgebra.lu-Tuple{Tensor}"},[i("span",{class:"jlbinding"},"LinearAlgebra.lu")],-1)),s[13]||(s[13]=a()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[14]||(s[14]=e('
julia
LinearAlgebra.lu(tensor::Tensor; left_inds, right_inds, virtualind, kwargs...)

Perform LU factorization on a tensor.

Keyword arguments

source

',5))])])}const F=l(p,[["render",b]]);export{T as __pageData,F as default}; +import{_ as l,c as o,a5 as e,j as i,a,G as n,B as r,o as d}from"./chunks/framework.C5U82uhn.js";const T=JSON.parse('{"title":"Tensor","description":"","frontmatter":{},"headers":[],"relativePath":"api/tensor.md","filePath":"api/tensor.md","lastUpdated":null}'),p={name:"api/tensor.md"},h={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},k={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},u={class:"jldocstring custom-block",open:""};function b(E,s,y,f,m,j){const t=r("Badge");return d(),o("div",null,[s[15]||(s[15]=e('

Tensor

Missing docstring.

Missing docstring for Base.parent(::Tensor). Check Documenter's build log for details.

Missing docstring.

Missing docstring for inds(::Tensor). Check Documenter's build log for details.

',3)),i("details",h,[i("summary",null,[s[0]||(s[0]=i("a",{id:"Base.size-Tuple{Tensor}",href:"#Base.size-Tuple{Tensor}"},[i("span",{class:"jlbinding"},"Base.size")],-1)),s[1]||(s[1]=a()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[2]||(s[2]=e('
julia
Base.size(::Tensor[, i])

Return the size of the underlying array or the dimension i (specified by Symbol or Integer).

source

',3))]),i("details",c,[i("summary",null,[s[3]||(s[3]=i("a",{id:"Graphs.LinAlg.contract-Tuple{Tensor, Tensor}",href:"#Graphs.LinAlg.contract-Tuple{Tensor, Tensor}"},[i("span",{class:"jlbinding"},"Graphs.LinAlg.contract")],-1)),s[4]||(s[4]=a()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[5]||(s[5]=e('
julia
contract(a::Tensor[, b::Tensor]; dims=nonunique([inds(a)..., inds(b)...]))

Perform tensor contraction operation.

source

',3))]),i("details",k,[i("summary",null,[s[6]||(s[6]=i("a",{id:"LinearAlgebra.svd-Tuple{Tensor}",href:"#LinearAlgebra.svd-Tuple{Tensor}"},[i("span",{class:"jlbinding"},"LinearAlgebra.svd")],-1)),s[7]||(s[7]=a()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[8]||(s[8]=e('
julia
LinearAlgebra.svd(tensor::Tensor; left_inds, right_inds, virtualind, kwargs...)

Perform SVD factorization on a tensor.

Keyword arguments

source

',5))]),i("details",g,[i("summary",null,[s[9]||(s[9]=i("a",{id:"LinearAlgebra.qr-Tuple{Tensor}",href:"#LinearAlgebra.qr-Tuple{Tensor}"},[i("span",{class:"jlbinding"},"LinearAlgebra.qr")],-1)),s[10]||(s[10]=a()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[11]||(s[11]=e('
julia
LinearAlgebra.qr(tensor::Tensor; left_inds, right_inds, virtualind, kwargs...)

Perform QR factorization on a tensor.

Keyword arguments

source

',5))]),i("details",u,[i("summary",null,[s[12]||(s[12]=i("a",{id:"LinearAlgebra.lu-Tuple{Tensor}",href:"#LinearAlgebra.lu-Tuple{Tensor}"},[i("span",{class:"jlbinding"},"LinearAlgebra.lu")],-1)),s[13]||(s[13]=a()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[14]||(s[14]=e('
julia
LinearAlgebra.lu(tensor::Tensor; left_inds, right_inds, virtualind, kwargs...)

Perform LU factorization on a tensor.

Keyword arguments

source

',5))])])}const F=l(p,[["render",b]]);export{T as __pageData,F as default}; diff --git a/previews/PR258/assets/api_tensornetwork.md.Dy5VgWXb.js b/previews/PR258/assets/api_tensornetwork.md.DCdZdglE.js similarity index 92% rename from previews/PR258/assets/api_tensornetwork.md.Dy5VgWXb.js rename to previews/PR258/assets/api_tensornetwork.md.DCdZdglE.js index 1bd8abf9..6c1d9d89 100644 --- a/previews/PR258/assets/api_tensornetwork.md.Dy5VgWXb.js +++ b/previews/PR258/assets/api_tensornetwork.md.DCdZdglE.js @@ -1,7 +1,7 @@ -import{_ as l,c as o,j as e,a as i,G as a,a5 as n,B as r,o as p}from"./chunks/framework.C5U82uhn.js";const M=JSON.parse('{"title":"TensorNetwork","description":"","frontmatter":{},"headers":[],"relativePath":"api/tensornetwork.md","filePath":"api/tensornetwork.md","lastUpdated":null}'),d={name:"api/tensornetwork.md"},k={class:"jldocstring custom-block",open:""},h={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},u={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""},b={class:"jldocstring custom-block",open:""},T={class:"jldocstring custom-block",open:""},f={class:"jldocstring custom-block",open:""},E={class:"jldocstring custom-block",open:""},m={class:"jldocstring custom-block",open:""},j={class:"jldocstring custom-block",open:""},w={class:"jldocstring custom-block",open:""},v={class:"jldocstring custom-block",open:""},F={class:"jldocstring custom-block",open:""},C={class:"jldocstring custom-block",open:""},B={class:"jldocstring custom-block",open:""},N={class:"jldocstring custom-block",open:""},A={class:"jldocstring custom-block",open:""},D={class:"jldocstring custom-block",open:""};function x(L,s,R,q,P,O){const t=r("Badge");return p(),o("div",null,[s[60]||(s[60]=e("h1",{id:"tensornetwork",tabindex:"-1"},[i("TensorNetwork "),e("a",{class:"header-anchor",href:"#tensornetwork","aria-label":'Permalink to "TensorNetwork"'},"​")],-1)),e("details",k,[e("summary",null,[s[0]||(s[0]=e("a",{id:"Tenet.TensorNetwork",href:"#Tenet.TensorNetwork"},[e("span",{class:"jlbinding"},"Tenet.TensorNetwork")],-1)),s[1]||(s[1]=i()),a(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[2]||(s[2]=n('
julia
TensorNetwork

Graph of interconnected tensors, representing a multilinear equation. Graph vertices represent tensors and graph edges, tensor indices.

source

',3))]),s[61]||(s[61]=e("div",{class:"warning custom-block"},[e("p",{class:"custom-block-title"},"Missing docstring."),e("p",null,[i("Missing docstring for "),e("code",null,"inds(::Tenet.TensorNetwork)"),i(". Check Documenter's build log for details.")])],-1)),e("details",h,[e("summary",null,[s[3]||(s[3]=e("a",{id:"Base.size-Tuple{TensorNetwork}",href:"#Base.size-Tuple{TensorNetwork}"},[e("span",{class:"jlbinding"},"Base.size")],-1)),s[4]||(s[4]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[5]||(s[5]=n(`
julia
size(tn::AbstractTensorNetwork)
-size(tn::AbstractTensorNetwork, index)

Return a mapping from indices to their dimensionalities.

If index is set, return the dimensionality of index. This is equivalent to size(tn)[index].

source

`,4))]),s[62]||(s[62]=e("div",{class:"warning custom-block"},[e("p",{class:"custom-block-title"},"Missing docstring."),e("p",null,[i("Missing docstring for "),e("code",null,"tensors(::Tenet.TensorNetwork)"),i(". Check Documenter's build log for details.")])],-1)),e("details",c,[e("summary",null,[s[6]||(s[6]=e("a",{id:"Base.push!-Tuple{TensorNetwork, Tensor}",href:"#Base.push!-Tuple{TensorNetwork, Tensor}"},[e("span",{class:"jlbinding"},"Base.push!")],-1)),s[7]||(s[7]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[8]||(s[8]=n('
julia
push!(tn::AbstractTensorNetwork, tensor::Tensor)

Add a new tensor to the Tensor Network.

See also: append!, pop!.

source

',4))]),e("details",g,[e("summary",null,[s[9]||(s[9]=e("a",{id:"Base.pop!-Tuple{TensorNetwork, Tensor}",href:"#Base.pop!-Tuple{TensorNetwork, Tensor}"},[e("span",{class:"jlbinding"},"Base.pop!")],-1)),s[10]||(s[10]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[11]||(s[11]=n(`
julia
pop!(tn::TensorNetwork, tensor::Tensor)
-pop!(tn::TensorNetwork, i::Union{Symbol,AbstractVecOrTuple{Symbol}})

Remove a tensor from the Tensor Network and returns it. If a Tensor is passed, then the first tensor satisfies egality (i.e. or ===) will be removed. If a Symbol or a list of Symbols is passed, then remove and return the tensors that contain all the indices.

See also: push!, delete!.

source

`,4))]),e("details",u,[e("summary",null,[s[12]||(s[12]=e("a",{id:'Base.append!-Tuple{TensorNetwork, Union{Tuple{Vararg{var"#s12"}}, AbstractVector{<:var"#s12"}} where var"#s12"<:Tensor}',href:'#Base.append!-Tuple{TensorNetwork, Union{Tuple{Vararg{var"#s12"}}, AbstractVector{<:var"#s12"}} where var"#s12"<:Tensor}'},[e("span",{class:"jlbinding"},"Base.append!")],-1)),s[13]||(s[13]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[14]||(s[14]=n('
julia
append!(tn::TensorNetwork, tensors::AbstractVecOrTuple{<:Tensor})

Add a list of tensors to a TensorNetwork.

See also: push!, merge!.

source

',4))]),e("details",y,[e("summary",null,[s[15]||(s[15]=e("a",{id:"Base.merge!-Tuple{TensorNetwork, TensorNetwork}",href:"#Base.merge!-Tuple{TensorNetwork, TensorNetwork}"},[e("span",{class:"jlbinding"},"Base.merge!")],-1)),s[16]||(s[16]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[17]||(s[17]=n(`
julia
merge!(self::TensorNetwork, others::TensorNetwork...)
-merge(self::TensorNetwork, others::TensorNetwork...)

Fuse various TensorNetworks into one.

See also: append!.

source

`,4))]),e("details",b,[e("summary",null,[s[18]||(s[18]=e("a",{id:"Base.delete!-Tuple{TensorNetwork, Any}",href:"#Base.delete!-Tuple{TensorNetwork, Any}"},[e("span",{class:"jlbinding"},"Base.delete!")],-1)),s[19]||(s[19]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[20]||(s[20]=n('
julia
delete!(tn::TensorNetwork, x)

Like pop! but return the TensorNetwork instead.

source

',3))]),e("details",T,[e("summary",null,[s[21]||(s[21]=e("a",{id:"Base.replace!",href:"#Base.replace!"},[e("span",{class:"jlbinding"},"Base.replace!")],-1)),s[22]||(s[22]=i()),a(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[23]||(s[23]=n(`
julia
replace!(tn::AbstractTensorNetwork, old => new...)
-replace(tn::AbstractTensorNetwork, old => new...)

Replace the element in old with the one in new. Depending on the types of old and new, the following behaviour is expected:

source

`,4))]),e("details",f,[e("summary",null,[s[24]||(s[24]=e("a",{id:"Base.selectdim",href:"#Base.selectdim"},[e("span",{class:"jlbinding"},"Base.selectdim")],-1)),s[25]||(s[25]=i()),a(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[26]||(s[26]=n('
julia
selectdim(tn::AbstractTensorNetwork, index::Symbol, i)

Return a copy of the AbstractTensorNetwork where index has been projected to dimension i.

See also: view, slice!.

source

',4))]),e("details",E,[e("summary",null,[s[27]||(s[27]=e("a",{id:"Tenet.slice!",href:"#Tenet.slice!"},[e("span",{class:"jlbinding"},"Tenet.slice!")],-1)),s[28]||(s[28]=i()),a(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[29]||(s[29]=n('
julia
slice!(tn::AbstractTensorNetwork, index::Symbol, i)

In-place projection of index on dimension i.

See also: selectdim, view.

source

',4))]),e("details",m,[e("summary",null,[s[30]||(s[30]=e("a",{id:"Base.view-Tuple{TensorNetwork}",href:"#Base.view-Tuple{TensorNetwork}"},[e("span",{class:"jlbinding"},"Base.view")],-1)),s[31]||(s[31]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[32]||(s[32]=n('
julia
view(tn::AbstractTensorNetwork, index => i...)

Return a copy of the AbstractTensorNetwork where each index has been projected to dimension i. It is equivalent to a recursive call of selectdim.

See also: selectdim, slice!.

source

',4))]),e("details",j,[e("summary",null,[s[33]||(s[33]=e("a",{id:"Base.copy-Tuple{TensorNetwork}",href:"#Base.copy-Tuple{TensorNetwork}"},[e("span",{class:"jlbinding"},"Base.copy")],-1)),s[34]||(s[34]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[35]||(s[35]=n('
julia
copy(tn::TensorNetwork)

Return a shallow copy of a TensorNetwork.

source

',3))]),s[63]||(s[63]=e("div",{class:"warning custom-block"},[e("p",{class:"custom-block-title"},"Missing docstring."),e("p",null,[i("Missing docstring for "),e("code",null,"Base.rand(::Type{TensorNetwork}, n::Integer, regularity::Integer)"),i(". Check Documenter's build log for details.")])],-1)),s[64]||(s[64]=e("h2",{id:"transformations",tabindex:"-1"},[i("Transformations "),e("a",{class:"header-anchor",href:"#transformations","aria-label":'Permalink to "Transformations"'},"​")],-1)),e("details",w,[e("summary",null,[s[36]||(s[36]=e("a",{id:"Tenet.transform",href:"#Tenet.transform"},[e("span",{class:"jlbinding"},"Tenet.transform")],-1)),s[37]||(s[37]=i()),a(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[38]||(s[38]=n(`
julia
transform(tn::TensorNetwork, config::Transformation)
-transform(tn::TensorNetwork, configs)

Return a new TensorNetwork where some Transformation has been performed into it.

See also: transform!.

source

`,4))]),e("details",v,[e("summary",null,[s[39]||(s[39]=e("a",{id:"Tenet.transform!",href:"#Tenet.transform!"},[e("span",{class:"jlbinding"},"Tenet.transform!")],-1)),s[40]||(s[40]=i()),a(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[41]||(s[41]=n(`
julia
transform!(tn::TensorNetwork, config::Transformation)
-transform!(tn::TensorNetwork, configs)

In-place version of transform.

source

`,3))]),e("details",F,[e("summary",null,[s[42]||(s[42]=e("a",{id:"Tenet.HyperFlatten",href:"#Tenet.HyperFlatten"},[e("span",{class:"jlbinding"},"Tenet.HyperFlatten")],-1)),s[43]||(s[43]=i()),a(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[44]||(s[44]=n('
julia
HyperFlatten <: Transformation

Convert hyperindices to COPY-tensors, represented by DeltaArrays. This transformation is always used by default when visualizing a TensorNetwork with plot.

See also: HyperGroup.

source

',4))]),e("details",C,[e("summary",null,[s[45]||(s[45]=e("a",{id:"Tenet.HyperGroup",href:"#Tenet.HyperGroup"},[e("span",{class:"jlbinding"},"Tenet.HyperGroup")],-1)),s[46]||(s[46]=i()),a(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[47]||(s[47]=n('
julia
HyperGroup <: Transformation

Convert COPY-tensors, represented by DeltaArrays, to hyperindices.

See also: HyperFlatten.

source

',4))]),e("details",B,[e("summary",null,[s[48]||(s[48]=e("a",{id:"Tenet.ContractSimplification",href:"#Tenet.ContractSimplification"},[e("span",{class:"jlbinding"},"Tenet.ContractSimplification")],-1)),s[49]||(s[49]=i()),a(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[50]||(s[50]=n('
julia
ContractSimplification <: Transformation

Preemptively contract tensors whose result doesn't increase in size.

source

',3))]),e("details",N,[e("summary",null,[s[51]||(s[51]=e("a",{id:"Tenet.DiagonalReduction",href:"#Tenet.DiagonalReduction"},[e("span",{class:"jlbinding"},"Tenet.DiagonalReduction")],-1)),s[52]||(s[52]=i()),a(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[53]||(s[53]=n('
julia
DiagonalReduction <: Transformation

Reduce the dimension of a Tensor in a TensorNetwork when it has a pair of indices that fulfil a diagonal structure.

Keyword Arguments

source

',5))]),e("details",A,[e("summary",null,[s[54]||(s[54]=e("a",{id:"Tenet.AntiDiagonalGauging",href:"#Tenet.AntiDiagonalGauging"},[e("span",{class:"jlbinding"},"Tenet.AntiDiagonalGauging")],-1)),s[55]||(s[55]=i()),a(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[56]||(s[56]=n('
julia
AntiDiagonalGauging <: Transformation

Reverse the order of tensor indices that fulfill the anti-diagonal condition. While this transformation doesn't directly enhance computational efficiency, it sets up the TensorNetwork for other operations that do.

Keyword Arguments

source

',5))]),e("details",D,[e("summary",null,[s[57]||(s[57]=e("a",{id:"Tenet.Truncate",href:"#Tenet.Truncate"},[e("span",{class:"jlbinding"},"Tenet.Truncate")],-1)),s[58]||(s[58]=i()),a(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[59]||(s[59]=n('
julia
Truncate <: Transformation

Truncate the dimension of a Tensor in a TensorNetwork when it contains columns with all elements smaller than atol.

Keyword Arguments

source

',5))]),s[65]||(s[65]=e("div",{class:"warning custom-block"},[e("p",{class:"custom-block-title"},"Missing docstring."),e("p",null,[i("Missing docstring for "),e("code",null,"Tenet.SplitSimplificationd"),i(". Check Documenter's build log for details.")])],-1))])}const V=l(d,[["render",x]]);export{M as __pageData,V as default}; +import{_ as l,c as o,j as e,a as i,G as a,a5 as n,B as r,o as p}from"./chunks/framework.C5U82uhn.js";const M=JSON.parse('{"title":"TensorNetwork","description":"","frontmatter":{},"headers":[],"relativePath":"api/tensornetwork.md","filePath":"api/tensornetwork.md","lastUpdated":null}'),d={name:"api/tensornetwork.md"},k={class:"jldocstring custom-block",open:""},h={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},u={class:"jldocstring custom-block",open:""},b={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""},T={class:"jldocstring custom-block",open:""},E={class:"jldocstring custom-block",open:""},m={class:"jldocstring custom-block",open:""},f={class:"jldocstring custom-block",open:""},j={class:"jldocstring custom-block",open:""},w={class:"jldocstring custom-block",open:""},v={class:"jldocstring custom-block",open:""},F={class:"jldocstring custom-block",open:""},C={class:"jldocstring custom-block",open:""},B={class:"jldocstring custom-block",open:""},N={class:"jldocstring custom-block",open:""},A={class:"jldocstring custom-block",open:""},D={class:"jldocstring custom-block",open:""};function x(L,s,R,q,P,O){const t=r("Badge");return p(),o("div",null,[s[60]||(s[60]=e("h1",{id:"tensornetwork",tabindex:"-1"},[i("TensorNetwork "),e("a",{class:"header-anchor",href:"#tensornetwork","aria-label":'Permalink to "TensorNetwork"'},"​")],-1)),e("details",k,[e("summary",null,[s[0]||(s[0]=e("a",{id:"Tenet.TensorNetwork",href:"#Tenet.TensorNetwork"},[e("span",{class:"jlbinding"},"Tenet.TensorNetwork")],-1)),s[1]||(s[1]=i()),a(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[2]||(s[2]=n('
julia
TensorNetwork

Graph of interconnected tensors, representing a multilinear equation. Graph vertices represent tensors and graph edges, tensor indices.

source

',3))]),s[61]||(s[61]=e("div",{class:"warning custom-block"},[e("p",{class:"custom-block-title"},"Missing docstring."),e("p",null,[i("Missing docstring for "),e("code",null,"inds(::Tenet.TensorNetwork)"),i(". Check Documenter's build log for details.")])],-1)),e("details",h,[e("summary",null,[s[3]||(s[3]=e("a",{id:"Base.size-Tuple{TensorNetwork}",href:"#Base.size-Tuple{TensorNetwork}"},[e("span",{class:"jlbinding"},"Base.size")],-1)),s[4]||(s[4]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[5]||(s[5]=n(`
julia
size(tn::AbstractTensorNetwork)
+size(tn::AbstractTensorNetwork, index)

Return a mapping from indices to their dimensionalities.

If index is set, return the dimensionality of index. This is equivalent to size(tn)[index].

source

`,4))]),s[62]||(s[62]=e("div",{class:"warning custom-block"},[e("p",{class:"custom-block-title"},"Missing docstring."),e("p",null,[i("Missing docstring for "),e("code",null,"tensors(::Tenet.TensorNetwork)"),i(". Check Documenter's build log for details.")])],-1)),e("details",c,[e("summary",null,[s[6]||(s[6]=e("a",{id:"Base.push!-Tuple{TensorNetwork, Tensor}",href:"#Base.push!-Tuple{TensorNetwork, Tensor}"},[e("span",{class:"jlbinding"},"Base.push!")],-1)),s[7]||(s[7]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[8]||(s[8]=n('
julia
push!(tn::AbstractTensorNetwork, tensor::Tensor)

Add a new tensor to the Tensor Network.

See also: append!, pop!.

source

',4))]),e("details",g,[e("summary",null,[s[9]||(s[9]=e("a",{id:"Base.pop!-Tuple{TensorNetwork, Tensor}",href:"#Base.pop!-Tuple{TensorNetwork, Tensor}"},[e("span",{class:"jlbinding"},"Base.pop!")],-1)),s[10]||(s[10]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[11]||(s[11]=n(`
julia
pop!(tn::TensorNetwork, tensor::Tensor)
+pop!(tn::TensorNetwork, i::Union{Symbol,AbstractVecOrTuple{Symbol}})

Remove a tensor from the Tensor Network and returns it. If a Tensor is passed, then the first tensor satisfies egality (i.e. or ===) will be removed. If a Symbol or a list of Symbols is passed, then remove and return the tensors that contain all the indices.

See also: push!, delete!.

source

`,4))]),e("details",u,[e("summary",null,[s[12]||(s[12]=e("a",{id:'Base.append!-Tuple{TensorNetwork, Union{Tuple{Vararg{var"#s12"}}, AbstractVector{<:var"#s12"}} where var"#s12"<:Tensor}',href:'#Base.append!-Tuple{TensorNetwork, Union{Tuple{Vararg{var"#s12"}}, AbstractVector{<:var"#s12"}} where var"#s12"<:Tensor}'},[e("span",{class:"jlbinding"},"Base.append!")],-1)),s[13]||(s[13]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[14]||(s[14]=n('
julia
append!(tn::TensorNetwork, tensors::AbstractVecOrTuple{<:Tensor})

Add a list of tensors to a TensorNetwork.

See also: push!, merge!.

source

',4))]),e("details",b,[e("summary",null,[s[15]||(s[15]=e("a",{id:"Base.merge!-Tuple{TensorNetwork, TensorNetwork}",href:"#Base.merge!-Tuple{TensorNetwork, TensorNetwork}"},[e("span",{class:"jlbinding"},"Base.merge!")],-1)),s[16]||(s[16]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[17]||(s[17]=n(`
julia
merge!(self::TensorNetwork, others::TensorNetwork...)
+merge(self::TensorNetwork, others::TensorNetwork...)

Fuse various TensorNetworks into one.

See also: append!.

source

`,4))]),e("details",y,[e("summary",null,[s[18]||(s[18]=e("a",{id:"Base.delete!-Tuple{TensorNetwork, Any}",href:"#Base.delete!-Tuple{TensorNetwork, Any}"},[e("span",{class:"jlbinding"},"Base.delete!")],-1)),s[19]||(s[19]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[20]||(s[20]=n('
julia
delete!(tn::TensorNetwork, x)

Like pop! but return the TensorNetwork instead.

source

',3))]),e("details",T,[e("summary",null,[s[21]||(s[21]=e("a",{id:"Base.replace!",href:"#Base.replace!"},[e("span",{class:"jlbinding"},"Base.replace!")],-1)),s[22]||(s[22]=i()),a(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[23]||(s[23]=n(`
julia
replace!(tn::AbstractTensorNetwork, old => new...)
+replace(tn::AbstractTensorNetwork, old => new...)

Replace the element in old with the one in new. Depending on the types of old and new, the following behaviour is expected:

source

`,4))]),e("details",E,[e("summary",null,[s[24]||(s[24]=e("a",{id:"Base.selectdim",href:"#Base.selectdim"},[e("span",{class:"jlbinding"},"Base.selectdim")],-1)),s[25]||(s[25]=i()),a(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[26]||(s[26]=n('
julia
selectdim(tn::AbstractTensorNetwork, index::Symbol, i)

Return a copy of the AbstractTensorNetwork where index has been projected to dimension i.

See also: view, slice!.

source

',4))]),e("details",m,[e("summary",null,[s[27]||(s[27]=e("a",{id:"Tenet.slice!",href:"#Tenet.slice!"},[e("span",{class:"jlbinding"},"Tenet.slice!")],-1)),s[28]||(s[28]=i()),a(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[29]||(s[29]=n('
julia
slice!(tn::AbstractTensorNetwork, index::Symbol, i)

In-place projection of index on dimension i.

See also: selectdim, view.

source

',4))]),e("details",f,[e("summary",null,[s[30]||(s[30]=e("a",{id:"Base.view-Tuple{TensorNetwork}",href:"#Base.view-Tuple{TensorNetwork}"},[e("span",{class:"jlbinding"},"Base.view")],-1)),s[31]||(s[31]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[32]||(s[32]=n('
julia
view(tn::AbstractTensorNetwork, index => i...)

Return a copy of the AbstractTensorNetwork where each index has been projected to dimension i. It is equivalent to a recursive call of selectdim.

See also: selectdim, slice!.

source

',4))]),e("details",j,[e("summary",null,[s[33]||(s[33]=e("a",{id:"Base.copy-Tuple{TensorNetwork}",href:"#Base.copy-Tuple{TensorNetwork}"},[e("span",{class:"jlbinding"},"Base.copy")],-1)),s[34]||(s[34]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[35]||(s[35]=n('
julia
copy(tn::TensorNetwork)

Return a shallow copy of a TensorNetwork.

source

',3))]),s[63]||(s[63]=e("div",{class:"warning custom-block"},[e("p",{class:"custom-block-title"},"Missing docstring."),e("p",null,[i("Missing docstring for "),e("code",null,"Base.rand(::Type{TensorNetwork}, n::Integer, regularity::Integer)"),i(". Check Documenter's build log for details.")])],-1)),s[64]||(s[64]=e("h2",{id:"transformations",tabindex:"-1"},[i("Transformations "),e("a",{class:"header-anchor",href:"#transformations","aria-label":'Permalink to "Transformations"'},"​")],-1)),e("details",w,[e("summary",null,[s[36]||(s[36]=e("a",{id:"Tenet.transform",href:"#Tenet.transform"},[e("span",{class:"jlbinding"},"Tenet.transform")],-1)),s[37]||(s[37]=i()),a(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[38]||(s[38]=n(`
julia
transform(tn::TensorNetwork, config::Transformation)
+transform(tn::TensorNetwork, configs)

Return a new TensorNetwork where some Transformation has been performed into it.

See also: transform!.

source

`,4))]),e("details",v,[e("summary",null,[s[39]||(s[39]=e("a",{id:"Tenet.transform!",href:"#Tenet.transform!"},[e("span",{class:"jlbinding"},"Tenet.transform!")],-1)),s[40]||(s[40]=i()),a(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[41]||(s[41]=n(`
julia
transform!(tn::TensorNetwork, config::Transformation)
+transform!(tn::TensorNetwork, configs)

In-place version of transform.

source

`,3))]),e("details",F,[e("summary",null,[s[42]||(s[42]=e("a",{id:"Tenet.HyperFlatten",href:"#Tenet.HyperFlatten"},[e("span",{class:"jlbinding"},"Tenet.HyperFlatten")],-1)),s[43]||(s[43]=i()),a(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[44]||(s[44]=n('
julia
HyperFlatten <: Transformation

Convert hyperindices to COPY-tensors, represented by DeltaArrays. This transformation is always used by default when visualizing a TensorNetwork with plot.

See also: HyperGroup.

source

',4))]),e("details",C,[e("summary",null,[s[45]||(s[45]=e("a",{id:"Tenet.HyperGroup",href:"#Tenet.HyperGroup"},[e("span",{class:"jlbinding"},"Tenet.HyperGroup")],-1)),s[46]||(s[46]=i()),a(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[47]||(s[47]=n('
julia
HyperGroup <: Transformation

Convert COPY-tensors, represented by DeltaArrays, to hyperindices.

See also: HyperFlatten.

source

',4))]),e("details",B,[e("summary",null,[s[48]||(s[48]=e("a",{id:"Tenet.ContractSimplification",href:"#Tenet.ContractSimplification"},[e("span",{class:"jlbinding"},"Tenet.ContractSimplification")],-1)),s[49]||(s[49]=i()),a(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[50]||(s[50]=n('
julia
ContractSimplification <: Transformation

Preemptively contract tensors whose result doesn't increase in size.

source

',3))]),e("details",N,[e("summary",null,[s[51]||(s[51]=e("a",{id:"Tenet.DiagonalReduction",href:"#Tenet.DiagonalReduction"},[e("span",{class:"jlbinding"},"Tenet.DiagonalReduction")],-1)),s[52]||(s[52]=i()),a(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[53]||(s[53]=n('
julia
DiagonalReduction <: Transformation

Reduce the dimension of a Tensor in a TensorNetwork when it has a pair of indices that fulfil a diagonal structure.

Keyword Arguments

source

',5))]),e("details",A,[e("summary",null,[s[54]||(s[54]=e("a",{id:"Tenet.AntiDiagonalGauging",href:"#Tenet.AntiDiagonalGauging"},[e("span",{class:"jlbinding"},"Tenet.AntiDiagonalGauging")],-1)),s[55]||(s[55]=i()),a(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[56]||(s[56]=n('
julia
AntiDiagonalGauging <: Transformation

Reverse the order of tensor indices that fulfill the anti-diagonal condition. While this transformation doesn't directly enhance computational efficiency, it sets up the TensorNetwork for other operations that do.

Keyword Arguments

source

',5))]),e("details",D,[e("summary",null,[s[57]||(s[57]=e("a",{id:"Tenet.Truncate",href:"#Tenet.Truncate"},[e("span",{class:"jlbinding"},"Tenet.Truncate")],-1)),s[58]||(s[58]=i()),a(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[59]||(s[59]=n('
julia
Truncate <: Transformation

Truncate the dimension of a Tensor in a TensorNetwork when it contains columns with all elements smaller than atol.

Keyword Arguments

source

',5))]),s[65]||(s[65]=e("div",{class:"warning custom-block"},[e("p",{class:"custom-block-title"},"Missing docstring."),e("p",null,[i("Missing docstring for "),e("code",null,"Tenet.SplitSimplificationd"),i(". Check Documenter's build log for details.")])],-1))])}const V=l(d,[["render",x]]);export{M as __pageData,V as default}; diff --git a/previews/PR258/assets/api_tensornetwork.md.Dy5VgWXb.lean.js b/previews/PR258/assets/api_tensornetwork.md.DCdZdglE.lean.js similarity index 92% rename from previews/PR258/assets/api_tensornetwork.md.Dy5VgWXb.lean.js rename to previews/PR258/assets/api_tensornetwork.md.DCdZdglE.lean.js index 1bd8abf9..6c1d9d89 100644 --- a/previews/PR258/assets/api_tensornetwork.md.Dy5VgWXb.lean.js +++ b/previews/PR258/assets/api_tensornetwork.md.DCdZdglE.lean.js @@ -1,7 +1,7 @@ -import{_ as l,c as o,j as e,a as i,G as a,a5 as n,B as r,o as p}from"./chunks/framework.C5U82uhn.js";const M=JSON.parse('{"title":"TensorNetwork","description":"","frontmatter":{},"headers":[],"relativePath":"api/tensornetwork.md","filePath":"api/tensornetwork.md","lastUpdated":null}'),d={name:"api/tensornetwork.md"},k={class:"jldocstring custom-block",open:""},h={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},u={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""},b={class:"jldocstring custom-block",open:""},T={class:"jldocstring custom-block",open:""},f={class:"jldocstring custom-block",open:""},E={class:"jldocstring custom-block",open:""},m={class:"jldocstring custom-block",open:""},j={class:"jldocstring custom-block",open:""},w={class:"jldocstring custom-block",open:""},v={class:"jldocstring custom-block",open:""},F={class:"jldocstring custom-block",open:""},C={class:"jldocstring custom-block",open:""},B={class:"jldocstring custom-block",open:""},N={class:"jldocstring custom-block",open:""},A={class:"jldocstring custom-block",open:""},D={class:"jldocstring custom-block",open:""};function x(L,s,R,q,P,O){const t=r("Badge");return p(),o("div",null,[s[60]||(s[60]=e("h1",{id:"tensornetwork",tabindex:"-1"},[i("TensorNetwork "),e("a",{class:"header-anchor",href:"#tensornetwork","aria-label":'Permalink to "TensorNetwork"'},"​")],-1)),e("details",k,[e("summary",null,[s[0]||(s[0]=e("a",{id:"Tenet.TensorNetwork",href:"#Tenet.TensorNetwork"},[e("span",{class:"jlbinding"},"Tenet.TensorNetwork")],-1)),s[1]||(s[1]=i()),a(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[2]||(s[2]=n('
julia
TensorNetwork

Graph of interconnected tensors, representing a multilinear equation. Graph vertices represent tensors and graph edges, tensor indices.

source

',3))]),s[61]||(s[61]=e("div",{class:"warning custom-block"},[e("p",{class:"custom-block-title"},"Missing docstring."),e("p",null,[i("Missing docstring for "),e("code",null,"inds(::Tenet.TensorNetwork)"),i(". Check Documenter's build log for details.")])],-1)),e("details",h,[e("summary",null,[s[3]||(s[3]=e("a",{id:"Base.size-Tuple{TensorNetwork}",href:"#Base.size-Tuple{TensorNetwork}"},[e("span",{class:"jlbinding"},"Base.size")],-1)),s[4]||(s[4]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[5]||(s[5]=n(`
julia
size(tn::AbstractTensorNetwork)
-size(tn::AbstractTensorNetwork, index)

Return a mapping from indices to their dimensionalities.

If index is set, return the dimensionality of index. This is equivalent to size(tn)[index].

source

`,4))]),s[62]||(s[62]=e("div",{class:"warning custom-block"},[e("p",{class:"custom-block-title"},"Missing docstring."),e("p",null,[i("Missing docstring for "),e("code",null,"tensors(::Tenet.TensorNetwork)"),i(". Check Documenter's build log for details.")])],-1)),e("details",c,[e("summary",null,[s[6]||(s[6]=e("a",{id:"Base.push!-Tuple{TensorNetwork, Tensor}",href:"#Base.push!-Tuple{TensorNetwork, Tensor}"},[e("span",{class:"jlbinding"},"Base.push!")],-1)),s[7]||(s[7]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[8]||(s[8]=n('
julia
push!(tn::AbstractTensorNetwork, tensor::Tensor)

Add a new tensor to the Tensor Network.

See also: append!, pop!.

source

',4))]),e("details",g,[e("summary",null,[s[9]||(s[9]=e("a",{id:"Base.pop!-Tuple{TensorNetwork, Tensor}",href:"#Base.pop!-Tuple{TensorNetwork, Tensor}"},[e("span",{class:"jlbinding"},"Base.pop!")],-1)),s[10]||(s[10]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[11]||(s[11]=n(`
julia
pop!(tn::TensorNetwork, tensor::Tensor)
-pop!(tn::TensorNetwork, i::Union{Symbol,AbstractVecOrTuple{Symbol}})

Remove a tensor from the Tensor Network and returns it. If a Tensor is passed, then the first tensor satisfies egality (i.e. or ===) will be removed. If a Symbol or a list of Symbols is passed, then remove and return the tensors that contain all the indices.

See also: push!, delete!.

source

`,4))]),e("details",u,[e("summary",null,[s[12]||(s[12]=e("a",{id:'Base.append!-Tuple{TensorNetwork, Union{Tuple{Vararg{var"#s12"}}, AbstractVector{<:var"#s12"}} where var"#s12"<:Tensor}',href:'#Base.append!-Tuple{TensorNetwork, Union{Tuple{Vararg{var"#s12"}}, AbstractVector{<:var"#s12"}} where var"#s12"<:Tensor}'},[e("span",{class:"jlbinding"},"Base.append!")],-1)),s[13]||(s[13]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[14]||(s[14]=n('
julia
append!(tn::TensorNetwork, tensors::AbstractVecOrTuple{<:Tensor})

Add a list of tensors to a TensorNetwork.

See also: push!, merge!.

source

',4))]),e("details",y,[e("summary",null,[s[15]||(s[15]=e("a",{id:"Base.merge!-Tuple{TensorNetwork, TensorNetwork}",href:"#Base.merge!-Tuple{TensorNetwork, TensorNetwork}"},[e("span",{class:"jlbinding"},"Base.merge!")],-1)),s[16]||(s[16]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[17]||(s[17]=n(`
julia
merge!(self::TensorNetwork, others::TensorNetwork...)
-merge(self::TensorNetwork, others::TensorNetwork...)

Fuse various TensorNetworks into one.

See also: append!.

source

`,4))]),e("details",b,[e("summary",null,[s[18]||(s[18]=e("a",{id:"Base.delete!-Tuple{TensorNetwork, Any}",href:"#Base.delete!-Tuple{TensorNetwork, Any}"},[e("span",{class:"jlbinding"},"Base.delete!")],-1)),s[19]||(s[19]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[20]||(s[20]=n('
julia
delete!(tn::TensorNetwork, x)

Like pop! but return the TensorNetwork instead.

source

',3))]),e("details",T,[e("summary",null,[s[21]||(s[21]=e("a",{id:"Base.replace!",href:"#Base.replace!"},[e("span",{class:"jlbinding"},"Base.replace!")],-1)),s[22]||(s[22]=i()),a(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[23]||(s[23]=n(`
julia
replace!(tn::AbstractTensorNetwork, old => new...)
-replace(tn::AbstractTensorNetwork, old => new...)

Replace the element in old with the one in new. Depending on the types of old and new, the following behaviour is expected:

source

`,4))]),e("details",f,[e("summary",null,[s[24]||(s[24]=e("a",{id:"Base.selectdim",href:"#Base.selectdim"},[e("span",{class:"jlbinding"},"Base.selectdim")],-1)),s[25]||(s[25]=i()),a(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[26]||(s[26]=n('
julia
selectdim(tn::AbstractTensorNetwork, index::Symbol, i)

Return a copy of the AbstractTensorNetwork where index has been projected to dimension i.

See also: view, slice!.

source

',4))]),e("details",E,[e("summary",null,[s[27]||(s[27]=e("a",{id:"Tenet.slice!",href:"#Tenet.slice!"},[e("span",{class:"jlbinding"},"Tenet.slice!")],-1)),s[28]||(s[28]=i()),a(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[29]||(s[29]=n('
julia
slice!(tn::AbstractTensorNetwork, index::Symbol, i)

In-place projection of index on dimension i.

See also: selectdim, view.

source

',4))]),e("details",m,[e("summary",null,[s[30]||(s[30]=e("a",{id:"Base.view-Tuple{TensorNetwork}",href:"#Base.view-Tuple{TensorNetwork}"},[e("span",{class:"jlbinding"},"Base.view")],-1)),s[31]||(s[31]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[32]||(s[32]=n('
julia
view(tn::AbstractTensorNetwork, index => i...)

Return a copy of the AbstractTensorNetwork where each index has been projected to dimension i. It is equivalent to a recursive call of selectdim.

See also: selectdim, slice!.

source

',4))]),e("details",j,[e("summary",null,[s[33]||(s[33]=e("a",{id:"Base.copy-Tuple{TensorNetwork}",href:"#Base.copy-Tuple{TensorNetwork}"},[e("span",{class:"jlbinding"},"Base.copy")],-1)),s[34]||(s[34]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[35]||(s[35]=n('
julia
copy(tn::TensorNetwork)

Return a shallow copy of a TensorNetwork.

source

',3))]),s[63]||(s[63]=e("div",{class:"warning custom-block"},[e("p",{class:"custom-block-title"},"Missing docstring."),e("p",null,[i("Missing docstring for "),e("code",null,"Base.rand(::Type{TensorNetwork}, n::Integer, regularity::Integer)"),i(". Check Documenter's build log for details.")])],-1)),s[64]||(s[64]=e("h2",{id:"transformations",tabindex:"-1"},[i("Transformations "),e("a",{class:"header-anchor",href:"#transformations","aria-label":'Permalink to "Transformations"'},"​")],-1)),e("details",w,[e("summary",null,[s[36]||(s[36]=e("a",{id:"Tenet.transform",href:"#Tenet.transform"},[e("span",{class:"jlbinding"},"Tenet.transform")],-1)),s[37]||(s[37]=i()),a(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[38]||(s[38]=n(`
julia
transform(tn::TensorNetwork, config::Transformation)
-transform(tn::TensorNetwork, configs)

Return a new TensorNetwork where some Transformation has been performed into it.

See also: transform!.

source

`,4))]),e("details",v,[e("summary",null,[s[39]||(s[39]=e("a",{id:"Tenet.transform!",href:"#Tenet.transform!"},[e("span",{class:"jlbinding"},"Tenet.transform!")],-1)),s[40]||(s[40]=i()),a(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[41]||(s[41]=n(`
julia
transform!(tn::TensorNetwork, config::Transformation)
-transform!(tn::TensorNetwork, configs)

In-place version of transform.

source

`,3))]),e("details",F,[e("summary",null,[s[42]||(s[42]=e("a",{id:"Tenet.HyperFlatten",href:"#Tenet.HyperFlatten"},[e("span",{class:"jlbinding"},"Tenet.HyperFlatten")],-1)),s[43]||(s[43]=i()),a(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[44]||(s[44]=n('
julia
HyperFlatten <: Transformation

Convert hyperindices to COPY-tensors, represented by DeltaArrays. This transformation is always used by default when visualizing a TensorNetwork with plot.

See also: HyperGroup.

source

',4))]),e("details",C,[e("summary",null,[s[45]||(s[45]=e("a",{id:"Tenet.HyperGroup",href:"#Tenet.HyperGroup"},[e("span",{class:"jlbinding"},"Tenet.HyperGroup")],-1)),s[46]||(s[46]=i()),a(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[47]||(s[47]=n('
julia
HyperGroup <: Transformation

Convert COPY-tensors, represented by DeltaArrays, to hyperindices.

See also: HyperFlatten.

source

',4))]),e("details",B,[e("summary",null,[s[48]||(s[48]=e("a",{id:"Tenet.ContractSimplification",href:"#Tenet.ContractSimplification"},[e("span",{class:"jlbinding"},"Tenet.ContractSimplification")],-1)),s[49]||(s[49]=i()),a(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[50]||(s[50]=n('
julia
ContractSimplification <: Transformation

Preemptively contract tensors whose result doesn't increase in size.

source

',3))]),e("details",N,[e("summary",null,[s[51]||(s[51]=e("a",{id:"Tenet.DiagonalReduction",href:"#Tenet.DiagonalReduction"},[e("span",{class:"jlbinding"},"Tenet.DiagonalReduction")],-1)),s[52]||(s[52]=i()),a(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[53]||(s[53]=n('
julia
DiagonalReduction <: Transformation

Reduce the dimension of a Tensor in a TensorNetwork when it has a pair of indices that fulfil a diagonal structure.

Keyword Arguments

source

',5))]),e("details",A,[e("summary",null,[s[54]||(s[54]=e("a",{id:"Tenet.AntiDiagonalGauging",href:"#Tenet.AntiDiagonalGauging"},[e("span",{class:"jlbinding"},"Tenet.AntiDiagonalGauging")],-1)),s[55]||(s[55]=i()),a(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[56]||(s[56]=n('
julia
AntiDiagonalGauging <: Transformation

Reverse the order of tensor indices that fulfill the anti-diagonal condition. While this transformation doesn't directly enhance computational efficiency, it sets up the TensorNetwork for other operations that do.

Keyword Arguments

source

',5))]),e("details",D,[e("summary",null,[s[57]||(s[57]=e("a",{id:"Tenet.Truncate",href:"#Tenet.Truncate"},[e("span",{class:"jlbinding"},"Tenet.Truncate")],-1)),s[58]||(s[58]=i()),a(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[59]||(s[59]=n('
julia
Truncate <: Transformation

Truncate the dimension of a Tensor in a TensorNetwork when it contains columns with all elements smaller than atol.

Keyword Arguments

source

',5))]),s[65]||(s[65]=e("div",{class:"warning custom-block"},[e("p",{class:"custom-block-title"},"Missing docstring."),e("p",null,[i("Missing docstring for "),e("code",null,"Tenet.SplitSimplificationd"),i(". Check Documenter's build log for details.")])],-1))])}const V=l(d,[["render",x]]);export{M as __pageData,V as default}; +import{_ as l,c as o,j as e,a as i,G as a,a5 as n,B as r,o as p}from"./chunks/framework.C5U82uhn.js";const M=JSON.parse('{"title":"TensorNetwork","description":"","frontmatter":{},"headers":[],"relativePath":"api/tensornetwork.md","filePath":"api/tensornetwork.md","lastUpdated":null}'),d={name:"api/tensornetwork.md"},k={class:"jldocstring custom-block",open:""},h={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},u={class:"jldocstring custom-block",open:""},b={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""},T={class:"jldocstring custom-block",open:""},E={class:"jldocstring custom-block",open:""},m={class:"jldocstring custom-block",open:""},f={class:"jldocstring custom-block",open:""},j={class:"jldocstring custom-block",open:""},w={class:"jldocstring custom-block",open:""},v={class:"jldocstring custom-block",open:""},F={class:"jldocstring custom-block",open:""},C={class:"jldocstring custom-block",open:""},B={class:"jldocstring custom-block",open:""},N={class:"jldocstring custom-block",open:""},A={class:"jldocstring custom-block",open:""},D={class:"jldocstring custom-block",open:""};function x(L,s,R,q,P,O){const t=r("Badge");return p(),o("div",null,[s[60]||(s[60]=e("h1",{id:"tensornetwork",tabindex:"-1"},[i("TensorNetwork "),e("a",{class:"header-anchor",href:"#tensornetwork","aria-label":'Permalink to "TensorNetwork"'},"​")],-1)),e("details",k,[e("summary",null,[s[0]||(s[0]=e("a",{id:"Tenet.TensorNetwork",href:"#Tenet.TensorNetwork"},[e("span",{class:"jlbinding"},"Tenet.TensorNetwork")],-1)),s[1]||(s[1]=i()),a(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[2]||(s[2]=n('
julia
TensorNetwork

Graph of interconnected tensors, representing a multilinear equation. Graph vertices represent tensors and graph edges, tensor indices.

source

',3))]),s[61]||(s[61]=e("div",{class:"warning custom-block"},[e("p",{class:"custom-block-title"},"Missing docstring."),e("p",null,[i("Missing docstring for "),e("code",null,"inds(::Tenet.TensorNetwork)"),i(". Check Documenter's build log for details.")])],-1)),e("details",h,[e("summary",null,[s[3]||(s[3]=e("a",{id:"Base.size-Tuple{TensorNetwork}",href:"#Base.size-Tuple{TensorNetwork}"},[e("span",{class:"jlbinding"},"Base.size")],-1)),s[4]||(s[4]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[5]||(s[5]=n(`
julia
size(tn::AbstractTensorNetwork)
+size(tn::AbstractTensorNetwork, index)

Return a mapping from indices to their dimensionalities.

If index is set, return the dimensionality of index. This is equivalent to size(tn)[index].

source

`,4))]),s[62]||(s[62]=e("div",{class:"warning custom-block"},[e("p",{class:"custom-block-title"},"Missing docstring."),e("p",null,[i("Missing docstring for "),e("code",null,"tensors(::Tenet.TensorNetwork)"),i(". Check Documenter's build log for details.")])],-1)),e("details",c,[e("summary",null,[s[6]||(s[6]=e("a",{id:"Base.push!-Tuple{TensorNetwork, Tensor}",href:"#Base.push!-Tuple{TensorNetwork, Tensor}"},[e("span",{class:"jlbinding"},"Base.push!")],-1)),s[7]||(s[7]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[8]||(s[8]=n('
julia
push!(tn::AbstractTensorNetwork, tensor::Tensor)

Add a new tensor to the Tensor Network.

See also: append!, pop!.

source

',4))]),e("details",g,[e("summary",null,[s[9]||(s[9]=e("a",{id:"Base.pop!-Tuple{TensorNetwork, Tensor}",href:"#Base.pop!-Tuple{TensorNetwork, Tensor}"},[e("span",{class:"jlbinding"},"Base.pop!")],-1)),s[10]||(s[10]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[11]||(s[11]=n(`
julia
pop!(tn::TensorNetwork, tensor::Tensor)
+pop!(tn::TensorNetwork, i::Union{Symbol,AbstractVecOrTuple{Symbol}})

Remove a tensor from the Tensor Network and returns it. If a Tensor is passed, then the first tensor satisfies egality (i.e. or ===) will be removed. If a Symbol or a list of Symbols is passed, then remove and return the tensors that contain all the indices.

See also: push!, delete!.

source

`,4))]),e("details",u,[e("summary",null,[s[12]||(s[12]=e("a",{id:'Base.append!-Tuple{TensorNetwork, Union{Tuple{Vararg{var"#s12"}}, AbstractVector{<:var"#s12"}} where var"#s12"<:Tensor}',href:'#Base.append!-Tuple{TensorNetwork, Union{Tuple{Vararg{var"#s12"}}, AbstractVector{<:var"#s12"}} where var"#s12"<:Tensor}'},[e("span",{class:"jlbinding"},"Base.append!")],-1)),s[13]||(s[13]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[14]||(s[14]=n('
julia
append!(tn::TensorNetwork, tensors::AbstractVecOrTuple{<:Tensor})

Add a list of tensors to a TensorNetwork.

See also: push!, merge!.

source

',4))]),e("details",b,[e("summary",null,[s[15]||(s[15]=e("a",{id:"Base.merge!-Tuple{TensorNetwork, TensorNetwork}",href:"#Base.merge!-Tuple{TensorNetwork, TensorNetwork}"},[e("span",{class:"jlbinding"},"Base.merge!")],-1)),s[16]||(s[16]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[17]||(s[17]=n(`
julia
merge!(self::TensorNetwork, others::TensorNetwork...)
+merge(self::TensorNetwork, others::TensorNetwork...)

Fuse various TensorNetworks into one.

See also: append!.

source

`,4))]),e("details",y,[e("summary",null,[s[18]||(s[18]=e("a",{id:"Base.delete!-Tuple{TensorNetwork, Any}",href:"#Base.delete!-Tuple{TensorNetwork, Any}"},[e("span",{class:"jlbinding"},"Base.delete!")],-1)),s[19]||(s[19]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[20]||(s[20]=n('
julia
delete!(tn::TensorNetwork, x)

Like pop! but return the TensorNetwork instead.

source

',3))]),e("details",T,[e("summary",null,[s[21]||(s[21]=e("a",{id:"Base.replace!",href:"#Base.replace!"},[e("span",{class:"jlbinding"},"Base.replace!")],-1)),s[22]||(s[22]=i()),a(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[23]||(s[23]=n(`
julia
replace!(tn::AbstractTensorNetwork, old => new...)
+replace(tn::AbstractTensorNetwork, old => new...)

Replace the element in old with the one in new. Depending on the types of old and new, the following behaviour is expected:

source

`,4))]),e("details",E,[e("summary",null,[s[24]||(s[24]=e("a",{id:"Base.selectdim",href:"#Base.selectdim"},[e("span",{class:"jlbinding"},"Base.selectdim")],-1)),s[25]||(s[25]=i()),a(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[26]||(s[26]=n('
julia
selectdim(tn::AbstractTensorNetwork, index::Symbol, i)

Return a copy of the AbstractTensorNetwork where index has been projected to dimension i.

See also: view, slice!.

source

',4))]),e("details",m,[e("summary",null,[s[27]||(s[27]=e("a",{id:"Tenet.slice!",href:"#Tenet.slice!"},[e("span",{class:"jlbinding"},"Tenet.slice!")],-1)),s[28]||(s[28]=i()),a(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[29]||(s[29]=n('
julia
slice!(tn::AbstractTensorNetwork, index::Symbol, i)

In-place projection of index on dimension i.

See also: selectdim, view.

source

',4))]),e("details",f,[e("summary",null,[s[30]||(s[30]=e("a",{id:"Base.view-Tuple{TensorNetwork}",href:"#Base.view-Tuple{TensorNetwork}"},[e("span",{class:"jlbinding"},"Base.view")],-1)),s[31]||(s[31]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[32]||(s[32]=n('
julia
view(tn::AbstractTensorNetwork, index => i...)

Return a copy of the AbstractTensorNetwork where each index has been projected to dimension i. It is equivalent to a recursive call of selectdim.

See also: selectdim, slice!.

source

',4))]),e("details",j,[e("summary",null,[s[33]||(s[33]=e("a",{id:"Base.copy-Tuple{TensorNetwork}",href:"#Base.copy-Tuple{TensorNetwork}"},[e("span",{class:"jlbinding"},"Base.copy")],-1)),s[34]||(s[34]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[35]||(s[35]=n('
julia
copy(tn::TensorNetwork)

Return a shallow copy of a TensorNetwork.

source

',3))]),s[63]||(s[63]=e("div",{class:"warning custom-block"},[e("p",{class:"custom-block-title"},"Missing docstring."),e("p",null,[i("Missing docstring for "),e("code",null,"Base.rand(::Type{TensorNetwork}, n::Integer, regularity::Integer)"),i(". Check Documenter's build log for details.")])],-1)),s[64]||(s[64]=e("h2",{id:"transformations",tabindex:"-1"},[i("Transformations "),e("a",{class:"header-anchor",href:"#transformations","aria-label":'Permalink to "Transformations"'},"​")],-1)),e("details",w,[e("summary",null,[s[36]||(s[36]=e("a",{id:"Tenet.transform",href:"#Tenet.transform"},[e("span",{class:"jlbinding"},"Tenet.transform")],-1)),s[37]||(s[37]=i()),a(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[38]||(s[38]=n(`
julia
transform(tn::TensorNetwork, config::Transformation)
+transform(tn::TensorNetwork, configs)

Return a new TensorNetwork where some Transformation has been performed into it.

See also: transform!.

source

`,4))]),e("details",v,[e("summary",null,[s[39]||(s[39]=e("a",{id:"Tenet.transform!",href:"#Tenet.transform!"},[e("span",{class:"jlbinding"},"Tenet.transform!")],-1)),s[40]||(s[40]=i()),a(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[41]||(s[41]=n(`
julia
transform!(tn::TensorNetwork, config::Transformation)
+transform!(tn::TensorNetwork, configs)

In-place version of transform.

source

`,3))]),e("details",F,[e("summary",null,[s[42]||(s[42]=e("a",{id:"Tenet.HyperFlatten",href:"#Tenet.HyperFlatten"},[e("span",{class:"jlbinding"},"Tenet.HyperFlatten")],-1)),s[43]||(s[43]=i()),a(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[44]||(s[44]=n('
julia
HyperFlatten <: Transformation

Convert hyperindices to COPY-tensors, represented by DeltaArrays. This transformation is always used by default when visualizing a TensorNetwork with plot.

See also: HyperGroup.

source

',4))]),e("details",C,[e("summary",null,[s[45]||(s[45]=e("a",{id:"Tenet.HyperGroup",href:"#Tenet.HyperGroup"},[e("span",{class:"jlbinding"},"Tenet.HyperGroup")],-1)),s[46]||(s[46]=i()),a(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[47]||(s[47]=n('
julia
HyperGroup <: Transformation

Convert COPY-tensors, represented by DeltaArrays, to hyperindices.

See also: HyperFlatten.

source

',4))]),e("details",B,[e("summary",null,[s[48]||(s[48]=e("a",{id:"Tenet.ContractSimplification",href:"#Tenet.ContractSimplification"},[e("span",{class:"jlbinding"},"Tenet.ContractSimplification")],-1)),s[49]||(s[49]=i()),a(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[50]||(s[50]=n('
julia
ContractSimplification <: Transformation

Preemptively contract tensors whose result doesn't increase in size.

source

',3))]),e("details",N,[e("summary",null,[s[51]||(s[51]=e("a",{id:"Tenet.DiagonalReduction",href:"#Tenet.DiagonalReduction"},[e("span",{class:"jlbinding"},"Tenet.DiagonalReduction")],-1)),s[52]||(s[52]=i()),a(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[53]||(s[53]=n('
julia
DiagonalReduction <: Transformation

Reduce the dimension of a Tensor in a TensorNetwork when it has a pair of indices that fulfil a diagonal structure.

Keyword Arguments

source

',5))]),e("details",A,[e("summary",null,[s[54]||(s[54]=e("a",{id:"Tenet.AntiDiagonalGauging",href:"#Tenet.AntiDiagonalGauging"},[e("span",{class:"jlbinding"},"Tenet.AntiDiagonalGauging")],-1)),s[55]||(s[55]=i()),a(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[56]||(s[56]=n('
julia
AntiDiagonalGauging <: Transformation

Reverse the order of tensor indices that fulfill the anti-diagonal condition. While this transformation doesn't directly enhance computational efficiency, it sets up the TensorNetwork for other operations that do.

Keyword Arguments

source

',5))]),e("details",D,[e("summary",null,[s[57]||(s[57]=e("a",{id:"Tenet.Truncate",href:"#Tenet.Truncate"},[e("span",{class:"jlbinding"},"Tenet.Truncate")],-1)),s[58]||(s[58]=i()),a(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[59]||(s[59]=n('
julia
Truncate <: Transformation

Truncate the dimension of a Tensor in a TensorNetwork when it contains columns with all elements smaller than atol.

Keyword Arguments

source

',5))]),s[65]||(s[65]=e("div",{class:"warning custom-block"},[e("p",{class:"custom-block-title"},"Missing docstring."),e("p",null,[i("Missing docstring for "),e("code",null,"Tenet.SplitSimplificationd"),i(". Check Documenter's build log for details.")])],-1))])}const V=l(d,[["render",x]]);export{M as __pageData,V as default}; diff --git a/previews/PR258/assets/app.B4RoO-Kb.js b/previews/PR258/assets/app.CbZC-F-T.js similarity index 95% rename from previews/PR258/assets/app.B4RoO-Kb.js rename to previews/PR258/assets/app.CbZC-F-T.js index 442df006..6ea50981 100644 --- a/previews/PR258/assets/app.B4RoO-Kb.js +++ b/previews/PR258/assets/app.CbZC-F-T.js @@ -1 +1 @@ -import{R as p}from"./chunks/theme.DfGK1UbH.js";import{R as o,a6 as u,a7 as c,a8 as l,a9 as f,aa as d,ab as m,ac as h,ad as g,ae as A,af as v,d as P,u as R,v as w,s as y,ag as C,ah as b,ai as E,a4 as S}from"./chunks/framework.C5U82uhn.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(p),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=R();return w(()=>{y(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),b(),E(),s.setup&&s.setup(),()=>S(s.Layout)}});async function D(){globalThis.__VITEPRESS__=!0;const e=j(),a=_();a.provide(c,e);const t=l(e.route);return a.provide(f,t),a.component("Content",d),a.component("ClientOnly",m),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:h}),{app:a,router:e,data:t}}function _(){return g(T)}function j(){let e=o,a;return A(t=>{let n=v(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&D().then(({app:e,router:a,data:t})=>{a.go().then(()=>{u(a.route,t.site),e.mount("#app")})});export{D as createApp}; +import{R as p}from"./chunks/theme.B4UpM52O.js";import{R as o,a6 as u,a7 as c,a8 as l,a9 as f,aa as d,ab as m,ac as h,ad as g,ae as A,af as v,d as P,u as R,v as w,s as y,ag as C,ah as b,ai as E,a4 as S}from"./chunks/framework.C5U82uhn.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(p),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=R();return w(()=>{y(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),b(),E(),s.setup&&s.setup(),()=>S(s.Layout)}});async function D(){globalThis.__VITEPRESS__=!0;const e=j(),a=_();a.provide(c,e);const t=l(e.route);return a.provide(f,t),a.component("Content",d),a.component("ClientOnly",m),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:h}),{app:a,router:e,data:t}}function _(){return g(T)}function j(){let e=o,a;return A(t=>{let n=v(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&D().then(({app:e,router:a,data:t})=>{a.go().then(()=>{u(a.route,t.site),e.mount("#app")})});export{D as createApp}; diff --git a/previews/PR258/assets/chunks/@localSearchIndexroot.KpkttVwD.js b/previews/PR258/assets/chunks/@localSearchIndexroot.D-aJFaRD.js similarity index 71% rename from previews/PR258/assets/chunks/@localSearchIndexroot.KpkttVwD.js rename to previews/PR258/assets/chunks/@localSearchIndexroot.D-aJFaRD.js index bb7549b4..fdaccaf5 100644 --- a/previews/PR258/assets/chunks/@localSearchIndexroot.KpkttVwD.js +++ b/previews/PR258/assets/chunks/@localSearchIndexroot.D-aJFaRD.js @@ -1 +1 @@ -const e='{"documentCount":36,"nextId":36,"documentIds":{"0":"/Tenet.jl/previews/PR258/api/ansatz#ansatz","1":"/Tenet.jl/previews/PR258/api/ansatz#mps","2":"/Tenet.jl/previews/PR258/api/quantum#quantum","3":"/Tenet.jl/previews/PR258/api/tensor#tensor","4":"/Tenet.jl/previews/PR258/api/tensornetwork#tensornetwork","5":"/Tenet.jl/previews/PR258/api/tensornetwork#transformations","6":"/Tenet.jl/previews/PR258/developer/cached-field#Cached-field","7":"/Tenet.jl/previews/PR258/developer/type-hierarchy#Inheritance-and-Traits","8":"/Tenet.jl/previews/PR258/developer/unsafe-region#Unsafe-regions","9":"/Tenet.jl/previews/PR258/friends#friends","10":"/Tenet.jl/previews/PR258/#features","11":"/Tenet.jl/previews/PR258/manual/ansatz/#ansatz","12":"/Tenet.jl/previews/PR258/manual/ansatz/mps#Matrix-Product-States-(MPS)","13":"/Tenet.jl/previews/PR258/manual/ansatz/mps#Matrix-Product-Operators-(MPO)","14":"/Tenet.jl/previews/PR258/manual/ansatz/product#Product-ansatz","15":"/Tenet.jl/previews/PR258/manual/contraction#contraction","16":"/Tenet.jl/previews/PR258/manual/quantum#Quantum-Tensor-Networks","17":"/Tenet.jl/previews/PR258/manual/quantum#queries","18":"/Tenet.jl/previews/PR258/manual/quantum#Connecting-Quantum-Tensor-Networks","19":"/Tenet.jl/previews/PR258/manual/tensor-network#Tensor-Networks","20":"/Tenet.jl/previews/PR258/manual/tensor-network#Query-information","21":"/Tenet.jl/previews/PR258/manual/tensor-network#modification","22":"/Tenet.jl/previews/PR258/manual/tensor-network#Add/Remove-tensors","23":"/Tenet.jl/previews/PR258/manual/tensor-network#Replace-existing-elements","24":"/Tenet.jl/previews/PR258/manual/tensor-network#slicing","25":"/Tenet.jl/previews/PR258/manual/tensors#tensors","26":"/Tenet.jl/previews/PR258/manual/tensors#The-Tensor-type","27":"/Tenet.jl/previews/PR258/manual/transformations#transformations","28":"/Tenet.jl/previews/PR258/manual/transformations#Available-transformations","29":"/Tenet.jl/previews/PR258/manual/transformations#Hyperindex-converter","30":"/Tenet.jl/previews/PR258/manual/transformations#Contraction-simplification","31":"/Tenet.jl/previews/PR258/manual/transformations#Diagonal-reduction","32":"/Tenet.jl/previews/PR258/manual/transformations#Anti-diagonal-reduction","33":"/Tenet.jl/previews/PR258/manual/transformations#Dimension-truncation","34":"/Tenet.jl/previews/PR258/manual/transformations#Split-simplification","35":"/Tenet.jl/previews/PR258/visualization#visualization"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[1,1,1],"1":[1,1,14],"2":[1,1,92],"3":[1,1,70],"4":[1,1,148],"5":[1,1,120],"6":[2,1,1],"7":[3,1,123],"8":[2,1,25],"9":[1,1,61],"10":[1,1,21],"11":[1,1,1],"12":[5,1,67],"13":[5,5,76],"14":[2,1,1],"15":[1,1,99],"16":[3,1,1],"17":[1,3,1],"18":[4,3,1],"19":[2,1,47],"20":[2,2,1],"21":[1,2,1],"22":[3,3,1],"23":[3,3,1],"24":[1,2,1],"25":[1,1,118],"26":[3,1,134],"27":[1,1,96],"28":[2,1,1],"29":[2,3,1],"30":[2,3,1],"31":[2,3,1],"32":[3,3,1],"33":[2,3,1],"34":[2,3,1],"35":[1,1,53]},"averageFieldLength":[1.9444444444444444,1.75,38.41666666666666],"storedFields":{"0":{"title":"Ansatz","titles":[]},"1":{"title":"MPS","titles":["Ansatz"]},"2":{"title":"Quantum","titles":[]},"3":{"title":"Tensor","titles":[]},"4":{"title":"TensorNetwork","titles":[]},"5":{"title":"Transformations","titles":["TensorNetwork"]},"6":{"title":"Cached field","titles":[]},"7":{"title":"Inheritance and Traits","titles":[]},"8":{"title":"Unsafe regions","titles":[]},"9":{"title":"Friends","titles":[]},"10":{"title":"Features","titles":[]},"11":{"title":"Ansatz","titles":[]},"12":{"title":"Matrix Product States (MPS)","titles":[]},"13":{"title":"Matrix Product Operators (MPO)","titles":["Matrix Product States (MPS)"]},"14":{"title":"Product ansatz","titles":[]},"15":{"title":"Contraction","titles":[]},"16":{"title":"Quantum Tensor Networks","titles":[]},"17":{"title":"Queries","titles":["Quantum Tensor Networks"]},"18":{"title":"Connecting Quantum Tensor Networks","titles":["Quantum Tensor Networks"]},"19":{"title":"Tensor Networks","titles":[]},"20":{"title":"Query information","titles":["Tensor Networks"]},"21":{"title":"Modification","titles":["Tensor Networks"]},"22":{"title":"Add/Remove tensors","titles":["Tensor Networks","Modification"]},"23":{"title":"Replace existing elements","titles":["Tensor Networks","Modification"]},"24":{"title":"Slicing","titles":["Tensor Networks"]},"25":{"title":"Tensors","titles":[]},"26":{"title":"The Tensor type","titles":["Tensors"]},"27":{"title":"Transformations","titles":[]},"28":{"title":"Available transformations","titles":["Transformations"]},"29":{"title":"Hyperindex converter","titles":["Transformations","Available transformations"]},"30":{"title":"Contraction simplification","titles":["Transformations","Available transformations"]},"31":{"title":"Diagonal reduction","titles":["Transformations","Available transformations"]},"32":{"title":"Anti-diagonal reduction","titles":["Transformations","Available transformations"]},"33":{"title":"Dimension truncation","titles":["Transformations","Available transformations"]},"34":{"title":"Split simplification","titles":["Transformations","Available transformations"]},"35":{"title":"Visualization","titles":[]}},"dirtCount":0,"index":[["↩︎",{"2":{"26":3}}],["883695",{"2":{"26":1}}],["885268",{"2":{"26":1}}],["823484",{"2":{"26":1}}],["659549",{"2":{"26":1}}],["635492",{"2":{"26":1}}],["460934",{"2":{"26":1}}],["438044",{"2":{"26":1}}],["452878",{"2":{"26":1}}],["0904452",{"2":{"26":1}}],["0907537",{"2":{"26":1}}],["0153394",{"2":{"26":1}}],["0383351",{"2":{"26":1}}],["0",{"2":{"25":1,"26":30}}],["∈fdim⁡",{"2":{"25":1}}],["↦fin",{"2":{"25":1}}],["×⋯×fdim⁡",{"2":{"25":1}}],["∑ijklmnopaimbijpcnjkdpklemnofolcan",{"2":{"19":1}}],["2021",{"2":{"27":1}}],["240448",{"2":{"26":1}}],["219289",{"2":{"26":1}}],["218032",{"2":{"26":1}}],["2",{"2":{"12":2,"13":3,"25":2,"26":3}}],["χ=4",{"2":{"12":2,"13":2}}],["30",{"2":{"26":1}}],["361577",{"2":{"26":1}}],["366401",{"2":{"26":1}}],["338931",{"2":{"26":1}}],["3×5×2",{"2":{"26":1}}],["3",{"2":{"25":1,"26":4}}],["3d",{"2":{"10":1}}],["399082",{"2":{"26":1}}],["39",{"2":{"2":10,"3":2,"4":3,"5":3,"7":2,"9":2,"15":2,"19":1,"25":2,"27":2}}],["your",{"2":{"9":1,"27":1}}],["you",{"2":{"8":1,"25":3,"26":1,"27":1,"35":1}}],["years",{"2":{"7":1}}],["57036",{"2":{"26":1}}],["570712",{"2":{"26":1}}],["584235",{"2":{"26":1}}],["592654",{"2":{"26":1}}],["59041",{"2":{"26":1}}],["549659",{"2":{"26":1}}],["5",{"2":{"7":10,"12":2,"13":2,"26":3}}],[">|contains|",{"2":{"7":5}}],[">|inherits|",{"2":{"7":10}}],["just",{"2":{"35":1}}],["juliagraphplot",{"2":{"35":2}}],["julia>",{"2":{"26":2}}],["juliajulia>",{"2":{"26":2}}],["juliaeinexpr",{"2":{"15":1}}],["julia",{"2":{"7":4,"8":1,"9":1}}],["juliadiagonalreduction",{"2":{"5":1}}],["juliadelete",{"2":{"4":1}}],["juliahypergroup",{"2":{"5":1}}],["juliahyperflatten",{"2":{"5":1}}],["juliatruncate",{"2":{"5":1}}],["juliatransform",{"2":{"5":2}}],["juliatensornetwork",{"2":{"2":1,"4":1}}],["juliacopy",{"2":{"4":1}}],["juliacontractsimplification",{"2":{"5":1}}],["juliacontract",{"2":{"3":1,"15":1}}],["juliaview",{"2":{"4":1}}],["juliareplace",{"2":{"4":1}}],["juliamermaid",{"2":{"7":1}}],["juliamerge",{"2":{"4":1}}],["juliamps",{"2":{"1":1}}],["juliaantidiagonalgauging",{"2":{"5":1}}],["juliaappend",{"2":{"4":1}}],["juliaadjoint",{"2":{"2":1}}],["juliapop",{"2":{"4":1}}],["juliapush",{"2":{"4":1}}],["julialinearalgebra",{"2":{"3":3}}],["juliabase",{"2":{"3":1}}],["juliaoperator",{"2":{"2":1}}],["juliaslice",{"2":{"4":1}}],["juliaselectdim",{"2":{"4":1}}],["juliasize",{"2":{"4":1}}],["juliasites",{"2":{"2":1}}],["juliastate",{"2":{"2":1}}],["juliascalar",{"2":{"2":1}}],["juliasocket",{"2":{"2":1}}],["juliansites",{"2":{"2":1}}],["juliaquantum",{"2":{"2":1}}],["j",{"2":{"25":1,"26":2}}],["jokes",{"2":{"25":1}}],["jl",{"2":{"9":2}}],["java",{"2":{"7":1}}],["giving",{"2":{"25":1}}],["give",{"2":{"25":1}}],["given",{"2":{"15":1}}],["gridposition",{"2":{"35":1}}],["gray",{"2":{"27":1}}],["graphplot",{"2":{"35":5}}],["graphmakie",{"2":{"35":3}}],["graphical",{"2":{"19":1}}],["graph",{"2":{"4":3,"7":1,"19":1,"35":1}}],["graphs",{"2":{"3":1}}],["greedy",{"2":{"15":1}}],["generic",{"2":{"13":1}}],["generalization",{"2":{"25":1}}],["general",{"2":{"7":1}}],["good",{"2":{"25":1,"27":1}}],["gonna",{"2":{"25":1}}],["go",{"2":{"7":1}}],["111742",{"2":{"26":1}}],["112479",{"2":{"26":1}}],["156122",{"2":{"26":1}}],["154492",{"2":{"26":1}}],["17861",{"2":{"26":1}}],["1",{"2":{"12":6,"13":9,"25":4,"26":1}}],["1d",{"2":{"12":1}}],["12",{"2":{"5":3}}],["1e",{"2":{"5":3}}],["however",{"2":{"26":1}}],["how",{"2":{"25":1}}],["here",{"2":{"25":2}}],["higher",{"2":{"25":1}}],["hide",{"2":{"12":8,"13":8}}],["hierarchy",{"2":{"7":1}}],["have",{"2":{"7":2,"13":2,"25":1}}],["has",{"2":{"4":2,"5":2,"7":2,"15":1,"26":1}}],["hyperindex",{"0":{"29":1}}],["hyperindices",{"2":{"5":2}}],["hypergroup",{"2":{"5":2}}],["hyperflatten",{"2":{"5":2}}],["x",{"2":{"4":1}}],["x3c",{"2":{"1":1,"2":3,"4":1,"5":6}}],["≡",{"2":{"4":2}}],["v",{"2":{"25":3}}],["vectors",{"2":{"25":2}}],["vector",{"2":{"25":2,"26":1}}],["version",{"2":{"5":1,"13":1}}],["vertices",{"2":{"4":1}}],["variables",{"2":{"13":1}}],["various",{"2":{"4":1,"27":1}}],["visually",{"2":{"19":1}}],["visualization",{"0":{"35":1},"2":{"10":1}}],["visualizing",{"2":{"5":1}}],["viewed",{"2":{"25":1}}],["view",{"2":{"4":3}}],["virtual",{"2":{"3":3}}],["virtualind",{"2":{"3":6}}],["using",{"2":{"26":1,"27":1}}],["use",{"2":{"25":1,"26":1}}],["used",{"2":{"3":6,"5":1,"13":1,"25":1}}],["up",{"2":{"5":1}}],["unsafe",{"0":{"8":1},"2":{"8":1}}],["union",{"2":{"4":1,"35":2}}],["underlying",{"2":{"2":1,"3":1}}],["kourtis",{"2":{"27":1}}],["k",{"2":{"25":1,"26":1}}],["kill",{"2":{"25":1}}],["kind",{"2":{"7":1}}],["know",{"2":{"25":1}}],["known",{"2":{"12":1,"26":1}}],["keyword",{"2":{"3":3,"5":3,"15":1,"35":1}}],["kwargs",{"2":{"2":2,"3":3,"15":2,"35":4}}],["float64",{"2":{"26":2}}],["flexible",{"2":{"9":1}}],["fdim⁡",{"2":{"25":1}}],["f",{"2":{"25":1,"35":1}}],["features",{"0":{"10":1}}],["framework",{"2":{"9":1}}],["friends",{"0":{"9":1}}],["from",{"2":{"4":2,"7":2}}],["false",{"2":{"35":1}}],["factoring",{"2":{"27":1}}],["factorization",{"2":{"3":9}}],["favouring",{"2":{"7":1}}],["fig",{"2":{"12":5,"13":5}}],["figure",{"2":{"12":1,"13":1,"35":1}}],["fit",{"2":{"9":1}}],["fields",{"2":{"7":3,"12":1,"26":1}}],["field",{"0":{"6":1},"2":{"25":1}}],["first",{"2":{"4":2}}],["further",{"2":{"27":1}}],["function",{"2":{"25":1,"26":1}}],["functions",{"2":{"19":2,"27":1}}],["functionality",{"2":{"13":1}}],["fulfill",{"2":{"5":1}}],["fulfil",{"2":{"5":1}}],["fuse",{"2":{"4":1}}],["found",{"2":{"27":1}}],["focus",{"2":{"9":1}}],["following",{"2":{"4":1,"19":2}}],["forbid",{"2":{"7":1}}],["form",{"2":{"7":1,"15":1}}],["for",{"2":{"2":20,"3":4,"4":6,"5":3,"9":1,"15":4,"19":2,"25":1,"26":1,"27":1,"35":1}}],["rank",{"2":{"26":2,"27":2}}],["rand",{"2":{"4":1,"12":2,"13":2,"26":1}}],["random",{"2":{"3":3}}],["rather",{"2":{"7":1}}],["rust",{"2":{"7":1}}],["right",{"2":{"3":12}}],["reduction",{"0":{"31":1,"32":1}}],["reducing",{"2":{"27":1}}],["reduces",{"2":{"27":1}}],["reduce",{"2":{"5":1,"27":2}}],["reason",{"2":{"27":1}}],["reached",{"2":{"25":1}}],["relationships",{"2":{"26":1}}],["relates",{"2":{"25":1}}],["remainder",{"2":{"25":1}}],["removed",{"2":{"4":1}}],["remove",{"0":{"22":1},"2":{"4":2}}],["region",{"2":{"8":1}}],["regions",{"0":{"8":1}}],["regularity",{"2":{"4":1}}],["recommend",{"2":{"9":1}}],["recent",{"2":{"7":1}}],["recursive",{"2":{"4":1,"26":1}}],["rest",{"2":{"35":1}}],["restricted",{"2":{"7":1}}],["result",{"2":{"5":1}}],["reverse",{"2":{"5":1}}],["renaming",{"2":{"4":1}}],["replaced",{"2":{"4":1}}],["replace",{"0":{"23":1},"2":{"4":3}}],["represents",{"2":{"15":1}}],["represented",{"2":{"5":2,"19":2,"26":1}}],["represent",{"2":{"4":1,"19":2}}],["representing",{"2":{"2":3,"4":1,"19":1}}],["return",{"2":{"3":1,"4":7,"5":1,"15":1}}],["returns",{"2":{"2":5,"4":1}}],["referenced",{"2":{"2":1}}],["permuting",{"2":{"27":1}}],["per",{"2":{"13":2}}],["periodic",{"2":{"12":5,"13":5}}],["performed",{"2":{"5":1}}],["perform",{"2":{"3":4}}],["pytorch",{"2":{"9":1}}],["python",{"2":{"7":1,"9":2}}],["physics",{"2":{"9":1}}],["powered",{"2":{"10":3}}],["polymorphic",{"2":{"7":1}}],["popular",{"2":{"7":1}}],["pop",{"2":{"4":4}}],["predefined",{"2":{"27":1}}],["prepare",{"2":{"27":1}}],["prefer",{"2":{"26":1}}],["preemptively",{"2":{"5":1}}],["practice",{"2":{"7":1,"27":1}}],["provides",{"2":{"35":1}}],["provide",{"2":{"27":1}}],["probably",{"2":{"25":1}}],["problem",{"2":{"9":1,"27":1}}],["programming",{"2":{"7":1}}],["projection",{"2":{"4":1}}],["projected",{"2":{"4":2}}],["product",{"0":{"12":1,"13":1,"14":1},"1":{"13":1},"2":{"1":1,"7":2,"12":1,"13":2}}],["please",{"2":{"25":1}}],["plot",{"2":{"5":1,"12":2,"13":2,"35":1}}],["place",{"2":{"4":1,"5":1,"15":1}}],["package",{"2":{"35":1}}],["passing",{"2":{"26":1}}],["passed",{"2":{"4":2,"15":1,"35":1}}],["path",{"2":{"15":4,"27":1}}],["particular",{"2":{"7":1}}],["parent",{"2":{"3":1,"7":1}}],["pair",{"2":{"5":1}}],["push",{"2":{"4":3,"8":1}}],["=c∈f∀i",{"2":{"25":1}}],["=>",{"2":{"4":3}}],["===",{"2":{"4":2}}],["=",{"2":{"2":1,"12":3,"13":3,"15":2,"26":3}}],["wraps",{"2":{"26":1}}],["written",{"2":{"9":3}}],["writing",{"2":{"7":1}}],["word",{"2":{"26":1}}],["would",{"2":{"25":1}}],["won",{"2":{"15":1}}],["we",{"2":{"9":1,"25":2,"26":1,"27":1}}],["want",{"2":{"8":1}}],["why",{"2":{"27":1}}],["whatever",{"2":{"26":1}}],["wha",{"2":{"25":1}}],["which",{"2":{"7":2,"8":1,"9":1,"15":2,"26":1,"27":2}}],["while",{"2":{"5":1,"13":1}}],["whose",{"2":{"5":1,"12":1,"25":1}}],["when",{"2":{"5":3}}],["where",{"2":{"4":2,"5":1,"25":1}}],["whether",{"2":{"2":1}}],["wild",{"2":{"9":1}}],["will",{"2":{"4":3}}],["with",{"2":{"2":5,"4":1,"5":2,"7":1,"9":1,"19":1,"25":1,"26":2}}],["layout=stress",{"2":{"35":1}}],["layout=spring",{"2":{"12":2,"13":2}}],["layman",{"2":{"25":1}}],["labels=true",{"2":{"35":1}}],["labels",{"2":{"35":2}}],["label",{"2":{"12":2,"13":2}}],["laid",{"2":{"12":1,"15":1}}],["large",{"2":{"10":1}}],["languages",{"2":{"7":2}}],["lanes",{"2":{"2":1}}],["locally",{"2":{"27":1}}],["lower",{"2":{"15":1}}],["look",{"2":{"9":1}}],["looks",{"2":{"7":1}}],["log",{"2":{"2":10,"3":2,"4":3,"5":1,"15":1}}],["lies",{"2":{"27":1}}],["library",{"2":{"9":2,"15":1}}],["libraries",{"2":{"9":1}}],["like",{"2":{"4":1,"7":3,"26":1}}],["list",{"2":{"4":2,"5":2,"26":2}}],["linear",{"2":{"19":1,"25":2,"26":2}}],["linearalgebra",{"2":{"3":3}}],["linalg",{"2":{"3":1}}],["lu",{"2":{"3":5}}],["length",{"2":{"26":1}}],["letters",{"2":{"25":1}}],["level",{"2":{"15":1}}],["left",{"2":{"3":12}}],["leads",{"2":{"2":1}}],["drastically",{"2":{"27":1}}],["due",{"2":{"12":1}}],["dual",{"2":{"2":1}}],["dasharray",{"2":{"7":5}}],["don",{"2":{"25":1}}],["do",{"2":{"5":1,"7":1,"26":1}}],["doesn",{"2":{"5":2,"9":1,"27":1}}],["documentation",{"2":{"15":1}}],["documenter",{"2":{"2":10,"3":2,"4":3,"5":1,"15":1}}],["docstring",{"2":{"2":20,"3":4,"4":6,"5":2,"15":2}}],["definitions",{"2":{"26":1}}],["definition",{"2":{"25":1}}],["define",{"2":{"25":1}}],["default",{"2":{"5":1}}],["defaults",{"2":{"3":9,"5":5,"15":1,"35":1}}],["design",{"2":{"7":1,"9":1}}],["delegated",{"2":{"15":1}}],["delete",{"2":{"4":2}}],["deltaarrays",{"2":{"5":2}}],["depending",{"2":{"4":1,"12":1}}],["details",{"2":{"2":10,"3":2,"4":3,"5":1,"15":1}}],["dispatched",{"2":{"26":1}}],["difference",{"2":{"13":1}}],["differentiation",{"2":{"10":1}}],["directly",{"2":{"5":1}}],["directionality",{"2":{"2":1}}],["diagonal",{"0":{"31":1,"32":1},"2":{"5":2}}],["diagonalreduction",{"2":{"5":1}}],["dims=nonunique",{"2":{"3":1}}],["dimensions",{"2":{"25":1}}],["dimensional",{"2":{"25":1}}],["dimensionality",{"2":{"4":1,"26":3}}],["dimensionalities",{"2":{"4":1}}],["dimension",{"0":{"33":1},"2":{"3":1,"4":3,"5":2}}],["crucial",{"2":{"27":1}}],["create",{"2":{"26":1}}],["c=0",{"2":{"12":2,"13":2}}],["chains",{"2":{"12":1}}],["chain",{"2":{"12":1}}],["chainrules",{"2":{"10":1}}],["checks",{"2":{"8":1}}],["check",{"2":{"2":10,"3":2,"4":3,"5":1,"15":2}}],["cuttings",{"2":{"10":1}}],["closed",{"2":{"12":1}}],["class",{"2":{"7":1}}],["clear",{"2":{"7":1}}],["c++",{"2":{"7":1}}],["case",{"2":{"9":1,"25":1}}],["cases",{"2":{"8":1}}],["cannot",{"2":{"7":1}}],["can",{"2":{"7":3,"12":1,"19":1,"25":1,"26":4,"27":2,"35":1}}],["cached",{"0":{"6":1}}],["call",{"2":{"4":1,"35":1}}],["causality",{"2":{"2":1}}],["cost",{"2":{"27":1}}],["correct",{"2":{"25":1}}],["correspond",{"2":{"4":1}}],["computations",{"2":{"27":1}}],["computational",{"2":{"5":1,"27":1}}],["computer",{"2":{"25":1}}],["complex",{"2":{"19":1}}],["completely",{"2":{"7":1}}],["composition",{"2":{"7":1}}],["compared",{"2":{"7":1}}],["columns",{"2":{"5":1}}],["copy",{"2":{"4":4,"5":2}}],["consulted",{"2":{"26":1}}],["considered",{"2":{"7":1}}],["connecting",{"0":{"18":1}}],["connected",{"2":{"15":1}}],["concrete",{"2":{"7":1}}],["conditions",{"2":{"12":2,"13":1}}],["condition",{"2":{"5":1}}],["converter",{"0":{"29":1}}],["convert",{"2":{"5":2}}],["configs",{"2":{"5":2}}],["config",{"2":{"5":2}}],["contains",{"2":{"5":1}}],["contain",{"2":{"4":1}}],["contracting",{"2":{"27":1}}],["contraction",{"0":{"15":1,"30":1},"2":{"3":1,"10":2,"15":5,"27":2}}],["contracted",{"2":{"15":1}}],["contractsimplification",{"2":{"5":1}}],["contract",{"2":{"3":1,"5":1,"15":4}}],["conjugate",{"2":{"2":1}}],["einsum",{"2":{"15":1}}],["einstein",{"2":{"15":1}}],["einexpr",{"2":{"15":3}}],["einexprs",{"2":{"10":2,"15":4}}],["every",{"2":{"15":1}}],["enough",{"2":{"25":1}}],["end",{"2":{"8":1}}],["enhance",{"2":{"5":1}}],["es",{"2":{"7":1}}],["efficiency",{"2":{"5":1}}],["each",{"2":{"4":1,"25":1,"26":1}}],["extension",{"2":{"35":1}}],["existing",{"0":{"23":1}}],["example",{"2":{"19":1,"26":1}}],["examplefig",{"2":{"12":1,"13":1}}],["expr",{"2":{"15":1}}],["expression",{"2":{"15":2}}],["expected",{"2":{"4":1}}],["execution",{"2":{"15":1}}],["except",{"2":{"3":6}}],["elements",{"0":{"23":1},"2":{"5":1}}],["element",{"2":{"4":2}}],["egality",{"2":{"4":2}}],["equivalent",{"2":{"4":2}}],["equation",{"2":{"4":1,"19":1}}],["edges",{"2":{"4":1,"19":1}}],["e",{"2":{"2":5,"4":1,"7":1,"12":1,"13":1,"15":1}}],["import",{"2":{"35":1}}],["importantly",{"2":{"27":1}}],["implements",{"2":{"13":1}}],["implementing",{"2":{"7":1}}],["implement",{"2":{"7":1}}],["identify",{"2":{"25":1}}],["id5",{"2":{"7":4}}],["id4",{"2":{"7":4}}],["id3",{"2":{"7":5}}],["id2",{"2":{"7":4}}],["id1",{"2":{"7":4}}],["if",{"2":{"2":1,"4":5,"9":1,"25":1,"35":1}}],["is",{"2":{"2":1,"4":6,"5":1,"7":1,"13":1,"15":3,"25":6,"26":2,"27":2}}],["itself",{"2":{"27":1}}],["iterations=1000",{"2":{"12":2,"13":2}}],["itensornetworks",{"2":{"9":1}}],["itensors",{"2":{"9":1}}],["it",{"2":{"2":1,"4":3,"5":4,"15":2,"25":2,"26":3,"27":2}}],["i",{"2":{"2":5,"3":2,"4":8,"7":1,"12":1,"13":1,"15":1,"25":3,"26":1}}],["involved",{"2":{"27":1}}],["involve",{"2":{"27":1}}],["information",{"0":{"20":1},"2":{"19":1}}],["info",{"2":{"15":1}}],["inspiration",{"2":{"9":1}}],["instantiated",{"2":{"7":2}}],["instead",{"2":{"4":1,"7":1}}],["increasingly",{"2":{"7":1}}],["increase",{"2":{"5":1}}],["inherited",{"2":{"7":2}}],["inheriting",{"2":{"7":1}}],["inheritance",{"0":{"7":1},"2":{"7":2}}],["intuitively",{"2":{"25":1}}],["into",{"2":{"4":1,"5":1}}],["interconnected",{"2":{"4":1}}],["integer",{"2":{"3":1,"4":2}}],["in",{"2":{"3":6,"4":3,"5":4,"7":5,"8":1,"9":4,"12":2,"13":1,"15":3,"19":1,"25":1,"26":2,"27":5}}],["indispensable",{"2":{"27":1}}],["indices",{"2":{"2":1,"3":12,"4":3,"5":4,"13":1,"15":2,"19":1,"26":1,"35":1}}],["index",{"2":{"4":11,"8":1,"13":1,"15":2,"26":1}}],["inds",{"2":{"2":1,"3":21,"4":1,"15":1}}],["inputs",{"2":{"2":2,"25":1,"26":2}}],["input",{"2":{"2":3,"13":1}}],["brief",{"2":{"25":1}}],["backend",{"2":{"35":1}}],["bad",{"2":{"7":1}}],["based",{"2":{"27":1}}],["base",{"2":{"2":2,"3":2,"4":11,"7":1}}],["built",{"2":{"9":1}}],["build",{"2":{"2":10,"3":2,"4":3,"5":1,"15":1}}],["but",{"2":{"4":1,"7":2,"15":1,"25":1,"27":1}}],["bottom",{"2":{"12":2,"13":2}}],["both",{"2":{"2":1,"27":1}}],["boundary",{"2":{"12":2,"13":1}}],["bond",{"2":{"3":3}}],["between",{"2":{"13":1,"25":1,"26":2}}],["begin",{"2":{"8":1}}],["been",{"2":{"4":2,"5":1,"7":1,"15":1}}],["behaviour",{"2":{"4":1}}],["be",{"2":{"3":6,"4":2,"7":4,"12":1,"15":2,"19":2,"25":2,"26":4,"27":1}}],["b",{"2":{"3":2}}],["by",{"2":{"2":1,"3":1,"5":3,"10":3,"19":1,"26":2,"27":1}}],["qr",{"2":{"3":5}}],["q",{"2":{"2":5}}],["query",{"0":{"20":1}}],["queried",{"2":{"19":1}}],["queries",{"0":{"17":1}}],["quimb",{"2":{"9":1,"27":1}}],["quot",{"2":{"2":2,"7":2,"25":2}}],["quantum",{"0":{"2":1,"16":1,"18":1},"1":{"17":1,"18":1},"2":{"2":9,"7":2,"12":1}}],["over",{"2":{"25":1}}],["our",{"2":{"25":1,"27":1}}],["out",{"2":{"12":1,"15":1}}],["outputs",{"2":{"2":2,"15":1}}],["output",{"2":{"2":3,"13":2,"15":1,"25":1,"26":1}}],["options",{"2":{"15":1}}],["optimizer",{"2":{"15":4}}],["optimized",{"2":{"10":1}}],["optimization",{"2":{"15":1}}],["operations",{"2":{"5":1,"26":1,"27":1}}],["operation",{"2":{"3":1}}],["operators",{"0":{"13":1},"2":{"13":1}}],["operator",{"2":{"2":3,"13":4}}],["open",{"2":{"2":1,"12":5,"13":5,"15":2}}],["oop",{"2":{"7":2}}],["objects",{"2":{"19":1}}],["object",{"2":{"7":1}}],["other",{"2":{"5":1,"9":1,"12":1,"26":1}}],["others",{"2":{"4":2}}],["old",{"2":{"4":4}}],["one",{"2":{"4":2,"25":1}}],["on",{"2":{"3":3,"4":2,"7":1,"8":1,"9":2,"12":1,"35":1}}],["only",{"2":{"2":2,"13":1}}],["oriented",{"2":{"7":1}}],["order",{"2":{"5":1,"25":5,"26":2}}],["or",{"2":{"2":2,"3":2,"4":3,"7":2,"12":1,"13":2,"26":2,"27":3}}],["of",{"2":{"2":8,"3":10,"4":10,"5":7,"7":4,"9":3,"10":2,"13":1,"15":2,"25":4,"26":6,"27":4,"35":2}}],["tᵢⱼₖ",{"2":{"26":4}}],["tijk⟺t",{"2":{"25":1}}],["time",{"2":{"7":1}}],["take",{"2":{"9":1}}],["terms",{"2":{"25":1}}],["temporarily",{"2":{"8":1}}],["tenpy",{"2":{"9":1}}],["tensorkrowch",{"2":{"9":1}}],["tensors",{"0":{"22":1,"25":1},"1":{"26":1},"2":{"2":1,"4":7,"5":3,"12":1,"15":1,"19":1,"25":4,"27":2}}],["tensornetworks",{"2":{"4":1}}],["tensornetwork",{"0":{"4":1},"1":{"5":1},"2":{"2":2,"4":16,"5":9,"7":2,"8":1,"15":2,"19":2,"27":1,"35":5}}],["tensor",{"0":{"3":1,"16":1,"18":1,"19":1,"26":1},"1":{"17":1,"18":1,"20":1,"21":1,"22":1,"23":1,"24":1},"2":{"1":1,"2":9,"3":15,"4":12,"5":3,"9":4,"10":2,"12":2,"15":1,"19":2,"25":5,"26":8,"27":2,"35":1}}],["tenet",{"2":{"1":1,"2":10,"4":4,"5":9,"7":1,"9":2,"13":1,"15":2,"19":1,"26":1,"27":1,"35":1}}],["td",{"2":{"7":1}}],["tree",{"2":{"15":1}}],["trains",{"2":{"12":1}}],["traits",{"0":{"7":1}}],["transforms",{"2":{"26":1}}],["transformation",{"2":{"5":11}}],["transformations",{"0":{"5":1,"27":1,"28":1},"1":{"28":1,"29":2,"30":2,"31":2,"32":2,"33":2,"34":2},"2":{"27":3}}],["transform",{"2":{"5":6,"27":2}}],["truncation",{"0":{"33":1}}],["truncating",{"2":{"27":1}}],["truncate",{"2":{"5":2}}],["true",{"2":{"2":1,"35":1}}],["type",{"0":{"26":1},"2":{"4":1,"7":1,"13":1,"19":1,"26":1}}],["types",{"2":{"4":1,"7":3}}],["tn",{"2":{"4":14,"5":4,"8":1,"10":1,"12":4,"13":4,"15":3,"19":1,"35":4}}],["t",{"2":{"3":6,"5":2,"7":1,"9":1,"15":1,"25":4,"27":1}}],["think",{"2":{"25":1}}],["this",{"2":{"2":1,"4":1,"5":2,"7":3,"12":1,"13":1,"27":1}}],["than",{"2":{"5":1}}],["that",{"2":{"4":2,"5":3,"13":1,"15":1,"26":3}}],["these",{"2":{"12":1,"19":1,"26":1,"27":2}}],["there",{"2":{"8":1,"9":1,"25":1}}],["them",{"2":{"7":1,"13":1,"26":1}}],["they",{"2":{"7":1}}],["then",{"2":{"4":2}}],["their",{"2":{"4":1,"13":2,"27":1}}],["the",{"0":{"26":1},"2":{"2":8,"3":12,"4":13,"5":5,"7":2,"9":1,"12":2,"13":3,"15":4,"19":4,"25":5,"26":10,"27":11,"35":3}}],["topology",{"2":{"13":1}}],["top",{"2":{"9":1}}],["topic",{"2":{"7":1}}],["tolerance",{"2":{"5":3}}],["to",{"2":{"2":1,"3":15,"4":8,"5":9,"7":1,"8":2,"9":1,"12":1,"13":1,"15":6,"25":3,"26":3,"27":4,"35":2}}],["n=10",{"2":{"12":2,"13":2}}],["nice",{"2":{"9":1}}],["ninputs",{"2":{"2":1}}],["n",{"2":{"4":1,"25":5}}],["necessarily",{"2":{"27":1}}],["nevertheless",{"2":{"25":1}}],["new",{"2":{"4":5,"5":1,"9":1}}],["networks",{"0":{"16":1,"18":1,"19":1},"1":{"17":1,"18":1,"20":1,"21":1,"22":1,"23":1,"24":1},"2":{"10":1,"12":1,"19":1}}],["network",{"2":{"1":1,"2":9,"4":2,"9":4,"10":2,"12":1,"15":1,"27":5}}],["named",{"2":{"25":1}}],["name",{"2":{"3":3,"26":1}}],["nlanes",{"2":{"2":1}}],["nor",{"2":{"26":1}}],["nodes",{"2":{"19":1}}],["node",{"2":{"15":1}}],["no",{"2":{"2":1,"9":1}}],["noutputs",{"2":{"2":1}}],["nothing",{"2":{"26":1}}],["notation",{"2":{"19":1}}],["not",{"2":{"7":2,"25":1}}],["notes",{"2":{"2":1}}],["notion",{"2":{"2":2}}],["numbers",{"2":{"25":1}}],["number",{"2":{"2":1,"25":1}}],["nsites",{"2":{"2":1}}],["show",{"2":{"35":1}}],["shallow",{"2":{"4":1}}],["science",{"2":{"25":1}}],["scalar",{"2":{"2":3,"25":2}}],["support",{"2":{"35":1}}],["superclass",{"2":{"7":1}}],["subtypes",{"2":{"26":1}}],["summation",{"2":{"15":1}}],["slicing",{"0":{"24":1},"2":{"10":1}}],["slice",{"2":{"4":3}}],["split",{"0":{"34":1}}],["splitsimplificationd",{"2":{"5":1}}],["spaces",{"2":{"25":2}}],["space",{"2":{"7":1,"26":1}}],["specified",{"2":{"3":1}}],["smaller",{"2":{"5":1}}],["skip",{"2":{"5":4}}],["strong",{"2":{"9":1}}],["stroke",{"2":{"7":5}}],["structural",{"2":{"7":2}}],["structure",{"2":{"5":1,"27":2}}],["style",{"2":{"7":5}}],["states",{"0":{"12":1},"1":{"13":1},"2":{"12":1}}],["state",{"2":{"1":1,"2":3,"12":2,"13":2}}],["satisfies",{"2":{"4":2}}],["search",{"2":{"15":1,"27":1}}],["sense",{"2":{"7":1}}],["selectdim",{"2":{"4":4}}],["self",{"2":{"4":2}}],["seed=100",{"2":{"12":2,"13":2}}],["seemps",{"2":{"9":1}}],["see",{"2":{"4":7,"5":3,"15":2}}],["sets",{"2":{"5":1}}],["set",{"2":{"4":1,"27":1}}],["svd",{"2":{"3":5}}],["symbolic",{"2":{"15":1}}],["symbols",{"2":{"4":2,"26":2}}],["symbol",{"2":{"3":4,"4":5}}],["simplification",{"0":{"30":1,"34":1}}],["simplify",{"2":{"27":1}}],["similar",{"2":{"15":1}}],["since",{"2":{"26":1}}],["site",{"2":{"13":2}}],["sites",{"2":{"2":9}}],["size",{"2":{"3":3,"4":3,"5":1,"8":1,"26":4,"27":2}}],["some",{"2":{"5":1,"7":1}}],["socket",{"2":{"2":9}}],["source",{"2":{"1":1,"2":9,"3":5,"4":12,"5":8,"9":1,"15":2,"35":1}}],["s",{"2":{"2":10,"3":2,"4":3,"5":1,"7":1,"9":1,"15":1,"19":1,"25":1,"27":1}}],["swapped",{"2":{"2":1}}],["missleading",{"2":{"26":1}}],["missing",{"2":{"2":20,"3":4,"4":6,"5":2,"15":2}}],["might",{"2":{"25":1}}],["multi",{"2":{"19":1}}],["multilinear",{"2":{"4":1,"25":1}}],["most",{"2":{"25":1}}],["modify",{"2":{"27":1}}],["modification",{"0":{"21":1},"1":{"22":1,"23":1}}],["modern",{"2":{"7":1}}],["more",{"2":{"15":1,"27":1}}],["mpos",{"2":{"13":1}}],["mpo",{"0":{"13":1},"2":{"7":2,"13":1}}],["mpss",{"2":{"13":1}}],["mps",{"0":{"1":1,"12":1},"1":{"13":1},"2":{"1":1,"7":2,"12":1,"13":1}}],["meaning",{"2":{"26":1}}],["me",{"2":{"25":1}}],["methods",{"2":{"7":1,"27":1}}],["merge",{"2":{"2":1,"4":3}}],["maximum",{"2":{"27":1}}],["many",{"2":{"25":1,"26":1}}],["major",{"2":{"13":1}}],["makie",{"2":{"10":1,"35":2}}],["matrices",{"2":{"25":1}}],["matrixproduct",{"2":{"12":2,"13":3}}],["matrix",{"0":{"12":1,"13":1},"1":{"13":1},"2":{"1":1,"12":1,"13":2}}],["mathematicians",{"2":{"25":1}}],["mathematical",{"2":{"12":1}}],["mature",{"2":{"9":1}}],["main",{"2":{"9":1}}],["may",{"2":{"8":1,"26":1}}],["mapping",{"2":{"4":1}}],["axis3",{"2":{"35":1}}],["axis",{"2":{"35":1}}],["ax",{"2":{"35":1}}],["available",{"0":{"28":1},"1":{"29":1,"30":1,"31":1,"32":1,"33":1,"34":1}}],["avoid",{"2":{"8":1}}],["approach",{"2":{"27":1}}],["apply",{"2":{"27":2}}],["application",{"2":{"25":1}}],["append",{"2":{"4":3}}],["ability",{"2":{"27":1}}],["about",{"2":{"19":1,"25":1}}],["absolute",{"2":{"5":3}}],["abstractarray",{"2":{"26":1}}],["abstractansatz",{"2":{"1":1,"7":1}}],["abstractmps",{"2":{"7":1}}],["abstractmpo",{"2":{"7":1}}],["abstract",{"2":{"7":2}}],["abstractvecortuple",{"2":{"4":2}}],["abstracttensornetwork",{"2":{"4":10,"7":1,"15":2}}],["abstractquantum",{"2":{"2":6,"7":1}}],["aka",{"2":{"15":1}}],["automatic",{"2":{"10":1}}],["at",{"2":{"9":1}}],["atol",{"2":{"5":4}}],["as",{"2":{"7":2,"12":1,"15":2,"19":1,"25":4,"26":3,"35":1}}],["act",{"2":{"7":1}}],["algebra",{"2":{"25":2,"26":1}}],["always",{"2":{"5":1}}],["also",{"2":{"4":7,"5":3,"12":1,"15":2,"26":1,"27":2}}],["all",{"2":{"3":6,"4":1,"5":1,"7":1}}],["address",{"2":{"13":1}}],["add",{"0":{"22":1},"2":{"4":2}}],["adjoint",{"2":{"2":2}}],["arguments",{"2":{"3":3,"5":3,"15":1,"35":1}}],["arrays",{"2":{"25":1}}],["array",{"2":{"3":1,"26":4}}],["are",{"2":{"2":1,"8":1,"9":1,"12":3,"13":2,"19":2,"25":5,"26":1,"27":1,"35":1}}],["anti",{"0":{"32":1},"2":{"5":1}}],["antidiagonalgauging",{"2":{"5":1}}],["an",{"2":{"2":2,"13":1,"15":1,"26":2}}],["and",{"0":{"7":1},"2":{"2":3,"4":4,"7":4,"9":1,"10":1,"13":2,"15":2,"19":1,"25":1,"26":4,"27":2,"35":1}}],["ansatz",{"0":{"0":1,"11":1,"14":1},"1":{"1":1},"2":{"1":1,"7":5,"12":1,"13":1}}],["a",{"2":{"1":1,"2":11,"3":8,"4":15,"5":8,"7":2,"8":1,"9":3,"12":2,"15":7,"19":2,"25":9,"26":8,"27":2,"35":5}}]],"serializationVersion":2}';export{e as default}; +const e='{"documentCount":36,"nextId":36,"documentIds":{"0":"/Tenet.jl/previews/PR258/api/ansatz#ansatz","1":"/Tenet.jl/previews/PR258/api/ansatz#mps","2":"/Tenet.jl/previews/PR258/api/quantum#quantum","3":"/Tenet.jl/previews/PR258/api/tensor#tensor","4":"/Tenet.jl/previews/PR258/api/tensornetwork#tensornetwork","5":"/Tenet.jl/previews/PR258/api/tensornetwork#transformations","6":"/Tenet.jl/previews/PR258/developer/cached-field#Cached-field","7":"/Tenet.jl/previews/PR258/developer/type-hierarchy#Inheritance-and-Traits","8":"/Tenet.jl/previews/PR258/developer/unsafe-region#Unsafe-regions","9":"/Tenet.jl/previews/PR258/friends#friends","10":"/Tenet.jl/previews/PR258/#features","11":"/Tenet.jl/previews/PR258/manual/ansatz/#ansatz","12":"/Tenet.jl/previews/PR258/manual/ansatz/mps#Matrix-Product-States-(MPS)","13":"/Tenet.jl/previews/PR258/manual/ansatz/mps#Matrix-Product-Operators-(MPO)","14":"/Tenet.jl/previews/PR258/manual/ansatz/product#Product-ansatz","15":"/Tenet.jl/previews/PR258/manual/contraction#contraction","16":"/Tenet.jl/previews/PR258/manual/tensor-network#Tensor-Networks","17":"/Tenet.jl/previews/PR258/manual/tensor-network#Query-information","18":"/Tenet.jl/previews/PR258/manual/tensor-network#modification","19":"/Tenet.jl/previews/PR258/manual/tensor-network#Add/Remove-tensors","20":"/Tenet.jl/previews/PR258/manual/tensor-network#Replace-existing-elements","21":"/Tenet.jl/previews/PR258/manual/tensor-network#slicing","22":"/Tenet.jl/previews/PR258/manual/quantum#Quantum-Tensor-Networks","23":"/Tenet.jl/previews/PR258/manual/quantum#queries","24":"/Tenet.jl/previews/PR258/manual/quantum#Connecting-Quantum-Tensor-Networks","25":"/Tenet.jl/previews/PR258/manual/tensors#tensors","26":"/Tenet.jl/previews/PR258/manual/tensors#The-Tensor-type","27":"/Tenet.jl/previews/PR258/manual/transformations#transformations","28":"/Tenet.jl/previews/PR258/manual/transformations#Available-transformations","29":"/Tenet.jl/previews/PR258/manual/transformations#Hyperindex-converter","30":"/Tenet.jl/previews/PR258/manual/transformations#Contraction-simplification","31":"/Tenet.jl/previews/PR258/manual/transformations#Diagonal-reduction","32":"/Tenet.jl/previews/PR258/manual/transformations#Anti-diagonal-reduction","33":"/Tenet.jl/previews/PR258/manual/transformations#Dimension-truncation","34":"/Tenet.jl/previews/PR258/manual/transformations#Split-simplification","35":"/Tenet.jl/previews/PR258/visualization#visualization"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[1,1,1],"1":[1,1,14],"2":[1,1,92],"3":[1,1,70],"4":[1,1,148],"5":[1,1,120],"6":[2,1,1],"7":[3,1,123],"8":[2,1,25],"9":[1,1,61],"10":[1,1,21],"11":[1,1,1],"12":[5,1,67],"13":[5,5,76],"14":[2,1,1],"15":[1,1,99],"16":[2,1,47],"17":[2,2,1],"18":[1,2,1],"19":[3,3,1],"20":[3,3,1],"21":[1,2,1],"22":[3,1,1],"23":[1,3,1],"24":[4,3,1],"25":[1,1,118],"26":[3,1,134],"27":[1,1,96],"28":[2,1,1],"29":[2,3,1],"30":[2,3,1],"31":[2,3,1],"32":[3,3,1],"33":[2,3,1],"34":[2,3,1],"35":[1,1,53]},"averageFieldLength":[1.9444444444444444,1.75,38.41666666666666],"storedFields":{"0":{"title":"Ansatz","titles":[]},"1":{"title":"MPS","titles":["Ansatz"]},"2":{"title":"Quantum","titles":[]},"3":{"title":"Tensor","titles":[]},"4":{"title":"TensorNetwork","titles":[]},"5":{"title":"Transformations","titles":["TensorNetwork"]},"6":{"title":"Cached field","titles":[]},"7":{"title":"Inheritance and Traits","titles":[]},"8":{"title":"Unsafe regions","titles":[]},"9":{"title":"Friends","titles":[]},"10":{"title":"Features","titles":[]},"11":{"title":"Ansatz","titles":[]},"12":{"title":"Matrix Product States (MPS)","titles":[]},"13":{"title":"Matrix Product Operators (MPO)","titles":["Matrix Product States (MPS)"]},"14":{"title":"Product ansatz","titles":[]},"15":{"title":"Contraction","titles":[]},"16":{"title":"Tensor Networks","titles":[]},"17":{"title":"Query information","titles":["Tensor Networks"]},"18":{"title":"Modification","titles":["Tensor Networks"]},"19":{"title":"Add/Remove tensors","titles":["Tensor Networks","Modification"]},"20":{"title":"Replace existing elements","titles":["Tensor Networks","Modification"]},"21":{"title":"Slicing","titles":["Tensor Networks"]},"22":{"title":"Quantum Tensor Networks","titles":[]},"23":{"title":"Queries","titles":["Quantum Tensor Networks"]},"24":{"title":"Connecting Quantum Tensor Networks","titles":["Quantum Tensor Networks"]},"25":{"title":"Tensors","titles":[]},"26":{"title":"The Tensor type","titles":["Tensors"]},"27":{"title":"Transformations","titles":[]},"28":{"title":"Available transformations","titles":["Transformations"]},"29":{"title":"Hyperindex converter","titles":["Transformations","Available transformations"]},"30":{"title":"Contraction simplification","titles":["Transformations","Available transformations"]},"31":{"title":"Diagonal reduction","titles":["Transformations","Available transformations"]},"32":{"title":"Anti-diagonal reduction","titles":["Transformations","Available transformations"]},"33":{"title":"Dimension truncation","titles":["Transformations","Available transformations"]},"34":{"title":"Split simplification","titles":["Transformations","Available transformations"]},"35":{"title":"Visualization","titles":[]}},"dirtCount":0,"index":[["↩︎",{"2":{"26":3}}],["436409",{"2":{"26":1}}],["455204",{"2":{"26":1}}],["453026",{"2":{"26":1}}],["737091",{"2":{"26":1}}],["623254",{"2":{"26":1}}],["991614",{"2":{"26":1}}],["968576",{"2":{"26":1}}],["961735",{"2":{"26":1}}],["949801",{"2":{"26":1}}],["987395",{"2":{"26":1}}],["842169",{"2":{"26":1}}],["899358",{"2":{"26":1}}],["816029",{"2":{"26":1}}],["0710975",{"2":{"26":1}}],["0537337",{"2":{"26":1}}],["0",{"2":{"25":1,"26":30}}],["∈fdim⁡",{"2":{"25":1}}],["↦fin",{"2":{"25":1}}],["×⋯×fdim⁡",{"2":{"25":1}}],["∑ijklmnopaimbijpcnjkdpklemnofolcan",{"2":{"16":1}}],["2021",{"2":{"27":1}}],["252068",{"2":{"26":1}}],["254832",{"2":{"26":1}}],["272806",{"2":{"26":1}}],["23841",{"2":{"26":1}}],["241852",{"2":{"26":1}}],["2",{"2":{"12":2,"13":3,"25":2,"26":3}}],["χ=4",{"2":{"12":2,"13":2}}],["30",{"2":{"26":1}}],["341001",{"2":{"26":1}}],["340958",{"2":{"26":1}}],["374111",{"2":{"26":1}}],["373338",{"2":{"26":1}}],["3×5×2",{"2":{"26":1}}],["3",{"2":{"25":1,"26":4}}],["3d",{"2":{"10":1}}],["39",{"2":{"2":10,"3":2,"4":3,"5":3,"7":2,"9":2,"15":2,"16":1,"25":2,"27":2}}],["your",{"2":{"9":1,"27":1}}],["you",{"2":{"8":1,"25":3,"26":1,"27":1,"35":1}}],["years",{"2":{"7":1}}],["515756",{"2":{"26":1}}],["570934",{"2":{"26":1}}],["556988",{"2":{"26":1}}],["5",{"2":{"7":10,"12":2,"13":2,"26":3}}],[">|contains|",{"2":{"7":5}}],[">|inherits|",{"2":{"7":10}}],["just",{"2":{"35":1}}],["juliagraphplot",{"2":{"35":2}}],["julia>",{"2":{"26":2}}],["juliajulia>",{"2":{"26":2}}],["juliaeinexpr",{"2":{"15":1}}],["julia",{"2":{"7":4,"8":1,"9":1}}],["juliadiagonalreduction",{"2":{"5":1}}],["juliadelete",{"2":{"4":1}}],["juliahypergroup",{"2":{"5":1}}],["juliahyperflatten",{"2":{"5":1}}],["juliatruncate",{"2":{"5":1}}],["juliatransform",{"2":{"5":2}}],["juliatensornetwork",{"2":{"2":1,"4":1}}],["juliacopy",{"2":{"4":1}}],["juliacontractsimplification",{"2":{"5":1}}],["juliacontract",{"2":{"3":1,"15":1}}],["juliaview",{"2":{"4":1}}],["juliareplace",{"2":{"4":1}}],["juliamermaid",{"2":{"7":1}}],["juliamerge",{"2":{"4":1}}],["juliamps",{"2":{"1":1}}],["juliaantidiagonalgauging",{"2":{"5":1}}],["juliaappend",{"2":{"4":1}}],["juliaadjoint",{"2":{"2":1}}],["juliapop",{"2":{"4":1}}],["juliapush",{"2":{"4":1}}],["julialinearalgebra",{"2":{"3":3}}],["juliabase",{"2":{"3":1}}],["juliaoperator",{"2":{"2":1}}],["juliaslice",{"2":{"4":1}}],["juliaselectdim",{"2":{"4":1}}],["juliasize",{"2":{"4":1}}],["juliasites",{"2":{"2":1}}],["juliastate",{"2":{"2":1}}],["juliascalar",{"2":{"2":1}}],["juliasocket",{"2":{"2":1}}],["juliansites",{"2":{"2":1}}],["juliaquantum",{"2":{"2":1}}],["j",{"2":{"25":1,"26":2}}],["jokes",{"2":{"25":1}}],["jl",{"2":{"9":2}}],["java",{"2":{"7":1}}],["giving",{"2":{"25":1}}],["give",{"2":{"25":1}}],["given",{"2":{"15":1}}],["gridposition",{"2":{"35":1}}],["gray",{"2":{"27":1}}],["graphplot",{"2":{"35":5}}],["graphmakie",{"2":{"35":3}}],["graphical",{"2":{"16":1}}],["graph",{"2":{"4":3,"7":1,"16":1,"35":1}}],["graphs",{"2":{"3":1}}],["greedy",{"2":{"15":1}}],["generic",{"2":{"13":1}}],["generalization",{"2":{"25":1}}],["general",{"2":{"7":1}}],["good",{"2":{"25":1,"27":1}}],["gonna",{"2":{"25":1}}],["go",{"2":{"7":1}}],["109921",{"2":{"26":1}}],["189177",{"2":{"26":1}}],["111351",{"2":{"26":1}}],["1",{"2":{"12":6,"13":9,"25":4,"26":1}}],["1d",{"2":{"12":1}}],["12",{"2":{"5":3}}],["1e",{"2":{"5":3}}],["however",{"2":{"26":1}}],["how",{"2":{"25":1}}],["here",{"2":{"25":2}}],["higher",{"2":{"25":1}}],["hide",{"2":{"12":8,"13":8}}],["hierarchy",{"2":{"7":1}}],["have",{"2":{"7":2,"13":2,"25":1}}],["has",{"2":{"4":2,"5":2,"7":2,"15":1,"26":1}}],["hyperindex",{"0":{"29":1}}],["hyperindices",{"2":{"5":2}}],["hypergroup",{"2":{"5":2}}],["hyperflatten",{"2":{"5":2}}],["x",{"2":{"4":1}}],["x3c",{"2":{"1":1,"2":3,"4":1,"5":6}}],["≡",{"2":{"4":2}}],["v",{"2":{"25":3}}],["vectors",{"2":{"25":2}}],["vector",{"2":{"25":2,"26":1}}],["version",{"2":{"5":1,"13":1}}],["vertices",{"2":{"4":1}}],["variables",{"2":{"13":1}}],["various",{"2":{"4":1,"27":1}}],["visually",{"2":{"16":1}}],["visualization",{"0":{"35":1},"2":{"10":1}}],["visualizing",{"2":{"5":1}}],["viewed",{"2":{"25":1}}],["view",{"2":{"4":3}}],["virtual",{"2":{"3":3}}],["virtualind",{"2":{"3":6}}],["using",{"2":{"26":1,"27":1}}],["use",{"2":{"25":1,"26":1}}],["used",{"2":{"3":6,"5":1,"13":1,"25":1}}],["up",{"2":{"5":1}}],["unsafe",{"0":{"8":1},"2":{"8":1}}],["union",{"2":{"4":1,"35":2}}],["underlying",{"2":{"2":1,"3":1}}],["kourtis",{"2":{"27":1}}],["k",{"2":{"25":1,"26":1}}],["kill",{"2":{"25":1}}],["kind",{"2":{"7":1}}],["know",{"2":{"25":1}}],["known",{"2":{"12":1,"26":1}}],["keyword",{"2":{"3":3,"5":3,"15":1,"35":1}}],["kwargs",{"2":{"2":2,"3":3,"15":2,"35":4}}],["float64",{"2":{"26":2}}],["flexible",{"2":{"9":1}}],["fdim⁡",{"2":{"25":1}}],["f",{"2":{"25":1,"35":1}}],["features",{"0":{"10":1}}],["framework",{"2":{"9":1}}],["friends",{"0":{"9":1}}],["from",{"2":{"4":2,"7":2}}],["false",{"2":{"35":1}}],["factoring",{"2":{"27":1}}],["factorization",{"2":{"3":9}}],["favouring",{"2":{"7":1}}],["fig",{"2":{"12":5,"13":5}}],["figure",{"2":{"12":1,"13":1,"35":1}}],["fit",{"2":{"9":1}}],["fields",{"2":{"7":3,"12":1,"26":1}}],["field",{"0":{"6":1},"2":{"25":1}}],["first",{"2":{"4":2}}],["further",{"2":{"27":1}}],["function",{"2":{"25":1,"26":1}}],["functions",{"2":{"16":2,"27":1}}],["functionality",{"2":{"13":1}}],["fulfill",{"2":{"5":1}}],["fulfil",{"2":{"5":1}}],["fuse",{"2":{"4":1}}],["found",{"2":{"27":1}}],["focus",{"2":{"9":1}}],["following",{"2":{"4":1,"16":2}}],["forbid",{"2":{"7":1}}],["form",{"2":{"7":1,"15":1}}],["for",{"2":{"2":20,"3":4,"4":6,"5":3,"9":1,"15":4,"16":2,"25":1,"26":1,"27":1,"35":1}}],["rank",{"2":{"26":2,"27":2}}],["rand",{"2":{"4":1,"12":2,"13":2,"26":1}}],["random",{"2":{"3":3}}],["rather",{"2":{"7":1}}],["rust",{"2":{"7":1}}],["right",{"2":{"3":12}}],["reduction",{"0":{"31":1,"32":1}}],["reducing",{"2":{"27":1}}],["reduces",{"2":{"27":1}}],["reduce",{"2":{"5":1,"27":2}}],["reason",{"2":{"27":1}}],["reached",{"2":{"25":1}}],["relationships",{"2":{"26":1}}],["relates",{"2":{"25":1}}],["remainder",{"2":{"25":1}}],["removed",{"2":{"4":1}}],["remove",{"0":{"19":1},"2":{"4":2}}],["region",{"2":{"8":1}}],["regions",{"0":{"8":1}}],["regularity",{"2":{"4":1}}],["recommend",{"2":{"9":1}}],["recent",{"2":{"7":1}}],["recursive",{"2":{"4":1,"26":1}}],["rest",{"2":{"35":1}}],["restricted",{"2":{"7":1}}],["result",{"2":{"5":1}}],["reverse",{"2":{"5":1}}],["renaming",{"2":{"4":1}}],["replaced",{"2":{"4":1}}],["replace",{"0":{"20":1},"2":{"4":3}}],["represents",{"2":{"15":1}}],["represented",{"2":{"5":2,"16":2,"26":1}}],["represent",{"2":{"4":1,"16":2}}],["representing",{"2":{"2":3,"4":1,"16":1}}],["return",{"2":{"3":1,"4":7,"5":1,"15":1}}],["returns",{"2":{"2":5,"4":1}}],["referenced",{"2":{"2":1}}],["permuting",{"2":{"27":1}}],["per",{"2":{"13":2}}],["periodic",{"2":{"12":5,"13":5}}],["performed",{"2":{"5":1}}],["perform",{"2":{"3":4}}],["pytorch",{"2":{"9":1}}],["python",{"2":{"7":1,"9":2}}],["physics",{"2":{"9":1}}],["powered",{"2":{"10":3}}],["polymorphic",{"2":{"7":1}}],["popular",{"2":{"7":1}}],["pop",{"2":{"4":4}}],["predefined",{"2":{"27":1}}],["prepare",{"2":{"27":1}}],["prefer",{"2":{"26":1}}],["preemptively",{"2":{"5":1}}],["practice",{"2":{"7":1,"27":1}}],["provides",{"2":{"35":1}}],["provide",{"2":{"27":1}}],["probably",{"2":{"25":1}}],["problem",{"2":{"9":1,"27":1}}],["programming",{"2":{"7":1}}],["projection",{"2":{"4":1}}],["projected",{"2":{"4":2}}],["product",{"0":{"12":1,"13":1,"14":1},"1":{"13":1},"2":{"1":1,"7":2,"12":1,"13":2}}],["please",{"2":{"25":1}}],["plot",{"2":{"5":1,"12":2,"13":2,"35":1}}],["place",{"2":{"4":1,"5":1,"15":1}}],["package",{"2":{"35":1}}],["passing",{"2":{"26":1}}],["passed",{"2":{"4":2,"15":1,"35":1}}],["path",{"2":{"15":4,"27":1}}],["particular",{"2":{"7":1}}],["parent",{"2":{"3":1,"7":1}}],["pair",{"2":{"5":1}}],["push",{"2":{"4":3,"8":1}}],["=c∈f∀i",{"2":{"25":1}}],["=>",{"2":{"4":3}}],["===",{"2":{"4":2}}],["=",{"2":{"2":1,"12":3,"13":3,"15":2,"26":3}}],["wraps",{"2":{"26":1}}],["written",{"2":{"9":3}}],["writing",{"2":{"7":1}}],["word",{"2":{"26":1}}],["would",{"2":{"25":1}}],["won",{"2":{"15":1}}],["we",{"2":{"9":1,"25":2,"26":1,"27":1}}],["want",{"2":{"8":1}}],["why",{"2":{"27":1}}],["whatever",{"2":{"26":1}}],["wha",{"2":{"25":1}}],["which",{"2":{"7":2,"8":1,"9":1,"15":2,"26":1,"27":2}}],["while",{"2":{"5":1,"13":1}}],["whose",{"2":{"5":1,"12":1,"25":1}}],["when",{"2":{"5":3}}],["where",{"2":{"4":2,"5":1,"25":1}}],["whether",{"2":{"2":1}}],["wild",{"2":{"9":1}}],["will",{"2":{"4":3}}],["with",{"2":{"2":5,"4":1,"5":2,"7":1,"9":1,"16":1,"25":1,"26":2}}],["layout=stress",{"2":{"35":1}}],["layout=spring",{"2":{"12":2,"13":2}}],["layman",{"2":{"25":1}}],["labels=true",{"2":{"35":1}}],["labels",{"2":{"35":2}}],["label",{"2":{"12":2,"13":2}}],["laid",{"2":{"12":1,"15":1}}],["large",{"2":{"10":1}}],["languages",{"2":{"7":2}}],["lanes",{"2":{"2":1}}],["locally",{"2":{"27":1}}],["lower",{"2":{"15":1}}],["look",{"2":{"9":1}}],["looks",{"2":{"7":1}}],["log",{"2":{"2":10,"3":2,"4":3,"5":1,"15":1}}],["lies",{"2":{"27":1}}],["library",{"2":{"9":2,"15":1}}],["libraries",{"2":{"9":1}}],["like",{"2":{"4":1,"7":3,"26":1}}],["list",{"2":{"4":2,"5":2,"26":2}}],["linear",{"2":{"16":1,"25":2,"26":2}}],["linearalgebra",{"2":{"3":3}}],["linalg",{"2":{"3":1}}],["lu",{"2":{"3":5}}],["length",{"2":{"26":1}}],["letters",{"2":{"25":1}}],["level",{"2":{"15":1}}],["left",{"2":{"3":12}}],["leads",{"2":{"2":1}}],["drastically",{"2":{"27":1}}],["due",{"2":{"12":1}}],["dual",{"2":{"2":1}}],["dasharray",{"2":{"7":5}}],["don",{"2":{"25":1}}],["do",{"2":{"5":1,"7":1,"26":1}}],["doesn",{"2":{"5":2,"9":1,"27":1}}],["documentation",{"2":{"15":1}}],["documenter",{"2":{"2":10,"3":2,"4":3,"5":1,"15":1}}],["docstring",{"2":{"2":20,"3":4,"4":6,"5":2,"15":2}}],["definitions",{"2":{"26":1}}],["definition",{"2":{"25":1}}],["define",{"2":{"25":1}}],["default",{"2":{"5":1}}],["defaults",{"2":{"3":9,"5":5,"15":1,"35":1}}],["design",{"2":{"7":1,"9":1}}],["delegated",{"2":{"15":1}}],["delete",{"2":{"4":2}}],["deltaarrays",{"2":{"5":2}}],["depending",{"2":{"4":1,"12":1}}],["details",{"2":{"2":10,"3":2,"4":3,"5":1,"15":1}}],["dispatched",{"2":{"26":1}}],["difference",{"2":{"13":1}}],["differentiation",{"2":{"10":1}}],["directly",{"2":{"5":1}}],["directionality",{"2":{"2":1}}],["diagonal",{"0":{"31":1,"32":1},"2":{"5":2}}],["diagonalreduction",{"2":{"5":1}}],["dims=nonunique",{"2":{"3":1}}],["dimensions",{"2":{"25":1}}],["dimensional",{"2":{"25":1}}],["dimensionality",{"2":{"4":1,"26":3}}],["dimensionalities",{"2":{"4":1}}],["dimension",{"0":{"33":1},"2":{"3":1,"4":3,"5":2}}],["crucial",{"2":{"27":1}}],["create",{"2":{"26":1}}],["c=0",{"2":{"12":2,"13":2}}],["chains",{"2":{"12":1}}],["chain",{"2":{"12":1}}],["chainrules",{"2":{"10":1}}],["checks",{"2":{"8":1}}],["check",{"2":{"2":10,"3":2,"4":3,"5":1,"15":2}}],["cuttings",{"2":{"10":1}}],["closed",{"2":{"12":1}}],["class",{"2":{"7":1}}],["clear",{"2":{"7":1}}],["c++",{"2":{"7":1}}],["case",{"2":{"9":1,"25":1}}],["cases",{"2":{"8":1}}],["cannot",{"2":{"7":1}}],["can",{"2":{"7":3,"12":1,"16":1,"25":1,"26":4,"27":2,"35":1}}],["cached",{"0":{"6":1}}],["call",{"2":{"4":1,"35":1}}],["causality",{"2":{"2":1}}],["cost",{"2":{"27":1}}],["correct",{"2":{"25":1}}],["correspond",{"2":{"4":1}}],["computations",{"2":{"27":1}}],["computational",{"2":{"5":1,"27":1}}],["computer",{"2":{"25":1}}],["complex",{"2":{"16":1}}],["completely",{"2":{"7":1}}],["composition",{"2":{"7":1}}],["compared",{"2":{"7":1}}],["columns",{"2":{"5":1}}],["copy",{"2":{"4":4,"5":2}}],["consulted",{"2":{"26":1}}],["considered",{"2":{"7":1}}],["connecting",{"0":{"24":1}}],["connected",{"2":{"15":1}}],["concrete",{"2":{"7":1}}],["conditions",{"2":{"12":2,"13":1}}],["condition",{"2":{"5":1}}],["converter",{"0":{"29":1}}],["convert",{"2":{"5":2}}],["configs",{"2":{"5":2}}],["config",{"2":{"5":2}}],["contains",{"2":{"5":1}}],["contain",{"2":{"4":1}}],["contracting",{"2":{"27":1}}],["contraction",{"0":{"15":1,"30":1},"2":{"3":1,"10":2,"15":5,"27":2}}],["contracted",{"2":{"15":1}}],["contractsimplification",{"2":{"5":1}}],["contract",{"2":{"3":1,"5":1,"15":4}}],["conjugate",{"2":{"2":1}}],["einsum",{"2":{"15":1}}],["einstein",{"2":{"15":1}}],["einexpr",{"2":{"15":3}}],["einexprs",{"2":{"10":2,"15":4}}],["every",{"2":{"15":1}}],["enough",{"2":{"25":1}}],["end",{"2":{"8":1}}],["enhance",{"2":{"5":1}}],["es",{"2":{"7":1}}],["efficiency",{"2":{"5":1}}],["each",{"2":{"4":1,"25":1,"26":1}}],["extension",{"2":{"35":1}}],["existing",{"0":{"20":1}}],["example",{"2":{"16":1,"26":1}}],["examplefig",{"2":{"12":1,"13":1}}],["expr",{"2":{"15":1}}],["expression",{"2":{"15":2}}],["expected",{"2":{"4":1}}],["execution",{"2":{"15":1}}],["except",{"2":{"3":6}}],["elements",{"0":{"20":1},"2":{"5":1}}],["element",{"2":{"4":2}}],["egality",{"2":{"4":2}}],["equivalent",{"2":{"4":2}}],["equation",{"2":{"4":1,"16":1}}],["edges",{"2":{"4":1,"16":1}}],["e",{"2":{"2":5,"4":1,"7":1,"12":1,"13":1,"15":1}}],["import",{"2":{"35":1}}],["importantly",{"2":{"27":1}}],["implements",{"2":{"13":1}}],["implementing",{"2":{"7":1}}],["implement",{"2":{"7":1}}],["identify",{"2":{"25":1}}],["id5",{"2":{"7":4}}],["id4",{"2":{"7":4}}],["id3",{"2":{"7":5}}],["id2",{"2":{"7":4}}],["id1",{"2":{"7":4}}],["if",{"2":{"2":1,"4":5,"9":1,"25":1,"35":1}}],["is",{"2":{"2":1,"4":6,"5":1,"7":1,"13":1,"15":3,"25":6,"26":2,"27":2}}],["itself",{"2":{"27":1}}],["iterations=1000",{"2":{"12":2,"13":2}}],["itensornetworks",{"2":{"9":1}}],["itensors",{"2":{"9":1}}],["it",{"2":{"2":1,"4":3,"5":4,"15":2,"25":2,"26":3,"27":2}}],["i",{"2":{"2":5,"3":2,"4":8,"7":1,"12":1,"13":1,"15":1,"25":3,"26":1}}],["involved",{"2":{"27":1}}],["involve",{"2":{"27":1}}],["information",{"0":{"17":1},"2":{"16":1}}],["info",{"2":{"15":1}}],["inspiration",{"2":{"9":1}}],["instantiated",{"2":{"7":2}}],["instead",{"2":{"4":1,"7":1}}],["increasingly",{"2":{"7":1}}],["increase",{"2":{"5":1}}],["inherited",{"2":{"7":2}}],["inheriting",{"2":{"7":1}}],["inheritance",{"0":{"7":1},"2":{"7":2}}],["intuitively",{"2":{"25":1}}],["into",{"2":{"4":1,"5":1}}],["interconnected",{"2":{"4":1}}],["integer",{"2":{"3":1,"4":2}}],["in",{"2":{"3":6,"4":3,"5":4,"7":5,"8":1,"9":4,"12":2,"13":1,"15":3,"16":1,"25":1,"26":2,"27":5}}],["indispensable",{"2":{"27":1}}],["indices",{"2":{"2":1,"3":12,"4":3,"5":4,"13":1,"15":2,"16":1,"26":1,"35":1}}],["index",{"2":{"4":11,"8":1,"13":1,"15":2,"26":1}}],["inds",{"2":{"2":1,"3":21,"4":1,"15":1}}],["inputs",{"2":{"2":2,"25":1,"26":2}}],["input",{"2":{"2":3,"13":1}}],["brief",{"2":{"25":1}}],["backend",{"2":{"35":1}}],["bad",{"2":{"7":1}}],["based",{"2":{"27":1}}],["base",{"2":{"2":2,"3":2,"4":11,"7":1}}],["built",{"2":{"9":1}}],["build",{"2":{"2":10,"3":2,"4":3,"5":1,"15":1}}],["but",{"2":{"4":1,"7":2,"15":1,"25":1,"27":1}}],["bottom",{"2":{"12":2,"13":2}}],["both",{"2":{"2":1,"27":1}}],["boundary",{"2":{"12":2,"13":1}}],["bond",{"2":{"3":3}}],["between",{"2":{"13":1,"25":1,"26":2}}],["begin",{"2":{"8":1}}],["been",{"2":{"4":2,"5":1,"7":1,"15":1}}],["behaviour",{"2":{"4":1}}],["be",{"2":{"3":6,"4":2,"7":4,"12":1,"15":2,"16":2,"25":2,"26":4,"27":1}}],["b",{"2":{"3":2}}],["by",{"2":{"2":1,"3":1,"5":3,"10":3,"16":1,"26":2,"27":1}}],["qr",{"2":{"3":5}}],["q",{"2":{"2":5}}],["queries",{"0":{"23":1}}],["queried",{"2":{"16":1}}],["query",{"0":{"17":1}}],["quimb",{"2":{"9":1,"27":1}}],["quot",{"2":{"2":2,"7":2,"25":2}}],["quantum",{"0":{"2":1,"22":1,"24":1},"1":{"23":1,"24":1},"2":{"2":9,"7":2,"12":1}}],["over",{"2":{"25":1}}],["our",{"2":{"25":1,"27":1}}],["out",{"2":{"12":1,"15":1}}],["outputs",{"2":{"2":2,"15":1}}],["output",{"2":{"2":3,"13":2,"15":1,"25":1,"26":1}}],["options",{"2":{"15":1}}],["optimizer",{"2":{"15":4}}],["optimized",{"2":{"10":1}}],["optimization",{"2":{"15":1}}],["operations",{"2":{"5":1,"26":1,"27":1}}],["operation",{"2":{"3":1}}],["operators",{"0":{"13":1},"2":{"13":1}}],["operator",{"2":{"2":3,"13":4}}],["open",{"2":{"2":1,"12":5,"13":5,"15":2}}],["oop",{"2":{"7":2}}],["objects",{"2":{"16":1}}],["object",{"2":{"7":1}}],["other",{"2":{"5":1,"9":1,"12":1,"26":1}}],["others",{"2":{"4":2}}],["old",{"2":{"4":4}}],["one",{"2":{"4":2,"25":1}}],["on",{"2":{"3":3,"4":2,"7":1,"8":1,"9":2,"12":1,"35":1}}],["only",{"2":{"2":2,"13":1}}],["oriented",{"2":{"7":1}}],["order",{"2":{"5":1,"25":5,"26":2}}],["or",{"2":{"2":2,"3":2,"4":3,"7":2,"12":1,"13":2,"26":2,"27":3}}],["of",{"2":{"2":8,"3":10,"4":10,"5":7,"7":4,"9":3,"10":2,"13":1,"15":2,"25":4,"26":6,"27":4,"35":2}}],["tᵢⱼₖ",{"2":{"26":4}}],["tijk⟺t",{"2":{"25":1}}],["time",{"2":{"7":1}}],["take",{"2":{"9":1}}],["terms",{"2":{"25":1}}],["temporarily",{"2":{"8":1}}],["tenpy",{"2":{"9":1}}],["tensorkrowch",{"2":{"9":1}}],["tensors",{"0":{"19":1,"25":1},"1":{"26":1},"2":{"2":1,"4":7,"5":3,"12":1,"15":1,"16":1,"25":4,"27":2}}],["tensornetworks",{"2":{"4":1}}],["tensornetwork",{"0":{"4":1},"1":{"5":1},"2":{"2":2,"4":16,"5":9,"7":2,"8":1,"15":2,"16":2,"27":1,"35":5}}],["tensor",{"0":{"3":1,"16":1,"22":1,"24":1,"26":1},"1":{"17":1,"18":1,"19":1,"20":1,"21":1,"23":1,"24":1},"2":{"1":1,"2":9,"3":15,"4":12,"5":3,"9":4,"10":2,"12":2,"15":1,"16":2,"25":5,"26":8,"27":2,"35":1}}],["tenet",{"2":{"1":1,"2":10,"4":4,"5":9,"7":1,"9":2,"13":1,"15":2,"16":1,"26":1,"27":1,"35":1}}],["td",{"2":{"7":1}}],["tree",{"2":{"15":1}}],["trains",{"2":{"12":1}}],["traits",{"0":{"7":1}}],["transforms",{"2":{"26":1}}],["transformation",{"2":{"5":11}}],["transformations",{"0":{"5":1,"27":1,"28":1},"1":{"28":1,"29":2,"30":2,"31":2,"32":2,"33":2,"34":2},"2":{"27":3}}],["transform",{"2":{"5":6,"27":2}}],["truncation",{"0":{"33":1}}],["truncating",{"2":{"27":1}}],["truncate",{"2":{"5":2}}],["true",{"2":{"2":1,"35":1}}],["type",{"0":{"26":1},"2":{"4":1,"7":1,"13":1,"16":1,"26":1}}],["types",{"2":{"4":1,"7":3}}],["tn",{"2":{"4":14,"5":4,"8":1,"10":1,"12":4,"13":4,"15":3,"16":1,"35":4}}],["t",{"2":{"3":6,"5":2,"7":1,"9":1,"15":1,"25":4,"27":1}}],["think",{"2":{"25":1}}],["this",{"2":{"2":1,"4":1,"5":2,"7":3,"12":1,"13":1,"27":1}}],["than",{"2":{"5":1}}],["that",{"2":{"4":2,"5":3,"13":1,"15":1,"26":3}}],["these",{"2":{"12":1,"16":1,"26":1,"27":2}}],["there",{"2":{"8":1,"9":1,"25":1}}],["them",{"2":{"7":1,"13":1,"26":1}}],["they",{"2":{"7":1}}],["then",{"2":{"4":2}}],["their",{"2":{"4":1,"13":2,"27":1}}],["the",{"0":{"26":1},"2":{"2":8,"3":12,"4":13,"5":5,"7":2,"9":1,"12":2,"13":3,"15":4,"16":4,"25":5,"26":10,"27":11,"35":3}}],["topology",{"2":{"13":1}}],["top",{"2":{"9":1}}],["topic",{"2":{"7":1}}],["tolerance",{"2":{"5":3}}],["to",{"2":{"2":1,"3":15,"4":8,"5":9,"7":1,"8":2,"9":1,"12":1,"13":1,"15":6,"25":3,"26":3,"27":4,"35":2}}],["n=10",{"2":{"12":2,"13":2}}],["nice",{"2":{"9":1}}],["ninputs",{"2":{"2":1}}],["n",{"2":{"4":1,"25":5}}],["necessarily",{"2":{"27":1}}],["nevertheless",{"2":{"25":1}}],["new",{"2":{"4":5,"5":1,"9":1}}],["networks",{"0":{"16":1,"22":1,"24":1},"1":{"17":1,"18":1,"19":1,"20":1,"21":1,"23":1,"24":1},"2":{"10":1,"12":1,"16":1}}],["network",{"2":{"1":1,"2":9,"4":2,"9":4,"10":2,"12":1,"15":1,"27":5}}],["named",{"2":{"25":1}}],["name",{"2":{"3":3,"26":1}}],["nlanes",{"2":{"2":1}}],["nor",{"2":{"26":1}}],["nodes",{"2":{"16":1}}],["node",{"2":{"15":1}}],["no",{"2":{"2":1,"9":1}}],["noutputs",{"2":{"2":1}}],["nothing",{"2":{"26":1}}],["notation",{"2":{"16":1}}],["not",{"2":{"7":2,"25":1}}],["notes",{"2":{"2":1}}],["notion",{"2":{"2":2}}],["numbers",{"2":{"25":1}}],["number",{"2":{"2":1,"25":1}}],["nsites",{"2":{"2":1}}],["show",{"2":{"35":1}}],["shallow",{"2":{"4":1}}],["science",{"2":{"25":1}}],["scalar",{"2":{"2":3,"25":2}}],["support",{"2":{"35":1}}],["superclass",{"2":{"7":1}}],["subtypes",{"2":{"26":1}}],["summation",{"2":{"15":1}}],["slicing",{"0":{"21":1},"2":{"10":1}}],["slice",{"2":{"4":3}}],["split",{"0":{"34":1}}],["splitsimplificationd",{"2":{"5":1}}],["spaces",{"2":{"25":2}}],["space",{"2":{"7":1,"26":1}}],["specified",{"2":{"3":1}}],["smaller",{"2":{"5":1}}],["skip",{"2":{"5":4}}],["strong",{"2":{"9":1}}],["stroke",{"2":{"7":5}}],["structural",{"2":{"7":2}}],["structure",{"2":{"5":1,"27":2}}],["style",{"2":{"7":5}}],["states",{"0":{"12":1},"1":{"13":1},"2":{"12":1}}],["state",{"2":{"1":1,"2":3,"12":2,"13":2}}],["satisfies",{"2":{"4":2}}],["search",{"2":{"15":1,"27":1}}],["sense",{"2":{"7":1}}],["selectdim",{"2":{"4":4}}],["self",{"2":{"4":2}}],["seed=100",{"2":{"12":2,"13":2}}],["seemps",{"2":{"9":1}}],["see",{"2":{"4":7,"5":3,"15":2}}],["sets",{"2":{"5":1}}],["set",{"2":{"4":1,"27":1}}],["svd",{"2":{"3":5}}],["symbolic",{"2":{"15":1}}],["symbols",{"2":{"4":2,"26":2}}],["symbol",{"2":{"3":4,"4":5}}],["simplification",{"0":{"30":1,"34":1}}],["simplify",{"2":{"27":1}}],["similar",{"2":{"15":1}}],["since",{"2":{"26":1}}],["site",{"2":{"13":2}}],["sites",{"2":{"2":9}}],["size",{"2":{"3":3,"4":3,"5":1,"8":1,"26":4,"27":2}}],["some",{"2":{"5":1,"7":1}}],["socket",{"2":{"2":9}}],["source",{"2":{"1":1,"2":9,"3":5,"4":12,"5":8,"9":1,"15":2,"35":1}}],["s",{"2":{"2":10,"3":2,"4":3,"5":1,"7":1,"9":1,"15":1,"16":1,"25":1,"27":1}}],["swapped",{"2":{"2":1}}],["missleading",{"2":{"26":1}}],["missing",{"2":{"2":20,"3":4,"4":6,"5":2,"15":2}}],["might",{"2":{"25":1}}],["multi",{"2":{"16":1}}],["multilinear",{"2":{"4":1,"25":1}}],["most",{"2":{"25":1}}],["modify",{"2":{"27":1}}],["modification",{"0":{"18":1},"1":{"19":1,"20":1}}],["modern",{"2":{"7":1}}],["more",{"2":{"15":1,"27":1}}],["mpos",{"2":{"13":1}}],["mpo",{"0":{"13":1},"2":{"7":2,"13":1}}],["mpss",{"2":{"13":1}}],["mps",{"0":{"1":1,"12":1},"1":{"13":1},"2":{"1":1,"7":2,"12":1,"13":1}}],["meaning",{"2":{"26":1}}],["me",{"2":{"25":1}}],["methods",{"2":{"7":1,"27":1}}],["merge",{"2":{"2":1,"4":3}}],["maximum",{"2":{"27":1}}],["many",{"2":{"25":1,"26":1}}],["major",{"2":{"13":1}}],["makie",{"2":{"10":1,"35":2}}],["matrices",{"2":{"25":1}}],["matrixproduct",{"2":{"12":2,"13":3}}],["matrix",{"0":{"12":1,"13":1},"1":{"13":1},"2":{"1":1,"12":1,"13":2}}],["mathematicians",{"2":{"25":1}}],["mathematical",{"2":{"12":1}}],["mature",{"2":{"9":1}}],["main",{"2":{"9":1}}],["may",{"2":{"8":1,"26":1}}],["mapping",{"2":{"4":1}}],["axis3",{"2":{"35":1}}],["axis",{"2":{"35":1}}],["ax",{"2":{"35":1}}],["available",{"0":{"28":1},"1":{"29":1,"30":1,"31":1,"32":1,"33":1,"34":1}}],["avoid",{"2":{"8":1}}],["approach",{"2":{"27":1}}],["apply",{"2":{"27":2}}],["application",{"2":{"25":1}}],["append",{"2":{"4":3}}],["ability",{"2":{"27":1}}],["about",{"2":{"16":1,"25":1}}],["absolute",{"2":{"5":3}}],["abstractarray",{"2":{"26":1}}],["abstractansatz",{"2":{"1":1,"7":1}}],["abstractmps",{"2":{"7":1}}],["abstractmpo",{"2":{"7":1}}],["abstract",{"2":{"7":2}}],["abstractvecortuple",{"2":{"4":2}}],["abstracttensornetwork",{"2":{"4":10,"7":1,"15":2}}],["abstractquantum",{"2":{"2":6,"7":1}}],["aka",{"2":{"15":1}}],["automatic",{"2":{"10":1}}],["at",{"2":{"9":1}}],["atol",{"2":{"5":4}}],["as",{"2":{"7":2,"12":1,"15":2,"16":1,"25":4,"26":3,"35":1}}],["act",{"2":{"7":1}}],["algebra",{"2":{"25":2,"26":1}}],["always",{"2":{"5":1}}],["also",{"2":{"4":7,"5":3,"12":1,"15":2,"26":1,"27":2}}],["all",{"2":{"3":6,"4":1,"5":1,"7":1}}],["address",{"2":{"13":1}}],["add",{"0":{"19":1},"2":{"4":2}}],["adjoint",{"2":{"2":2}}],["arguments",{"2":{"3":3,"5":3,"15":1,"35":1}}],["arrays",{"2":{"25":1}}],["array",{"2":{"3":1,"26":4}}],["are",{"2":{"2":1,"8":1,"9":1,"12":3,"13":2,"16":2,"25":5,"26":1,"27":1,"35":1}}],["anti",{"0":{"32":1},"2":{"5":1}}],["antidiagonalgauging",{"2":{"5":1}}],["an",{"2":{"2":2,"13":1,"15":1,"26":2}}],["and",{"0":{"7":1},"2":{"2":3,"4":4,"7":4,"9":1,"10":1,"13":2,"15":2,"16":1,"25":1,"26":4,"27":2,"35":1}}],["ansatz",{"0":{"0":1,"11":1,"14":1},"1":{"1":1},"2":{"1":1,"7":5,"12":1,"13":1}}],["a",{"2":{"1":1,"2":11,"3":8,"4":15,"5":8,"7":2,"8":1,"9":3,"12":2,"15":7,"16":2,"25":9,"26":8,"27":2,"35":5}}]],"serializationVersion":2}';export{e as default}; diff --git a/previews/PR258/assets/chunks/VPLocalSearchBox.C1BRtmv_.js b/previews/PR258/assets/chunks/VPLocalSearchBox.Ds3sC3Cp.js similarity index 99% rename from previews/PR258/assets/chunks/VPLocalSearchBox.C1BRtmv_.js rename to previews/PR258/assets/chunks/VPLocalSearchBox.Ds3sC3Cp.js index 778060d3..75707a87 100644 --- a/previews/PR258/assets/chunks/VPLocalSearchBox.C1BRtmv_.js +++ b/previews/PR258/assets/chunks/VPLocalSearchBox.Ds3sC3Cp.js @@ -1,4 +1,4 @@ -var Ft=Object.defineProperty;var Ot=(a,e,t)=>e in a?Ft(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var Ae=(a,e,t)=>Ot(a,typeof e!="symbol"?e+"":e,t);import{V as Ct,p as ie,h as me,aj as tt,ak as Rt,al as At,q as $e,am as Mt,d as Lt,D as xe,an as st,ao as Dt,ap as zt,s as Pt,aq as jt,v as Me,P as he,O as _e,ar as Vt,as as $t,W as Bt,R as Wt,$ as Kt,o as H,b as Jt,j as _,a0 as Ut,k as L,at as qt,au as Gt,av as Ht,c as Z,n as nt,e as Se,C as it,F as rt,a as fe,t as pe,aw as Qt,ax as at,ay as Yt,a9 as Zt,af as Xt,az as es,_ as ts}from"./framework.C5U82uhn.js";import{u as ss,c as ns}from"./theme.DfGK1UbH.js";const is={root:()=>Ct(()=>import("./@localSearchIndexroot.KpkttVwD.js"),[])};/*! +var Ft=Object.defineProperty;var Ot=(a,e,t)=>e in a?Ft(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var Ae=(a,e,t)=>Ot(a,typeof e!="symbol"?e+"":e,t);import{V as Ct,p as ie,h as me,aj as tt,ak as Rt,al as At,q as $e,am as Mt,d as Lt,D as xe,an as st,ao as Dt,ap as zt,s as Pt,aq as jt,v as Me,P as he,O as _e,ar as Vt,as as $t,W as Bt,R as Wt,$ as Kt,o as H,b as Jt,j as _,a0 as Ut,k as L,at as qt,au as Gt,av as Ht,c as Z,n as nt,e as Se,C as it,F as rt,a as fe,t as pe,aw as Qt,ax as at,ay as Yt,a9 as Zt,af as Xt,az as es,_ as ts}from"./framework.C5U82uhn.js";import{u as ss,c as ns}from"./theme.B4UpM52O.js";const is={root:()=>Ct(()=>import("./@localSearchIndexroot.D-aJFaRD.js"),[])};/*! * tabbable 6.2.0 * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE */var mt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Ne=mt.join(","),gt=typeof Element>"u",ae=gt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Fe=!gt&&Element.prototype.getRootNode?function(a){var e;return a==null||(e=a.getRootNode)===null||e===void 0?void 0:e.call(a)}:function(a){return a==null?void 0:a.ownerDocument},Oe=function a(e,t){var s;t===void 0&&(t=!0);var n=e==null||(s=e.getAttribute)===null||s===void 0?void 0:s.call(e,"inert"),r=n===""||n==="true",i=r||t&&e&&a(e.parentNode);return i},rs=function(e){var t,s=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return s===""||s==="true"},bt=function(e,t,s){if(Oe(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(Ne));return t&&ae.call(e,Ne)&&n.unshift(e),n=n.filter(s),n},yt=function a(e,t,s){for(var n=[],r=Array.from(e);r.length;){var i=r.shift();if(!Oe(i,!1))if(i.tagName==="SLOT"){var o=i.assignedElements(),l=o.length?o:i.children,c=a(l,!0,s);s.flatten?n.push.apply(n,c):n.push({scopeParent:i,candidates:c})}else{var h=ae.call(i,Ne);h&&s.filter(i)&&(t||!e.includes(i))&&n.push(i);var m=i.shadowRoot||typeof s.getShadowRoot=="function"&&s.getShadowRoot(i),f=!Oe(m,!1)&&(!s.shadowRootFilter||s.shadowRootFilter(i));if(m&&f){var b=a(m===!0?i.children:m.children,!0,s);s.flatten?n.push.apply(n,b):n.push({scopeParent:i,candidates:b})}else r.unshift.apply(r,i.children)}}return n},wt=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},re=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||rs(e))&&!wt(e)?0:e.tabIndex},as=function(e,t){var s=re(e);return s<0&&t&&!wt(e)?0:s},os=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},xt=function(e){return e.tagName==="INPUT"},ls=function(e){return xt(e)&&e.type==="hidden"},cs=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(s){return s.tagName==="SUMMARY"});return t},us=function(e,t){for(var s=0;ssummary:first-of-type"),i=r?e.parentElement:e;if(ae.call(i,"details:not([open]) *"))return!0;if(!s||s==="full"||s==="legacy-full"){if(typeof n=="function"){for(var o=e;e;){var l=e.parentElement,c=Fe(e);if(l&&!l.shadowRoot&&n(l)===!0)return ot(e);e.assignedSlot?e=e.assignedSlot:!l&&c!==e.ownerDocument?e=c.host:e=l}e=o}if(ps(e))return!e.getClientRects().length;if(s!=="legacy-full")return!0}else if(s==="non-zero-area")return ot(e);return!1},ms=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var s=0;s=0)},bs=function a(e){var t=[],s=[];return e.forEach(function(n,r){var i=!!n.scopeParent,o=i?n.scopeParent:n,l=as(o,i),c=i?a(n.candidates):o;l===0?i?t.push.apply(t,c):t.push(o):s.push({documentOrder:r,tabIndex:l,item:n,isScope:i,content:c})}),s.sort(os).reduce(function(n,r){return r.isScope?n.push.apply(n,r.content):n.push(r.content),n},[]).concat(t)},ys=function(e,t){t=t||{};var s;return t.getShadowRoot?s=yt([e],t.includeContainer,{filter:Be.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:gs}):s=bt(e,t.includeContainer,Be.bind(null,t)),bs(s)},ws=function(e,t){t=t||{};var s;return t.getShadowRoot?s=yt([e],t.includeContainer,{filter:Ce.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):s=bt(e,t.includeContainer,Ce.bind(null,t)),s},oe=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ae.call(e,Ne)===!1?!1:Be(t,e)},xs=mt.concat("iframe").join(","),Le=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ae.call(e,xs)===!1?!1:Ce(t,e)};/*! diff --git a/previews/PR258/assets/chunks/theme.DfGK1UbH.js b/previews/PR258/assets/chunks/theme.B4UpM52O.js similarity index 99% rename from previews/PR258/assets/chunks/theme.DfGK1UbH.js rename to previews/PR258/assets/chunks/theme.B4UpM52O.js index ee198b3d..934a0e7c 100644 --- a/previews/PR258/assets/chunks/theme.DfGK1UbH.js +++ b/previews/PR258/assets/chunks/theme.B4UpM52O.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.C1BRtmv_.js","assets/chunks/framework.C5U82uhn.js"])))=>i.map(i=>d[i]); -import{d as m,o as a,c as u,r as c,n as I,a as j,t as N,b,w as f,e as h,T as de,_ as $,u as je,i as ze,f as Ke,g as ve,h as y,j as p,k as i,l as z,m as re,p as T,q as H,s as x,v as F,x as pe,y as fe,z as We,A as qe,B as K,F as M,C as A,D as Le,E as ee,G as g,H as O,I as Te,J as Y,K as G,L as q,M as Je,N as we,O as ie,P as he,Q as Ne,R as te,S as Ye,U as Xe,V as Qe,W as Ie,X as me,Y as Ze,Z as xe,$ as et,a0 as tt,a1 as Me,a2 as nt,a3 as ot,a4 as st}from"./framework.C5U82uhn.js";const at=m({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(s){return(e,t)=>(a(),u("span",{class:I(["VPBadge",e.type])},[c(e.$slots,"default",{},()=>[j(N(e.text),1)])],2))}}),rt={key:0,class:"VPBackdrop"},it=m({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(s){return(e,t)=>(a(),b(de,{name:"fade"},{default:f(()=>[e.show?(a(),u("div",rt)):h("",!0)]),_:1}))}}),lt=$(it,[["__scopeId","data-v-b06cdb19"]]),L=je;function ct(s,e){let t,o=!1;return()=>{t&&clearTimeout(t),o?t=setTimeout(s,e):(s(),(o=!0)&&setTimeout(()=>o=!1,e))}}function le(s){return/^\//.test(s)?s:`/${s}`}function _e(s){const{pathname:e,search:t,hash:o,protocol:n}=new URL(s,"http://a.com");if(ze(s)||s.startsWith("#")||!n.startsWith("http")||!Ke(e))return s;const{site:r}=L(),l=e.endsWith("/")||e.endsWith(".html")?s:s.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,r.value.cleanUrls?"":".html")}${t}${o}`);return ve(l)}function X({correspondingLink:s=!1}={}){const{site:e,localeIndex:t,page:o,theme:n,hash:r}=L(),l=y(()=>{var v,k;return{label:(v=e.value.locales[t.value])==null?void 0:v.label,link:((k=e.value.locales[t.value])==null?void 0:k.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:y(()=>Object.entries(e.value.locales).flatMap(([v,k])=>l.value.label===k.label?[]:{text:k.label,link:ut(k.link||(v==="root"?"/":`/${v}/`),n.value.i18nRouting!==!1&&s,o.value.relativePath.slice(l.value.link.length-1),!e.value.cleanUrls)+r.value})),currentLang:l}}function ut(s,e,t,o){return e?s.replace(/\/$/,"")+le(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,o?".html":"")):s}const dt={class:"NotFound"},vt={class:"code"},pt={class:"title"},ft={class:"quote"},ht={class:"action"},mt=["href","aria-label"],_t=m({__name:"NotFound",setup(s){const{theme:e}=L(),{currentLang:t}=X();return(o,n)=>{var r,l,d,v,k;return a(),u("div",dt,[p("p",vt,N(((r=i(e).notFound)==null?void 0:r.code)??"404"),1),p("h1",pt,N(((l=i(e).notFound)==null?void 0:l.title)??"PAGE NOT FOUND"),1),n[0]||(n[0]=p("div",{class:"divider"},null,-1)),p("blockquote",ft,N(((d=i(e).notFound)==null?void 0:d.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),p("div",ht,[p("a",{class:"link",href:i(ve)(i(t).link),"aria-label":((v=i(e).notFound)==null?void 0:v.linkLabel)??"go to home"},N(((k=i(e).notFound)==null?void 0:k.linkText)??"Take me home"),9,mt)])])}}}),bt=$(_t,[["__scopeId","data-v-951cab6c"]]);function Ee(s,e){if(Array.isArray(s))return Q(s);if(s==null)return[];e=le(e);const t=Object.keys(s).sort((n,r)=>r.split("/").length-n.split("/").length).find(n=>e.startsWith(le(n))),o=t?s[t]:[];return Array.isArray(o)?Q(o):Q(o.items,o.base)}function kt(s){const e=[];let t=0;for(const o in s){const n=s[o];if(n.items){t=e.push(n);continue}e[t]||e.push({items:[]}),e[t].items.push(n)}return e}function gt(s){const e=[];function t(o){for(const n of o)n.text&&n.link&&e.push({text:n.text,link:n.link,docFooterText:n.docFooterText}),n.items&&t(n.items)}return t(s),e}function ce(s,e){return Array.isArray(e)?e.some(t=>ce(s,t)):z(s,e.link)?!0:e.items?ce(s,e.items):!1}function Q(s,e){return[...s].map(t=>{const o={...t},n=o.base||e;return n&&o.link&&(o.link=n+o.link),o.items&&(o.items=Q(o.items,n)),o})}function R(){const{frontmatter:s,page:e,theme:t}=L(),o=re("(min-width: 960px)"),n=T(!1),r=y(()=>{const C=t.value.sidebar,w=e.value.relativePath;return C?Ee(C,w):[]}),l=T(r.value);H(r,(C,w)=>{JSON.stringify(C)!==JSON.stringify(w)&&(l.value=r.value)});const d=y(()=>s.value.sidebar!==!1&&l.value.length>0&&s.value.layout!=="home"),v=y(()=>k?s.value.aside==null?t.value.aside==="left":s.value.aside==="left":!1),k=y(()=>s.value.layout==="home"?!1:s.value.aside!=null?!!s.value.aside:t.value.aside!==!1),V=y(()=>d.value&&o.value),_=y(()=>d.value?kt(l.value):[]);function P(){n.value=!0}function S(){n.value=!1}function E(){n.value?S():P()}return{isOpen:n,sidebar:l,sidebarGroups:_,hasSidebar:d,hasAside:k,leftAside:v,isSidebarEnabled:V,open:P,close:S,toggle:E}}function $t(s,e){let t;x(()=>{t=s.value?document.activeElement:void 0}),F(()=>{window.addEventListener("keyup",o)}),pe(()=>{window.removeEventListener("keyup",o)});function o(n){n.key==="Escape"&&s.value&&(e(),t==null||t.focus())}}function yt(s){const{page:e,hash:t}=L(),o=T(!1),n=y(()=>s.value.collapsed!=null),r=y(()=>!!s.value.link),l=T(!1),d=()=>{l.value=z(e.value.relativePath,s.value.link)};H([e,s,t],d),F(d);const v=y(()=>l.value?!0:s.value.items?ce(e.value.relativePath,s.value.items):!1),k=y(()=>!!(s.value.items&&s.value.items.length));x(()=>{o.value=!!(n.value&&s.value.collapsed)}),fe(()=>{(l.value||v.value)&&(o.value=!1)});function V(){n.value&&(o.value=!o.value)}return{collapsed:o,collapsible:n,isLink:r,isActiveLink:l,hasActiveLink:v,hasChildren:k,toggle:V}}function Pt(){const{hasSidebar:s}=R(),e=re("(min-width: 960px)"),t=re("(min-width: 1280px)");return{isAsideEnabled:y(()=>!t.value&&!e.value?!1:s.value?t.value:e.value)}}const ue=[];function Ce(s){return typeof s.outline=="object"&&!Array.isArray(s.outline)&&s.outline.label||s.outlineTitle||"On this page"}function be(s){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const o=Number(t.tagName[1]);return{element:t,title:St(t),link:"#"+t.id,level:o}});return Vt(e,s)}function St(s){let e="";for(const t of s.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function Vt(s,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[o,n]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;return wt(s,o,n)}function Lt(s,e){const{isAsideEnabled:t}=Pt(),o=ct(r,100);let n=null;F(()=>{requestAnimationFrame(r),window.addEventListener("scroll",o)}),We(()=>{l(location.hash)}),pe(()=>{window.removeEventListener("scroll",o)});function r(){if(!t.value)return;const d=window.scrollY,v=window.innerHeight,k=document.body.offsetHeight,V=Math.abs(d+v-k)<1,_=ue.map(({element:S,link:E})=>({link:E,top:Tt(S)})).filter(({top:S})=>!Number.isNaN(S)).sort((S,E)=>S.top-E.top);if(!_.length){l(null);return}if(d<1){l(null);return}if(V){l(_[_.length-1].link);return}let P=null;for(const{link:S,top:E}of _){if(E>d+qe()+4)break;P=S}l(P)}function l(d){n&&n.classList.remove("active"),d==null?n=null:n=s.value.querySelector(`a[href="${decodeURIComponent(d)}"]`);const v=n;v?(v.classList.add("active"),e.value.style.top=v.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function Tt(s){let e=0;for(;s!==document.body;){if(s===null)return NaN;e+=s.offsetTop,s=s.offsetParent}return e}function wt(s,e,t){ue.length=0;const o=[],n=[];return s.forEach(r=>{const l={...r,children:[]};let d=n[n.length-1];for(;d&&d.level>=l.level;)n.pop(),d=n[n.length-1];if(l.element.classList.contains("ignore-header")||d&&"shouldIgnore"in d){n.push({level:l.level,shouldIgnore:!0});return}l.level>t||l.level{const n=K("VPDocOutlineItem",!0);return a(),u("ul",{class:I(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),u(M,null,A(t.headers,({children:r,link:l,title:d})=>(a(),u("li",null,[p("a",{class:"outline-link",href:l,onClick:e,title:d},N(d),9,Nt),r!=null&&r.length?(a(),b(n,{key:0,headers:r},null,8,["headers"])):h("",!0)]))),256))],2)}}}),Ae=$(It,[["__scopeId","data-v-3f927ebe"]]),Mt={class:"content"},Et={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},Ct=m({__name:"VPDocAsideOutline",setup(s){const{frontmatter:e,theme:t}=L(),o=Le([]);ee(()=>{o.value=be(e.value.outline??t.value.outline)});const n=T(),r=T();return Lt(n,r),(l,d)=>(a(),u("nav",{"aria-labelledby":"doc-outline-aria-label",class:I(["VPDocAsideOutline",{"has-outline":o.value.length>0}]),ref_key:"container",ref:n},[p("div",Mt,[p("div",{class:"outline-marker",ref_key:"marker",ref:r},null,512),p("div",Et,N(i(Ce)(i(t))),1),g(Ae,{headers:o.value,root:!0},null,8,["headers"])])],2))}}),At=$(Ct,[["__scopeId","data-v-b38bf2ff"]]),Bt={class:"VPDocAsideCarbonAds"},Ht=m({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(s){const e=()=>null;return(t,o)=>(a(),u("div",Bt,[g(i(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Ot={class:"VPDocAside"},Dt=m({__name:"VPDocAside",setup(s){const{theme:e}=L();return(t,o)=>(a(),u("div",Ot,[c(t.$slots,"aside-top",{},void 0,!0),c(t.$slots,"aside-outline-before",{},void 0,!0),g(At),c(t.$slots,"aside-outline-after",{},void 0,!0),o[0]||(o[0]=p("div",{class:"spacer"},null,-1)),c(t.$slots,"aside-ads-before",{},void 0,!0),i(e).carbonAds?(a(),b(Ht,{key:0,"carbon-ads":i(e).carbonAds},null,8,["carbon-ads"])):h("",!0),c(t.$slots,"aside-ads-after",{},void 0,!0),c(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Ft=$(Dt,[["__scopeId","data-v-6d7b3c46"]]);function Rt(){const{theme:s,page:e}=L();return y(()=>{const{text:t="Edit this page",pattern:o=""}=s.value.editLink||{};let n;return typeof o=="function"?n=o(e.value):n=o.replace(/:path/g,e.value.filePath),{url:n,text:t}})}function Ut(){const{page:s,theme:e,frontmatter:t}=L();return y(()=>{var k,V,_,P,S,E,C,w;const o=Ee(e.value.sidebar,s.value.relativePath),n=gt(o),r=Gt(n,B=>B.link.replace(/[?#].*$/,"")),l=r.findIndex(B=>z(s.value.relativePath,B.link)),d=((k=e.value.docFooter)==null?void 0:k.prev)===!1&&!t.value.prev||t.value.prev===!1,v=((V=e.value.docFooter)==null?void 0:V.next)===!1&&!t.value.next||t.value.next===!1;return{prev:d?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((_=r[l-1])==null?void 0:_.docFooterText)??((P=r[l-1])==null?void 0:P.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((S=r[l-1])==null?void 0:S.link)},next:v?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((E=r[l+1])==null?void 0:E.docFooterText)??((C=r[l+1])==null?void 0:C.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((w=r[l+1])==null?void 0:w.link)}}})}function Gt(s,e){const t=new Set;return s.filter(o=>{const n=e(o);return t.has(n)?!1:t.add(n)})}const D=m({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(s){const e=s,t=y(()=>e.tag??(e.href?"a":"span")),o=y(()=>e.href&&Te.test(e.href)||e.target==="_blank");return(n,r)=>(a(),b(O(t.value),{class:I(["VPLink",{link:n.href,"vp-external-link-icon":o.value,"no-icon":n.noIcon}]),href:n.href?i(_e)(n.href):void 0,target:n.target??(o.value?"_blank":void 0),rel:n.rel??(o.value?"noreferrer":void 0)},{default:f(()=>[c(n.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),jt={class:"VPLastUpdated"},zt=["datetime"],Kt=m({__name:"VPDocFooterLastUpdated",setup(s){const{theme:e,page:t,lang:o}=L(),n=y(()=>new Date(t.value.lastUpdated)),r=y(()=>n.value.toISOString()),l=T("");return F(()=>{x(()=>{var d,v,k;l.value=new Intl.DateTimeFormat((v=(d=e.value.lastUpdated)==null?void 0:d.formatOptions)!=null&&v.forceLocale?o.value:void 0,((k=e.value.lastUpdated)==null?void 0:k.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(n.value)})}),(d,v)=>{var k;return a(),u("p",jt,[j(N(((k=i(e).lastUpdated)==null?void 0:k.text)||i(e).lastUpdatedText||"Last updated")+": ",1),p("time",{datetime:r.value},N(l.value),9,zt)])}}}),Wt=$(Kt,[["__scopeId","data-v-475f71b8"]]),qt={key:0,class:"VPDocFooter"},Jt={key:0,class:"edit-info"},Yt={key:0,class:"edit-link"},Xt={key:1,class:"last-updated"},Qt={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},Zt={class:"pager"},xt=["innerHTML"],en=["innerHTML"],tn={class:"pager"},nn=["innerHTML"],on=["innerHTML"],sn=m({__name:"VPDocFooter",setup(s){const{theme:e,page:t,frontmatter:o}=L(),n=Rt(),r=Ut(),l=y(()=>e.value.editLink&&o.value.editLink!==!1),d=y(()=>t.value.lastUpdated),v=y(()=>l.value||d.value||r.value.prev||r.value.next);return(k,V)=>{var _,P,S,E;return v.value?(a(),u("footer",qt,[c(k.$slots,"doc-footer-before",{},void 0,!0),l.value||d.value?(a(),u("div",Jt,[l.value?(a(),u("div",Yt,[g(D,{class:"edit-link-button",href:i(n).url,"no-icon":!0},{default:f(()=>[V[0]||(V[0]=p("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),j(" "+N(i(n).text),1)]),_:1},8,["href"])])):h("",!0),d.value?(a(),u("div",Xt,[g(Wt)])):h("",!0)])):h("",!0),(_=i(r).prev)!=null&&_.link||(P=i(r).next)!=null&&P.link?(a(),u("nav",Qt,[V[1]||(V[1]=p("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),p("div",Zt,[(S=i(r).prev)!=null&&S.link?(a(),b(D,{key:0,class:"pager-link prev",href:i(r).prev.link},{default:f(()=>{var C;return[p("span",{class:"desc",innerHTML:((C=i(e).docFooter)==null?void 0:C.prev)||"Previous page"},null,8,xt),p("span",{class:"title",innerHTML:i(r).prev.text},null,8,en)]}),_:1},8,["href"])):h("",!0)]),p("div",tn,[(E=i(r).next)!=null&&E.link?(a(),b(D,{key:0,class:"pager-link next",href:i(r).next.link},{default:f(()=>{var C;return[p("span",{class:"desc",innerHTML:((C=i(e).docFooter)==null?void 0:C.next)||"Next page"},null,8,nn),p("span",{class:"title",innerHTML:i(r).next.text},null,8,on)]}),_:1},8,["href"])):h("",!0)])])):h("",!0)])):h("",!0)}}}),an=$(sn,[["__scopeId","data-v-4f9813fa"]]),rn={class:"container"},ln={class:"aside-container"},cn={class:"aside-content"},un={class:"content"},dn={class:"content-container"},vn={class:"main"},pn=m({__name:"VPDoc",setup(s){const{theme:e}=L(),t=Y(),{hasSidebar:o,hasAside:n,leftAside:r}=R(),l=y(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(d,v)=>{const k=K("Content");return a(),u("div",{class:I(["VPDoc",{"has-sidebar":i(o),"has-aside":i(n)}])},[c(d.$slots,"doc-top",{},void 0,!0),p("div",rn,[i(n)?(a(),u("div",{key:0,class:I(["aside",{"left-aside":i(r)}])},[v[0]||(v[0]=p("div",{class:"aside-curtain"},null,-1)),p("div",ln,[p("div",cn,[g(Ft,null,{"aside-top":f(()=>[c(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[c(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[c(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):h("",!0),p("div",un,[p("div",dn,[c(d.$slots,"doc-before",{},void 0,!0),p("main",vn,[g(k,{class:I(["vp-doc",[l.value,i(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),g(an,null,{"doc-footer-before":f(()=>[c(d.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),c(d.$slots,"doc-after",{},void 0,!0)])])]),c(d.$slots,"doc-bottom",{},void 0,!0)],2)}}}),fn=$(pn,[["__scopeId","data-v-83890dd9"]]),hn=m({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(s){const e=s,t=y(()=>e.href&&Te.test(e.href)),o=y(()=>e.tag||(e.href?"a":"button"));return(n,r)=>(a(),b(O(o.value),{class:I(["VPButton",[n.size,n.theme]]),href:n.href?i(_e)(n.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:f(()=>[j(N(n.text),1)]),_:1},8,["class","href","target","rel"]))}}),mn=$(hn,[["__scopeId","data-v-906d7fb4"]]),_n=["src","alt"],bn=m({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(s){return(e,t)=>{const o=K("VPImage",!0);return e.image?(a(),u(M,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),u("img",G({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:i(ve)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,_n)):(a(),u(M,{key:1},[g(o,G({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),g(o,G({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):h("",!0)}}}),Z=$(bn,[["__scopeId","data-v-35a7d0b8"]]),kn={class:"container"},gn={class:"main"},$n={key:0,class:"name"},yn=["innerHTML"],Pn=["innerHTML"],Sn=["innerHTML"],Vn={key:0,class:"actions"},Ln={key:0,class:"image"},Tn={class:"image-container"},wn=m({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(s){const e=q("hero-image-slot-exists");return(t,o)=>(a(),u("div",{class:I(["VPHero",{"has-image":t.image||i(e)}])},[p("div",kn,[p("div",gn,[c(t.$slots,"home-hero-info-before",{},void 0,!0),c(t.$slots,"home-hero-info",{},()=>[t.name?(a(),u("h1",$n,[p("span",{innerHTML:t.name,class:"clip"},null,8,yn)])):h("",!0),t.text?(a(),u("p",{key:1,innerHTML:t.text,class:"text"},null,8,Pn)):h("",!0),t.tagline?(a(),u("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,Sn)):h("",!0)],!0),c(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),u("div",Vn,[(a(!0),u(M,null,A(t.actions,n=>(a(),u("div",{key:n.link,class:"action"},[g(mn,{tag:"a",size:"medium",theme:n.theme,text:n.text,href:n.link,target:n.target,rel:n.rel},null,8,["theme","text","href","target","rel"])]))),128))])):h("",!0),c(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||i(e)?(a(),u("div",Ln,[p("div",Tn,[o[0]||(o[0]=p("div",{class:"image-bg"},null,-1)),c(t.$slots,"home-hero-image",{},()=>[t.image?(a(),b(Z,{key:0,class:"image-src",image:t.image},null,8,["image"])):h("",!0)],!0)])])):h("",!0)])],2))}}),Nn=$(wn,[["__scopeId","data-v-955009fc"]]),In=m({__name:"VPHomeHero",setup(s){const{frontmatter:e}=L();return(t,o)=>i(e).hero?(a(),b(Nn,{key:0,class:"VPHomeHero",name:i(e).hero.name,text:i(e).hero.text,tagline:i(e).hero.tagline,image:i(e).hero.image,actions:i(e).hero.actions},{"home-hero-info-before":f(()=>[c(t.$slots,"home-hero-info-before")]),"home-hero-info":f(()=>[c(t.$slots,"home-hero-info")]),"home-hero-info-after":f(()=>[c(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":f(()=>[c(t.$slots,"home-hero-actions-after")]),"home-hero-image":f(()=>[c(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):h("",!0)}}),Mn={class:"box"},En={key:0,class:"icon"},Cn=["innerHTML"],An=["innerHTML"],Bn=["innerHTML"],Hn={key:4,class:"link-text"},On={class:"link-text-value"},Dn=m({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(s){return(e,t)=>(a(),b(D,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:f(()=>[p("article",Mn,[typeof e.icon=="object"&&e.icon.wrap?(a(),u("div",En,[g(Z,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),b(Z,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),u("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Cn)):h("",!0),p("h2",{class:"title",innerHTML:e.title},null,8,An),e.details?(a(),u("p",{key:3,class:"details",innerHTML:e.details},null,8,Bn)):h("",!0),e.linkText?(a(),u("div",Hn,[p("p",On,[j(N(e.linkText)+" ",1),t[0]||(t[0]=p("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):h("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),Fn=$(Dn,[["__scopeId","data-v-f5e9645b"]]),Rn={key:0,class:"VPFeatures"},Un={class:"container"},Gn={class:"items"},jn=m({__name:"VPFeatures",props:{features:{}},setup(s){const e=s,t=y(()=>{const o=e.features.length;if(o){if(o===2)return"grid-2";if(o===3)return"grid-3";if(o%3===0)return"grid-6";if(o>3)return"grid-4"}else return});return(o,n)=>o.features?(a(),u("div",Rn,[p("div",Un,[p("div",Gn,[(a(!0),u(M,null,A(o.features,r=>(a(),u("div",{key:r.title,class:I(["item",[t.value]])},[g(Fn,{icon:r.icon,title:r.title,details:r.details,link:r.link,"link-text":r.linkText,rel:r.rel,target:r.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):h("",!0)}}),zn=$(jn,[["__scopeId","data-v-d0a190d7"]]),Kn=m({__name:"VPHomeFeatures",setup(s){const{frontmatter:e}=L();return(t,o)=>i(e).features?(a(),b(zn,{key:0,class:"VPHomeFeatures",features:i(e).features},null,8,["features"])):h("",!0)}}),Wn=m({__name:"VPHomeContent",setup(s){const{width:e}=Je({initialWidth:0,includeScrollbar:!1});return(t,o)=>(a(),u("div",{class:"vp-doc container",style:we(i(e)?{"--vp-offset":`calc(50% - ${i(e)/2}px)`}:{})},[c(t.$slots,"default",{},void 0,!0)],4))}}),qn=$(Wn,[["__scopeId","data-v-7a48a447"]]),Jn={class:"VPHome"},Yn=m({__name:"VPHome",setup(s){const{frontmatter:e}=L();return(t,o)=>{const n=K("Content");return a(),u("div",Jn,[c(t.$slots,"home-hero-before",{},void 0,!0),g(In,null,{"home-hero-info-before":f(()=>[c(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),c(t.$slots,"home-hero-after",{},void 0,!0),c(t.$slots,"home-features-before",{},void 0,!0),g(Kn),c(t.$slots,"home-features-after",{},void 0,!0),i(e).markdownStyles!==!1?(a(),b(qn,{key:0},{default:f(()=>[g(n)]),_:1})):(a(),b(n,{key:1}))])}}}),Xn=$(Yn,[["__scopeId","data-v-cbb6ec48"]]),Qn={},Zn={class:"VPPage"};function xn(s,e){const t=K("Content");return a(),u("div",Zn,[c(s.$slots,"page-top"),g(t),c(s.$slots,"page-bottom")])}const eo=$(Qn,[["render",xn]]),to=m({__name:"VPContent",setup(s){const{page:e,frontmatter:t}=L(),{hasSidebar:o}=R();return(n,r)=>(a(),u("div",{class:I(["VPContent",{"has-sidebar":i(o),"is-home":i(t).layout==="home"}]),id:"VPContent"},[i(e).isNotFound?c(n.$slots,"not-found",{key:0},()=>[g(bt)],!0):i(t).layout==="page"?(a(),b(eo,{key:1},{"page-top":f(()=>[c(n.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[c(n.$slots,"page-bottom",{},void 0,!0)]),_:3})):i(t).layout==="home"?(a(),b(Xn,{key:2},{"home-hero-before":f(()=>[c(n.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[c(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(n.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[c(n.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[c(n.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[c(n.$slots,"home-features-after",{},void 0,!0)]),_:3})):i(t).layout&&i(t).layout!=="doc"?(a(),b(O(i(t).layout),{key:3})):(a(),b(fn,{key:4},{"doc-top":f(()=>[c(n.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[c(n.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":f(()=>[c(n.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[c(n.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[c(n.$slots,"doc-after",{},void 0,!0)]),"aside-top":f(()=>[c(n.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":f(()=>[c(n.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(n.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(n.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(n.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":f(()=>[c(n.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),no=$(to,[["__scopeId","data-v-91765379"]]),oo={class:"container"},so=["innerHTML"],ao=["innerHTML"],ro=m({__name:"VPFooter",setup(s){const{theme:e,frontmatter:t}=L(),{hasSidebar:o}=R();return(n,r)=>i(e).footer&&i(t).footer!==!1?(a(),u("footer",{key:0,class:I(["VPFooter",{"has-sidebar":i(o)}])},[p("div",oo,[i(e).footer.message?(a(),u("p",{key:0,class:"message",innerHTML:i(e).footer.message},null,8,so)):h("",!0),i(e).footer.copyright?(a(),u("p",{key:1,class:"copyright",innerHTML:i(e).footer.copyright},null,8,ao)):h("",!0)])],2)):h("",!0)}}),io=$(ro,[["__scopeId","data-v-c970a860"]]);function lo(){const{theme:s,frontmatter:e}=L(),t=Le([]),o=y(()=>t.value.length>0);return ee(()=>{t.value=be(e.value.outline??s.value.outline)}),{headers:t,hasLocalNav:o}}const co={class:"menu-text"},uo={class:"header"},vo={class:"outline"},po=m({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(s){const e=s,{theme:t}=L(),o=T(!1),n=T(0),r=T(),l=T();function d(_){var P;(P=r.value)!=null&&P.contains(_.target)||(o.value=!1)}H(o,_=>{if(_){document.addEventListener("click",d);return}document.removeEventListener("click",d)}),ie("Escape",()=>{o.value=!1}),ee(()=>{o.value=!1});function v(){o.value=!o.value,n.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function k(_){_.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),he(()=>{o.value=!1}))}function V(){o.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(_,P)=>(a(),u("div",{class:"VPLocalNavOutlineDropdown",style:we({"--vp-vh":n.value+"px"}),ref_key:"main",ref:r},[_.headers.length>0?(a(),u("button",{key:0,onClick:v,class:I({open:o.value})},[p("span",co,N(i(Ce)(i(t))),1),P[0]||(P[0]=p("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(a(),u("button",{key:1,onClick:V},N(i(t).returnToTopLabel||"Return to top"),1)),g(de,{name:"flyout"},{default:f(()=>[o.value?(a(),u("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:k},[p("div",uo,[p("a",{class:"top-link",href:"#",onClick:V},N(i(t).returnToTopLabel||"Return to top"),1)]),p("div",vo,[g(Ae,{headers:_.headers},null,8,["headers"])])],512)):h("",!0)]),_:1})],4))}}),fo=$(po,[["__scopeId","data-v-bc9dc845"]]),ho={class:"container"},mo=["aria-expanded"],_o={class:"menu-text"},bo=m({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(s){const{theme:e,frontmatter:t}=L(),{hasSidebar:o}=R(),{headers:n}=lo(),{y:r}=Ne(),l=T(0);F(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),ee(()=>{n.value=be(t.value.outline??e.value.outline)});const d=y(()=>n.value.length===0),v=y(()=>d.value&&!o.value),k=y(()=>({VPLocalNav:!0,"has-sidebar":o.value,empty:d.value,fixed:v.value}));return(V,_)=>i(t).layout!=="home"&&(!v.value||i(r)>=l.value)?(a(),u("div",{key:0,class:I(k.value)},[p("div",ho,[i(o)?(a(),u("button",{key:0,class:"menu","aria-expanded":V.open,"aria-controls":"VPSidebarNav",onClick:_[0]||(_[0]=P=>V.$emit("open-menu"))},[_[1]||(_[1]=p("span",{class:"vpi-align-left menu-icon"},null,-1)),p("span",_o,N(i(e).sidebarMenuLabel||"Menu"),1)],8,mo)):h("",!0),g(fo,{headers:i(n),navHeight:l.value},null,8,["headers","navHeight"])])],2)):h("",!0)}}),ko=$(bo,[["__scopeId","data-v-070ab83d"]]);function go(){const s=T(!1);function e(){s.value=!0,window.addEventListener("resize",n)}function t(){s.value=!1,window.removeEventListener("resize",n)}function o(){s.value?t():e()}function n(){window.outerWidth>=768&&t()}const r=Y();return H(()=>r.path,t),{isScreenOpen:s,openScreen:e,closeScreen:t,toggleScreen:o}}const $o={},yo={class:"VPSwitch",type:"button",role:"switch"},Po={class:"check"},So={key:0,class:"icon"};function Vo(s,e){return a(),u("button",yo,[p("span",Po,[s.$slots.default?(a(),u("span",So,[c(s.$slots,"default",{},void 0,!0)])):h("",!0)])])}const Lo=$($o,[["render",Vo],["__scopeId","data-v-4a1c76db"]]),To=m({__name:"VPSwitchAppearance",setup(s){const{isDark:e,theme:t}=L(),o=q("toggle-appearance",()=>{e.value=!e.value}),n=T("");return fe(()=>{n.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(r,l)=>(a(),b(Lo,{title:n.value,class:"VPSwitchAppearance","aria-checked":i(e),onClick:i(o)},{default:f(()=>l[0]||(l[0]=[p("span",{class:"vpi-sun sun"},null,-1),p("span",{class:"vpi-moon moon"},null,-1)])),_:1},8,["title","aria-checked","onClick"]))}}),ke=$(To,[["__scopeId","data-v-e40a8bb6"]]),wo={key:0,class:"VPNavBarAppearance"},No=m({__name:"VPNavBarAppearance",setup(s){const{site:e}=L();return(t,o)=>i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(a(),u("div",wo,[g(ke)])):h("",!0)}}),Io=$(No,[["__scopeId","data-v-af096f4a"]]),ge=T();let Be=!1,ae=0;function Mo(s){const e=T(!1);if(te){!Be&&Eo(),ae++;const t=H(ge,o=>{var n,r,l;o===s.el.value||(n=s.el.value)!=null&&n.contains(o)?(e.value=!0,(r=s.onFocus)==null||r.call(s)):(e.value=!1,(l=s.onBlur)==null||l.call(s))});pe(()=>{t(),ae--,ae||Co()})}return Ye(e)}function Eo(){document.addEventListener("focusin",He),Be=!0,ge.value=document.activeElement}function Co(){document.removeEventListener("focusin",He)}function He(){ge.value=document.activeElement}const Ao={class:"VPMenuLink"},Bo=["innerHTML"],Ho=m({__name:"VPMenuLink",props:{item:{}},setup(s){const{page:e}=L();return(t,o)=>(a(),u("div",Ao,[g(D,{class:I({active:i(z)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon},{default:f(()=>[p("span",{innerHTML:t.item.text},null,8,Bo)]),_:1},8,["class","href","target","rel","no-icon"])]))}}),ne=$(Ho,[["__scopeId","data-v-acbfed09"]]),Oo={class:"VPMenuGroup"},Do={key:0,class:"title"},Fo=m({__name:"VPMenuGroup",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),u("div",Oo,[e.text?(a(),u("p",Do,N(e.text),1)):h("",!0),(a(!0),u(M,null,A(e.items,o=>(a(),u(M,null,["link"in o?(a(),b(ne,{key:0,item:o},null,8,["item"])):h("",!0)],64))),256))]))}}),Ro=$(Fo,[["__scopeId","data-v-48c802d0"]]),Uo={class:"VPMenu"},Go={key:0,class:"items"},jo=m({__name:"VPMenu",props:{items:{}},setup(s){return(e,t)=>(a(),u("div",Uo,[e.items?(a(),u("div",Go,[(a(!0),u(M,null,A(e.items,o=>(a(),u(M,{key:JSON.stringify(o)},["link"in o?(a(),b(ne,{key:0,item:o},null,8,["item"])):"component"in o?(a(),b(O(o.component),G({key:1,ref_for:!0},o.props),null,16)):(a(),b(Ro,{key:2,text:o.text,items:o.items},null,8,["text","items"]))],64))),128))])):h("",!0),c(e.$slots,"default",{},void 0,!0)]))}}),zo=$(jo,[["__scopeId","data-v-7dd3104a"]]),Ko=["aria-expanded","aria-label"],Wo={key:0,class:"text"},qo=["innerHTML"],Jo={key:1,class:"vpi-more-horizontal icon"},Yo={class:"menu"},Xo=m({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(s){const e=T(!1),t=T();Mo({el:t,onBlur:o});function o(){e.value=!1}return(n,r)=>(a(),u("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:r[1]||(r[1]=l=>e.value=!0),onMouseleave:r[2]||(r[2]=l=>e.value=!1)},[p("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":n.label,onClick:r[0]||(r[0]=l=>e.value=!e.value)},[n.button||n.icon?(a(),u("span",Wo,[n.icon?(a(),u("span",{key:0,class:I([n.icon,"option-icon"])},null,2)):h("",!0),n.button?(a(),u("span",{key:1,innerHTML:n.button},null,8,qo)):h("",!0),r[3]||(r[3]=p("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(a(),u("span",Jo))],8,Ko),p("div",Yo,[g(zo,{items:n.items},{default:f(()=>[c(n.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),$e=$(Xo,[["__scopeId","data-v-04f5c5e9"]]),Qo=["href","aria-label","innerHTML"],Zo=m({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(s){const e=s,t=T();F(async()=>{var r;await he();const n=(r=t.value)==null?void 0:r.children[0];n instanceof HTMLElement&&n.className.startsWith("vpi-social-")&&(getComputedStyle(n).maskImage||getComputedStyle(n).webkitMaskImage)==="none"&&n.style.setProperty("--icon",`url('https://api.iconify.design/simple-icons/${e.icon}.svg')`)});const o=y(()=>typeof e.icon=="object"?e.icon.svg:``);return(n,r)=>(a(),u("a",{ref_key:"el",ref:t,class:"VPSocialLink no-icon",href:n.link,"aria-label":n.ariaLabel??(typeof n.icon=="string"?n.icon:""),target:"_blank",rel:"noopener",innerHTML:o.value},null,8,Qo))}}),xo=$(Zo,[["__scopeId","data-v-d26d30cb"]]),es={class:"VPSocialLinks"},ts=m({__name:"VPSocialLinks",props:{links:{}},setup(s){return(e,t)=>(a(),u("div",es,[(a(!0),u(M,null,A(e.links,({link:o,icon:n,ariaLabel:r})=>(a(),b(xo,{key:o,icon:n,link:o,ariaLabel:r},null,8,["icon","link","ariaLabel"]))),128))]))}}),ye=$(ts,[["__scopeId","data-v-ee7a9424"]]),ns={key:0,class:"group translations"},os={class:"trans-title"},ss={key:1,class:"group"},as={class:"item appearance"},rs={class:"label"},is={class:"appearance-action"},ls={key:2,class:"group"},cs={class:"item social-links"},us=m({__name:"VPNavBarExtra",setup(s){const{site:e,theme:t}=L(),{localeLinks:o,currentLang:n}=X({correspondingLink:!0}),r=y(()=>o.value.length&&n.value.label||e.value.appearance||t.value.socialLinks);return(l,d)=>r.value?(a(),b($e,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:f(()=>[i(o).length&&i(n).label?(a(),u("div",ns,[p("p",os,N(i(n).label),1),(a(!0),u(M,null,A(i(o),v=>(a(),b(ne,{key:v.link,item:v},null,8,["item"]))),128))])):h("",!0),i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(a(),u("div",ss,[p("div",as,[p("p",rs,N(i(t).darkModeSwitchLabel||"Appearance"),1),p("div",is,[g(ke)])])])):h("",!0),i(t).socialLinks?(a(),u("div",ls,[p("div",cs,[g(ye,{class:"social-links-list",links:i(t).socialLinks},null,8,["links"])])])):h("",!0)]),_:1})):h("",!0)}}),ds=$(us,[["__scopeId","data-v-925effce"]]),vs=["aria-expanded"],ps=m({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(s){return(e,t)=>(a(),u("button",{type:"button",class:I(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=o=>e.$emit("click"))},t[1]||(t[1]=[p("span",{class:"container"},[p("span",{class:"top"}),p("span",{class:"middle"}),p("span",{class:"bottom"})],-1)]),10,vs))}}),fs=$(ps,[["__scopeId","data-v-5dea55bf"]]),hs=["innerHTML"],ms=m({__name:"VPNavBarMenuLink",props:{item:{}},setup(s){const{page:e}=L();return(t,o)=>(a(),b(D,{class:I({VPNavBarMenuLink:!0,active:i(z)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,tabindex:"0"},{default:f(()=>[p("span",{innerHTML:t.item.text},null,8,hs)]),_:1},8,["class","href","target","rel","no-icon"]))}}),_s=$(ms,[["__scopeId","data-v-956ec74c"]]),Oe=m({__name:"VPNavBarMenuGroup",props:{item:{}},setup(s){const e=s,{page:t}=L(),o=r=>"component"in r?!1:"link"in r?z(t.value.relativePath,r.link,!!e.item.activeMatch):r.items.some(o),n=y(()=>o(e.item));return(r,l)=>(a(),b($e,{class:I({VPNavBarMenuGroup:!0,active:i(z)(i(t).relativePath,r.item.activeMatch,!!r.item.activeMatch)||n.value}),button:r.item.text,items:r.item.items},null,8,["class","button","items"]))}}),bs={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},ks=m({__name:"VPNavBarMenu",setup(s){const{theme:e}=L();return(t,o)=>i(e).nav?(a(),u("nav",bs,[o[0]||(o[0]=p("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(a(!0),u(M,null,A(i(e).nav,n=>(a(),u(M,{key:JSON.stringify(n)},["link"in n?(a(),b(_s,{key:0,item:n},null,8,["item"])):"component"in n?(a(),b(O(n.component),G({key:1,ref_for:!0},n.props),null,16)):(a(),b(Oe,{key:2,item:n},null,8,["item"]))],64))),128))])):h("",!0)}}),gs=$(ks,[["__scopeId","data-v-e6d46098"]]);function $s(s){const{localeIndex:e,theme:t}=L();function o(n){var E,C,w;const r=n.split("."),l=(E=t.value.search)==null?void 0:E.options,d=l&&typeof l=="object",v=d&&((w=(C=l.locales)==null?void 0:C[e.value])==null?void 0:w.translations)||null,k=d&&l.translations||null;let V=v,_=k,P=s;const S=r.pop();for(const B of r){let U=null;const W=P==null?void 0:P[B];W&&(U=P=W);const oe=_==null?void 0:_[B];oe&&(U=_=oe);const se=V==null?void 0:V[B];se&&(U=V=se),W||(P=U),oe||(_=U),se||(V=U)}return(V==null?void 0:V[S])??(_==null?void 0:_[S])??(P==null?void 0:P[S])??""}return o}const ys=["aria-label"],Ps={class:"DocSearch-Button-Container"},Ss={class:"DocSearch-Button-Placeholder"},Pe=m({__name:"VPNavBarSearchButton",setup(s){const t=$s({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(o,n)=>(a(),u("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":i(t)("button.buttonAriaLabel")},[p("span",Ps,[n[0]||(n[0]=p("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1)),p("span",Ss,N(i(t)("button.buttonText")),1)]),n[1]||(n[1]=p("span",{class:"DocSearch-Button-Keys"},[p("kbd",{class:"DocSearch-Button-Key"}),p("kbd",{class:"DocSearch-Button-Key"},"K")],-1))],8,ys))}}),Vs={class:"VPNavBarSearch"},Ls={id:"local-search"},Ts={key:1,id:"docsearch"},ws=m({__name:"VPNavBarSearch",setup(s){const e=Xe(()=>Qe(()=>import("./VPLocalSearchBox.C1BRtmv_.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:o}=L(),n=T(!1),r=T(!1);F(()=>{});function l(){n.value||(n.value=!0,setTimeout(d,16))}function d(){const _=new Event("keydown");_.key="k",_.metaKey=!0,window.dispatchEvent(_),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||d()},16)}function v(_){const P=_.target,S=P.tagName;return P.isContentEditable||S==="INPUT"||S==="SELECT"||S==="TEXTAREA"}const k=T(!1);ie("k",_=>{(_.ctrlKey||_.metaKey)&&(_.preventDefault(),k.value=!0)}),ie("/",_=>{v(_)||(_.preventDefault(),k.value=!0)});const V="local";return(_,P)=>{var S;return a(),u("div",Vs,[i(V)==="local"?(a(),u(M,{key:0},[k.value?(a(),b(i(e),{key:0,onClose:P[0]||(P[0]=E=>k.value=!1)})):h("",!0),p("div",Ls,[g(Pe,{onClick:P[1]||(P[1]=E=>k.value=!0)})])],64)):i(V)==="algolia"?(a(),u(M,{key:1},[n.value?(a(),b(i(t),{key:0,algolia:((S=i(o).search)==null?void 0:S.options)??i(o).algolia,onVnodeBeforeMount:P[2]||(P[2]=E=>r.value=!0)},null,8,["algolia"])):h("",!0),r.value?h("",!0):(a(),u("div",Ts,[g(Pe,{onClick:l})]))],64)):h("",!0)])}}}),Ns=m({__name:"VPNavBarSocialLinks",setup(s){const{theme:e}=L();return(t,o)=>i(e).socialLinks?(a(),b(ye,{key:0,class:"VPNavBarSocialLinks",links:i(e).socialLinks},null,8,["links"])):h("",!0)}}),Is=$(Ns,[["__scopeId","data-v-164c457f"]]),Ms=["href","rel","target"],Es=["innerHTML"],Cs={key:2},As=m({__name:"VPNavBarTitle",setup(s){const{site:e,theme:t}=L(),{hasSidebar:o}=R(),{currentLang:n}=X(),r=y(()=>{var v;return typeof t.value.logoLink=="string"?t.value.logoLink:(v=t.value.logoLink)==null?void 0:v.link}),l=y(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.rel}),d=y(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.target});return(v,k)=>(a(),u("div",{class:I(["VPNavBarTitle",{"has-sidebar":i(o)}])},[p("a",{class:"title",href:r.value??i(_e)(i(n).link),rel:l.value,target:d.value},[c(v.$slots,"nav-bar-title-before",{},void 0,!0),i(t).logo?(a(),b(Z,{key:0,class:"logo",image:i(t).logo},null,8,["image"])):h("",!0),i(t).siteTitle?(a(),u("span",{key:1,innerHTML:i(t).siteTitle},null,8,Es)):i(t).siteTitle===void 0?(a(),u("span",Cs,N(i(e).title),1)):h("",!0),c(v.$slots,"nav-bar-title-after",{},void 0,!0)],8,Ms)],2))}}),Bs=$(As,[["__scopeId","data-v-0f4f798b"]]),Hs={class:"items"},Os={class:"title"},Ds=m({__name:"VPNavBarTranslations",setup(s){const{theme:e}=L(),{localeLinks:t,currentLang:o}=X({correspondingLink:!0});return(n,r)=>i(t).length&&i(o).label?(a(),b($e,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:i(e).langMenuLabel||"Change language"},{default:f(()=>[p("div",Hs,[p("p",Os,N(i(o).label),1),(a(!0),u(M,null,A(i(t),l=>(a(),b(ne,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):h("",!0)}}),Fs=$(Ds,[["__scopeId","data-v-c80d9ad0"]]),Rs={class:"wrapper"},Us={class:"container"},Gs={class:"title"},js={class:"content"},zs={class:"content-body"},Ks=m({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(s){const e=s,{y:t}=Ne(),{hasSidebar:o}=R(),{frontmatter:n}=L(),r=T({});return fe(()=>{r.value={"has-sidebar":o.value,home:n.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(l,d)=>(a(),u("div",{class:I(["VPNavBar",r.value])},[p("div",Rs,[p("div",Us,[p("div",Gs,[g(Bs,null,{"nav-bar-title-before":f(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),p("div",js,[p("div",zs,[c(l.$slots,"nav-bar-content-before",{},void 0,!0),g(ws,{class:"search"}),g(gs,{class:"menu"}),g(Fs,{class:"translations"}),g(Io,{class:"appearance"}),g(Is,{class:"social-links"}),g(ds,{class:"extra"}),c(l.$slots,"nav-bar-content-after",{},void 0,!0),g(fs,{class:"hamburger",active:l.isScreenOpen,onClick:d[0]||(d[0]=v=>l.$emit("toggle-screen"))},null,8,["active"])])])])]),d[1]||(d[1]=p("div",{class:"divider"},[p("div",{class:"divider-line"})],-1))],2))}}),Ws=$(Ks,[["__scopeId","data-v-822684d1"]]),qs={key:0,class:"VPNavScreenAppearance"},Js={class:"text"},Ys=m({__name:"VPNavScreenAppearance",setup(s){const{site:e,theme:t}=L();return(o,n)=>i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(a(),u("div",qs,[p("p",Js,N(i(t).darkModeSwitchLabel||"Appearance"),1),g(ke)])):h("",!0)}}),Xs=$(Ys,[["__scopeId","data-v-ffb44008"]]),Qs=["innerHTML"],Zs=m({__name:"VPNavScreenMenuLink",props:{item:{}},setup(s){const e=q("close-screen");return(t,o)=>(a(),b(D,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:i(e)},{default:f(()=>[p("span",{innerHTML:t.item.text},null,8,Qs)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),xs=$(Zs,[["__scopeId","data-v-735512b8"]]),ea=["innerHTML"],ta=m({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(s){const e=q("close-screen");return(t,o)=>(a(),b(D,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:i(e)},{default:f(()=>[p("span",{innerHTML:t.item.text},null,8,ea)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),De=$(ta,[["__scopeId","data-v-372ae7c0"]]),na={class:"VPNavScreenMenuGroupSection"},oa={key:0,class:"title"},sa=m({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),u("div",na,[e.text?(a(),u("p",oa,N(e.text),1)):h("",!0),(a(!0),u(M,null,A(e.items,o=>(a(),b(De,{key:o.text,item:o},null,8,["item"]))),128))]))}}),aa=$(sa,[["__scopeId","data-v-4b8941ac"]]),ra=["aria-controls","aria-expanded"],ia=["innerHTML"],la=["id"],ca={key:0,class:"item"},ua={key:1,class:"item"},da={key:2,class:"group"},va=m({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(s){const e=s,t=T(!1),o=y(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function n(){t.value=!t.value}return(r,l)=>(a(),u("div",{class:I(["VPNavScreenMenuGroup",{open:t.value}])},[p("button",{class:"button","aria-controls":o.value,"aria-expanded":t.value,onClick:n},[p("span",{class:"button-text",innerHTML:r.text},null,8,ia),l[0]||(l[0]=p("span",{class:"vpi-plus button-icon"},null,-1))],8,ra),p("div",{id:o.value,class:"items"},[(a(!0),u(M,null,A(r.items,d=>(a(),u(M,{key:JSON.stringify(d)},["link"in d?(a(),u("div",ca,[g(De,{item:d},null,8,["item"])])):"component"in d?(a(),u("div",ua,[(a(),b(O(d.component),G({ref_for:!0},d.props,{"screen-menu":""}),null,16))])):(a(),u("div",da,[g(aa,{text:d.text,items:d.items},null,8,["text","items"])]))],64))),128))],8,la)],2))}}),Fe=$(va,[["__scopeId","data-v-875057a5"]]),pa={key:0,class:"VPNavScreenMenu"},fa=m({__name:"VPNavScreenMenu",setup(s){const{theme:e}=L();return(t,o)=>i(e).nav?(a(),u("nav",pa,[(a(!0),u(M,null,A(i(e).nav,n=>(a(),u(M,{key:JSON.stringify(n)},["link"in n?(a(),b(xs,{key:0,item:n},null,8,["item"])):"component"in n?(a(),b(O(n.component),G({key:1,ref_for:!0},n.props,{"screen-menu":""}),null,16)):(a(),b(Fe,{key:2,text:n.text||"",items:n.items},null,8,["text","items"]))],64))),128))])):h("",!0)}}),ha=m({__name:"VPNavScreenSocialLinks",setup(s){const{theme:e}=L();return(t,o)=>i(e).socialLinks?(a(),b(ye,{key:0,class:"VPNavScreenSocialLinks",links:i(e).socialLinks},null,8,["links"])):h("",!0)}}),ma={class:"list"},_a=m({__name:"VPNavScreenTranslations",setup(s){const{localeLinks:e,currentLang:t}=X({correspondingLink:!0}),o=T(!1);function n(){o.value=!o.value}return(r,l)=>i(e).length&&i(t).label?(a(),u("div",{key:0,class:I(["VPNavScreenTranslations",{open:o.value}])},[p("button",{class:"title",onClick:n},[l[0]||(l[0]=p("span",{class:"vpi-languages icon lang"},null,-1)),j(" "+N(i(t).label)+" ",1),l[1]||(l[1]=p("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),p("ul",ma,[(a(!0),u(M,null,A(i(e),d=>(a(),u("li",{key:d.link,class:"item"},[g(D,{class:"link",href:d.link},{default:f(()=>[j(N(d.text),1)]),_:2},1032,["href"])]))),128))])],2)):h("",!0)}}),ba=$(_a,[["__scopeId","data-v-362991c2"]]),ka={class:"container"},ga=m({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(s){const e=T(null),t=Ie(te?document.body:null);return(o,n)=>(a(),b(de,{name:"fade",onEnter:n[0]||(n[0]=r=>t.value=!0),onAfterLeave:n[1]||(n[1]=r=>t.value=!1)},{default:f(()=>[o.open?(a(),u("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[p("div",ka,[c(o.$slots,"nav-screen-content-before",{},void 0,!0),g(fa,{class:"menu"}),g(ba,{class:"translations"}),g(Xs,{class:"appearance"}),g(ha,{class:"social-links"}),c(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):h("",!0)]),_:3}))}}),$a=$(ga,[["__scopeId","data-v-833aabba"]]),ya={key:0,class:"VPNav"},Pa=m({__name:"VPNav",setup(s){const{isScreenOpen:e,closeScreen:t,toggleScreen:o}=go(),{frontmatter:n}=L(),r=y(()=>n.value.navbar!==!1);return me("close-screen",t),x(()=>{te&&document.documentElement.classList.toggle("hide-nav",!r.value)}),(l,d)=>r.value?(a(),u("header",ya,[g(Ws,{"is-screen-open":i(e),onToggleScreen:i(o)},{"nav-bar-title-before":f(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[c(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[c(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),g($a,{open:i(e)},{"nav-screen-content-before":f(()=>[c(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[c(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):h("",!0)}}),Sa=$(Pa,[["__scopeId","data-v-f1e365da"]]),Va=["role","tabindex"],La={key:1,class:"items"},Ta=m({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(s){const e=s,{collapsed:t,collapsible:o,isLink:n,isActiveLink:r,hasActiveLink:l,hasChildren:d,toggle:v}=yt(y(()=>e.item)),k=y(()=>d.value?"section":"div"),V=y(()=>n.value?"a":"div"),_=y(()=>d.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),P=y(()=>n.value?void 0:"button"),S=y(()=>[[`level-${e.depth}`],{collapsible:o.value},{collapsed:t.value},{"is-link":n.value},{"is-active":r.value},{"has-active":l.value}]);function E(w){"key"in w&&w.key!=="Enter"||!e.item.link&&v()}function C(){e.item.link&&v()}return(w,B)=>{const U=K("VPSidebarItem",!0);return a(),b(O(k.value),{class:I(["VPSidebarItem",S.value])},{default:f(()=>[w.item.text?(a(),u("div",G({key:0,class:"item",role:P.value},xe(w.item.items?{click:E,keydown:E}:{},!0),{tabindex:w.item.items&&0}),[B[1]||(B[1]=p("div",{class:"indicator"},null,-1)),w.item.link?(a(),b(D,{key:0,tag:V.value,class:"link",href:w.item.link,rel:w.item.rel,target:w.item.target},{default:f(()=>[(a(),b(O(_.value),{class:"text",innerHTML:w.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),b(O(_.value),{key:1,class:"text",innerHTML:w.item.text},null,8,["innerHTML"])),w.item.collapsed!=null&&w.item.items&&w.item.items.length?(a(),u("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:C,onKeydown:Ze(C,["enter"]),tabindex:"0"},B[0]||(B[0]=[p("span",{class:"vpi-chevron-right caret-icon"},null,-1)]),32)):h("",!0)],16,Va)):h("",!0),w.item.items&&w.item.items.length?(a(),u("div",La,[w.depth<5?(a(!0),u(M,{key:0},A(w.item.items,W=>(a(),b(U,{key:W.text,item:W,depth:w.depth+1},null,8,["item","depth"]))),128)):h("",!0)])):h("",!0)]),_:1},8,["class"])}}}),wa=$(Ta,[["__scopeId","data-v-196b2e5f"]]),Na=m({__name:"VPSidebarGroup",props:{items:{}},setup(s){const e=T(!0);let t=null;return F(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),et(()=>{t!=null&&(clearTimeout(t),t=null)}),(o,n)=>(a(!0),u(M,null,A(o.items,r=>(a(),u("div",{key:r.text,class:I(["group",{"no-transition":e.value}])},[g(wa,{item:r,depth:0},null,8,["item"])],2))),128))}}),Ia=$(Na,[["__scopeId","data-v-9e426adc"]]),Ma={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Ea=m({__name:"VPSidebar",props:{open:{type:Boolean}},setup(s){const{sidebarGroups:e,hasSidebar:t}=R(),o=s,n=T(null),r=Ie(te?document.body:null);H([o,n],()=>{var d;o.open?(r.value=!0,(d=n.value)==null||d.focus()):r.value=!1},{immediate:!0,flush:"post"});const l=T(0);return H(e,()=>{l.value+=1},{deep:!0}),(d,v)=>i(t)?(a(),u("aside",{key:0,class:I(["VPSidebar",{open:d.open}]),ref_key:"navEl",ref:n,onClick:v[0]||(v[0]=tt(()=>{},["stop"]))},[v[2]||(v[2]=p("div",{class:"curtain"},null,-1)),p("nav",Ma,[v[1]||(v[1]=p("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),c(d.$slots,"sidebar-nav-before",{},void 0,!0),(a(),b(Ia,{items:i(e),key:l.value},null,8,["items"])),c(d.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):h("",!0)}}),Ca=$(Ea,[["__scopeId","data-v-18756405"]]),Aa=m({__name:"VPSkipLink",setup(s){const e=Y(),t=T();H(()=>e.path,()=>t.value.focus());function o({target:n}){const r=document.getElementById(decodeURIComponent(n.hash).slice(1));if(r){const l=()=>{r.removeAttribute("tabindex"),r.removeEventListener("blur",l)};r.setAttribute("tabindex","-1"),r.addEventListener("blur",l),r.focus(),window.scrollTo(0,0)}}return(n,r)=>(a(),u(M,null,[p("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),p("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:o}," Skip to content ")],64))}}),Ba=$(Aa,[["__scopeId","data-v-c3508ec8"]]),Ha=m({__name:"Layout",setup(s){const{isOpen:e,open:t,close:o}=R(),n=Y();H(()=>n.path,o),$t(e,o);const{frontmatter:r}=L(),l=Me(),d=y(()=>!!l["home-hero-image"]);return me("hero-image-slot-exists",d),(v,k)=>{const V=K("Content");return i(r).layout!==!1?(a(),u("div",{key:0,class:I(["Layout",i(r).pageClass])},[c(v.$slots,"layout-top",{},void 0,!0),g(Ba),g(lt,{class:"backdrop",show:i(e),onClick:i(o)},null,8,["show","onClick"]),g(Sa,null,{"nav-bar-title-before":f(()=>[c(v.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(v.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[c(v.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[c(v.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":f(()=>[c(v.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[c(v.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),g(ko,{open:i(e),onOpenMenu:i(t)},null,8,["open","onOpenMenu"]),g(Ca,{open:i(e)},{"sidebar-nav-before":f(()=>[c(v.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":f(()=>[c(v.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),g(no,null,{"page-top":f(()=>[c(v.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[c(v.$slots,"page-bottom",{},void 0,!0)]),"not-found":f(()=>[c(v.$slots,"not-found",{},void 0,!0)]),"home-hero-before":f(()=>[c(v.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[c(v.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(v.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(v.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(v.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(v.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[c(v.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[c(v.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[c(v.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":f(()=>[c(v.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[c(v.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[c(v.$slots,"doc-after",{},void 0,!0)]),"doc-top":f(()=>[c(v.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[c(v.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":f(()=>[c(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[c(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[c(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),g(io),c(v.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),b(V,{key:1}))}}}),Oa=$(Ha,[["__scopeId","data-v-a9a9e638"]]),Se={Layout:Oa,enhanceApp:({app:s})=>{s.component("Badge",at)}},Da=m({__name:"VersionPicker",props:{screenMenu:{type:Boolean}},setup(s){Y();const e=T([]),t=T("Versions"),o=()=>new Promise(n=>{const r=setInterval(()=>{window.DOC_VERSIONS&&window.DOCUMENTER_CURRENT_VERSION&&(clearInterval(r),n({versions:window.DOC_VERSIONS,currentVersion:window.DOCUMENTER_CURRENT_VERSION}))},100)});return F(async()=>{const n=await o();e.value=n.versions.map(r=>({text:r,link:`${window.location.origin}/${r}/`})),t.value=n.currentVersion}),(n,r)=>n.screenMenu?(a(),b(Fe,{key:1,text:t.value,items:e.value,class:"VPVersionPicker"},null,8,["text","items"])):(a(),b(Oe,{key:0,item:{text:t.value,items:e.value},class:"VPVersionPicker"},null,8,["item"]))}}),Fa=$(Da,[["__scopeId","data-v-31b36ab6"]]),Ra=s=>{if(typeof document>"u")return{stabilizeScrollPosition:n=>async(...r)=>n(...r)};const e=document.documentElement;return{stabilizeScrollPosition:o=>async(...n)=>{const r=o(...n),l=s.value;if(!l)return r;const d=l.offsetTop-e.scrollTop;return await he(),e.scrollTop=l.offsetTop-d,r}}},Re="vitepress:tabSharedState",J=typeof localStorage<"u"?localStorage:null,Ue="vitepress:tabsSharedState",Ua=()=>{const s=J==null?void 0:J.getItem(Ue);if(s)try{return JSON.parse(s)}catch{}return{}},Ga=s=>{J&&J.setItem(Ue,JSON.stringify(s))},ja=s=>{const e=nt({});H(()=>e.content,(t,o)=>{t&&o&&Ga(t)},{deep:!0}),s.provide(Re,e)},za=(s,e)=>{const t=q(Re);if(!t)throw new Error("[vitepress-plugin-tabs] TabsSharedState should be injected");F(()=>{t.content||(t.content=Ua())});const o=T(),n=y({get(){var v;const l=e.value,d=s.value;if(l){const k=(v=t.content)==null?void 0:v[l];if(k&&d.includes(k))return k}else{const k=o.value;if(k)return k}return d[0]},set(l){const d=e.value;d?t.content&&(t.content[d]=l):o.value=l}});return{selected:n,select:l=>{n.value=l}}};let Ve=0;const Ka=()=>(Ve++,""+Ve);function Wa(){const s=Me();return y(()=>{var o;const t=(o=s.default)==null?void 0:o.call(s);return t?t.filter(n=>typeof n.type=="object"&&"__name"in n.type&&n.type.__name==="PluginTabsTab"&&n.props).map(n=>{var r;return(r=n.props)==null?void 0:r.label}):[]})}const Ge="vitepress:tabSingleState",qa=s=>{me(Ge,s)},Ja=()=>{const s=q(Ge);if(!s)throw new Error("[vitepress-plugin-tabs] TabsSingleState should be injected");return s},Ya={class:"plugin-tabs"},Xa=["id","aria-selected","aria-controls","tabindex","onClick"],Qa=m({__name:"PluginTabs",props:{sharedStateKey:{}},setup(s){const e=s,t=Wa(),{selected:o,select:n}=za(t,ot(e,"sharedStateKey")),r=T(),{stabilizeScrollPosition:l}=Ra(r),d=l(n),v=T([]),k=_=>{var E;const P=t.value.indexOf(o.value);let S;_.key==="ArrowLeft"?S=P>=1?P-1:t.value.length-1:_.key==="ArrowRight"&&(S=P(a(),u("div",Ya,[p("div",{ref_key:"tablist",ref:r,class:"plugin-tabs--tab-list",role:"tablist",onKeydown:k},[(a(!0),u(M,null,A(i(t),S=>(a(),u("button",{id:`tab-${S}-${i(V)}`,ref_for:!0,ref_key:"buttonRefs",ref:v,key:S,role:"tab",class:"plugin-tabs--tab","aria-selected":S===i(o),"aria-controls":`panel-${S}-${i(V)}`,tabindex:S===i(o)?0:-1,onClick:()=>i(d)(S)},N(S),9,Xa))),128))],544),c(_.$slots,"default")]))}}),Za=["id","aria-labelledby"],xa=m({__name:"PluginTabsTab",props:{label:{}},setup(s){const{uid:e,selected:t}=Ja();return(o,n)=>i(t)===o.label?(a(),u("div",{key:0,id:`panel-${o.label}-${i(e)}`,class:"plugin-tabs--content",role:"tabpanel",tabindex:"0","aria-labelledby":`tab-${o.label}-${i(e)}`},[c(o.$slots,"default",{},void 0,!0)],8,Za)):h("",!0)}}),er=$(xa,[["__scopeId","data-v-9b0d03d2"]]),tr=s=>{ja(s),s.component("PluginTabs",Qa),s.component("PluginTabsTab",er)},or={extends:Se,Layout(){return st(Se.Layout,null,{})},enhanceApp({app:s,router:e,siteData:t}){if(tr(s),s.component("VersionPicker",Fa),typeof window<"u"){let o=function(){if(!(window.DOCUMENTER_NEWEST===void 0||window.DOCUMENTER_CURRENT_VERSION===void 0||window.DOCUMENTER_STABLE===void 0)&&window.DOCUMENTER_NEWEST===window.DOCUMENTER_CURRENT_VERSION){const n=window.location.href.replace(window.DOCUMENTER_CURRENT_VERSION,window.DOCUMENTER_STABLE);window.history.replaceState({additionalInformation:"URL rewritten to stable"},"Makie",n);return}};H(()=>e.route.data.relativePath,o,{immediate:!0}),document.addEventListener("DOMContentLoaded",o)}}};export{or as R,$s as c,L as u}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.Ds3sC3Cp.js","assets/chunks/framework.C5U82uhn.js"])))=>i.map(i=>d[i]); +import{d as m,o as a,c as u,r as c,n as I,a as j,t as N,b,w as f,e as h,T as de,_ as $,u as je,i as ze,f as Ke,g as ve,h as y,j as p,k as i,l as z,m as re,p as T,q as H,s as x,v as F,x as pe,y as fe,z as We,A as qe,B as K,F as M,C as A,D as Le,E as ee,G as g,H as O,I as Te,J as Y,K as G,L as q,M as Je,N as we,O as ie,P as he,Q as Ne,R as te,S as Ye,U as Xe,V as Qe,W as Ie,X as me,Y as Ze,Z as xe,$ as et,a0 as tt,a1 as Me,a2 as nt,a3 as ot,a4 as st}from"./framework.C5U82uhn.js";const at=m({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(s){return(e,t)=>(a(),u("span",{class:I(["VPBadge",e.type])},[c(e.$slots,"default",{},()=>[j(N(e.text),1)])],2))}}),rt={key:0,class:"VPBackdrop"},it=m({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(s){return(e,t)=>(a(),b(de,{name:"fade"},{default:f(()=>[e.show?(a(),u("div",rt)):h("",!0)]),_:1}))}}),lt=$(it,[["__scopeId","data-v-b06cdb19"]]),L=je;function ct(s,e){let t,o=!1;return()=>{t&&clearTimeout(t),o?t=setTimeout(s,e):(s(),(o=!0)&&setTimeout(()=>o=!1,e))}}function le(s){return/^\//.test(s)?s:`/${s}`}function _e(s){const{pathname:e,search:t,hash:o,protocol:n}=new URL(s,"http://a.com");if(ze(s)||s.startsWith("#")||!n.startsWith("http")||!Ke(e))return s;const{site:r}=L(),l=e.endsWith("/")||e.endsWith(".html")?s:s.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,r.value.cleanUrls?"":".html")}${t}${o}`);return ve(l)}function X({correspondingLink:s=!1}={}){const{site:e,localeIndex:t,page:o,theme:n,hash:r}=L(),l=y(()=>{var v,k;return{label:(v=e.value.locales[t.value])==null?void 0:v.label,link:((k=e.value.locales[t.value])==null?void 0:k.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:y(()=>Object.entries(e.value.locales).flatMap(([v,k])=>l.value.label===k.label?[]:{text:k.label,link:ut(k.link||(v==="root"?"/":`/${v}/`),n.value.i18nRouting!==!1&&s,o.value.relativePath.slice(l.value.link.length-1),!e.value.cleanUrls)+r.value})),currentLang:l}}function ut(s,e,t,o){return e?s.replace(/\/$/,"")+le(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,o?".html":"")):s}const dt={class:"NotFound"},vt={class:"code"},pt={class:"title"},ft={class:"quote"},ht={class:"action"},mt=["href","aria-label"],_t=m({__name:"NotFound",setup(s){const{theme:e}=L(),{currentLang:t}=X();return(o,n)=>{var r,l,d,v,k;return a(),u("div",dt,[p("p",vt,N(((r=i(e).notFound)==null?void 0:r.code)??"404"),1),p("h1",pt,N(((l=i(e).notFound)==null?void 0:l.title)??"PAGE NOT FOUND"),1),n[0]||(n[0]=p("div",{class:"divider"},null,-1)),p("blockquote",ft,N(((d=i(e).notFound)==null?void 0:d.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),p("div",ht,[p("a",{class:"link",href:i(ve)(i(t).link),"aria-label":((v=i(e).notFound)==null?void 0:v.linkLabel)??"go to home"},N(((k=i(e).notFound)==null?void 0:k.linkText)??"Take me home"),9,mt)])])}}}),bt=$(_t,[["__scopeId","data-v-951cab6c"]]);function Ee(s,e){if(Array.isArray(s))return Q(s);if(s==null)return[];e=le(e);const t=Object.keys(s).sort((n,r)=>r.split("/").length-n.split("/").length).find(n=>e.startsWith(le(n))),o=t?s[t]:[];return Array.isArray(o)?Q(o):Q(o.items,o.base)}function kt(s){const e=[];let t=0;for(const o in s){const n=s[o];if(n.items){t=e.push(n);continue}e[t]||e.push({items:[]}),e[t].items.push(n)}return e}function gt(s){const e=[];function t(o){for(const n of o)n.text&&n.link&&e.push({text:n.text,link:n.link,docFooterText:n.docFooterText}),n.items&&t(n.items)}return t(s),e}function ce(s,e){return Array.isArray(e)?e.some(t=>ce(s,t)):z(s,e.link)?!0:e.items?ce(s,e.items):!1}function Q(s,e){return[...s].map(t=>{const o={...t},n=o.base||e;return n&&o.link&&(o.link=n+o.link),o.items&&(o.items=Q(o.items,n)),o})}function R(){const{frontmatter:s,page:e,theme:t}=L(),o=re("(min-width: 960px)"),n=T(!1),r=y(()=>{const C=t.value.sidebar,w=e.value.relativePath;return C?Ee(C,w):[]}),l=T(r.value);H(r,(C,w)=>{JSON.stringify(C)!==JSON.stringify(w)&&(l.value=r.value)});const d=y(()=>s.value.sidebar!==!1&&l.value.length>0&&s.value.layout!=="home"),v=y(()=>k?s.value.aside==null?t.value.aside==="left":s.value.aside==="left":!1),k=y(()=>s.value.layout==="home"?!1:s.value.aside!=null?!!s.value.aside:t.value.aside!==!1),V=y(()=>d.value&&o.value),_=y(()=>d.value?kt(l.value):[]);function P(){n.value=!0}function S(){n.value=!1}function E(){n.value?S():P()}return{isOpen:n,sidebar:l,sidebarGroups:_,hasSidebar:d,hasAside:k,leftAside:v,isSidebarEnabled:V,open:P,close:S,toggle:E}}function $t(s,e){let t;x(()=>{t=s.value?document.activeElement:void 0}),F(()=>{window.addEventListener("keyup",o)}),pe(()=>{window.removeEventListener("keyup",o)});function o(n){n.key==="Escape"&&s.value&&(e(),t==null||t.focus())}}function yt(s){const{page:e,hash:t}=L(),o=T(!1),n=y(()=>s.value.collapsed!=null),r=y(()=>!!s.value.link),l=T(!1),d=()=>{l.value=z(e.value.relativePath,s.value.link)};H([e,s,t],d),F(d);const v=y(()=>l.value?!0:s.value.items?ce(e.value.relativePath,s.value.items):!1),k=y(()=>!!(s.value.items&&s.value.items.length));x(()=>{o.value=!!(n.value&&s.value.collapsed)}),fe(()=>{(l.value||v.value)&&(o.value=!1)});function V(){n.value&&(o.value=!o.value)}return{collapsed:o,collapsible:n,isLink:r,isActiveLink:l,hasActiveLink:v,hasChildren:k,toggle:V}}function Pt(){const{hasSidebar:s}=R(),e=re("(min-width: 960px)"),t=re("(min-width: 1280px)");return{isAsideEnabled:y(()=>!t.value&&!e.value?!1:s.value?t.value:e.value)}}const ue=[];function Ce(s){return typeof s.outline=="object"&&!Array.isArray(s.outline)&&s.outline.label||s.outlineTitle||"On this page"}function be(s){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const o=Number(t.tagName[1]);return{element:t,title:St(t),link:"#"+t.id,level:o}});return Vt(e,s)}function St(s){let e="";for(const t of s.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function Vt(s,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[o,n]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;return wt(s,o,n)}function Lt(s,e){const{isAsideEnabled:t}=Pt(),o=ct(r,100);let n=null;F(()=>{requestAnimationFrame(r),window.addEventListener("scroll",o)}),We(()=>{l(location.hash)}),pe(()=>{window.removeEventListener("scroll",o)});function r(){if(!t.value)return;const d=window.scrollY,v=window.innerHeight,k=document.body.offsetHeight,V=Math.abs(d+v-k)<1,_=ue.map(({element:S,link:E})=>({link:E,top:Tt(S)})).filter(({top:S})=>!Number.isNaN(S)).sort((S,E)=>S.top-E.top);if(!_.length){l(null);return}if(d<1){l(null);return}if(V){l(_[_.length-1].link);return}let P=null;for(const{link:S,top:E}of _){if(E>d+qe()+4)break;P=S}l(P)}function l(d){n&&n.classList.remove("active"),d==null?n=null:n=s.value.querySelector(`a[href="${decodeURIComponent(d)}"]`);const v=n;v?(v.classList.add("active"),e.value.style.top=v.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function Tt(s){let e=0;for(;s!==document.body;){if(s===null)return NaN;e+=s.offsetTop,s=s.offsetParent}return e}function wt(s,e,t){ue.length=0;const o=[],n=[];return s.forEach(r=>{const l={...r,children:[]};let d=n[n.length-1];for(;d&&d.level>=l.level;)n.pop(),d=n[n.length-1];if(l.element.classList.contains("ignore-header")||d&&"shouldIgnore"in d){n.push({level:l.level,shouldIgnore:!0});return}l.level>t||l.level{const n=K("VPDocOutlineItem",!0);return a(),u("ul",{class:I(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),u(M,null,A(t.headers,({children:r,link:l,title:d})=>(a(),u("li",null,[p("a",{class:"outline-link",href:l,onClick:e,title:d},N(d),9,Nt),r!=null&&r.length?(a(),b(n,{key:0,headers:r},null,8,["headers"])):h("",!0)]))),256))],2)}}}),Ae=$(It,[["__scopeId","data-v-3f927ebe"]]),Mt={class:"content"},Et={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},Ct=m({__name:"VPDocAsideOutline",setup(s){const{frontmatter:e,theme:t}=L(),o=Le([]);ee(()=>{o.value=be(e.value.outline??t.value.outline)});const n=T(),r=T();return Lt(n,r),(l,d)=>(a(),u("nav",{"aria-labelledby":"doc-outline-aria-label",class:I(["VPDocAsideOutline",{"has-outline":o.value.length>0}]),ref_key:"container",ref:n},[p("div",Mt,[p("div",{class:"outline-marker",ref_key:"marker",ref:r},null,512),p("div",Et,N(i(Ce)(i(t))),1),g(Ae,{headers:o.value,root:!0},null,8,["headers"])])],2))}}),At=$(Ct,[["__scopeId","data-v-b38bf2ff"]]),Bt={class:"VPDocAsideCarbonAds"},Ht=m({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(s){const e=()=>null;return(t,o)=>(a(),u("div",Bt,[g(i(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Ot={class:"VPDocAside"},Dt=m({__name:"VPDocAside",setup(s){const{theme:e}=L();return(t,o)=>(a(),u("div",Ot,[c(t.$slots,"aside-top",{},void 0,!0),c(t.$slots,"aside-outline-before",{},void 0,!0),g(At),c(t.$slots,"aside-outline-after",{},void 0,!0),o[0]||(o[0]=p("div",{class:"spacer"},null,-1)),c(t.$slots,"aside-ads-before",{},void 0,!0),i(e).carbonAds?(a(),b(Ht,{key:0,"carbon-ads":i(e).carbonAds},null,8,["carbon-ads"])):h("",!0),c(t.$slots,"aside-ads-after",{},void 0,!0),c(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Ft=$(Dt,[["__scopeId","data-v-6d7b3c46"]]);function Rt(){const{theme:s,page:e}=L();return y(()=>{const{text:t="Edit this page",pattern:o=""}=s.value.editLink||{};let n;return typeof o=="function"?n=o(e.value):n=o.replace(/:path/g,e.value.filePath),{url:n,text:t}})}function Ut(){const{page:s,theme:e,frontmatter:t}=L();return y(()=>{var k,V,_,P,S,E,C,w;const o=Ee(e.value.sidebar,s.value.relativePath),n=gt(o),r=Gt(n,B=>B.link.replace(/[?#].*$/,"")),l=r.findIndex(B=>z(s.value.relativePath,B.link)),d=((k=e.value.docFooter)==null?void 0:k.prev)===!1&&!t.value.prev||t.value.prev===!1,v=((V=e.value.docFooter)==null?void 0:V.next)===!1&&!t.value.next||t.value.next===!1;return{prev:d?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((_=r[l-1])==null?void 0:_.docFooterText)??((P=r[l-1])==null?void 0:P.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((S=r[l-1])==null?void 0:S.link)},next:v?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((E=r[l+1])==null?void 0:E.docFooterText)??((C=r[l+1])==null?void 0:C.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((w=r[l+1])==null?void 0:w.link)}}})}function Gt(s,e){const t=new Set;return s.filter(o=>{const n=e(o);return t.has(n)?!1:t.add(n)})}const D=m({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(s){const e=s,t=y(()=>e.tag??(e.href?"a":"span")),o=y(()=>e.href&&Te.test(e.href)||e.target==="_blank");return(n,r)=>(a(),b(O(t.value),{class:I(["VPLink",{link:n.href,"vp-external-link-icon":o.value,"no-icon":n.noIcon}]),href:n.href?i(_e)(n.href):void 0,target:n.target??(o.value?"_blank":void 0),rel:n.rel??(o.value?"noreferrer":void 0)},{default:f(()=>[c(n.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),jt={class:"VPLastUpdated"},zt=["datetime"],Kt=m({__name:"VPDocFooterLastUpdated",setup(s){const{theme:e,page:t,lang:o}=L(),n=y(()=>new Date(t.value.lastUpdated)),r=y(()=>n.value.toISOString()),l=T("");return F(()=>{x(()=>{var d,v,k;l.value=new Intl.DateTimeFormat((v=(d=e.value.lastUpdated)==null?void 0:d.formatOptions)!=null&&v.forceLocale?o.value:void 0,((k=e.value.lastUpdated)==null?void 0:k.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(n.value)})}),(d,v)=>{var k;return a(),u("p",jt,[j(N(((k=i(e).lastUpdated)==null?void 0:k.text)||i(e).lastUpdatedText||"Last updated")+": ",1),p("time",{datetime:r.value},N(l.value),9,zt)])}}}),Wt=$(Kt,[["__scopeId","data-v-475f71b8"]]),qt={key:0,class:"VPDocFooter"},Jt={key:0,class:"edit-info"},Yt={key:0,class:"edit-link"},Xt={key:1,class:"last-updated"},Qt={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},Zt={class:"pager"},xt=["innerHTML"],en=["innerHTML"],tn={class:"pager"},nn=["innerHTML"],on=["innerHTML"],sn=m({__name:"VPDocFooter",setup(s){const{theme:e,page:t,frontmatter:o}=L(),n=Rt(),r=Ut(),l=y(()=>e.value.editLink&&o.value.editLink!==!1),d=y(()=>t.value.lastUpdated),v=y(()=>l.value||d.value||r.value.prev||r.value.next);return(k,V)=>{var _,P,S,E;return v.value?(a(),u("footer",qt,[c(k.$slots,"doc-footer-before",{},void 0,!0),l.value||d.value?(a(),u("div",Jt,[l.value?(a(),u("div",Yt,[g(D,{class:"edit-link-button",href:i(n).url,"no-icon":!0},{default:f(()=>[V[0]||(V[0]=p("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),j(" "+N(i(n).text),1)]),_:1},8,["href"])])):h("",!0),d.value?(a(),u("div",Xt,[g(Wt)])):h("",!0)])):h("",!0),(_=i(r).prev)!=null&&_.link||(P=i(r).next)!=null&&P.link?(a(),u("nav",Qt,[V[1]||(V[1]=p("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),p("div",Zt,[(S=i(r).prev)!=null&&S.link?(a(),b(D,{key:0,class:"pager-link prev",href:i(r).prev.link},{default:f(()=>{var C;return[p("span",{class:"desc",innerHTML:((C=i(e).docFooter)==null?void 0:C.prev)||"Previous page"},null,8,xt),p("span",{class:"title",innerHTML:i(r).prev.text},null,8,en)]}),_:1},8,["href"])):h("",!0)]),p("div",tn,[(E=i(r).next)!=null&&E.link?(a(),b(D,{key:0,class:"pager-link next",href:i(r).next.link},{default:f(()=>{var C;return[p("span",{class:"desc",innerHTML:((C=i(e).docFooter)==null?void 0:C.next)||"Next page"},null,8,nn),p("span",{class:"title",innerHTML:i(r).next.text},null,8,on)]}),_:1},8,["href"])):h("",!0)])])):h("",!0)])):h("",!0)}}}),an=$(sn,[["__scopeId","data-v-4f9813fa"]]),rn={class:"container"},ln={class:"aside-container"},cn={class:"aside-content"},un={class:"content"},dn={class:"content-container"},vn={class:"main"},pn=m({__name:"VPDoc",setup(s){const{theme:e}=L(),t=Y(),{hasSidebar:o,hasAside:n,leftAside:r}=R(),l=y(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(d,v)=>{const k=K("Content");return a(),u("div",{class:I(["VPDoc",{"has-sidebar":i(o),"has-aside":i(n)}])},[c(d.$slots,"doc-top",{},void 0,!0),p("div",rn,[i(n)?(a(),u("div",{key:0,class:I(["aside",{"left-aside":i(r)}])},[v[0]||(v[0]=p("div",{class:"aside-curtain"},null,-1)),p("div",ln,[p("div",cn,[g(Ft,null,{"aside-top":f(()=>[c(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[c(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[c(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):h("",!0),p("div",un,[p("div",dn,[c(d.$slots,"doc-before",{},void 0,!0),p("main",vn,[g(k,{class:I(["vp-doc",[l.value,i(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),g(an,null,{"doc-footer-before":f(()=>[c(d.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),c(d.$slots,"doc-after",{},void 0,!0)])])]),c(d.$slots,"doc-bottom",{},void 0,!0)],2)}}}),fn=$(pn,[["__scopeId","data-v-83890dd9"]]),hn=m({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(s){const e=s,t=y(()=>e.href&&Te.test(e.href)),o=y(()=>e.tag||(e.href?"a":"button"));return(n,r)=>(a(),b(O(o.value),{class:I(["VPButton",[n.size,n.theme]]),href:n.href?i(_e)(n.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:f(()=>[j(N(n.text),1)]),_:1},8,["class","href","target","rel"]))}}),mn=$(hn,[["__scopeId","data-v-906d7fb4"]]),_n=["src","alt"],bn=m({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(s){return(e,t)=>{const o=K("VPImage",!0);return e.image?(a(),u(M,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),u("img",G({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:i(ve)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,_n)):(a(),u(M,{key:1},[g(o,G({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),g(o,G({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):h("",!0)}}}),Z=$(bn,[["__scopeId","data-v-35a7d0b8"]]),kn={class:"container"},gn={class:"main"},$n={key:0,class:"name"},yn=["innerHTML"],Pn=["innerHTML"],Sn=["innerHTML"],Vn={key:0,class:"actions"},Ln={key:0,class:"image"},Tn={class:"image-container"},wn=m({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(s){const e=q("hero-image-slot-exists");return(t,o)=>(a(),u("div",{class:I(["VPHero",{"has-image":t.image||i(e)}])},[p("div",kn,[p("div",gn,[c(t.$slots,"home-hero-info-before",{},void 0,!0),c(t.$slots,"home-hero-info",{},()=>[t.name?(a(),u("h1",$n,[p("span",{innerHTML:t.name,class:"clip"},null,8,yn)])):h("",!0),t.text?(a(),u("p",{key:1,innerHTML:t.text,class:"text"},null,8,Pn)):h("",!0),t.tagline?(a(),u("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,Sn)):h("",!0)],!0),c(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),u("div",Vn,[(a(!0),u(M,null,A(t.actions,n=>(a(),u("div",{key:n.link,class:"action"},[g(mn,{tag:"a",size:"medium",theme:n.theme,text:n.text,href:n.link,target:n.target,rel:n.rel},null,8,["theme","text","href","target","rel"])]))),128))])):h("",!0),c(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||i(e)?(a(),u("div",Ln,[p("div",Tn,[o[0]||(o[0]=p("div",{class:"image-bg"},null,-1)),c(t.$slots,"home-hero-image",{},()=>[t.image?(a(),b(Z,{key:0,class:"image-src",image:t.image},null,8,["image"])):h("",!0)],!0)])])):h("",!0)])],2))}}),Nn=$(wn,[["__scopeId","data-v-955009fc"]]),In=m({__name:"VPHomeHero",setup(s){const{frontmatter:e}=L();return(t,o)=>i(e).hero?(a(),b(Nn,{key:0,class:"VPHomeHero",name:i(e).hero.name,text:i(e).hero.text,tagline:i(e).hero.tagline,image:i(e).hero.image,actions:i(e).hero.actions},{"home-hero-info-before":f(()=>[c(t.$slots,"home-hero-info-before")]),"home-hero-info":f(()=>[c(t.$slots,"home-hero-info")]),"home-hero-info-after":f(()=>[c(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":f(()=>[c(t.$slots,"home-hero-actions-after")]),"home-hero-image":f(()=>[c(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):h("",!0)}}),Mn={class:"box"},En={key:0,class:"icon"},Cn=["innerHTML"],An=["innerHTML"],Bn=["innerHTML"],Hn={key:4,class:"link-text"},On={class:"link-text-value"},Dn=m({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(s){return(e,t)=>(a(),b(D,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:f(()=>[p("article",Mn,[typeof e.icon=="object"&&e.icon.wrap?(a(),u("div",En,[g(Z,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),b(Z,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),u("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Cn)):h("",!0),p("h2",{class:"title",innerHTML:e.title},null,8,An),e.details?(a(),u("p",{key:3,class:"details",innerHTML:e.details},null,8,Bn)):h("",!0),e.linkText?(a(),u("div",Hn,[p("p",On,[j(N(e.linkText)+" ",1),t[0]||(t[0]=p("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):h("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),Fn=$(Dn,[["__scopeId","data-v-f5e9645b"]]),Rn={key:0,class:"VPFeatures"},Un={class:"container"},Gn={class:"items"},jn=m({__name:"VPFeatures",props:{features:{}},setup(s){const e=s,t=y(()=>{const o=e.features.length;if(o){if(o===2)return"grid-2";if(o===3)return"grid-3";if(o%3===0)return"grid-6";if(o>3)return"grid-4"}else return});return(o,n)=>o.features?(a(),u("div",Rn,[p("div",Un,[p("div",Gn,[(a(!0),u(M,null,A(o.features,r=>(a(),u("div",{key:r.title,class:I(["item",[t.value]])},[g(Fn,{icon:r.icon,title:r.title,details:r.details,link:r.link,"link-text":r.linkText,rel:r.rel,target:r.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):h("",!0)}}),zn=$(jn,[["__scopeId","data-v-d0a190d7"]]),Kn=m({__name:"VPHomeFeatures",setup(s){const{frontmatter:e}=L();return(t,o)=>i(e).features?(a(),b(zn,{key:0,class:"VPHomeFeatures",features:i(e).features},null,8,["features"])):h("",!0)}}),Wn=m({__name:"VPHomeContent",setup(s){const{width:e}=Je({initialWidth:0,includeScrollbar:!1});return(t,o)=>(a(),u("div",{class:"vp-doc container",style:we(i(e)?{"--vp-offset":`calc(50% - ${i(e)/2}px)`}:{})},[c(t.$slots,"default",{},void 0,!0)],4))}}),qn=$(Wn,[["__scopeId","data-v-7a48a447"]]),Jn={class:"VPHome"},Yn=m({__name:"VPHome",setup(s){const{frontmatter:e}=L();return(t,o)=>{const n=K("Content");return a(),u("div",Jn,[c(t.$slots,"home-hero-before",{},void 0,!0),g(In,null,{"home-hero-info-before":f(()=>[c(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),c(t.$slots,"home-hero-after",{},void 0,!0),c(t.$slots,"home-features-before",{},void 0,!0),g(Kn),c(t.$slots,"home-features-after",{},void 0,!0),i(e).markdownStyles!==!1?(a(),b(qn,{key:0},{default:f(()=>[g(n)]),_:1})):(a(),b(n,{key:1}))])}}}),Xn=$(Yn,[["__scopeId","data-v-cbb6ec48"]]),Qn={},Zn={class:"VPPage"};function xn(s,e){const t=K("Content");return a(),u("div",Zn,[c(s.$slots,"page-top"),g(t),c(s.$slots,"page-bottom")])}const eo=$(Qn,[["render",xn]]),to=m({__name:"VPContent",setup(s){const{page:e,frontmatter:t}=L(),{hasSidebar:o}=R();return(n,r)=>(a(),u("div",{class:I(["VPContent",{"has-sidebar":i(o),"is-home":i(t).layout==="home"}]),id:"VPContent"},[i(e).isNotFound?c(n.$slots,"not-found",{key:0},()=>[g(bt)],!0):i(t).layout==="page"?(a(),b(eo,{key:1},{"page-top":f(()=>[c(n.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[c(n.$slots,"page-bottom",{},void 0,!0)]),_:3})):i(t).layout==="home"?(a(),b(Xn,{key:2},{"home-hero-before":f(()=>[c(n.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[c(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(n.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[c(n.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[c(n.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[c(n.$slots,"home-features-after",{},void 0,!0)]),_:3})):i(t).layout&&i(t).layout!=="doc"?(a(),b(O(i(t).layout),{key:3})):(a(),b(fn,{key:4},{"doc-top":f(()=>[c(n.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[c(n.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":f(()=>[c(n.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[c(n.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[c(n.$slots,"doc-after",{},void 0,!0)]),"aside-top":f(()=>[c(n.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":f(()=>[c(n.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(n.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(n.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(n.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":f(()=>[c(n.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),no=$(to,[["__scopeId","data-v-91765379"]]),oo={class:"container"},so=["innerHTML"],ao=["innerHTML"],ro=m({__name:"VPFooter",setup(s){const{theme:e,frontmatter:t}=L(),{hasSidebar:o}=R();return(n,r)=>i(e).footer&&i(t).footer!==!1?(a(),u("footer",{key:0,class:I(["VPFooter",{"has-sidebar":i(o)}])},[p("div",oo,[i(e).footer.message?(a(),u("p",{key:0,class:"message",innerHTML:i(e).footer.message},null,8,so)):h("",!0),i(e).footer.copyright?(a(),u("p",{key:1,class:"copyright",innerHTML:i(e).footer.copyright},null,8,ao)):h("",!0)])],2)):h("",!0)}}),io=$(ro,[["__scopeId","data-v-c970a860"]]);function lo(){const{theme:s,frontmatter:e}=L(),t=Le([]),o=y(()=>t.value.length>0);return ee(()=>{t.value=be(e.value.outline??s.value.outline)}),{headers:t,hasLocalNav:o}}const co={class:"menu-text"},uo={class:"header"},vo={class:"outline"},po=m({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(s){const e=s,{theme:t}=L(),o=T(!1),n=T(0),r=T(),l=T();function d(_){var P;(P=r.value)!=null&&P.contains(_.target)||(o.value=!1)}H(o,_=>{if(_){document.addEventListener("click",d);return}document.removeEventListener("click",d)}),ie("Escape",()=>{o.value=!1}),ee(()=>{o.value=!1});function v(){o.value=!o.value,n.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function k(_){_.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),he(()=>{o.value=!1}))}function V(){o.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(_,P)=>(a(),u("div",{class:"VPLocalNavOutlineDropdown",style:we({"--vp-vh":n.value+"px"}),ref_key:"main",ref:r},[_.headers.length>0?(a(),u("button",{key:0,onClick:v,class:I({open:o.value})},[p("span",co,N(i(Ce)(i(t))),1),P[0]||(P[0]=p("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(a(),u("button",{key:1,onClick:V},N(i(t).returnToTopLabel||"Return to top"),1)),g(de,{name:"flyout"},{default:f(()=>[o.value?(a(),u("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:k},[p("div",uo,[p("a",{class:"top-link",href:"#",onClick:V},N(i(t).returnToTopLabel||"Return to top"),1)]),p("div",vo,[g(Ae,{headers:_.headers},null,8,["headers"])])],512)):h("",!0)]),_:1})],4))}}),fo=$(po,[["__scopeId","data-v-bc9dc845"]]),ho={class:"container"},mo=["aria-expanded"],_o={class:"menu-text"},bo=m({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(s){const{theme:e,frontmatter:t}=L(),{hasSidebar:o}=R(),{headers:n}=lo(),{y:r}=Ne(),l=T(0);F(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),ee(()=>{n.value=be(t.value.outline??e.value.outline)});const d=y(()=>n.value.length===0),v=y(()=>d.value&&!o.value),k=y(()=>({VPLocalNav:!0,"has-sidebar":o.value,empty:d.value,fixed:v.value}));return(V,_)=>i(t).layout!=="home"&&(!v.value||i(r)>=l.value)?(a(),u("div",{key:0,class:I(k.value)},[p("div",ho,[i(o)?(a(),u("button",{key:0,class:"menu","aria-expanded":V.open,"aria-controls":"VPSidebarNav",onClick:_[0]||(_[0]=P=>V.$emit("open-menu"))},[_[1]||(_[1]=p("span",{class:"vpi-align-left menu-icon"},null,-1)),p("span",_o,N(i(e).sidebarMenuLabel||"Menu"),1)],8,mo)):h("",!0),g(fo,{headers:i(n),navHeight:l.value},null,8,["headers","navHeight"])])],2)):h("",!0)}}),ko=$(bo,[["__scopeId","data-v-070ab83d"]]);function go(){const s=T(!1);function e(){s.value=!0,window.addEventListener("resize",n)}function t(){s.value=!1,window.removeEventListener("resize",n)}function o(){s.value?t():e()}function n(){window.outerWidth>=768&&t()}const r=Y();return H(()=>r.path,t),{isScreenOpen:s,openScreen:e,closeScreen:t,toggleScreen:o}}const $o={},yo={class:"VPSwitch",type:"button",role:"switch"},Po={class:"check"},So={key:0,class:"icon"};function Vo(s,e){return a(),u("button",yo,[p("span",Po,[s.$slots.default?(a(),u("span",So,[c(s.$slots,"default",{},void 0,!0)])):h("",!0)])])}const Lo=$($o,[["render",Vo],["__scopeId","data-v-4a1c76db"]]),To=m({__name:"VPSwitchAppearance",setup(s){const{isDark:e,theme:t}=L(),o=q("toggle-appearance",()=>{e.value=!e.value}),n=T("");return fe(()=>{n.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(r,l)=>(a(),b(Lo,{title:n.value,class:"VPSwitchAppearance","aria-checked":i(e),onClick:i(o)},{default:f(()=>l[0]||(l[0]=[p("span",{class:"vpi-sun sun"},null,-1),p("span",{class:"vpi-moon moon"},null,-1)])),_:1},8,["title","aria-checked","onClick"]))}}),ke=$(To,[["__scopeId","data-v-e40a8bb6"]]),wo={key:0,class:"VPNavBarAppearance"},No=m({__name:"VPNavBarAppearance",setup(s){const{site:e}=L();return(t,o)=>i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(a(),u("div",wo,[g(ke)])):h("",!0)}}),Io=$(No,[["__scopeId","data-v-af096f4a"]]),ge=T();let Be=!1,ae=0;function Mo(s){const e=T(!1);if(te){!Be&&Eo(),ae++;const t=H(ge,o=>{var n,r,l;o===s.el.value||(n=s.el.value)!=null&&n.contains(o)?(e.value=!0,(r=s.onFocus)==null||r.call(s)):(e.value=!1,(l=s.onBlur)==null||l.call(s))});pe(()=>{t(),ae--,ae||Co()})}return Ye(e)}function Eo(){document.addEventListener("focusin",He),Be=!0,ge.value=document.activeElement}function Co(){document.removeEventListener("focusin",He)}function He(){ge.value=document.activeElement}const Ao={class:"VPMenuLink"},Bo=["innerHTML"],Ho=m({__name:"VPMenuLink",props:{item:{}},setup(s){const{page:e}=L();return(t,o)=>(a(),u("div",Ao,[g(D,{class:I({active:i(z)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon},{default:f(()=>[p("span",{innerHTML:t.item.text},null,8,Bo)]),_:1},8,["class","href","target","rel","no-icon"])]))}}),ne=$(Ho,[["__scopeId","data-v-acbfed09"]]),Oo={class:"VPMenuGroup"},Do={key:0,class:"title"},Fo=m({__name:"VPMenuGroup",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),u("div",Oo,[e.text?(a(),u("p",Do,N(e.text),1)):h("",!0),(a(!0),u(M,null,A(e.items,o=>(a(),u(M,null,["link"in o?(a(),b(ne,{key:0,item:o},null,8,["item"])):h("",!0)],64))),256))]))}}),Ro=$(Fo,[["__scopeId","data-v-48c802d0"]]),Uo={class:"VPMenu"},Go={key:0,class:"items"},jo=m({__name:"VPMenu",props:{items:{}},setup(s){return(e,t)=>(a(),u("div",Uo,[e.items?(a(),u("div",Go,[(a(!0),u(M,null,A(e.items,o=>(a(),u(M,{key:JSON.stringify(o)},["link"in o?(a(),b(ne,{key:0,item:o},null,8,["item"])):"component"in o?(a(),b(O(o.component),G({key:1,ref_for:!0},o.props),null,16)):(a(),b(Ro,{key:2,text:o.text,items:o.items},null,8,["text","items"]))],64))),128))])):h("",!0),c(e.$slots,"default",{},void 0,!0)]))}}),zo=$(jo,[["__scopeId","data-v-7dd3104a"]]),Ko=["aria-expanded","aria-label"],Wo={key:0,class:"text"},qo=["innerHTML"],Jo={key:1,class:"vpi-more-horizontal icon"},Yo={class:"menu"},Xo=m({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(s){const e=T(!1),t=T();Mo({el:t,onBlur:o});function o(){e.value=!1}return(n,r)=>(a(),u("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:r[1]||(r[1]=l=>e.value=!0),onMouseleave:r[2]||(r[2]=l=>e.value=!1)},[p("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":n.label,onClick:r[0]||(r[0]=l=>e.value=!e.value)},[n.button||n.icon?(a(),u("span",Wo,[n.icon?(a(),u("span",{key:0,class:I([n.icon,"option-icon"])},null,2)):h("",!0),n.button?(a(),u("span",{key:1,innerHTML:n.button},null,8,qo)):h("",!0),r[3]||(r[3]=p("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(a(),u("span",Jo))],8,Ko),p("div",Yo,[g(zo,{items:n.items},{default:f(()=>[c(n.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),$e=$(Xo,[["__scopeId","data-v-04f5c5e9"]]),Qo=["href","aria-label","innerHTML"],Zo=m({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(s){const e=s,t=T();F(async()=>{var r;await he();const n=(r=t.value)==null?void 0:r.children[0];n instanceof HTMLElement&&n.className.startsWith("vpi-social-")&&(getComputedStyle(n).maskImage||getComputedStyle(n).webkitMaskImage)==="none"&&n.style.setProperty("--icon",`url('https://api.iconify.design/simple-icons/${e.icon}.svg')`)});const o=y(()=>typeof e.icon=="object"?e.icon.svg:``);return(n,r)=>(a(),u("a",{ref_key:"el",ref:t,class:"VPSocialLink no-icon",href:n.link,"aria-label":n.ariaLabel??(typeof n.icon=="string"?n.icon:""),target:"_blank",rel:"noopener",innerHTML:o.value},null,8,Qo))}}),xo=$(Zo,[["__scopeId","data-v-d26d30cb"]]),es={class:"VPSocialLinks"},ts=m({__name:"VPSocialLinks",props:{links:{}},setup(s){return(e,t)=>(a(),u("div",es,[(a(!0),u(M,null,A(e.links,({link:o,icon:n,ariaLabel:r})=>(a(),b(xo,{key:o,icon:n,link:o,ariaLabel:r},null,8,["icon","link","ariaLabel"]))),128))]))}}),ye=$(ts,[["__scopeId","data-v-ee7a9424"]]),ns={key:0,class:"group translations"},os={class:"trans-title"},ss={key:1,class:"group"},as={class:"item appearance"},rs={class:"label"},is={class:"appearance-action"},ls={key:2,class:"group"},cs={class:"item social-links"},us=m({__name:"VPNavBarExtra",setup(s){const{site:e,theme:t}=L(),{localeLinks:o,currentLang:n}=X({correspondingLink:!0}),r=y(()=>o.value.length&&n.value.label||e.value.appearance||t.value.socialLinks);return(l,d)=>r.value?(a(),b($e,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:f(()=>[i(o).length&&i(n).label?(a(),u("div",ns,[p("p",os,N(i(n).label),1),(a(!0),u(M,null,A(i(o),v=>(a(),b(ne,{key:v.link,item:v},null,8,["item"]))),128))])):h("",!0),i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(a(),u("div",ss,[p("div",as,[p("p",rs,N(i(t).darkModeSwitchLabel||"Appearance"),1),p("div",is,[g(ke)])])])):h("",!0),i(t).socialLinks?(a(),u("div",ls,[p("div",cs,[g(ye,{class:"social-links-list",links:i(t).socialLinks},null,8,["links"])])])):h("",!0)]),_:1})):h("",!0)}}),ds=$(us,[["__scopeId","data-v-925effce"]]),vs=["aria-expanded"],ps=m({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(s){return(e,t)=>(a(),u("button",{type:"button",class:I(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=o=>e.$emit("click"))},t[1]||(t[1]=[p("span",{class:"container"},[p("span",{class:"top"}),p("span",{class:"middle"}),p("span",{class:"bottom"})],-1)]),10,vs))}}),fs=$(ps,[["__scopeId","data-v-5dea55bf"]]),hs=["innerHTML"],ms=m({__name:"VPNavBarMenuLink",props:{item:{}},setup(s){const{page:e}=L();return(t,o)=>(a(),b(D,{class:I({VPNavBarMenuLink:!0,active:i(z)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,tabindex:"0"},{default:f(()=>[p("span",{innerHTML:t.item.text},null,8,hs)]),_:1},8,["class","href","target","rel","no-icon"]))}}),_s=$(ms,[["__scopeId","data-v-956ec74c"]]),Oe=m({__name:"VPNavBarMenuGroup",props:{item:{}},setup(s){const e=s,{page:t}=L(),o=r=>"component"in r?!1:"link"in r?z(t.value.relativePath,r.link,!!e.item.activeMatch):r.items.some(o),n=y(()=>o(e.item));return(r,l)=>(a(),b($e,{class:I({VPNavBarMenuGroup:!0,active:i(z)(i(t).relativePath,r.item.activeMatch,!!r.item.activeMatch)||n.value}),button:r.item.text,items:r.item.items},null,8,["class","button","items"]))}}),bs={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},ks=m({__name:"VPNavBarMenu",setup(s){const{theme:e}=L();return(t,o)=>i(e).nav?(a(),u("nav",bs,[o[0]||(o[0]=p("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(a(!0),u(M,null,A(i(e).nav,n=>(a(),u(M,{key:JSON.stringify(n)},["link"in n?(a(),b(_s,{key:0,item:n},null,8,["item"])):"component"in n?(a(),b(O(n.component),G({key:1,ref_for:!0},n.props),null,16)):(a(),b(Oe,{key:2,item:n},null,8,["item"]))],64))),128))])):h("",!0)}}),gs=$(ks,[["__scopeId","data-v-e6d46098"]]);function $s(s){const{localeIndex:e,theme:t}=L();function o(n){var E,C,w;const r=n.split("."),l=(E=t.value.search)==null?void 0:E.options,d=l&&typeof l=="object",v=d&&((w=(C=l.locales)==null?void 0:C[e.value])==null?void 0:w.translations)||null,k=d&&l.translations||null;let V=v,_=k,P=s;const S=r.pop();for(const B of r){let U=null;const W=P==null?void 0:P[B];W&&(U=P=W);const oe=_==null?void 0:_[B];oe&&(U=_=oe);const se=V==null?void 0:V[B];se&&(U=V=se),W||(P=U),oe||(_=U),se||(V=U)}return(V==null?void 0:V[S])??(_==null?void 0:_[S])??(P==null?void 0:P[S])??""}return o}const ys=["aria-label"],Ps={class:"DocSearch-Button-Container"},Ss={class:"DocSearch-Button-Placeholder"},Pe=m({__name:"VPNavBarSearchButton",setup(s){const t=$s({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(o,n)=>(a(),u("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":i(t)("button.buttonAriaLabel")},[p("span",Ps,[n[0]||(n[0]=p("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1)),p("span",Ss,N(i(t)("button.buttonText")),1)]),n[1]||(n[1]=p("span",{class:"DocSearch-Button-Keys"},[p("kbd",{class:"DocSearch-Button-Key"}),p("kbd",{class:"DocSearch-Button-Key"},"K")],-1))],8,ys))}}),Vs={class:"VPNavBarSearch"},Ls={id:"local-search"},Ts={key:1,id:"docsearch"},ws=m({__name:"VPNavBarSearch",setup(s){const e=Xe(()=>Qe(()=>import("./VPLocalSearchBox.Ds3sC3Cp.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:o}=L(),n=T(!1),r=T(!1);F(()=>{});function l(){n.value||(n.value=!0,setTimeout(d,16))}function d(){const _=new Event("keydown");_.key="k",_.metaKey=!0,window.dispatchEvent(_),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||d()},16)}function v(_){const P=_.target,S=P.tagName;return P.isContentEditable||S==="INPUT"||S==="SELECT"||S==="TEXTAREA"}const k=T(!1);ie("k",_=>{(_.ctrlKey||_.metaKey)&&(_.preventDefault(),k.value=!0)}),ie("/",_=>{v(_)||(_.preventDefault(),k.value=!0)});const V="local";return(_,P)=>{var S;return a(),u("div",Vs,[i(V)==="local"?(a(),u(M,{key:0},[k.value?(a(),b(i(e),{key:0,onClose:P[0]||(P[0]=E=>k.value=!1)})):h("",!0),p("div",Ls,[g(Pe,{onClick:P[1]||(P[1]=E=>k.value=!0)})])],64)):i(V)==="algolia"?(a(),u(M,{key:1},[n.value?(a(),b(i(t),{key:0,algolia:((S=i(o).search)==null?void 0:S.options)??i(o).algolia,onVnodeBeforeMount:P[2]||(P[2]=E=>r.value=!0)},null,8,["algolia"])):h("",!0),r.value?h("",!0):(a(),u("div",Ts,[g(Pe,{onClick:l})]))],64)):h("",!0)])}}}),Ns=m({__name:"VPNavBarSocialLinks",setup(s){const{theme:e}=L();return(t,o)=>i(e).socialLinks?(a(),b(ye,{key:0,class:"VPNavBarSocialLinks",links:i(e).socialLinks},null,8,["links"])):h("",!0)}}),Is=$(Ns,[["__scopeId","data-v-164c457f"]]),Ms=["href","rel","target"],Es=["innerHTML"],Cs={key:2},As=m({__name:"VPNavBarTitle",setup(s){const{site:e,theme:t}=L(),{hasSidebar:o}=R(),{currentLang:n}=X(),r=y(()=>{var v;return typeof t.value.logoLink=="string"?t.value.logoLink:(v=t.value.logoLink)==null?void 0:v.link}),l=y(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.rel}),d=y(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.target});return(v,k)=>(a(),u("div",{class:I(["VPNavBarTitle",{"has-sidebar":i(o)}])},[p("a",{class:"title",href:r.value??i(_e)(i(n).link),rel:l.value,target:d.value},[c(v.$slots,"nav-bar-title-before",{},void 0,!0),i(t).logo?(a(),b(Z,{key:0,class:"logo",image:i(t).logo},null,8,["image"])):h("",!0),i(t).siteTitle?(a(),u("span",{key:1,innerHTML:i(t).siteTitle},null,8,Es)):i(t).siteTitle===void 0?(a(),u("span",Cs,N(i(e).title),1)):h("",!0),c(v.$slots,"nav-bar-title-after",{},void 0,!0)],8,Ms)],2))}}),Bs=$(As,[["__scopeId","data-v-0f4f798b"]]),Hs={class:"items"},Os={class:"title"},Ds=m({__name:"VPNavBarTranslations",setup(s){const{theme:e}=L(),{localeLinks:t,currentLang:o}=X({correspondingLink:!0});return(n,r)=>i(t).length&&i(o).label?(a(),b($e,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:i(e).langMenuLabel||"Change language"},{default:f(()=>[p("div",Hs,[p("p",Os,N(i(o).label),1),(a(!0),u(M,null,A(i(t),l=>(a(),b(ne,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):h("",!0)}}),Fs=$(Ds,[["__scopeId","data-v-c80d9ad0"]]),Rs={class:"wrapper"},Us={class:"container"},Gs={class:"title"},js={class:"content"},zs={class:"content-body"},Ks=m({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(s){const e=s,{y:t}=Ne(),{hasSidebar:o}=R(),{frontmatter:n}=L(),r=T({});return fe(()=>{r.value={"has-sidebar":o.value,home:n.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(l,d)=>(a(),u("div",{class:I(["VPNavBar",r.value])},[p("div",Rs,[p("div",Us,[p("div",Gs,[g(Bs,null,{"nav-bar-title-before":f(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),p("div",js,[p("div",zs,[c(l.$slots,"nav-bar-content-before",{},void 0,!0),g(ws,{class:"search"}),g(gs,{class:"menu"}),g(Fs,{class:"translations"}),g(Io,{class:"appearance"}),g(Is,{class:"social-links"}),g(ds,{class:"extra"}),c(l.$slots,"nav-bar-content-after",{},void 0,!0),g(fs,{class:"hamburger",active:l.isScreenOpen,onClick:d[0]||(d[0]=v=>l.$emit("toggle-screen"))},null,8,["active"])])])])]),d[1]||(d[1]=p("div",{class:"divider"},[p("div",{class:"divider-line"})],-1))],2))}}),Ws=$(Ks,[["__scopeId","data-v-822684d1"]]),qs={key:0,class:"VPNavScreenAppearance"},Js={class:"text"},Ys=m({__name:"VPNavScreenAppearance",setup(s){const{site:e,theme:t}=L();return(o,n)=>i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(a(),u("div",qs,[p("p",Js,N(i(t).darkModeSwitchLabel||"Appearance"),1),g(ke)])):h("",!0)}}),Xs=$(Ys,[["__scopeId","data-v-ffb44008"]]),Qs=["innerHTML"],Zs=m({__name:"VPNavScreenMenuLink",props:{item:{}},setup(s){const e=q("close-screen");return(t,o)=>(a(),b(D,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:i(e)},{default:f(()=>[p("span",{innerHTML:t.item.text},null,8,Qs)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),xs=$(Zs,[["__scopeId","data-v-735512b8"]]),ea=["innerHTML"],ta=m({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(s){const e=q("close-screen");return(t,o)=>(a(),b(D,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:i(e)},{default:f(()=>[p("span",{innerHTML:t.item.text},null,8,ea)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),De=$(ta,[["__scopeId","data-v-372ae7c0"]]),na={class:"VPNavScreenMenuGroupSection"},oa={key:0,class:"title"},sa=m({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),u("div",na,[e.text?(a(),u("p",oa,N(e.text),1)):h("",!0),(a(!0),u(M,null,A(e.items,o=>(a(),b(De,{key:o.text,item:o},null,8,["item"]))),128))]))}}),aa=$(sa,[["__scopeId","data-v-4b8941ac"]]),ra=["aria-controls","aria-expanded"],ia=["innerHTML"],la=["id"],ca={key:0,class:"item"},ua={key:1,class:"item"},da={key:2,class:"group"},va=m({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(s){const e=s,t=T(!1),o=y(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function n(){t.value=!t.value}return(r,l)=>(a(),u("div",{class:I(["VPNavScreenMenuGroup",{open:t.value}])},[p("button",{class:"button","aria-controls":o.value,"aria-expanded":t.value,onClick:n},[p("span",{class:"button-text",innerHTML:r.text},null,8,ia),l[0]||(l[0]=p("span",{class:"vpi-plus button-icon"},null,-1))],8,ra),p("div",{id:o.value,class:"items"},[(a(!0),u(M,null,A(r.items,d=>(a(),u(M,{key:JSON.stringify(d)},["link"in d?(a(),u("div",ca,[g(De,{item:d},null,8,["item"])])):"component"in d?(a(),u("div",ua,[(a(),b(O(d.component),G({ref_for:!0},d.props,{"screen-menu":""}),null,16))])):(a(),u("div",da,[g(aa,{text:d.text,items:d.items},null,8,["text","items"])]))],64))),128))],8,la)],2))}}),Fe=$(va,[["__scopeId","data-v-875057a5"]]),pa={key:0,class:"VPNavScreenMenu"},fa=m({__name:"VPNavScreenMenu",setup(s){const{theme:e}=L();return(t,o)=>i(e).nav?(a(),u("nav",pa,[(a(!0),u(M,null,A(i(e).nav,n=>(a(),u(M,{key:JSON.stringify(n)},["link"in n?(a(),b(xs,{key:0,item:n},null,8,["item"])):"component"in n?(a(),b(O(n.component),G({key:1,ref_for:!0},n.props,{"screen-menu":""}),null,16)):(a(),b(Fe,{key:2,text:n.text||"",items:n.items},null,8,["text","items"]))],64))),128))])):h("",!0)}}),ha=m({__name:"VPNavScreenSocialLinks",setup(s){const{theme:e}=L();return(t,o)=>i(e).socialLinks?(a(),b(ye,{key:0,class:"VPNavScreenSocialLinks",links:i(e).socialLinks},null,8,["links"])):h("",!0)}}),ma={class:"list"},_a=m({__name:"VPNavScreenTranslations",setup(s){const{localeLinks:e,currentLang:t}=X({correspondingLink:!0}),o=T(!1);function n(){o.value=!o.value}return(r,l)=>i(e).length&&i(t).label?(a(),u("div",{key:0,class:I(["VPNavScreenTranslations",{open:o.value}])},[p("button",{class:"title",onClick:n},[l[0]||(l[0]=p("span",{class:"vpi-languages icon lang"},null,-1)),j(" "+N(i(t).label)+" ",1),l[1]||(l[1]=p("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),p("ul",ma,[(a(!0),u(M,null,A(i(e),d=>(a(),u("li",{key:d.link,class:"item"},[g(D,{class:"link",href:d.link},{default:f(()=>[j(N(d.text),1)]),_:2},1032,["href"])]))),128))])],2)):h("",!0)}}),ba=$(_a,[["__scopeId","data-v-362991c2"]]),ka={class:"container"},ga=m({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(s){const e=T(null),t=Ie(te?document.body:null);return(o,n)=>(a(),b(de,{name:"fade",onEnter:n[0]||(n[0]=r=>t.value=!0),onAfterLeave:n[1]||(n[1]=r=>t.value=!1)},{default:f(()=>[o.open?(a(),u("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[p("div",ka,[c(o.$slots,"nav-screen-content-before",{},void 0,!0),g(fa,{class:"menu"}),g(ba,{class:"translations"}),g(Xs,{class:"appearance"}),g(ha,{class:"social-links"}),c(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):h("",!0)]),_:3}))}}),$a=$(ga,[["__scopeId","data-v-833aabba"]]),ya={key:0,class:"VPNav"},Pa=m({__name:"VPNav",setup(s){const{isScreenOpen:e,closeScreen:t,toggleScreen:o}=go(),{frontmatter:n}=L(),r=y(()=>n.value.navbar!==!1);return me("close-screen",t),x(()=>{te&&document.documentElement.classList.toggle("hide-nav",!r.value)}),(l,d)=>r.value?(a(),u("header",ya,[g(Ws,{"is-screen-open":i(e),onToggleScreen:i(o)},{"nav-bar-title-before":f(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[c(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[c(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),g($a,{open:i(e)},{"nav-screen-content-before":f(()=>[c(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[c(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):h("",!0)}}),Sa=$(Pa,[["__scopeId","data-v-f1e365da"]]),Va=["role","tabindex"],La={key:1,class:"items"},Ta=m({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(s){const e=s,{collapsed:t,collapsible:o,isLink:n,isActiveLink:r,hasActiveLink:l,hasChildren:d,toggle:v}=yt(y(()=>e.item)),k=y(()=>d.value?"section":"div"),V=y(()=>n.value?"a":"div"),_=y(()=>d.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),P=y(()=>n.value?void 0:"button"),S=y(()=>[[`level-${e.depth}`],{collapsible:o.value},{collapsed:t.value},{"is-link":n.value},{"is-active":r.value},{"has-active":l.value}]);function E(w){"key"in w&&w.key!=="Enter"||!e.item.link&&v()}function C(){e.item.link&&v()}return(w,B)=>{const U=K("VPSidebarItem",!0);return a(),b(O(k.value),{class:I(["VPSidebarItem",S.value])},{default:f(()=>[w.item.text?(a(),u("div",G({key:0,class:"item",role:P.value},xe(w.item.items?{click:E,keydown:E}:{},!0),{tabindex:w.item.items&&0}),[B[1]||(B[1]=p("div",{class:"indicator"},null,-1)),w.item.link?(a(),b(D,{key:0,tag:V.value,class:"link",href:w.item.link,rel:w.item.rel,target:w.item.target},{default:f(()=>[(a(),b(O(_.value),{class:"text",innerHTML:w.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),b(O(_.value),{key:1,class:"text",innerHTML:w.item.text},null,8,["innerHTML"])),w.item.collapsed!=null&&w.item.items&&w.item.items.length?(a(),u("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:C,onKeydown:Ze(C,["enter"]),tabindex:"0"},B[0]||(B[0]=[p("span",{class:"vpi-chevron-right caret-icon"},null,-1)]),32)):h("",!0)],16,Va)):h("",!0),w.item.items&&w.item.items.length?(a(),u("div",La,[w.depth<5?(a(!0),u(M,{key:0},A(w.item.items,W=>(a(),b(U,{key:W.text,item:W,depth:w.depth+1},null,8,["item","depth"]))),128)):h("",!0)])):h("",!0)]),_:1},8,["class"])}}}),wa=$(Ta,[["__scopeId","data-v-196b2e5f"]]),Na=m({__name:"VPSidebarGroup",props:{items:{}},setup(s){const e=T(!0);let t=null;return F(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),et(()=>{t!=null&&(clearTimeout(t),t=null)}),(o,n)=>(a(!0),u(M,null,A(o.items,r=>(a(),u("div",{key:r.text,class:I(["group",{"no-transition":e.value}])},[g(wa,{item:r,depth:0},null,8,["item"])],2))),128))}}),Ia=$(Na,[["__scopeId","data-v-9e426adc"]]),Ma={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Ea=m({__name:"VPSidebar",props:{open:{type:Boolean}},setup(s){const{sidebarGroups:e,hasSidebar:t}=R(),o=s,n=T(null),r=Ie(te?document.body:null);H([o,n],()=>{var d;o.open?(r.value=!0,(d=n.value)==null||d.focus()):r.value=!1},{immediate:!0,flush:"post"});const l=T(0);return H(e,()=>{l.value+=1},{deep:!0}),(d,v)=>i(t)?(a(),u("aside",{key:0,class:I(["VPSidebar",{open:d.open}]),ref_key:"navEl",ref:n,onClick:v[0]||(v[0]=tt(()=>{},["stop"]))},[v[2]||(v[2]=p("div",{class:"curtain"},null,-1)),p("nav",Ma,[v[1]||(v[1]=p("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),c(d.$slots,"sidebar-nav-before",{},void 0,!0),(a(),b(Ia,{items:i(e),key:l.value},null,8,["items"])),c(d.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):h("",!0)}}),Ca=$(Ea,[["__scopeId","data-v-18756405"]]),Aa=m({__name:"VPSkipLink",setup(s){const e=Y(),t=T();H(()=>e.path,()=>t.value.focus());function o({target:n}){const r=document.getElementById(decodeURIComponent(n.hash).slice(1));if(r){const l=()=>{r.removeAttribute("tabindex"),r.removeEventListener("blur",l)};r.setAttribute("tabindex","-1"),r.addEventListener("blur",l),r.focus(),window.scrollTo(0,0)}}return(n,r)=>(a(),u(M,null,[p("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),p("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:o}," Skip to content ")],64))}}),Ba=$(Aa,[["__scopeId","data-v-c3508ec8"]]),Ha=m({__name:"Layout",setup(s){const{isOpen:e,open:t,close:o}=R(),n=Y();H(()=>n.path,o),$t(e,o);const{frontmatter:r}=L(),l=Me(),d=y(()=>!!l["home-hero-image"]);return me("hero-image-slot-exists",d),(v,k)=>{const V=K("Content");return i(r).layout!==!1?(a(),u("div",{key:0,class:I(["Layout",i(r).pageClass])},[c(v.$slots,"layout-top",{},void 0,!0),g(Ba),g(lt,{class:"backdrop",show:i(e),onClick:i(o)},null,8,["show","onClick"]),g(Sa,null,{"nav-bar-title-before":f(()=>[c(v.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(v.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[c(v.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[c(v.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":f(()=>[c(v.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[c(v.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),g(ko,{open:i(e),onOpenMenu:i(t)},null,8,["open","onOpenMenu"]),g(Ca,{open:i(e)},{"sidebar-nav-before":f(()=>[c(v.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":f(()=>[c(v.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),g(no,null,{"page-top":f(()=>[c(v.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[c(v.$slots,"page-bottom",{},void 0,!0)]),"not-found":f(()=>[c(v.$slots,"not-found",{},void 0,!0)]),"home-hero-before":f(()=>[c(v.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[c(v.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(v.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(v.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(v.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(v.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[c(v.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[c(v.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[c(v.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":f(()=>[c(v.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[c(v.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[c(v.$slots,"doc-after",{},void 0,!0)]),"doc-top":f(()=>[c(v.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[c(v.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":f(()=>[c(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[c(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[c(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),g(io),c(v.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),b(V,{key:1}))}}}),Oa=$(Ha,[["__scopeId","data-v-a9a9e638"]]),Se={Layout:Oa,enhanceApp:({app:s})=>{s.component("Badge",at)}},Da=m({__name:"VersionPicker",props:{screenMenu:{type:Boolean}},setup(s){Y();const e=T([]),t=T("Versions"),o=()=>new Promise(n=>{const r=setInterval(()=>{window.DOC_VERSIONS&&window.DOCUMENTER_CURRENT_VERSION&&(clearInterval(r),n({versions:window.DOC_VERSIONS,currentVersion:window.DOCUMENTER_CURRENT_VERSION}))},100)});return F(async()=>{const n=await o();e.value=n.versions.map(r=>({text:r,link:`${window.location.origin}/${r}/`})),t.value=n.currentVersion}),(n,r)=>n.screenMenu?(a(),b(Fe,{key:1,text:t.value,items:e.value,class:"VPVersionPicker"},null,8,["text","items"])):(a(),b(Oe,{key:0,item:{text:t.value,items:e.value},class:"VPVersionPicker"},null,8,["item"]))}}),Fa=$(Da,[["__scopeId","data-v-31b36ab6"]]),Ra=s=>{if(typeof document>"u")return{stabilizeScrollPosition:n=>async(...r)=>n(...r)};const e=document.documentElement;return{stabilizeScrollPosition:o=>async(...n)=>{const r=o(...n),l=s.value;if(!l)return r;const d=l.offsetTop-e.scrollTop;return await he(),e.scrollTop=l.offsetTop-d,r}}},Re="vitepress:tabSharedState",J=typeof localStorage<"u"?localStorage:null,Ue="vitepress:tabsSharedState",Ua=()=>{const s=J==null?void 0:J.getItem(Ue);if(s)try{return JSON.parse(s)}catch{}return{}},Ga=s=>{J&&J.setItem(Ue,JSON.stringify(s))},ja=s=>{const e=nt({});H(()=>e.content,(t,o)=>{t&&o&&Ga(t)},{deep:!0}),s.provide(Re,e)},za=(s,e)=>{const t=q(Re);if(!t)throw new Error("[vitepress-plugin-tabs] TabsSharedState should be injected");F(()=>{t.content||(t.content=Ua())});const o=T(),n=y({get(){var v;const l=e.value,d=s.value;if(l){const k=(v=t.content)==null?void 0:v[l];if(k&&d.includes(k))return k}else{const k=o.value;if(k)return k}return d[0]},set(l){const d=e.value;d?t.content&&(t.content[d]=l):o.value=l}});return{selected:n,select:l=>{n.value=l}}};let Ve=0;const Ka=()=>(Ve++,""+Ve);function Wa(){const s=Me();return y(()=>{var o;const t=(o=s.default)==null?void 0:o.call(s);return t?t.filter(n=>typeof n.type=="object"&&"__name"in n.type&&n.type.__name==="PluginTabsTab"&&n.props).map(n=>{var r;return(r=n.props)==null?void 0:r.label}):[]})}const Ge="vitepress:tabSingleState",qa=s=>{me(Ge,s)},Ja=()=>{const s=q(Ge);if(!s)throw new Error("[vitepress-plugin-tabs] TabsSingleState should be injected");return s},Ya={class:"plugin-tabs"},Xa=["id","aria-selected","aria-controls","tabindex","onClick"],Qa=m({__name:"PluginTabs",props:{sharedStateKey:{}},setup(s){const e=s,t=Wa(),{selected:o,select:n}=za(t,ot(e,"sharedStateKey")),r=T(),{stabilizeScrollPosition:l}=Ra(r),d=l(n),v=T([]),k=_=>{var E;const P=t.value.indexOf(o.value);let S;_.key==="ArrowLeft"?S=P>=1?P-1:t.value.length-1:_.key==="ArrowRight"&&(S=P(a(),u("div",Ya,[p("div",{ref_key:"tablist",ref:r,class:"plugin-tabs--tab-list",role:"tablist",onKeydown:k},[(a(!0),u(M,null,A(i(t),S=>(a(),u("button",{id:`tab-${S}-${i(V)}`,ref_for:!0,ref_key:"buttonRefs",ref:v,key:S,role:"tab",class:"plugin-tabs--tab","aria-selected":S===i(o),"aria-controls":`panel-${S}-${i(V)}`,tabindex:S===i(o)?0:-1,onClick:()=>i(d)(S)},N(S),9,Xa))),128))],544),c(_.$slots,"default")]))}}),Za=["id","aria-labelledby"],xa=m({__name:"PluginTabsTab",props:{label:{}},setup(s){const{uid:e,selected:t}=Ja();return(o,n)=>i(t)===o.label?(a(),u("div",{key:0,id:`panel-${o.label}-${i(e)}`,class:"plugin-tabs--content",role:"tabpanel",tabindex:"0","aria-labelledby":`tab-${o.label}-${i(e)}`},[c(o.$slots,"default",{},void 0,!0)],8,Za)):h("",!0)}}),er=$(xa,[["__scopeId","data-v-9b0d03d2"]]),tr=s=>{ja(s),s.component("PluginTabs",Qa),s.component("PluginTabsTab",er)},or={extends:Se,Layout(){return st(Se.Layout,null,{})},enhanceApp({app:s,router:e,siteData:t}){if(tr(s),s.component("VersionPicker",Fa),typeof window<"u"){let o=function(){if(!(window.DOCUMENTER_NEWEST===void 0||window.DOCUMENTER_CURRENT_VERSION===void 0||window.DOCUMENTER_STABLE===void 0)&&window.DOCUMENTER_NEWEST===window.DOCUMENTER_CURRENT_VERSION){const n=window.location.href.replace(window.DOCUMENTER_CURRENT_VERSION,window.DOCUMENTER_STABLE);window.history.replaceState({additionalInformation:"URL rewritten to stable"},"Makie",n);return}};H(()=>e.route.data.relativePath,o,{immediate:!0}),document.addEventListener("DOMContentLoaded",o)}}};export{or as R,$s as c,L as u}; diff --git a/previews/PR258/assets/jlsiued.CHT2FQuJ.png b/previews/PR258/assets/jlsiued.CHT2FQuJ.png new file mode 100644 index 00000000..592fd697 Binary files /dev/null and b/previews/PR258/assets/jlsiued.CHT2FQuJ.png differ diff --git a/previews/PR258/assets/jlsiued.Duw6QbXy.png b/previews/PR258/assets/jlsiued.Duw6QbXy.png deleted file mode 100644 index 5b03dbd6..00000000 Binary files a/previews/PR258/assets/jlsiued.Duw6QbXy.png and /dev/null differ diff --git a/previews/PR258/assets/manual_contraction.md.DkspNEwe.js b/previews/PR258/assets/manual_contraction.md.CnbeZdVY.js similarity index 92% rename from previews/PR258/assets/manual_contraction.md.DkspNEwe.js rename to previews/PR258/assets/manual_contraction.md.CnbeZdVY.js index 68142df7..4352c421 100644 --- a/previews/PR258/assets/manual_contraction.md.DkspNEwe.js +++ b/previews/PR258/assets/manual_contraction.md.CnbeZdVY.js @@ -1 +1 @@ -import{_ as o,c as r,j as e,a as s,G as n,a5 as a,B as l,o as p}from"./chunks/framework.C5U82uhn.js";const y=JSON.parse('{"title":"Contraction","description":"","frontmatter":{},"headers":[],"relativePath":"manual/contraction.md","filePath":"manual/contraction.md","lastUpdated":null}'),c={name:"manual/contraction.md"},d={class:"jldocstring custom-block",open:""},h={class:"jldocstring custom-block",open:""};function k(u,t,g,E,m,b){const i=l("Badge");return p(),r("div",null,[t[6]||(t[6]=e("h1",{id:"contraction",tabindex:"-1"},[s("Contraction "),e("a",{class:"header-anchor",href:"#contraction","aria-label":'Permalink to "Contraction"'},"​")],-1)),t[7]||(t[7]=e("p",null,[s("Contraction path optimization and execution is delegated to the "),e("a",{href:"https://github.com/bsc-quantic/EinExprs",target:"_blank",rel:"noreferrer"},[e("code",null,"EinExprs")]),s(" library. A "),e("code",null,"EinExpr"),s(" is a lower-level form of a Tensor Network, in which the contraction path has been laid out as a tree. It is similar to a symbolic expression (i.e. "),e("code",null,"Expr"),s(") but in which every node represents an Einstein summation expression (aka "),e("code",null,"einsum"),s(").")],-1)),e("details",d,[e("summary",null,[t[0]||(t[0]=e("a",{id:"EinExprs.einexpr-Tuple{TensorNetwork}",href:"#EinExprs.einexpr-Tuple{TensorNetwork}"},[e("span",{class:"jlbinding"},"EinExprs.einexpr")],-1)),t[1]||(t[1]=s()),n(i,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),t[2]||(t[2]=a('
julia
einexpr(tn::AbstractTensorNetwork; optimizer = EinExprs.Greedy, output = inds(tn, :open), kwargs...)

Search a contraction path for the given AbstractTensorNetwork and return it as a EinExpr.

Keyword Arguments

  • optimizer Contraction path optimizer. Check EinExprs documentation for more info.

  • outputs Indices that won't be contracted. Defaults to open indices.

  • kwargs Options to be passed to the optimizer.

See also: contract.

source

',6))]),t[8]||(t[8]=e("div",{class:"warning custom-block"},[e("p",{class:"custom-block-title"},"Missing docstring."),e("p",null,[s("Missing docstring for "),e("code",null,"contract(::Tenet.TensorNetwork)"),s(". Check Documenter's build log for details.")])],-1)),e("details",h,[e("summary",null,[t[3]||(t[3]=e("a",{id:"Tenet.contract!",href:"#Tenet.contract!"},[e("span",{class:"jlbinding"},"Tenet.contract!")],-1)),t[4]||(t[4]=s()),n(i,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),t[5]||(t[5]=a('
julia
contract!(tn::TensorNetwork, index)

In-place contraction of tensors connected to index.

See also: contract.

source

',4))])])}const x=o(c,[["render",k]]);export{y as __pageData,x as default}; +import{_ as o,c as r,j as e,a as s,G as n,a5 as a,B as l,o as p}from"./chunks/framework.C5U82uhn.js";const f=JSON.parse('{"title":"Contraction","description":"","frontmatter":{},"headers":[],"relativePath":"manual/contraction.md","filePath":"manual/contraction.md","lastUpdated":null}'),c={name:"manual/contraction.md"},d={class:"jldocstring custom-block",open:""},h={class:"jldocstring custom-block",open:""};function k(u,t,g,E,b,m){const i=l("Badge");return p(),r("div",null,[t[6]||(t[6]=e("h1",{id:"contraction",tabindex:"-1"},[s("Contraction "),e("a",{class:"header-anchor",href:"#contraction","aria-label":'Permalink to "Contraction"'},"​")],-1)),t[7]||(t[7]=e("p",null,[s("Contraction path optimization and execution is delegated to the "),e("a",{href:"https://github.com/bsc-quantic/EinExprs",target:"_blank",rel:"noreferrer"},[e("code",null,"EinExprs")]),s(" library. A "),e("code",null,"EinExpr"),s(" is a lower-level form of a Tensor Network, in which the contraction path has been laid out as a tree. It is similar to a symbolic expression (i.e. "),e("code",null,"Expr"),s(") but in which every node represents an Einstein summation expression (aka "),e("code",null,"einsum"),s(").")],-1)),e("details",d,[e("summary",null,[t[0]||(t[0]=e("a",{id:"EinExprs.einexpr-Tuple{TensorNetwork}",href:"#EinExprs.einexpr-Tuple{TensorNetwork}"},[e("span",{class:"jlbinding"},"EinExprs.einexpr")],-1)),t[1]||(t[1]=s()),n(i,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),t[2]||(t[2]=a('
julia
einexpr(tn::AbstractTensorNetwork; optimizer = EinExprs.Greedy, output = inds(tn, :open), kwargs...)

Search a contraction path for the given AbstractTensorNetwork and return it as a EinExpr.

Keyword Arguments

  • optimizer Contraction path optimizer. Check EinExprs documentation for more info.

  • outputs Indices that won't be contracted. Defaults to open indices.

  • kwargs Options to be passed to the optimizer.

See also: contract.

source

',6))]),t[8]||(t[8]=e("div",{class:"warning custom-block"},[e("p",{class:"custom-block-title"},"Missing docstring."),e("p",null,[s("Missing docstring for "),e("code",null,"contract(::Tenet.TensorNetwork)"),s(". Check Documenter's build log for details.")])],-1)),e("details",h,[e("summary",null,[t[3]||(t[3]=e("a",{id:"Tenet.contract!",href:"#Tenet.contract!"},[e("span",{class:"jlbinding"},"Tenet.contract!")],-1)),t[4]||(t[4]=s()),n(i,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),t[5]||(t[5]=a('
julia
contract!(tn::TensorNetwork, index)

In-place contraction of tensors connected to index.

See also: contract.

source

',4))])])}const x=o(c,[["render",k]]);export{f as __pageData,x as default}; diff --git a/previews/PR258/assets/manual_contraction.md.DkspNEwe.lean.js b/previews/PR258/assets/manual_contraction.md.CnbeZdVY.lean.js similarity index 92% rename from previews/PR258/assets/manual_contraction.md.DkspNEwe.lean.js rename to previews/PR258/assets/manual_contraction.md.CnbeZdVY.lean.js index 68142df7..4352c421 100644 --- a/previews/PR258/assets/manual_contraction.md.DkspNEwe.lean.js +++ b/previews/PR258/assets/manual_contraction.md.CnbeZdVY.lean.js @@ -1 +1 @@ -import{_ as o,c as r,j as e,a as s,G as n,a5 as a,B as l,o as p}from"./chunks/framework.C5U82uhn.js";const y=JSON.parse('{"title":"Contraction","description":"","frontmatter":{},"headers":[],"relativePath":"manual/contraction.md","filePath":"manual/contraction.md","lastUpdated":null}'),c={name:"manual/contraction.md"},d={class:"jldocstring custom-block",open:""},h={class:"jldocstring custom-block",open:""};function k(u,t,g,E,m,b){const i=l("Badge");return p(),r("div",null,[t[6]||(t[6]=e("h1",{id:"contraction",tabindex:"-1"},[s("Contraction "),e("a",{class:"header-anchor",href:"#contraction","aria-label":'Permalink to "Contraction"'},"​")],-1)),t[7]||(t[7]=e("p",null,[s("Contraction path optimization and execution is delegated to the "),e("a",{href:"https://github.com/bsc-quantic/EinExprs",target:"_blank",rel:"noreferrer"},[e("code",null,"EinExprs")]),s(" library. A "),e("code",null,"EinExpr"),s(" is a lower-level form of a Tensor Network, in which the contraction path has been laid out as a tree. It is similar to a symbolic expression (i.e. "),e("code",null,"Expr"),s(") but in which every node represents an Einstein summation expression (aka "),e("code",null,"einsum"),s(").")],-1)),e("details",d,[e("summary",null,[t[0]||(t[0]=e("a",{id:"EinExprs.einexpr-Tuple{TensorNetwork}",href:"#EinExprs.einexpr-Tuple{TensorNetwork}"},[e("span",{class:"jlbinding"},"EinExprs.einexpr")],-1)),t[1]||(t[1]=s()),n(i,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),t[2]||(t[2]=a('
julia
einexpr(tn::AbstractTensorNetwork; optimizer = EinExprs.Greedy, output = inds(tn, :open), kwargs...)

Search a contraction path for the given AbstractTensorNetwork and return it as a EinExpr.

Keyword Arguments

  • optimizer Contraction path optimizer. Check EinExprs documentation for more info.

  • outputs Indices that won't be contracted. Defaults to open indices.

  • kwargs Options to be passed to the optimizer.

See also: contract.

source

',6))]),t[8]||(t[8]=e("div",{class:"warning custom-block"},[e("p",{class:"custom-block-title"},"Missing docstring."),e("p",null,[s("Missing docstring for "),e("code",null,"contract(::Tenet.TensorNetwork)"),s(". Check Documenter's build log for details.")])],-1)),e("details",h,[e("summary",null,[t[3]||(t[3]=e("a",{id:"Tenet.contract!",href:"#Tenet.contract!"},[e("span",{class:"jlbinding"},"Tenet.contract!")],-1)),t[4]||(t[4]=s()),n(i,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),t[5]||(t[5]=a('
julia
contract!(tn::TensorNetwork, index)

In-place contraction of tensors connected to index.

See also: contract.

source

',4))])])}const x=o(c,[["render",k]]);export{y as __pageData,x as default}; +import{_ as o,c as r,j as e,a as s,G as n,a5 as a,B as l,o as p}from"./chunks/framework.C5U82uhn.js";const f=JSON.parse('{"title":"Contraction","description":"","frontmatter":{},"headers":[],"relativePath":"manual/contraction.md","filePath":"manual/contraction.md","lastUpdated":null}'),c={name:"manual/contraction.md"},d={class:"jldocstring custom-block",open:""},h={class:"jldocstring custom-block",open:""};function k(u,t,g,E,b,m){const i=l("Badge");return p(),r("div",null,[t[6]||(t[6]=e("h1",{id:"contraction",tabindex:"-1"},[s("Contraction "),e("a",{class:"header-anchor",href:"#contraction","aria-label":'Permalink to "Contraction"'},"​")],-1)),t[7]||(t[7]=e("p",null,[s("Contraction path optimization and execution is delegated to the "),e("a",{href:"https://github.com/bsc-quantic/EinExprs",target:"_blank",rel:"noreferrer"},[e("code",null,"EinExprs")]),s(" library. A "),e("code",null,"EinExpr"),s(" is a lower-level form of a Tensor Network, in which the contraction path has been laid out as a tree. It is similar to a symbolic expression (i.e. "),e("code",null,"Expr"),s(") but in which every node represents an Einstein summation expression (aka "),e("code",null,"einsum"),s(").")],-1)),e("details",d,[e("summary",null,[t[0]||(t[0]=e("a",{id:"EinExprs.einexpr-Tuple{TensorNetwork}",href:"#EinExprs.einexpr-Tuple{TensorNetwork}"},[e("span",{class:"jlbinding"},"EinExprs.einexpr")],-1)),t[1]||(t[1]=s()),n(i,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),t[2]||(t[2]=a('
julia
einexpr(tn::AbstractTensorNetwork; optimizer = EinExprs.Greedy, output = inds(tn, :open), kwargs...)

Search a contraction path for the given AbstractTensorNetwork and return it as a EinExpr.

Keyword Arguments

  • optimizer Contraction path optimizer. Check EinExprs documentation for more info.

  • outputs Indices that won't be contracted. Defaults to open indices.

  • kwargs Options to be passed to the optimizer.

See also: contract.

source

',6))]),t[8]||(t[8]=e("div",{class:"warning custom-block"},[e("p",{class:"custom-block-title"},"Missing docstring."),e("p",null,[s("Missing docstring for "),e("code",null,"contract(::Tenet.TensorNetwork)"),s(". Check Documenter's build log for details.")])],-1)),e("details",h,[e("summary",null,[t[3]||(t[3]=e("a",{id:"Tenet.contract!",href:"#Tenet.contract!"},[e("span",{class:"jlbinding"},"Tenet.contract!")],-1)),t[4]||(t[4]=s()),n(i,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),t[5]||(t[5]=a('
julia
contract!(tn::TensorNetwork, index)

In-place contraction of tensors connected to index.

See also: contract.

source

',4))])])}const x=o(c,[["render",k]]);export{f as __pageData,x as default}; diff --git a/previews/PR258/assets/manual_tensors.md.DGCulxEK.lean.js b/previews/PR258/assets/manual_tensors.md.D2HISQJD.js similarity index 95% rename from previews/PR258/assets/manual_tensors.md.DGCulxEK.lean.js rename to previews/PR258/assets/manual_tensors.md.D2HISQJD.js index ebd2cdce..45b35a7a 100644 --- a/previews/PR258/assets/manual_tensors.md.DGCulxEK.lean.js +++ b/previews/PR258/assets/manual_tensors.md.D2HISQJD.js @@ -1,14 +1,14 @@ import{_ as i,c as e,j as t,a as s,a5 as Q,o as T}from"./chunks/framework.C5U82uhn.js";const M=JSON.parse('{"title":"Tensors","description":"","frontmatter":{},"headers":[],"relativePath":"manual/tensors.md","filePath":"manual/tensors.md","lastUpdated":null}'),l={name:"manual/tensors.md"},n={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},o={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"0"},xmlns:"http://www.w3.org/2000/svg",width:"1.593ex",height:"1.532ex",role:"img",focusable:"false",viewBox:"0 -677 704 677","aria-hidden":"true"},r={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},d={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.357ex",height:"1.025ex",role:"img",focusable:"false",viewBox:"0 -442 600 453","aria-hidden":"true"},m={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},h={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.357ex",height:"1.025ex",role:"img",focusable:"false",viewBox:"0 -442 600 453","aria-hidden":"true"},p={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},k={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.072ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.876ex",height:"1.618ex",role:"img",focusable:"false",viewBox:"0 -683 829 715","aria-hidden":"true"},g={class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},c={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.072ex"},xmlns:"http://www.w3.org/2000/svg",width:"31.017ex",height:"2.207ex",role:"img",focusable:"false",viewBox:"0 -943.3 13709.6 975.3","aria-hidden":"true"},H={class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},y={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"49.273ex",height:"2.7ex",role:"img",focusable:"false",viewBox:"0 -943.3 21778.8 1193.3","aria-hidden":"true"},x={class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},w={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.666ex"},xmlns:"http://www.w3.org/2000/svg",width:"20.528ex",height:"2.197ex",role:"img",focusable:"false",viewBox:"0 -677 9073.6 971.2","aria-hidden":"true"};function u(f,a,L,V,F,C){return T(),e("div",null,[a[27]||(a[27]=t("h1",{id:"tensors",tabindex:"-1"},[s("Tensors "),t("a",{class:"header-anchor",href:"#tensors","aria-label":'Permalink to "Tensors"'},"​")],-1)),a[28]||(a[28]=t("p",null,"If you have reached here, you probably know wha a tensor is. Nevertheless, we are gonna give a brief remainder.",-1)),t("p",null,[a[8]||(a[8]=s("There are many jokes")),a[9]||(a[9]=t("sup",{class:"footnote-ref"},[t("a",{href:"#fn1",id:"fnref1"},"[1]")],-1)),a[10]||(a[10]=s(" about how to define a ")),a[11]||(a[11]=t("em",null,"tensor",-1)),a[12]||(a[12]=s(". The definition we are giving here might not be the most correct one, but it is good enough for our use case (don't kill me please, mathematicians). A tensor ")),t("mjx-container",n,[(T(),e("svg",o,a[0]||(a[0]=[t("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[t("g",{"data-mml-node":"math"},[t("g",{"data-mml-node":"mi"},[t("path",{"data-c":"1D447",d:"M40 437Q21 437 21 445Q21 450 37 501T71 602L88 651Q93 669 101 677H569H659Q691 677 697 676T704 667Q704 661 687 553T668 444Q668 437 649 437Q640 437 637 437T631 442L629 445Q629 451 635 490T641 551Q641 586 628 604T573 629Q568 630 515 631Q469 631 457 630T439 622Q438 621 368 343T298 60Q298 48 386 46Q418 46 427 45T436 36Q436 31 433 22Q429 4 424 1L422 0Q419 0 415 0Q410 0 363 1T228 2Q99 2 64 0H49Q43 6 43 9T45 27Q49 40 55 46H83H94Q174 46 189 55Q190 56 191 56Q196 59 201 76T241 233Q258 301 269 344Q339 619 339 625Q339 630 310 630H279Q212 630 191 624Q146 614 121 583T67 467Q60 445 57 441T43 437H40Z",style:{"stroke-width":"3"}})])])],-1)]))),a[1]||(a[1]=t("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[t("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[t("mi",null,"T")])],-1))]),a[13]||(a[13]=s(" of order")),a[14]||(a[14]=t("sup",{class:"footnote-ref"},[t("a",{href:"#fn2",id:"fnref2"},"[2]")],-1)),a[15]||(a[15]=s()),t("mjx-container",r,[(T(),e("svg",d,a[2]||(a[2]=[t("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[t("g",{"data-mml-node":"math"},[t("g",{"data-mml-node":"mi"},[t("path",{"data-c":"1D45B",d:"M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z",style:{"stroke-width":"3"}})])])],-1)]))),a[3]||(a[3]=t("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[t("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[t("mi",null,"n")])],-1))]),a[16]||(a[16]=s(" is a multilinear")),a[17]||(a[17]=t("sup",{class:"footnote-ref"},[t("a",{href:"#fn3",id:"fnref3"},"[3]")],-1)),a[18]||(a[18]=s(" application between ")),t("mjx-container",m,[(T(),e("svg",h,a[4]||(a[4]=[t("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[t("g",{"data-mml-node":"math"},[t("g",{"data-mml-node":"mi"},[t("path",{"data-c":"1D45B",d:"M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z",style:{"stroke-width":"3"}})])])],-1)]))),a[5]||(a[5]=t("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[t("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[t("mi",null,"n")])],-1))]),a[19]||(a[19]=s(" vector spaces over a field ")),t("mjx-container",p,[(T(),e("svg",k,a[6]||(a[6]=[Q('',1)]))),a[7]||(a[7]=t("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[t("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[t("mrow",{"data-mjx-texclass":"ORD"},[t("mi",{"data-mjx-variant":"-tex-calligraphic",mathvariant:"script"},"F")])])],-1))]),a[20]||(a[20]=s("."))]),t("mjx-container",g,[(T(),e("svg",c,a[21]||(a[21]=[Q('',1)]))),a[22]||(a[22]=t("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[t("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[t("mi",null,"T"),t("mo",null,":"),t("msup",null,[t("mrow",{"data-mjx-texclass":"ORD"},[t("mi",{"data-mjx-variant":"-tex-calligraphic",mathvariant:"script"},"F")]),t("mrow",{"data-mjx-texclass":"ORD"},[t("mi",null,"dim"),t("mo",{"data-mjx-texclass":"NONE"},"⁡"),t("mo",{stretchy:"false"},"("),t("mn",null,"1"),t("mo",{stretchy:"false"},")")])]),t("mo",null,"×"),t("mo",null,"⋯"),t("mo",null,"×"),t("msup",null,[t("mrow",{"data-mjx-texclass":"ORD"},[t("mi",{"data-mjx-variant":"-tex-calligraphic",mathvariant:"script"},"F")]),t("mrow",{"data-mjx-texclass":"ORD"},[t("mi",null,"dim"),t("mo",{"data-mjx-texclass":"NONE"},"⁡"),t("mo",{stretchy:"false"},"("),t("mi",null,"n"),t("mo",{stretchy:"false"},")")])]),t("mo",{stretchy:"false"},"↦"),t("mrow",{"data-mjx-texclass":"ORD"},[t("mi",{"data-mjx-variant":"-tex-calligraphic",mathvariant:"script"},"F")])])],-1))]),a[29]||(a[29]=t("p",null,"In layman's terms, it is a linear function whose inputs are vectors and the output is a scalar number.",-1)),t("mjx-container",H,[(T(),e("svg",y,a[23]||(a[23]=[Q('',1)]))),a[24]||(a[24]=t("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[t("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[t("mi",null,"T"),t("mo",{stretchy:"false"},"("),t("msup",null,[t("mrow",{"data-mjx-texclass":"ORD"},[t("mi",{mathvariant:"bold"},"v")]),t("mrow",{"data-mjx-texclass":"ORD"},[t("mo",{stretchy:"false"},"("),t("mn",null,"1"),t("mo",{stretchy:"false"},")")])]),t("mo",null,","),t("mo",null,"…"),t("mo",null,","),t("msup",null,[t("mrow",{"data-mjx-texclass":"ORD"},[t("mi",{mathvariant:"bold"},"v")]),t("mrow",{"data-mjx-texclass":"ORD"},[t("mo",{stretchy:"false"},"("),t("mi",null,"n"),t("mo",{stretchy:"false"},")")])]),t("mo",{stretchy:"false"},")"),t("mo",null,"="),t("mi",null,"c"),t("mo",null,"∈"),t("mrow",{"data-mjx-texclass":"ORD"},[t("mi",{"data-mjx-variant":"-tex-calligraphic",mathvariant:"script"},"F")]),t("mstyle",{scriptlevel:"0"},[t("mspace",{width:"2em"})]),t("mstyle",{scriptlevel:"0"},[t("mspace",{width:"2em"})]),t("mi",{mathvariant:"normal"},"∀"),t("mi",null,"i"),t("mo",null,","),t("msup",null,[t("mrow",{"data-mjx-texclass":"ORD"},[t("mi",{mathvariant:"bold"},"v")]),t("mrow",{"data-mjx-texclass":"ORD"},[t("mo",{stretchy:"false"},"("),t("mi",null,"i"),t("mo",{stretchy:"false"},")")])]),t("mo",null,"∈"),t("msup",null,[t("mrow",{"data-mjx-texclass":"ORD"},[t("mi",{"data-mjx-variant":"-tex-calligraphic",mathvariant:"script"},"F")]),t("mrow",{"data-mjx-texclass":"ORD"},[t("mi",null,"dim"),t("mo",{"data-mjx-texclass":"NONE"},"⁡"),t("mo",{stretchy:"false"},"("),t("mi",null,"i"),t("mo",{stretchy:"false"},")")])])])],-1))]),a[30]||(a[30]=t("p",null,[s("Tensor algebra is a higher-order generalization of linear algebra, where scalar numbers can be viewed as "),t("em",null,"order-0 tensors"),s(", vectors as "),t("em",null,"order-1 tensors"),s(", matrices as "),t("em",null,"order-2 tensors"),s(", ...")],-1)),a[31]||(a[31]=t("p",null,[s('Letters are used to identify each of the vector spaces the tensor relates to. In computer science, you would intuitively think of tensors as "'),t("em",null,"n-dimensional arrays with named dimensions"),s('".')],-1)),t("mjx-container",x,[(T(),e("svg",w,a[25]||(a[25]=[Q('',1)]))),a[26]||(a[26]=t("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[t("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[t("msub",null,[t("mi",null,"T"),t("mrow",{"data-mjx-texclass":"ORD"},[t("mi",null,"i"),t("mi",null,"j"),t("mi",null,"k")])]),t("mstyle",{scriptlevel:"0"},[t("mspace",{width:"0.278em"})]),t("mo",{stretchy:"false"},"⟺"),t("mstyle",{scriptlevel:"0"},[t("mspace",{width:"0.278em"})]),t("mrow",{"data-mjx-texclass":"ORD"},[t("mi",{mathvariant:"monospace"},"T"),t("mo",{mathvariant:"monospace",stretchy:"false"},"["),t("mi",{mathvariant:"monospace"},"i"),t("mo",{mathvariant:"monospace"},","),t("mi",{mathvariant:"monospace"},"j"),t("mo",{mathvariant:"monospace"},","),t("mi",{mathvariant:"monospace"},"k"),t("mo",{mathvariant:"monospace",stretchy:"false"},"]")])])],-1))]),a[32]||(a[32]=Q(`

The Tensor type

In Tenet, a tensor is represented by the Tensor type, which wraps an array and a list of symbols. As it subtypes AbstractArray, many array operations can be dispatched to it.

You can create a Tensor by passing an array and a list of Symbols that name indices.

julia
julia> Tᵢⱼₖ = Tensor(rand(3,5,2), (:i,:j,:k))
 3×5×2 Tensor{Float64, 3, Array{Float64, 3}}:
 [:, :, 1] =
- 0.635492   0.452878   0.549659   0.0907537  0.885268
- 0.0383351  0.0153394  0.17861    0.366401   0.438044
- 0.154492   0.659549   0.0904452  0.338931   0.570712
+ 0.556988  0.340958  0.241852  0.816029  0.453026
+ 0.961735  0.23841   0.899358  0.111351  0.0537337
+ 0.189177  0.373338  0.570934  0.254832  0.455204
 
 [:, :, 2] =
- 0.823484  0.218032  0.112479  0.156122  0.399082
- 0.883695  0.361577  0.219289  0.59041   0.460934
- 0.111742  0.240448  0.592654  0.584235  0.57036

The dimensionality or size of each index can be consulted using the size function.

julia
julia> size(Tᵢⱼₖ)
+ 0.987395  0.949801   0.374111  0.623254  0.968576
+ 0.842169  0.272806   0.737091  0.109921  0.252068
+ 0.341001  0.0710975  0.991614  0.436409  0.515756

The dimensionality or size of each index can be consulted using the size function.

julia
julia> size(Tᵢⱼₖ)
 (3, 5, 2)
 
 julia> size(Tᵢⱼₖ, :j)
diff --git a/previews/PR258/assets/manual_tensors.md.DGCulxEK.js b/previews/PR258/assets/manual_tensors.md.D2HISQJD.lean.js
similarity index 95%
rename from previews/PR258/assets/manual_tensors.md.DGCulxEK.js
rename to previews/PR258/assets/manual_tensors.md.D2HISQJD.lean.js
index ebd2cdce..45b35a7a 100644
--- a/previews/PR258/assets/manual_tensors.md.DGCulxEK.js
+++ b/previews/PR258/assets/manual_tensors.md.D2HISQJD.lean.js
@@ -1,14 +1,14 @@
 import{_ as i,c as e,j as t,a as s,a5 as Q,o as T}from"./chunks/framework.C5U82uhn.js";const M=JSON.parse('{"title":"Tensors","description":"","frontmatter":{},"headers":[],"relativePath":"manual/tensors.md","filePath":"manual/tensors.md","lastUpdated":null}'),l={name:"manual/tensors.md"},n={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},o={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"0"},xmlns:"http://www.w3.org/2000/svg",width:"1.593ex",height:"1.532ex",role:"img",focusable:"false",viewBox:"0 -677 704 677","aria-hidden":"true"},r={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},d={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.357ex",height:"1.025ex",role:"img",focusable:"false",viewBox:"0 -442 600 453","aria-hidden":"true"},m={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},h={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.357ex",height:"1.025ex",role:"img",focusable:"false",viewBox:"0 -442 600 453","aria-hidden":"true"},p={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},k={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.072ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.876ex",height:"1.618ex",role:"img",focusable:"false",viewBox:"0 -683 829 715","aria-hidden":"true"},g={class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},c={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.072ex"},xmlns:"http://www.w3.org/2000/svg",width:"31.017ex",height:"2.207ex",role:"img",focusable:"false",viewBox:"0 -943.3 13709.6 975.3","aria-hidden":"true"},H={class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},y={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"49.273ex",height:"2.7ex",role:"img",focusable:"false",viewBox:"0 -943.3 21778.8 1193.3","aria-hidden":"true"},x={class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},w={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.666ex"},xmlns:"http://www.w3.org/2000/svg",width:"20.528ex",height:"2.197ex",role:"img",focusable:"false",viewBox:"0 -677 9073.6 971.2","aria-hidden":"true"};function u(f,a,L,V,F,C){return T(),e("div",null,[a[27]||(a[27]=t("h1",{id:"tensors",tabindex:"-1"},[s("Tensors "),t("a",{class:"header-anchor",href:"#tensors","aria-label":'Permalink to "Tensors"'},"​")],-1)),a[28]||(a[28]=t("p",null,"If you have reached here, you probably know wha a tensor is. Nevertheless, we are gonna give a brief remainder.",-1)),t("p",null,[a[8]||(a[8]=s("There are many jokes")),a[9]||(a[9]=t("sup",{class:"footnote-ref"},[t("a",{href:"#fn1",id:"fnref1"},"[1]")],-1)),a[10]||(a[10]=s(" about how to define a ")),a[11]||(a[11]=t("em",null,"tensor",-1)),a[12]||(a[12]=s(". The definition we are giving here might not be the most correct one, but it is good enough for our use case (don't kill me please, mathematicians). A tensor ")),t("mjx-container",n,[(T(),e("svg",o,a[0]||(a[0]=[t("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[t("g",{"data-mml-node":"math"},[t("g",{"data-mml-node":"mi"},[t("path",{"data-c":"1D447",d:"M40 437Q21 437 21 445Q21 450 37 501T71 602L88 651Q93 669 101 677H569H659Q691 677 697 676T704 667Q704 661 687 553T668 444Q668 437 649 437Q640 437 637 437T631 442L629 445Q629 451 635 490T641 551Q641 586 628 604T573 629Q568 630 515 631Q469 631 457 630T439 622Q438 621 368 343T298 60Q298 48 386 46Q418 46 427 45T436 36Q436 31 433 22Q429 4 424 1L422 0Q419 0 415 0Q410 0 363 1T228 2Q99 2 64 0H49Q43 6 43 9T45 27Q49 40 55 46H83H94Q174 46 189 55Q190 56 191 56Q196 59 201 76T241 233Q258 301 269 344Q339 619 339 625Q339 630 310 630H279Q212 630 191 624Q146 614 121 583T67 467Q60 445 57 441T43 437H40Z",style:{"stroke-width":"3"}})])])],-1)]))),a[1]||(a[1]=t("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[t("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[t("mi",null,"T")])],-1))]),a[13]||(a[13]=s(" of order")),a[14]||(a[14]=t("sup",{class:"footnote-ref"},[t("a",{href:"#fn2",id:"fnref2"},"[2]")],-1)),a[15]||(a[15]=s()),t("mjx-container",r,[(T(),e("svg",d,a[2]||(a[2]=[t("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[t("g",{"data-mml-node":"math"},[t("g",{"data-mml-node":"mi"},[t("path",{"data-c":"1D45B",d:"M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z",style:{"stroke-width":"3"}})])])],-1)]))),a[3]||(a[3]=t("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[t("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[t("mi",null,"n")])],-1))]),a[16]||(a[16]=s(" is a multilinear")),a[17]||(a[17]=t("sup",{class:"footnote-ref"},[t("a",{href:"#fn3",id:"fnref3"},"[3]")],-1)),a[18]||(a[18]=s(" application between ")),t("mjx-container",m,[(T(),e("svg",h,a[4]||(a[4]=[t("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[t("g",{"data-mml-node":"math"},[t("g",{"data-mml-node":"mi"},[t("path",{"data-c":"1D45B",d:"M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z",style:{"stroke-width":"3"}})])])],-1)]))),a[5]||(a[5]=t("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[t("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[t("mi",null,"n")])],-1))]),a[19]||(a[19]=s(" vector spaces over a field ")),t("mjx-container",p,[(T(),e("svg",k,a[6]||(a[6]=[Q('',1)]))),a[7]||(a[7]=t("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[t("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[t("mrow",{"data-mjx-texclass":"ORD"},[t("mi",{"data-mjx-variant":"-tex-calligraphic",mathvariant:"script"},"F")])])],-1))]),a[20]||(a[20]=s("."))]),t("mjx-container",g,[(T(),e("svg",c,a[21]||(a[21]=[Q('',1)]))),a[22]||(a[22]=t("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[t("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[t("mi",null,"T"),t("mo",null,":"),t("msup",null,[t("mrow",{"data-mjx-texclass":"ORD"},[t("mi",{"data-mjx-variant":"-tex-calligraphic",mathvariant:"script"},"F")]),t("mrow",{"data-mjx-texclass":"ORD"},[t("mi",null,"dim"),t("mo",{"data-mjx-texclass":"NONE"},"⁡"),t("mo",{stretchy:"false"},"("),t("mn",null,"1"),t("mo",{stretchy:"false"},")")])]),t("mo",null,"×"),t("mo",null,"⋯"),t("mo",null,"×"),t("msup",null,[t("mrow",{"data-mjx-texclass":"ORD"},[t("mi",{"data-mjx-variant":"-tex-calligraphic",mathvariant:"script"},"F")]),t("mrow",{"data-mjx-texclass":"ORD"},[t("mi",null,"dim"),t("mo",{"data-mjx-texclass":"NONE"},"⁡"),t("mo",{stretchy:"false"},"("),t("mi",null,"n"),t("mo",{stretchy:"false"},")")])]),t("mo",{stretchy:"false"},"↦"),t("mrow",{"data-mjx-texclass":"ORD"},[t("mi",{"data-mjx-variant":"-tex-calligraphic",mathvariant:"script"},"F")])])],-1))]),a[29]||(a[29]=t("p",null,"In layman's terms, it is a linear function whose inputs are vectors and the output is a scalar number.",-1)),t("mjx-container",H,[(T(),e("svg",y,a[23]||(a[23]=[Q('',1)]))),a[24]||(a[24]=t("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[t("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[t("mi",null,"T"),t("mo",{stretchy:"false"},"("),t("msup",null,[t("mrow",{"data-mjx-texclass":"ORD"},[t("mi",{mathvariant:"bold"},"v")]),t("mrow",{"data-mjx-texclass":"ORD"},[t("mo",{stretchy:"false"},"("),t("mn",null,"1"),t("mo",{stretchy:"false"},")")])]),t("mo",null,","),t("mo",null,"…"),t("mo",null,","),t("msup",null,[t("mrow",{"data-mjx-texclass":"ORD"},[t("mi",{mathvariant:"bold"},"v")]),t("mrow",{"data-mjx-texclass":"ORD"},[t("mo",{stretchy:"false"},"("),t("mi",null,"n"),t("mo",{stretchy:"false"},")")])]),t("mo",{stretchy:"false"},")"),t("mo",null,"="),t("mi",null,"c"),t("mo",null,"∈"),t("mrow",{"data-mjx-texclass":"ORD"},[t("mi",{"data-mjx-variant":"-tex-calligraphic",mathvariant:"script"},"F")]),t("mstyle",{scriptlevel:"0"},[t("mspace",{width:"2em"})]),t("mstyle",{scriptlevel:"0"},[t("mspace",{width:"2em"})]),t("mi",{mathvariant:"normal"},"∀"),t("mi",null,"i"),t("mo",null,","),t("msup",null,[t("mrow",{"data-mjx-texclass":"ORD"},[t("mi",{mathvariant:"bold"},"v")]),t("mrow",{"data-mjx-texclass":"ORD"},[t("mo",{stretchy:"false"},"("),t("mi",null,"i"),t("mo",{stretchy:"false"},")")])]),t("mo",null,"∈"),t("msup",null,[t("mrow",{"data-mjx-texclass":"ORD"},[t("mi",{"data-mjx-variant":"-tex-calligraphic",mathvariant:"script"},"F")]),t("mrow",{"data-mjx-texclass":"ORD"},[t("mi",null,"dim"),t("mo",{"data-mjx-texclass":"NONE"},"⁡"),t("mo",{stretchy:"false"},"("),t("mi",null,"i"),t("mo",{stretchy:"false"},")")])])])],-1))]),a[30]||(a[30]=t("p",null,[s("Tensor algebra is a higher-order generalization of linear algebra, where scalar numbers can be viewed as "),t("em",null,"order-0 tensors"),s(", vectors as "),t("em",null,"order-1 tensors"),s(", matrices as "),t("em",null,"order-2 tensors"),s(", ...")],-1)),a[31]||(a[31]=t("p",null,[s('Letters are used to identify each of the vector spaces the tensor relates to. In computer science, you would intuitively think of tensors as "'),t("em",null,"n-dimensional arrays with named dimensions"),s('".')],-1)),t("mjx-container",x,[(T(),e("svg",w,a[25]||(a[25]=[Q('',1)]))),a[26]||(a[26]=t("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[t("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[t("msub",null,[t("mi",null,"T"),t("mrow",{"data-mjx-texclass":"ORD"},[t("mi",null,"i"),t("mi",null,"j"),t("mi",null,"k")])]),t("mstyle",{scriptlevel:"0"},[t("mspace",{width:"0.278em"})]),t("mo",{stretchy:"false"},"⟺"),t("mstyle",{scriptlevel:"0"},[t("mspace",{width:"0.278em"})]),t("mrow",{"data-mjx-texclass":"ORD"},[t("mi",{mathvariant:"monospace"},"T"),t("mo",{mathvariant:"monospace",stretchy:"false"},"["),t("mi",{mathvariant:"monospace"},"i"),t("mo",{mathvariant:"monospace"},","),t("mi",{mathvariant:"monospace"},"j"),t("mo",{mathvariant:"monospace"},","),t("mi",{mathvariant:"monospace"},"k"),t("mo",{mathvariant:"monospace",stretchy:"false"},"]")])])],-1))]),a[32]||(a[32]=Q(`

The Tensor type

In Tenet, a tensor is represented by the Tensor type, which wraps an array and a list of symbols. As it subtypes AbstractArray, many array operations can be dispatched to it.

You can create a Tensor by passing an array and a list of Symbols that name indices.

julia
julia> Tᵢⱼₖ = Tensor(rand(3,5,2), (:i,:j,:k))
 3×5×2 Tensor{Float64, 3, Array{Float64, 3}}:
 [:, :, 1] =
- 0.635492   0.452878   0.549659   0.0907537  0.885268
- 0.0383351  0.0153394  0.17861    0.366401   0.438044
- 0.154492   0.659549   0.0904452  0.338931   0.570712
+ 0.556988  0.340958  0.241852  0.816029  0.453026
+ 0.961735  0.23841   0.899358  0.111351  0.0537337
+ 0.189177  0.373338  0.570934  0.254832  0.455204
 
 [:, :, 2] =
- 0.823484  0.218032  0.112479  0.156122  0.399082
- 0.883695  0.361577  0.219289  0.59041   0.460934
- 0.111742  0.240448  0.592654  0.584235  0.57036

The dimensionality or size of each index can be consulted using the size function.

julia
julia> size(Tᵢⱼₖ)
+ 0.987395  0.949801   0.374111  0.623254  0.968576
+ 0.842169  0.272806   0.737091  0.109921  0.252068
+ 0.341001  0.0710975  0.991614  0.436409  0.515756

The dimensionality or size of each index can be consulted using the size function.

julia
julia> size(Tᵢⱼₖ)
 (3, 5, 2)
 
 julia> size(Tᵢⱼₖ, :j)
diff --git a/previews/PR258/assets/manual_transformations.md.DI9phnar.js b/previews/PR258/assets/manual_transformations.md.BNQG-4bI.js
similarity index 98%
rename from previews/PR258/assets/manual_transformations.md.DI9phnar.js
rename to previews/PR258/assets/manual_transformations.md.BNQG-4bI.js
index 4679f6f9..f9a3db66 100644
--- a/previews/PR258/assets/manual_transformations.md.DI9phnar.js
+++ b/previews/PR258/assets/manual_transformations.md.BNQG-4bI.js
@@ -1 +1 @@
-import{_ as t,c as i,a5 as e,o as n}from"./chunks/framework.C5U82uhn.js";const o="/Tenet.jl/previews/PR258/assets/bdrzgoc.D7V6hupC.png",r="/Tenet.jl/previews/PR258/assets/jlsiued.Duw6QbXy.png",s="/Tenet.jl/previews/PR258/assets/bvndqnh.CiEHhneS.png",l="/Tenet.jl/previews/PR258/assets/axctrwo.FFeR2tQ7.png",g=JSON.parse('{"title":"Transformations","description":"","frontmatter":{},"headers":[],"relativePath":"manual/transformations.md","filePath":"manual/transformations.md","lastUpdated":null}'),c={name:"manual/transformations.md"};function d(p,a,m,h,u,f){return n(),i("div",null,a[0]||(a[0]=[e('

Transformations

In tensor network computations, it is good practice to apply various transformations to simplify the network structure, reduce computational cost, or prepare the network for further operations. These transformations modify the network's structure locally by permuting, contracting, factoring or truncating tensors.

A crucial reason why these methods are indispensable lies in their ability to drastically reduce the problem size of the contraction path search and also the contraction. This doesn't necessarily involve reducing the maximum rank of the Tensor Network itself, but more importantly, it reduces the size (or rank) of the involved tensors.

Our approach is based in (Gray and Kourtis, 2021), which can also be found in quimb.

In Tenet, we provide a set of predefined transformations which you can apply to your TensorNetwork using both the transform/transform! functions.

Available transformations

Hyperindex converter

Contraction simplification

Diagonal reduction

Anti-diagonal reduction

Dimension truncation

Split simplification

',16)]))}const v=t(c,[["render",d]]);export{g as __pageData,v as default}; +import{_ as t,c as i,a5 as e,o as n}from"./chunks/framework.C5U82uhn.js";const o="/Tenet.jl/previews/PR258/assets/bdrzgoc.D7V6hupC.png",r="/Tenet.jl/previews/PR258/assets/jlsiued.CHT2FQuJ.png",s="/Tenet.jl/previews/PR258/assets/bvndqnh.CiEHhneS.png",l="/Tenet.jl/previews/PR258/assets/axctrwo.FFeR2tQ7.png",g=JSON.parse('{"title":"Transformations","description":"","frontmatter":{},"headers":[],"relativePath":"manual/transformations.md","filePath":"manual/transformations.md","lastUpdated":null}'),c={name:"manual/transformations.md"};function d(p,a,m,h,u,f){return n(),i("div",null,a[0]||(a[0]=[e('

Transformations

In tensor network computations, it is good practice to apply various transformations to simplify the network structure, reduce computational cost, or prepare the network for further operations. These transformations modify the network's structure locally by permuting, contracting, factoring or truncating tensors.

A crucial reason why these methods are indispensable lies in their ability to drastically reduce the problem size of the contraction path search and also the contraction. This doesn't necessarily involve reducing the maximum rank of the Tensor Network itself, but more importantly, it reduces the size (or rank) of the involved tensors.

Our approach is based in (Gray and Kourtis, 2021), which can also be found in quimb.

In Tenet, we provide a set of predefined transformations which you can apply to your TensorNetwork using both the transform/transform! functions.

Available transformations

Hyperindex converter

Contraction simplification

Diagonal reduction

Anti-diagonal reduction

Dimension truncation

Split simplification

',16)]))}const v=t(c,[["render",d]]);export{g as __pageData,v as default}; diff --git a/previews/PR258/assets/manual_transformations.md.DI9phnar.lean.js b/previews/PR258/assets/manual_transformations.md.BNQG-4bI.lean.js similarity index 98% rename from previews/PR258/assets/manual_transformations.md.DI9phnar.lean.js rename to previews/PR258/assets/manual_transformations.md.BNQG-4bI.lean.js index 4679f6f9..f9a3db66 100644 --- a/previews/PR258/assets/manual_transformations.md.DI9phnar.lean.js +++ b/previews/PR258/assets/manual_transformations.md.BNQG-4bI.lean.js @@ -1 +1 @@ -import{_ as t,c as i,a5 as e,o as n}from"./chunks/framework.C5U82uhn.js";const o="/Tenet.jl/previews/PR258/assets/bdrzgoc.D7V6hupC.png",r="/Tenet.jl/previews/PR258/assets/jlsiued.Duw6QbXy.png",s="/Tenet.jl/previews/PR258/assets/bvndqnh.CiEHhneS.png",l="/Tenet.jl/previews/PR258/assets/axctrwo.FFeR2tQ7.png",g=JSON.parse('{"title":"Transformations","description":"","frontmatter":{},"headers":[],"relativePath":"manual/transformations.md","filePath":"manual/transformations.md","lastUpdated":null}'),c={name:"manual/transformations.md"};function d(p,a,m,h,u,f){return n(),i("div",null,a[0]||(a[0]=[e('

Transformations

In tensor network computations, it is good practice to apply various transformations to simplify the network structure, reduce computational cost, or prepare the network for further operations. These transformations modify the network's structure locally by permuting, contracting, factoring or truncating tensors.

A crucial reason why these methods are indispensable lies in their ability to drastically reduce the problem size of the contraction path search and also the contraction. This doesn't necessarily involve reducing the maximum rank of the Tensor Network itself, but more importantly, it reduces the size (or rank) of the involved tensors.

Our approach is based in (Gray and Kourtis, 2021), which can also be found in quimb.

In Tenet, we provide a set of predefined transformations which you can apply to your TensorNetwork using both the transform/transform! functions.

Available transformations

Hyperindex converter

Contraction simplification

Diagonal reduction

Anti-diagonal reduction

Dimension truncation

Split simplification

',16)]))}const v=t(c,[["render",d]]);export{g as __pageData,v as default}; +import{_ as t,c as i,a5 as e,o as n}from"./chunks/framework.C5U82uhn.js";const o="/Tenet.jl/previews/PR258/assets/bdrzgoc.D7V6hupC.png",r="/Tenet.jl/previews/PR258/assets/jlsiued.CHT2FQuJ.png",s="/Tenet.jl/previews/PR258/assets/bvndqnh.CiEHhneS.png",l="/Tenet.jl/previews/PR258/assets/axctrwo.FFeR2tQ7.png",g=JSON.parse('{"title":"Transformations","description":"","frontmatter":{},"headers":[],"relativePath":"manual/transformations.md","filePath":"manual/transformations.md","lastUpdated":null}'),c={name:"manual/transformations.md"};function d(p,a,m,h,u,f){return n(),i("div",null,a[0]||(a[0]=[e('

Transformations

In tensor network computations, it is good practice to apply various transformations to simplify the network structure, reduce computational cost, or prepare the network for further operations. These transformations modify the network's structure locally by permuting, contracting, factoring or truncating tensors.

A crucial reason why these methods are indispensable lies in their ability to drastically reduce the problem size of the contraction path search and also the contraction. This doesn't necessarily involve reducing the maximum rank of the Tensor Network itself, but more importantly, it reduces the size (or rank) of the involved tensors.

Our approach is based in (Gray and Kourtis, 2021), which can also be found in quimb.

In Tenet, we provide a set of predefined transformations which you can apply to your TensorNetwork using both the transform/transform! functions.

Available transformations

Hyperindex converter

Contraction simplification

Diagonal reduction

Anti-diagonal reduction

Dimension truncation

Split simplification

',16)]))}const v=t(c,[["render",d]]);export{g as __pageData,v as default}; diff --git a/previews/PR258/assets/visualization.md.CFhVWzgg.js b/previews/PR258/assets/visualization.md.BGu8wT5V.js similarity index 95% rename from previews/PR258/assets/visualization.md.CFhVWzgg.js rename to previews/PR258/assets/visualization.md.BGu8wT5V.js index a5c3b440..86b6fff0 100644 --- a/previews/PR258/assets/visualization.md.CFhVWzgg.js +++ b/previews/PR258/assets/visualization.md.BGu8wT5V.js @@ -1,3 +1,3 @@ -import{_ as t,c as n,a5 as a,j as i,a as l,G as p,B as o,o as r}from"./chunks/framework.C5U82uhn.js";const h="/Tenet.jl/previews/PR258/assets/omlitti.BZEa2jL6.png",f=JSON.parse('{"title":"Visualization","description":"","frontmatter":{},"headers":[],"relativePath":"visualization.md","filePath":"visualization.md","lastUpdated":null}'),k={name:"visualization.md"},d={class:"jldocstring custom-block",open:""};function g(c,s,E,u,y,F){const e=o("Badge");return r(),n("div",null,[s[3]||(s[3]=a('

Visualization

Tenet provides a Package Extension for Makie support. You can just import a Makie backend and call GraphMakie.graphplot on a TensorNetwork.

',2)),i("details",d,[i("summary",null,[s[0]||(s[0]=i("a",{id:"GraphMakie.graphplot-Tuple{TensorNetwork}",href:"#GraphMakie.graphplot-Tuple{TensorNetwork}"},[i("span",{class:"jlbinding"},"GraphMakie.graphplot")],-1)),s[1]||(s[1]=l()),p(e,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[2]||(s[2]=a(`
julia
graphplot(tn::TensorNetwork; kwargs...)
+import{_ as t,c as n,a5 as a,j as i,a as l,G as p,B as o,o as r}from"./chunks/framework.C5U82uhn.js";const h="/Tenet.jl/previews/PR258/assets/omlitti.BZEa2jL6.png",b=JSON.parse('{"title":"Visualization","description":"","frontmatter":{},"headers":[],"relativePath":"visualization.md","filePath":"visualization.md","lastUpdated":null}'),k={name:"visualization.md"},d={class:"jldocstring custom-block",open:""};function g(c,s,E,u,y,F){const e=o("Badge");return r(),n("div",null,[s[3]||(s[3]=a('

Visualization

Tenet provides a Package Extension for Makie support. You can just import a Makie backend and call GraphMakie.graphplot on a TensorNetwork.

',2)),i("details",d,[i("summary",null,[s[0]||(s[0]=i("a",{id:"GraphMakie.graphplot-Tuple{TensorNetwork}",href:"#GraphMakie.graphplot-Tuple{TensorNetwork}"},[i("span",{class:"jlbinding"},"GraphMakie.graphplot")],-1)),s[1]||(s[1]=l()),p(e,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[2]||(s[2]=a(`
julia
graphplot(tn::TensorNetwork; kwargs...)
 graphplot!(f::Union{Figure,GridPosition}, tn::TensorNetwork; kwargs...)
-graphplot!(ax::Union{Axis,Axis3}, tn::TensorNetwork; kwargs...)

Plot a TensorNetwork as a graph.

Keyword Arguments

  • labels If true, show the labels of the tensor indices. Defaults to false.

  • The rest of kwargs are passed to GraphMakie.graphplot.

source

`,5))]),s[4]||(s[4]=a('
julia
graphplot(tn, layout=Stress(), labels=true)

',2))])}const m=t(k,[["render",g]]);export{f as __pageData,m as default}; +graphplot!(ax::Union{Axis,Axis3}, tn::TensorNetwork; kwargs...)

Plot a TensorNetwork as a graph.

Keyword Arguments

  • labels If true, show the labels of the tensor indices. Defaults to false.

  • The rest of kwargs are passed to GraphMakie.graphplot.

source

`,5))]),s[4]||(s[4]=a('
julia
graphplot(tn, layout=Stress(), labels=true)

',2))])}const m=t(k,[["render",g]]);export{b as __pageData,m as default}; diff --git a/previews/PR258/assets/visualization.md.CFhVWzgg.lean.js b/previews/PR258/assets/visualization.md.BGu8wT5V.lean.js similarity index 95% rename from previews/PR258/assets/visualization.md.CFhVWzgg.lean.js rename to previews/PR258/assets/visualization.md.BGu8wT5V.lean.js index a5c3b440..86b6fff0 100644 --- a/previews/PR258/assets/visualization.md.CFhVWzgg.lean.js +++ b/previews/PR258/assets/visualization.md.BGu8wT5V.lean.js @@ -1,3 +1,3 @@ -import{_ as t,c as n,a5 as a,j as i,a as l,G as p,B as o,o as r}from"./chunks/framework.C5U82uhn.js";const h="/Tenet.jl/previews/PR258/assets/omlitti.BZEa2jL6.png",f=JSON.parse('{"title":"Visualization","description":"","frontmatter":{},"headers":[],"relativePath":"visualization.md","filePath":"visualization.md","lastUpdated":null}'),k={name:"visualization.md"},d={class:"jldocstring custom-block",open:""};function g(c,s,E,u,y,F){const e=o("Badge");return r(),n("div",null,[s[3]||(s[3]=a('

Visualization

Tenet provides a Package Extension for Makie support. You can just import a Makie backend and call GraphMakie.graphplot on a TensorNetwork.

',2)),i("details",d,[i("summary",null,[s[0]||(s[0]=i("a",{id:"GraphMakie.graphplot-Tuple{TensorNetwork}",href:"#GraphMakie.graphplot-Tuple{TensorNetwork}"},[i("span",{class:"jlbinding"},"GraphMakie.graphplot")],-1)),s[1]||(s[1]=l()),p(e,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[2]||(s[2]=a(`
julia
graphplot(tn::TensorNetwork; kwargs...)
+import{_ as t,c as n,a5 as a,j as i,a as l,G as p,B as o,o as r}from"./chunks/framework.C5U82uhn.js";const h="/Tenet.jl/previews/PR258/assets/omlitti.BZEa2jL6.png",b=JSON.parse('{"title":"Visualization","description":"","frontmatter":{},"headers":[],"relativePath":"visualization.md","filePath":"visualization.md","lastUpdated":null}'),k={name:"visualization.md"},d={class:"jldocstring custom-block",open:""};function g(c,s,E,u,y,F){const e=o("Badge");return r(),n("div",null,[s[3]||(s[3]=a('

Visualization

Tenet provides a Package Extension for Makie support. You can just import a Makie backend and call GraphMakie.graphplot on a TensorNetwork.

',2)),i("details",d,[i("summary",null,[s[0]||(s[0]=i("a",{id:"GraphMakie.graphplot-Tuple{TensorNetwork}",href:"#GraphMakie.graphplot-Tuple{TensorNetwork}"},[i("span",{class:"jlbinding"},"GraphMakie.graphplot")],-1)),s[1]||(s[1]=l()),p(e,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[2]||(s[2]=a(`
julia
graphplot(tn::TensorNetwork; kwargs...)
 graphplot!(f::Union{Figure,GridPosition}, tn::TensorNetwork; kwargs...)
-graphplot!(ax::Union{Axis,Axis3}, tn::TensorNetwork; kwargs...)

Plot a TensorNetwork as a graph.

Keyword Arguments

  • labels If true, show the labels of the tensor indices. Defaults to false.

  • The rest of kwargs are passed to GraphMakie.graphplot.

source

`,5))]),s[4]||(s[4]=a('
julia
graphplot(tn, layout=Stress(), labels=true)

',2))])}const m=t(k,[["render",g]]);export{f as __pageData,m as default}; +graphplot!(ax::Union{Axis,Axis3}, tn::TensorNetwork; kwargs...)

Plot a TensorNetwork as a graph.

Keyword Arguments

  • labels If true, show the labels of the tensor indices. Defaults to false.

  • The rest of kwargs are passed to GraphMakie.graphplot.

source

`,5))]),s[4]||(s[4]=a('
julia
graphplot(tn, layout=Stress(), labels=true)

',2))])}const m=t(k,[["render",g]]);export{b as __pageData,m as default}; diff --git a/previews/PR258/developer/cached-field.html b/previews/PR258/developer/cached-field.html index 7f4e0d55..9682af50 100644 --- a/previews/PR258/developer/cached-field.html +++ b/previews/PR258/developer/cached-field.html @@ -9,9 +9,9 @@ - + - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/previews/PR258/developer/hypergraph.html b/previews/PR258/developer/hypergraph.html index 8592e69c..2ae2f6a9 100644 --- a/previews/PR258/developer/hypergraph.html +++ b/previews/PR258/developer/hypergraph.html @@ -9,9 +9,9 @@ - + - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/previews/PR258/developer/keyword-dispatch.html b/previews/PR258/developer/keyword-dispatch.html index 719ddf93..a0253227 100644 --- a/previews/PR258/developer/keyword-dispatch.html +++ b/previews/PR258/developer/keyword-dispatch.html @@ -9,9 +9,9 @@ - + - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/previews/PR258/developer/type-hierarchy.html b/previews/PR258/developer/type-hierarchy.html index e1d6e043..afb22a2c 100644 --- a/previews/PR258/developer/type-hierarchy.html +++ b/previews/PR258/developer/type-hierarchy.html @@ -9,9 +9,9 @@ - + - + @@ -44,7 +44,7 @@ style id4 stroke-dasharray: 5 5 style id5 stroke-dasharray: 5 5 """

Made with DocumenterVitepress.jl

- + \ No newline at end of file diff --git a/previews/PR258/developer/unsafe-region.html b/previews/PR258/developer/unsafe-region.html index 604d2b1c..18c58220 100644 --- a/previews/PR258/developer/unsafe-region.html +++ b/previews/PR258/developer/unsafe-region.html @@ -9,9 +9,9 @@ - + - + @@ -24,7 +24,7 @@
Skip to content

Unsafe regions

There are cases in which you may want to temporarily avoid index size checks on push! to a TensorNetwork.

julia
@unsafe_region tn begin
     ...
 end

Made with DocumenterVitepress.jl

- + \ No newline at end of file diff --git a/previews/PR258/friends.html b/previews/PR258/friends.html index 14d2825c..4c2a4580 100644 --- a/previews/PR258/friends.html +++ b/previews/PR258/friends.html @@ -9,9 +9,9 @@ - + - + @@ -22,7 +22,7 @@
Skip to content

Friends

If Tenet's design doesn't fit your case, ¡no problem!. There are other nice libraries in the wild, of which we recommend to take a look at:

  • quimb Flexible Tensor Network written in Python. Main source of inspiration for Tenet.

  • tenpy Tensor Network library written in Python with a strong focus on physics.

  • ITensors.jl and ITensorNetworks.jl Mature Tensor Network framework written in Julia.

  • tensorkrowch A new Tensor Network library built on top of PyTorch.

  • SeeMPS

Made with DocumenterVitepress.jl

- + \ No newline at end of file diff --git a/previews/PR258/hashmap.json b/previews/PR258/hashmap.json index 0873132a..074dc7ac 100644 --- a/previews/PR258/hashmap.json +++ b/previews/PR258/hashmap.json @@ -1 +1 @@ -{"api_ansatz.md":"Brzm3uFp","api_quantum.md":"Cv5NgkpY","api_tensor.md":"DiH3kePi","api_tensornetwork.md":"Dy5VgWXb","developer_cached-field.md":"rTxjzlAI","developer_hypergraph.md":"CLLnqJzJ","developer_keyword-dispatch.md":"MeL2Edxn","developer_type-hierarchy.md":"D7oOrCkQ","developer_unsafe-region.md":"CtJwHGUc","friends.md":"CzHUesas","index.md":"D_Af3vI6","manual_ansatz_index.md":"wHIbftc-","manual_ansatz_mps.md":"BYpjDqpS","manual_ansatz_product.md":"VrsBcvrK","manual_contraction.md":"DkspNEwe","manual_quantum.md":"BjnJmq0D","manual_tensor-network.md":"KpRM_KWi","manual_tensors.md":"DGCulxEK","manual_transformations.md":"DI9phnar","visualization.md":"CFhVWzgg"} +{"api_ansatz.md":"Bd2LjtDP","api_quantum.md":"11MXmNx9","api_tensor.md":"BO8vNnbc","api_tensornetwork.md":"DCdZdglE","developer_cached-field.md":"rTxjzlAI","developer_hypergraph.md":"CLLnqJzJ","developer_keyword-dispatch.md":"MeL2Edxn","developer_type-hierarchy.md":"D7oOrCkQ","developer_unsafe-region.md":"CtJwHGUc","friends.md":"CzHUesas","index.md":"D_Af3vI6","manual_ansatz_index.md":"wHIbftc-","manual_ansatz_mps.md":"BYpjDqpS","manual_ansatz_product.md":"VrsBcvrK","manual_contraction.md":"CnbeZdVY","manual_quantum.md":"BjnJmq0D","manual_tensor-network.md":"KpRM_KWi","manual_tensors.md":"D2HISQJD","manual_transformations.md":"BNQG-4bI","visualization.md":"BGu8wT5V"} diff --git a/previews/PR258/index.html b/previews/PR258/index.html index e925b63f..ee146c8a 100644 --- a/previews/PR258/index.html +++ b/previews/PR258/index.html @@ -9,9 +9,9 @@ - + - + @@ -23,7 +23,7 @@
Skip to content

Tenet.jl

Hackable Tensor Networks

Tenet.jl

BSC-Quantic's Registry

Tenet and some of its dependencies are located in our own Julia registry. In order to download Tenet, add our registry to your Julia installation by using the Pkg mode in a REPL session,

julia
using Pkg
 pkg"registry add https://github.com/bsc-quantic/Registry"

Features

  • Optimized Tensor Network contraction, powered by EinExprs

  • Tensor Network slicing/cuttings

  • Automatic Differentiation of TN contraction, powered by EinExprs and ChainRules

  • 3D visualization of large networks, powered by Makie

Made with DocumenterVitepress.jl

- + \ No newline at end of file diff --git a/previews/PR258/manual/ansatz/index.html b/previews/PR258/manual/ansatz/index.html index 43ea2e7c..da2eb9ca 100644 --- a/previews/PR258/manual/ansatz/index.html +++ b/previews/PR258/manual/ansatz/index.html @@ -9,9 +9,9 @@ - + - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/previews/PR258/manual/ansatz/mps.html b/previews/PR258/manual/ansatz/mps.html index dd2a977d..a0a02f47 100644 --- a/previews/PR258/manual/ansatz/mps.html +++ b/previews/PR258/manual/ansatz/mps.html @@ -9,9 +9,9 @@ - + - + @@ -44,7 +44,7 @@ Label(fig[1,2, Bottom()], "Periodic") # hide fig # hide

In Tenet, the generic MatrixProduct ansatz implements this topology. Type variables are used to address their functionality (State or Operator) and their boundary conditions (Open or Periodic).

Made with DocumenterVitepress.jl

- + \ No newline at end of file diff --git a/previews/PR258/manual/ansatz/product.html b/previews/PR258/manual/ansatz/product.html index 7d50b4e4..1e79df05 100644 --- a/previews/PR258/manual/ansatz/product.html +++ b/previews/PR258/manual/ansatz/product.html @@ -9,9 +9,9 @@ - + - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/previews/PR258/manual/contraction.html b/previews/PR258/manual/contraction.html index c37d0365..d010e058 100644 --- a/previews/PR258/manual/contraction.html +++ b/previews/PR258/manual/contraction.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,8 +21,8 @@ -
Skip to content

Contraction

Contraction path optimization and execution is delegated to the EinExprs library. A EinExpr is a lower-level form of a Tensor Network, in which the contraction path has been laid out as a tree. It is similar to a symbolic expression (i.e. Expr) but in which every node represents an Einstein summation expression (aka einsum).

EinExprs.einexpr Method
julia
einexpr(tn::AbstractTensorNetwork; optimizer = EinExprs.Greedy, output = inds(tn, :open), kwargs...)

Search a contraction path for the given AbstractTensorNetwork and return it as a EinExpr.

Keyword Arguments

  • optimizer Contraction path optimizer. Check EinExprs documentation for more info.

  • outputs Indices that won't be contracted. Defaults to open indices.

  • kwargs Options to be passed to the optimizer.

See also: contract.

source

Missing docstring.

Missing docstring for contract(::Tenet.TensorNetwork). Check Documenter's build log for details.

Tenet.contract! Function
julia
contract!(tn::TensorNetwork, index)

In-place contraction of tensors connected to index.

See also: contract.

source

Made with DocumenterVitepress.jl

- +
Skip to content

Contraction

Contraction path optimization and execution is delegated to the EinExprs library. A EinExpr is a lower-level form of a Tensor Network, in which the contraction path has been laid out as a tree. It is similar to a symbolic expression (i.e. Expr) but in which every node represents an Einstein summation expression (aka einsum).

EinExprs.einexpr Method
julia
einexpr(tn::AbstractTensorNetwork; optimizer = EinExprs.Greedy, output = inds(tn, :open), kwargs...)

Search a contraction path for the given AbstractTensorNetwork and return it as a EinExpr.

Keyword Arguments

  • optimizer Contraction path optimizer. Check EinExprs documentation for more info.

  • outputs Indices that won't be contracted. Defaults to open indices.

  • kwargs Options to be passed to the optimizer.

See also: contract.

source

Missing docstring.

Missing docstring for contract(::Tenet.TensorNetwork). Check Documenter's build log for details.

Tenet.contract! Function
julia
contract!(tn::TensorNetwork, index)

In-place contraction of tensors connected to index.

See also: contract.

source

Made with DocumenterVitepress.jl

+ \ No newline at end of file diff --git a/previews/PR258/manual/quantum.html b/previews/PR258/manual/quantum.html index 855a502e..b5979242 100644 --- a/previews/PR258/manual/quantum.html +++ b/previews/PR258/manual/quantum.html @@ -9,9 +9,9 @@ - + - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/previews/PR258/manual/tensor-network.html b/previews/PR258/manual/tensor-network.html index 256689f1..125324e9 100644 --- a/previews/PR258/manual/tensor-network.html +++ b/previews/PR258/manual/tensor-network.html @@ -9,9 +9,9 @@ - + - + @@ -22,7 +22,7 @@
Skip to content

Tensor Networks

Tensor Networks (TN) are a graphical notation for representing complex multi-linear functions. For example, the following equation

ijklmnopAimBijpCnjkDpklEmnoFol

can be represented visually as

The graph's nodes represent tensors and edges represent tensor indices.

In Tenet, these objects are represented by the TensorNetwork type.

Information about a TensorNetwork can be queried with the following functions.

Query information

Modification

Add/Remove tensors

Replace existing elements

Slicing

Made with DocumenterVitepress.jl

- + \ No newline at end of file diff --git a/previews/PR258/manual/tensors.html b/previews/PR258/manual/tensors.html index 94bfd78d..b2dd5fd7 100644 --- a/previews/PR258/manual/tensors.html +++ b/previews/PR258/manual/tensors.html @@ -9,11 +9,11 @@ - + - + - + @@ -24,14 +24,14 @@
Skip to content

Tensors

If you have reached here, you probably know wha a tensor is. Nevertheless, we are gonna give a brief remainder.

There are many jokes[1] about how to define a tensor. The definition we are giving here might not be the most correct one, but it is good enough for our use case (don't kill me please, mathematicians). A tensor T of order[2] n is a multilinear[3] application between n vector spaces over a field F.

T:Fdim(1)××Fdim(n)F

In layman's terms, it is a linear function whose inputs are vectors and the output is a scalar number.

T(v(1),,v(n))=cFi,v(i)Fdim(i)

Tensor algebra is a higher-order generalization of linear algebra, where scalar numbers can be viewed as order-0 tensors, vectors as order-1 tensors, matrices as order-2 tensors, ...

Letters are used to identify each of the vector spaces the tensor relates to. In computer science, you would intuitively think of tensors as "n-dimensional arrays with named dimensions".

TijkT[i,j,k]

The Tensor type

In Tenet, a tensor is represented by the Tensor type, which wraps an array and a list of symbols. As it subtypes AbstractArray, many array operations can be dispatched to it.

You can create a Tensor by passing an array and a list of Symbols that name indices.

julia
julia> Tᵢⱼₖ = Tensor(rand(3,5,2), (:i,:j,:k))
 3×5×2 Tensor{Float64, 3, Array{Float64, 3}}:
 [:, :, 1] =
- 0.635492   0.452878   0.549659   0.0907537  0.885268
- 0.0383351  0.0153394  0.17861    0.366401   0.438044
- 0.154492   0.659549   0.0904452  0.338931   0.570712
+ 0.556988  0.340958  0.241852  0.816029  0.453026
+ 0.961735  0.23841   0.899358  0.111351  0.0537337
+ 0.189177  0.373338  0.570934  0.254832  0.455204
 
 [:, :, 2] =
- 0.823484  0.218032  0.112479  0.156122  0.399082
- 0.883695  0.361577  0.219289  0.59041   0.460934
- 0.111742  0.240448  0.592654  0.584235  0.57036

The dimensionality or size of each index can be consulted using the size function.

julia
julia> size(Tᵢⱼₖ)
+ 0.987395  0.949801   0.374111  0.623254  0.968576
+ 0.842169  0.272806   0.737091  0.109921  0.252068
+ 0.341001  0.0710975  0.991614  0.436409  0.515756

The dimensionality or size of each index can be consulted using the size function.

julia
julia> size(Tᵢⱼₖ)
 (3, 5, 2)
 
 julia> size(Tᵢⱼₖ, :j)
@@ -39,7 +39,7 @@
 
 julia> length(Tᵢⱼₖ)
 30

  1. For example, recursive definitions like a tensor is whatever that transforms as a tensor. ↩︎

  2. The order of a tensor may also be known as rank or dimensionality in other fields. However, these can be missleading, since it has nothing to do with the rank of linear algebra nor with the dimensionality of a vector space. We prefer to use word order. ↩︎

  3. Meaning that the relationships between the output and the inputs, and the inputs between them, are linear. ↩︎

Made with DocumenterVitepress.jl

- + \ No newline at end of file diff --git a/previews/PR258/manual/transformations.html b/previews/PR258/manual/transformations.html index a05678c4..e003352f 100644 --- a/previews/PR258/manual/transformations.html +++ b/previews/PR258/manual/transformations.html @@ -9,11 +9,11 @@ - + - + - + @@ -21,8 +21,8 @@ -
Skip to content

Transformations

In tensor network computations, it is good practice to apply various transformations to simplify the network structure, reduce computational cost, or prepare the network for further operations. These transformations modify the network's structure locally by permuting, contracting, factoring or truncating tensors.

A crucial reason why these methods are indispensable lies in their ability to drastically reduce the problem size of the contraction path search and also the contraction. This doesn't necessarily involve reducing the maximum rank of the Tensor Network itself, but more importantly, it reduces the size (or rank) of the involved tensors.

Our approach is based in (Gray and Kourtis, 2021), which can also be found in quimb.

In Tenet, we provide a set of predefined transformations which you can apply to your TensorNetwork using both the transform/transform! functions.

Available transformations

Hyperindex converter

Contraction simplification

Diagonal reduction

Anti-diagonal reduction

Dimension truncation

Split simplification

Made with DocumenterVitepress.jl

- +
Skip to content

Transformations

In tensor network computations, it is good practice to apply various transformations to simplify the network structure, reduce computational cost, or prepare the network for further operations. These transformations modify the network's structure locally by permuting, contracting, factoring or truncating tensors.

A crucial reason why these methods are indispensable lies in their ability to drastically reduce the problem size of the contraction path search and also the contraction. This doesn't necessarily involve reducing the maximum rank of the Tensor Network itself, but more importantly, it reduces the size (or rank) of the involved tensors.

Our approach is based in (Gray and Kourtis, 2021), which can also be found in quimb.

In Tenet, we provide a set of predefined transformations which you can apply to your TensorNetwork using both the transform/transform! functions.

Available transformations

Hyperindex converter

Contraction simplification

Diagonal reduction

Anti-diagonal reduction

Dimension truncation

Split simplification

Made with DocumenterVitepress.jl

+ \ No newline at end of file diff --git a/previews/PR258/visualization.html b/previews/PR258/visualization.html index 39a087a6..42941a86 100644 --- a/previews/PR258/visualization.html +++ b/previews/PR258/visualization.html @@ -9,11 +9,11 @@ - + - + - + @@ -23,8 +23,8 @@
Skip to content

Visualization

Tenet provides a Package Extension for Makie support. You can just import a Makie backend and call GraphMakie.graphplot on a TensorNetwork.

GraphMakie.graphplot Method
julia
graphplot(tn::TensorNetwork; kwargs...)
 graphplot!(f::Union{Figure,GridPosition}, tn::TensorNetwork; kwargs...)
-graphplot!(ax::Union{Axis,Axis3}, tn::TensorNetwork; kwargs...)

Plot a TensorNetwork as a graph.

Keyword Arguments

  • labels If true, show the labels of the tensor indices. Defaults to false.

  • The rest of kwargs are passed to GraphMakie.graphplot.

source

julia
graphplot(tn, layout=Stress(), labels=true)

Made with DocumenterVitepress.jl

- +graphplot!(ax::Union{Axis,Axis3}, tn::TensorNetwork; kwargs...)

Plot a TensorNetwork as a graph.

Keyword Arguments

  • labels If true, show the labels of the tensor indices. Defaults to false.

  • The rest of kwargs are passed to GraphMakie.graphplot.

source

julia
graphplot(tn, layout=Stress(), labels=true)

Made with DocumenterVitepress.jl

+ \ No newline at end of file