From 48dae29b966f58851c743b031a4eb7446bf6fb8a Mon Sep 17 00:00:00 2001 From: "Documenter.jl" Date: Fri, 5 Apr 2024 10:57:59 +0000 Subject: [PATCH] build based on 583e48f --- stable | 2 +- v0.5 | 2 +- v0.5.1/.documenter-siteinfo.json | 1 + v0.5.1/alternatives/index.html | 2 + v0.5.1/api/index.html | 80 ++ v0.5.1/assets/documenter.js | 1050 +++++++++++++++++++++ v0.5.1/assets/logo.png | Bin 0 -> 235090 bytes v0.5.1/assets/themes/documenter-dark.css | 7 + v0.5.1/assets/themes/documenter-light.css | 9 + v0.5.1/assets/themeswap.js | 84 ++ v0.5.1/assets/warner.js | 52 + v0.5.1/debugging/index.html | 2 + v0.5.1/examples/.gitkeep | 0 v0.5.1/examples/autodiff/index.html | 79 ++ v0.5.1/examples/basics/index.html | 68 ++ v0.5.1/examples/controlled/index.html | 76 ++ v0.5.1/examples/interfaces/index.html | 90 ++ v0.5.1/examples/temporal/index.html | 100 ++ v0.5.1/examples/types/index.html | 41 + v0.5.1/formulas/index.html | 59 ++ v0.5.1/index.html | 6 + v0.5.1/objects.inv | Bin 0 -> 1328 bytes v0.5.1/refs.bib | 31 + v0.5.1/search_index.js | 3 + v0.5.1/siteinfo.js | 1 + versions.js | 2 +- 26 files changed, 1844 insertions(+), 3 deletions(-) create mode 100644 v0.5.1/.documenter-siteinfo.json create mode 100644 v0.5.1/alternatives/index.html create mode 100644 v0.5.1/api/index.html create mode 100644 v0.5.1/assets/documenter.js create mode 100644 v0.5.1/assets/logo.png create mode 100644 v0.5.1/assets/themes/documenter-dark.css create mode 100644 v0.5.1/assets/themes/documenter-light.css create mode 100644 v0.5.1/assets/themeswap.js create mode 100644 v0.5.1/assets/warner.js create mode 100644 v0.5.1/debugging/index.html create mode 100644 v0.5.1/examples/.gitkeep create mode 100644 v0.5.1/examples/autodiff/index.html create mode 100644 v0.5.1/examples/basics/index.html create mode 100644 v0.5.1/examples/controlled/index.html create mode 100644 v0.5.1/examples/interfaces/index.html create mode 100644 v0.5.1/examples/temporal/index.html create mode 100644 v0.5.1/examples/types/index.html create mode 100644 v0.5.1/formulas/index.html create mode 100644 v0.5.1/index.html create mode 100644 v0.5.1/objects.inv create mode 100644 v0.5.1/refs.bib create mode 100644 v0.5.1/search_index.js create mode 100644 v0.5.1/siteinfo.js diff --git a/stable b/stable index 48080b4c..a076e7fb 120000 --- a/stable +++ b/stable @@ -1 +1 @@ -v0.5.0 \ No newline at end of file +v0.5.1 \ No newline at end of file diff --git a/v0.5 b/v0.5 index 48080b4c..a076e7fb 120000 --- a/v0.5 +++ b/v0.5 @@ -1 +1 @@ -v0.5.0 \ No newline at end of file +v0.5.1 \ No newline at end of file diff --git a/v0.5.1/.documenter-siteinfo.json b/v0.5.1/.documenter-siteinfo.json new file mode 100644 index 00000000..4d6bd4a3 --- /dev/null +++ b/v0.5.1/.documenter-siteinfo.json @@ -0,0 +1 @@ +{"documenter":{"julia_version":"1.10.2","generation_timestamp":"2024-04-05T10:57:54","documenter_version":"1.3.0"}} \ No newline at end of file diff --git a/v0.5.1/alternatives/index.html b/v0.5.1/alternatives/index.html new file mode 100644 index 00000000..59db3d71 --- /dev/null +++ b/v0.5.1/alternatives/index.html @@ -0,0 +1,2 @@ + +Alternatives · HiddenMarkovModels.jl

Competitors

Julia

We compare features among the following Julia packages:

We discard MarkovModels.jl because its focus is GPU computation. There are also more generic packages for probabilistic programming, which are able to perform MCMC or variational inference (eg. Turing.jl) but we leave those aside.

HiddenMarkovModels.jlHMMBase.jlHMMGradients.jl
Algorithms[1]V, FB, BWV, FB, BWFB
Number typesanythingFloat64AbstractFloat
Observation typesanythingnumber or vectoranything
Observation distributionsDensityInterface.jlDistributions.jlmanual
Multiple sequencesyesnoyes
Priors / structurespossiblenopossible
Control dependencyyesnono
Automatic differentiationyesnoyes
Linear algebra speedupyesyesno
Numerical stabilityscaling+scaling+log
Very small probabilities

In all HMM algorithms, we work with probabilities that may become very small as time progresses. There are two main solutions for this problem: scaling and logarithmic computations. This package implements the Viterbi algorithm in log scale, but the other algorithms use scaling to exploit BLAS operations. As was done in HMMBase.jl, we enhance scaling with a division by the highest observation loglikelihood: instead of working with $b_{i,t} = \mathbb{P}(Y_t | X_t = i)$, we use $b_{i,t} / \max_i b_{i,t}$. See Formulas for details.

Python

We compare features among the following Python packages:

hmmlearnpomegranatedynamax
Algorithms[1]V, FB, BW, VIFB, BWFB, V, BW, GD
Number typesNumPy formatsPyTorch formatsJAX formats
Observation typesnumber or vectornumber or vectornumber or vector
Observation distributionshmmlearn cataloguepomegranate cataloguedynamax catalogue
Multiple sequencesyesyesyes
Priors / structuresyesnoyes
Control dependencynonoyes
Automatic differentiationnoyesyes
Linear algebra speedupyesyesyes
Numerical stabilityscaling / logloglog
  • 1V = Viterbi, FB = Forward-Backward, BW = Baum-Welch, VI = Variational Inference, GD = Gradient Descent
diff --git a/v0.5.1/api/index.html b/v0.5.1/api/index.html new file mode 100644 index 00000000..fc7f2871 --- /dev/null +++ b/v0.5.1/api/index.html @@ -0,0 +1,80 @@ + +API reference · HiddenMarkovModels.jl

API reference

Sequence formatting

Most algorithms below ingest the data with two positional arguments obs_seq (mandatory) and control_seq (optional), and a keyword argument seq_ends (optional).

  • If the data consists of a single sequence, obs_seq and control_seq are the corresponding vectors of observations and controls, and you don't need to provide seq_ends.
  • If the data consists of multiple sequences, obs_seq and control_seq are concatenations of several vectors, whose end indices are given by seq_ends. Starting from separate sequences obs_seqs and control_seqs, you can run the following snippet:
obs_seq = reduce(vcat, obs_seqs)
+control_seq = reduce(vcat, control_seqs)
+seq_ends = cumsum(length.(obs_seqs))

Types

HiddenMarkovModels.HMMType
struct HMM{V<:(AbstractVector), M<:(AbstractMatrix), VD<:(AbstractVector)} <: AbstractHMM

Basic implementation of an HMM.

Fields

  • init::AbstractVector: initial state probabilities

  • trans::AbstractMatrix: state transition probabilities

  • dists::AbstractVector: observation distributions

  • loginit::AbstractVector: logarithms of initial state probabilities

  • logtrans::AbstractMatrix: logarithms of state transition probabilities

source

Interface

HiddenMarkovModels.obs_distributionsFunction
obs_distributions(hmm)
+obs_distributions(hmm, control)

Return a vector of observation distributions, one for each state of hmm (possibly when control is applied).

These distribution objects should implement

  • Random.rand(rng, dist) for sampling
  • DensityInterface.logdensityof(dist, obs) for inference
  • StatsAPI.fit!(dist, obs_seq, weight_seq) for learning
source

Utils

Base.randFunction
rand([rng,] hmm, T)
+rand([rng,] hmm, control_seq)

Simulate hmm for T time steps, or when the sequence control_seq is applied.

Return a named tuple (; state_seq, obs_seq).

source
Base.eltypeFunction
eltype(hmm, obs, control)

Return a type that can accommodate forward-backward computations for hmm on observations similar to obs.

It is typically a promotion between the element type of the initialization, the element type of the transition matrix, and the type of an observation logdensity evaluated at obs.

source
HiddenMarkovModels.seq_limitsFunction
seq_limits(seq_ends, k)
+

Return a tuple (t1, t2) giving the begin and end indices of subsequence k within a set of sequences ending at seq_ends.

source

Inference

DensityInterface.logdensityofFunction
logdensityof(hmm)

Return the prior loglikelihood associated with the parameters of hmm.

source
logdensityof(hmm, obs_seq; ...)
+logdensityof(hmm, obs_seq, control_seq; seq_ends)
+

Run the forward algorithm to compute the loglikelihood of obs_seq for hmm, integrating over all possible state sequences.

source
HiddenMarkovModels.joint_logdensityofFunction
joint_logdensityof(hmm, obs_seq, state_seq; ...)
+joint_logdensityof(
+    hmm,
+    obs_seq,
+    state_seq,
+    control_seq;
+    seq_ends
+)
+

Run the forward algorithm to compute the the joint loglikelihood of obs_seq and state_seq for hmm.

source
HiddenMarkovModels.forwardFunction
forward(hmm, obs_seq; ...)
+forward(hmm, obs_seq, control_seq; seq_ends)
+

Apply the forward algorithm to infer the current state after sequence obs_seq for hmm.

Return a tuple (storage.α, storage.logL) where storage is of type ForwardStorage.

source
HiddenMarkovModels.viterbiFunction
viterbi(hmm, obs_seq; ...)
+viterbi(hmm, obs_seq, control_seq; seq_ends)
+

Apply the Viterbi algorithm to infer the most likely state sequence corresponding to obs_seq for hmm.

Return a tuple (storage.q, storage.logL) where storage is of type ViterbiStorage.

source
HiddenMarkovModels.forward_backwardFunction
forward_backward(hmm, obs_seq; ...)
+forward_backward(hmm, obs_seq, control_seq; seq_ends)
+

Apply the forward-backward algorithm to infer the posterior state and transition marginals during sequence obs_seq for hmm.

Return a tuple (storage.γ, storage.logL) where storage is of type ForwardBackwardStorage.

source

Learning

HiddenMarkovModels.baum_welchFunction
baum_welch(hmm_guess, obs_seq; ...)
+baum_welch(
+    hmm_guess,
+    obs_seq,
+    control_seq;
+    seq_ends,
+    atol,
+    max_iterations,
+    loglikelihood_increasing
+)
+

Apply the Baum-Welch algorithm to estimate the parameters of an HMM on obs_seq, starting from hmm_guess.

Return a tuple (hmm_est, loglikelihood_evolution) where hmm_est is the estimated HMM and loglikelihood_evolution is a vector of loglikelihood values, one per iteration of the algorithm.

Keyword arguments

  • atol: minimum loglikelihood increase at an iteration of the algorithm (otherwise the algorithm is deemed to have converged)
  • max_iterations: maximum number of iterations of the algorithm
  • loglikelihood_increasing: whether to throw an error if the loglikelihood decreases
source
StatsAPI.fit!Function
StatsAPI.fit!(
+    hmm, fb_storage::ForwardBackwardStorage,
+    obs_seq, [control_seq]; seq_ends,
+)

Update hmm in-place based on information generated during forward-backward.

This function is allowed to reuse fb_storage as a scratch space, so its contents should not be trusted afterwards.

source

In-place versions

Forward

HiddenMarkovModels.ForwardStorageType
struct ForwardStorage{R}

Fields

Only the fields with a description are part of the public API.

  • α::Matrix: posterior last state marginals α[i] = ℙ(X[T]=i | Y[1:T])

  • logL::Vector: one loglikelihood per observation sequence

  • B::Matrix

  • c::Vector

source

Viterbi

HiddenMarkovModels.ViterbiStorageType
struct ViterbiStorage{R}

Fields

Only the fields with a description are part of the public API.

  • q::Vector{Int64}: most likely state sequence q[t] = argmaxᵢ ℙ(X[t]=i | Y[1:T])

  • logL::Vector: one joint loglikelihood per pair of observation sequence and most likely state sequence

  • logB::Matrix

  • ϕ::Matrix

  • ψ::Matrix{Int64}

source

Forward-backward

HiddenMarkovModels.ForwardBackwardStorageType
struct ForwardBackwardStorage{R, M<:AbstractArray{R, 2}}

Fields

Only the fields with a description are part of the public API.

  • γ::Matrix: posterior state marginals γ[i,t] = ℙ(X[t]=i | Y[1:T])

  • ξ::Vector{M} where {R, M<:AbstractMatrix{R}}: posterior transition marginals ξ[t][i,j] = ℙ(X[t]=i, X[t+1]=j | Y[1:T])

  • logL::Vector: one loglikelihood per observation sequence

  • B::Matrix

  • α::Matrix

  • c::Vector

  • β::Matrix

  • Bβ::Matrix

source
HiddenMarkovModels.forward_backward!Function
forward_backward!(
+    storage,
+    hmm,
+    obs_seq,
+    control_seq,
+    t1,
+    t2;
+    transition_marginals
+)
+
source
forward_backward!(
+    storage,
+    hmm,
+    obs_seq,
+    control_seq;
+    seq_ends,
+    transition_marginals
+)
+
source

Baum-Welch

HiddenMarkovModels.baum_welch!Function
baum_welch!(
+    fb_storage,
+    logL_evolution,
+    hmm,
+    obs_seq,
+    control_seq;
+    seq_ends,
+    atol,
+    max_iterations,
+    loglikelihood_increasing
+)
+
source

Miscellaneous

HiddenMarkovModels.fit_in_sequence!Function
fit_in_sequence!(dists, i, x, w)
+

Modify the i-th element of dists by fitting it to an observation sequence x with associated weight sequence w.

Default behavior:

fit!(dists[i], x, w)

Override for Distributions.jl (in the package extension)

dists[i] = fit(eltype(dists), turn_into_vector(x), w)
source

Internals

HiddenMarkovModels.LightDiagNormalType
struct LightDiagNormal{T1, T2, T3, V1<:AbstractArray{T1, 1}, V2<:AbstractArray{T2, 1}, V3<:AbstractArray{T3, 1}}

An HMMs-compatible implementation of a multivariate normal distribution with diagonal covariance, enabling allocation-free in-place estimation.

This is not part of the public API and is expected to change.

Fields

  • μ::AbstractVector: means

  • σ::AbstractVector: standard deviations

  • logσ::AbstractVector: log standard deviations

source
HiddenMarkovModels.LightCategoricalType
struct LightCategorical{T1, T2, V1<:AbstractArray{T1, 1}, V2<:AbstractArray{T2, 1}}

An HMMs-compatible implementation of a discrete categorical distribution, enabling allocation-free in-place estimation.

This is not part of the public API and is expected to change.

Fields

  • p::AbstractVector: class probabilities

  • logp::AbstractVector: log class probabilities

source
HiddenMarkovModels.log_transition_matrixFunction
log_transition_matrix(hmm)
+log_transition_matrix(hmm, control)

Return the matrix of state transition log-probabilities for hmm (possibly when control is applied).

Falls back on transition_matrix.

source
HiddenMarkovModels.argmaxplus_transmul!Function
argmaxplus_transmul!(y, ind, A, x)

Perform the in-place multiplication transpose(A) * x in the sense of max-plus algebra, store the result in y, and store the index of the maximum for each component of y in ind.

source

Index

diff --git a/v0.5.1/assets/documenter.js b/v0.5.1/assets/documenter.js new file mode 100644 index 00000000..c6562b55 --- /dev/null +++ b/v0.5.1/assets/documenter.js @@ -0,0 +1,1050 @@ +// Generated by Documenter.jl +requirejs.config({ + paths: { + 'highlight-julia': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/languages/julia.min', + 'headroom': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.12.0/headroom.min', + 'jqueryui': 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min', + 'katex-auto-render': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/contrib/auto-render.min', + 'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.0/jquery.min', + 'headroom-jquery': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.12.0/jQuery.headroom.min', + 'katex': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min', + 'highlight': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min', + 'highlight-julia-repl': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/languages/julia-repl.min', + }, + shim: { + "highlight-julia": { + "deps": [ + "highlight" + ] + }, + "katex-auto-render": { + "deps": [ + "katex" + ] + }, + "headroom-jquery": { + "deps": [ + "jquery", + "headroom" + ] + }, + "highlight-julia-repl": { + "deps": [ + "highlight" + ] + } +} +}); +//////////////////////////////////////////////////////////////////////////////// +require(['jquery', 'katex', 'katex-auto-render'], function($, katex, renderMathInElement) { +$(document).ready(function() { + renderMathInElement( + document.body, + { + "delimiters": [ + { + "left": "$", + "right": "$", + "display": false + }, + { + "left": "$$", + "right": "$$", + "display": true + }, + { + "left": "\\[", + "right": "\\]", + "display": true + } + ] +} + + ); +}) + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery', 'highlight', 'highlight-julia', 'highlight-julia-repl'], function($) { +$(document).ready(function() { + hljs.highlightAll(); +}) + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +let timer = 0; +var isExpanded = true; + +$(document).on("click", ".docstring header", function () { + let articleToggleTitle = "Expand docstring"; + + debounce(() => { + if ($(this).siblings("section").is(":visible")) { + $(this) + .find(".docstring-article-toggle-button") + .removeClass("fa-chevron-down") + .addClass("fa-chevron-right"); + } else { + $(this) + .find(".docstring-article-toggle-button") + .removeClass("fa-chevron-right") + .addClass("fa-chevron-down"); + + articleToggleTitle = "Collapse docstring"; + } + + $(this) + .find(".docstring-article-toggle-button") + .prop("title", articleToggleTitle); + $(this).siblings("section").slideToggle(); + }); +}); + +$(document).on("click", ".docs-article-toggle-button", function (event) { + let articleToggleTitle = "Expand docstring"; + let navArticleToggleTitle = "Expand all docstrings"; + let animationSpeed = event.noToggleAnimation ? 0 : 400; + + debounce(() => { + if (isExpanded) { + $(this).removeClass("fa-chevron-up").addClass("fa-chevron-down"); + $(".docstring-article-toggle-button") + .removeClass("fa-chevron-down") + .addClass("fa-chevron-right"); + + isExpanded = false; + + $(".docstring section").slideUp(animationSpeed); + } else { + $(this).removeClass("fa-chevron-down").addClass("fa-chevron-up"); + $(".docstring-article-toggle-button") + .removeClass("fa-chevron-right") + .addClass("fa-chevron-down"); + + isExpanded = true; + articleToggleTitle = "Collapse docstring"; + navArticleToggleTitle = "Collapse all docstrings"; + + $(".docstring section").slideDown(animationSpeed); + } + + $(this).prop("title", navArticleToggleTitle); + $(".docstring-article-toggle-button").prop("title", articleToggleTitle); + }); +}); + +function debounce(callback, timeout = 300) { + if (Date.now() - timer > timeout) { + callback(); + } + + clearTimeout(timer); + + timer = Date.now(); +} + +}) +//////////////////////////////////////////////////////////////////////////////// +require([], function() { +function addCopyButtonCallbacks() { + for (const el of document.getElementsByTagName("pre")) { + const button = document.createElement("button"); + button.classList.add("copy-button", "fa-solid", "fa-copy"); + button.setAttribute("aria-label", "Copy this code block"); + button.setAttribute("title", "Copy"); + + el.appendChild(button); + + const success = function () { + button.classList.add("success", "fa-check"); + button.classList.remove("fa-copy"); + }; + + const failure = function () { + button.classList.add("error", "fa-xmark"); + button.classList.remove("fa-copy"); + }; + + button.addEventListener("click", function () { + copyToClipboard(el.innerText).then(success, failure); + + setTimeout(function () { + button.classList.add("fa-copy"); + button.classList.remove("success", "fa-check", "fa-xmark"); + }, 5000); + }); + } +} + +function copyToClipboard(text) { + // clipboard API is only available in secure contexts + if (window.navigator && window.navigator.clipboard) { + return window.navigator.clipboard.writeText(text); + } else { + return new Promise(function (resolve, reject) { + try { + const el = document.createElement("textarea"); + el.textContent = text; + el.style.position = "fixed"; + el.style.opacity = 0; + document.body.appendChild(el); + el.select(); + document.execCommand("copy"); + + resolve(); + } catch (err) { + reject(err); + } finally { + document.body.removeChild(el); + } + }); + } +} + +if (document.readyState === "loading") { + document.addEventListener("DOMContentLoaded", addCopyButtonCallbacks); +} else { + addCopyButtonCallbacks(); +} + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery', 'headroom', 'headroom-jquery'], function($, Headroom) { + +// Manages the top navigation bar (hides it when the user starts scrolling down on the +// mobile). +window.Headroom = Headroom; // work around buggy module loading? +$(document).ready(function () { + $("#documenter .docs-navbar").headroom({ + tolerance: { up: 10, down: 10 }, + }); +}); + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +$(document).ready(function () { + let meta = $("div[data-docstringscollapsed]").data(); + + if (meta?.docstringscollapsed) { + $("#documenter-article-toggle-button").trigger({ + type: "click", + noToggleAnimation: true, + }); + } +}); + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +/* +To get an in-depth about the thought process you can refer: https://hetarth02.hashnode.dev/series/gsoc + +PSEUDOCODE: + +Searching happens automatically as the user types or adjusts the selected filters. +To preserve responsiveness, as much as possible of the slow parts of the search are done +in a web worker. Searching and result generation are done in the worker, and filtering and +DOM updates are done in the main thread. The filters are in the main thread as they should +be very quick to apply. This lets filters be changed without re-searching with minisearch +(which is possible even if filtering is on the worker thread) and also lets filters be +changed _while_ the worker is searching and without message passing (neither of which are +possible if filtering is on the worker thread) + +SEARCH WORKER: + +Import minisearch + +Build index + +On message from main thread + run search + find the first 200 unique results from each category, and compute their divs for display + note that this is necessary and sufficient information for the main thread to find the + first 200 unique results from any given filter set + post results to main thread + +MAIN: + +Launch worker + +Declare nonconstant globals (worker_is_running, last_search_text, unfiltered_results) + +On text update + if worker is not running, launch_search() + +launch_search + set worker_is_running to true, set last_search_text to the search text + post the search query to worker + +on message from worker + if last_search_text is not the same as the text in the search field, + the latest search result is not reflective of the latest search query, so update again + launch_search() + otherwise + set worker_is_running to false + + regardless, display the new search results to the user + save the unfiltered_results as a global + update_search() + +on filter click + adjust the filter selection + update_search() + +update_search + apply search filters by looping through the unfiltered_results and finding the first 200 + unique results that match the filters + + Update the DOM +*/ + +/////// SEARCH WORKER /////// + +function worker_function(documenterSearchIndex, documenterBaseURL, filters) { + importScripts( + "https://cdn.jsdelivr.net/npm/minisearch@6.1.0/dist/umd/index.min.js" + ); + + let data = documenterSearchIndex.map((x, key) => { + x["id"] = key; // minisearch requires a unique for each object + return x; + }); + + // list below is the lunr 2.1.3 list minus the intersect with names(Base) + // (all, any, get, in, is, only, which) and (do, else, for, let, where, while, with) + // ideally we'd just filter the original list but it's not available as a variable + const stopWords = new Set([ + "a", + "able", + "about", + "across", + "after", + "almost", + "also", + "am", + "among", + "an", + "and", + "are", + "as", + "at", + "be", + "because", + "been", + "but", + "by", + "can", + "cannot", + "could", + "dear", + "did", + "does", + "either", + "ever", + "every", + "from", + "got", + "had", + "has", + "have", + "he", + "her", + "hers", + "him", + "his", + "how", + "however", + "i", + "if", + "into", + "it", + "its", + "just", + "least", + "like", + "likely", + "may", + "me", + "might", + "most", + "must", + "my", + "neither", + "no", + "nor", + "not", + "of", + "off", + "often", + "on", + "or", + "other", + "our", + "own", + "rather", + "said", + "say", + "says", + "she", + "should", + "since", + "so", + "some", + "than", + "that", + "the", + "their", + "them", + "then", + "there", + "these", + "they", + "this", + "tis", + "to", + "too", + "twas", + "us", + "wants", + "was", + "we", + "were", + "what", + "when", + "who", + "whom", + "why", + "will", + "would", + "yet", + "you", + "your", + ]); + + let index = new MiniSearch({ + fields: ["title", "text"], // fields to index for full-text search + storeFields: ["location", "title", "text", "category", "page"], // fields to return with results + processTerm: (term) => { + let word = stopWords.has(term) ? null : term; + if (word) { + // custom trimmer that doesn't strip @ and !, which are used in julia macro and function names + word = word + .replace(/^[^a-zA-Z0-9@!]+/, "") + .replace(/[^a-zA-Z0-9@!]+$/, ""); + + word = word.toLowerCase(); + } + + return word ?? null; + }, + // add . as a separator, because otherwise "title": "Documenter.Anchors.add!", would not + // find anything if searching for "add!", only for the entire qualification + tokenize: (string) => string.split(/[\s\-\.]+/), + // options which will be applied during the search + searchOptions: { + prefix: true, + boost: { title: 100 }, + fuzzy: 2, + }, + }); + + index.addAll(data); + + /** + * Used to map characters to HTML entities. + * Refer: https://github.com/lodash/lodash/blob/main/src/escape.ts + */ + const htmlEscapes = { + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'", + }; + + /** + * Used to match HTML entities and HTML characters. + * Refer: https://github.com/lodash/lodash/blob/main/src/escape.ts + */ + const reUnescapedHtml = /[&<>"']/g; + const reHasUnescapedHtml = RegExp(reUnescapedHtml.source); + + /** + * Escape function from lodash + * Refer: https://github.com/lodash/lodash/blob/main/src/escape.ts + */ + function escape(string) { + return string && reHasUnescapedHtml.test(string) + ? string.replace(reUnescapedHtml, (chr) => htmlEscapes[chr]) + : string || ""; + } + + /** + * Make the result component given a minisearch result data object and the value + * of the search input as queryString. To view the result object structure, refer: + * https://lucaong.github.io/minisearch/modules/_minisearch_.html#searchresult + * + * @param {object} result + * @param {string} querystring + * @returns string + */ + function make_search_result(result, querystring) { + let search_divider = `
`; + let display_link = + result.location.slice(Math.max(0), Math.min(50, result.location.length)) + + (result.location.length > 30 ? "..." : ""); // To cut-off the link because it messes with the overflow of the whole div + + if (result.page !== "") { + display_link += ` (${result.page})`; + } + + let textindex = new RegExp(`${querystring}`, "i").exec(result.text); + let text = + textindex !== null + ? result.text.slice( + Math.max(textindex.index - 100, 0), + Math.min( + textindex.index + querystring.length + 100, + result.text.length + ) + ) + : ""; // cut-off text before and after from the match + + text = text.length ? escape(text) : ""; + + let display_result = text.length + ? "..." + + text.replace( + new RegExp(`${escape(querystring)}`, "i"), // For first occurrence + '$&' + ) + + "..." + : ""; // highlights the match + + let in_code = false; + if (!["page", "section"].includes(result.category.toLowerCase())) { + in_code = true; + } + + // We encode the full url to escape some special characters which can lead to broken links + let result_div = ` + +
+
${escape(result.title)}
+
${result.category}
+
+

+ ${display_result} +

+
+ ${display_link} +
+
+ ${search_divider} + `; + + return result_div; + } + + self.onmessage = function (e) { + let query = e.data; + let results = index.search(query, { + filter: (result) => { + // Only return relevant results + return result.score >= 1; + }, + }); + + // Pre-filter to deduplicate and limit to 200 per category to the extent + // possible without knowing what the filters are. + let filtered_results = []; + let counts = {}; + for (let filter of filters) { + counts[filter] = 0; + } + let present = {}; + + for (let result of results) { + cat = result.category; + cnt = counts[cat]; + if (cnt < 200) { + id = cat + "---" + result.location; + if (present[id]) { + continue; + } + present[id] = true; + filtered_results.push({ + location: result.location, + category: cat, + div: make_search_result(result, query), + }); + } + } + + postMessage(filtered_results); + }; +} + +// `worker = Threads.@spawn worker_function(documenterSearchIndex)`, but in JavaScript! +const filters = [ + ...new Set(documenterSearchIndex["docs"].map((x) => x.category)), +]; +const worker_str = + "(" + + worker_function.toString() + + ")(" + + JSON.stringify(documenterSearchIndex["docs"]) + + "," + + JSON.stringify(documenterBaseURL) + + "," + + JSON.stringify(filters) + + ")"; +const worker_blob = new Blob([worker_str], { type: "text/javascript" }); +const worker = new Worker(URL.createObjectURL(worker_blob)); + +/////// SEARCH MAIN /////// + +// Whether the worker is currently handling a search. This is a boolean +// as the worker only ever handles 1 or 0 searches at a time. +var worker_is_running = false; + +// The last search text that was sent to the worker. This is used to determine +// if the worker should be launched again when it reports back results. +var last_search_text = ""; + +// The results of the last search. This, in combination with the state of the filters +// in the DOM, is used compute the results to display on calls to update_search. +var unfiltered_results = []; + +// Which filter is currently selected +var selected_filter = ""; + +$(document).on("input", ".documenter-search-input", function (event) { + if (!worker_is_running) { + launch_search(); + } +}); + +function launch_search() { + worker_is_running = true; + last_search_text = $(".documenter-search-input").val(); + worker.postMessage(last_search_text); +} + +worker.onmessage = function (e) { + if (last_search_text !== $(".documenter-search-input").val()) { + launch_search(); + } else { + worker_is_running = false; + } + + unfiltered_results = e.data; + update_search(); +}; + +$(document).on("click", ".search-filter", function () { + if ($(this).hasClass("search-filter-selected")) { + selected_filter = ""; + } else { + selected_filter = $(this).text().toLowerCase(); + } + + // This updates search results and toggles classes for UI: + update_search(); +}); + +/** + * Make/Update the search component + */ +function update_search() { + let querystring = $(".documenter-search-input").val(); + + if (querystring.trim()) { + if (selected_filter == "") { + results = unfiltered_results; + } else { + results = unfiltered_results.filter((result) => { + return selected_filter == result.category.toLowerCase(); + }); + } + + let search_result_container = ``; + let modal_filters = make_modal_body_filters(); + let search_divider = `
`; + + if (results.length) { + let links = []; + let count = 0; + let search_results = ""; + + for (var i = 0, n = results.length; i < n && count < 200; ++i) { + let result = results[i]; + if (result.location && !links.includes(result.location)) { + search_results += result.div; + count++; + links.push(result.location); + } + } + + if (count == 1) { + count_str = "1 result"; + } else if (count == 200) { + count_str = "200+ results"; + } else { + count_str = count + " results"; + } + let result_count = `
${count_str}
`; + + search_result_container = ` +
+ ${modal_filters} + ${search_divider} + ${result_count} +
+ ${search_results} +
+
+ `; + } else { + search_result_container = ` +
+ ${modal_filters} + ${search_divider} +
0 result(s)
+
+
No result found!
+ `; + } + + if ($(".search-modal-card-body").hasClass("is-justify-content-center")) { + $(".search-modal-card-body").removeClass("is-justify-content-center"); + } + + $(".search-modal-card-body").html(search_result_container); + } else { + if (!$(".search-modal-card-body").hasClass("is-justify-content-center")) { + $(".search-modal-card-body").addClass("is-justify-content-center"); + } + + $(".search-modal-card-body").html(` +
Type something to get started!
+ `); + } +} + +/** + * Make the modal filter html + * + * @returns string + */ +function make_modal_body_filters() { + let str = filters + .map((val) => { + if (selected_filter == val.toLowerCase()) { + return `${val}`; + } else { + return `${val}`; + } + }) + .join(""); + + return ` +
+ Filters: + ${str} +
`; +} + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +// Modal settings dialog +$(document).ready(function () { + var settings = $("#documenter-settings"); + $("#documenter-settings-button").click(function () { + settings.toggleClass("is-active"); + }); + // Close the dialog if X is clicked + $("#documenter-settings button.delete").click(function () { + settings.removeClass("is-active"); + }); + // Close dialog if ESC is pressed + $(document).keyup(function (e) { + if (e.keyCode == 27) settings.removeClass("is-active"); + }); +}); + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +$(document).ready(function () { + let search_modal_header = ` + + `; + + let initial_search_body = ` +
Type something to get started!
+ `; + + let search_modal_footer = ` + + `; + + $(document.body).append( + ` + + ` + ); + + document.querySelector(".docs-search-query").addEventListener("click", () => { + openModal(); + }); + + document + .querySelector(".close-search-modal") + .addEventListener("click", () => { + closeModal(); + }); + + $(document).on("click", ".search-result-link", function () { + closeModal(); + }); + + document.addEventListener("keydown", (event) => { + if ((event.ctrlKey || event.metaKey) && event.key === "/") { + openModal(); + } else if (event.key === "Escape") { + closeModal(); + } + + return false; + }); + + // Functions to open and close a modal + function openModal() { + let searchModal = document.querySelector("#search-modal"); + + searchModal.classList.add("is-active"); + document.querySelector(".documenter-search-input").focus(); + } + + function closeModal() { + let searchModal = document.querySelector("#search-modal"); + let initial_search_body = ` +
Type something to get started!
+ `; + + searchModal.classList.remove("is-active"); + document.querySelector(".documenter-search-input").blur(); + + if (!$(".search-modal-card-body").hasClass("is-justify-content-center")) { + $(".search-modal-card-body").addClass("is-justify-content-center"); + } + + $(".documenter-search-input").val(""); + $(".search-modal-card-body").html(initial_search_body); + } + + document + .querySelector("#search-modal .modal-background") + .addEventListener("click", () => { + closeModal(); + }); +}); + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +// Manages the showing and hiding of the sidebar. +$(document).ready(function () { + var sidebar = $("#documenter > .docs-sidebar"); + var sidebar_button = $("#documenter-sidebar-button"); + sidebar_button.click(function (ev) { + ev.preventDefault(); + sidebar.toggleClass("visible"); + if (sidebar.hasClass("visible")) { + // Makes sure that the current menu item is visible in the sidebar. + $("#documenter .docs-menu a.is-active").focus(); + } + }); + $("#documenter > .docs-main").bind("click", function (ev) { + if ($(ev.target).is(sidebar_button)) { + return; + } + if (sidebar.hasClass("visible")) { + sidebar.removeClass("visible"); + } + }); +}); + +// Resizes the package name / sitename in the sidebar if it is too wide. +// Inspired by: https://github.com/davatron5000/FitText.js +$(document).ready(function () { + e = $("#documenter .docs-autofit"); + function resize() { + var L = parseInt(e.css("max-width"), 10); + var L0 = e.width(); + if (L0 > L) { + var h0 = parseInt(e.css("font-size"), 10); + e.css("font-size", (L * h0) / L0); + // TODO: make sure it survives resizes? + } + } + // call once and then register events + resize(); + $(window).resize(resize); + $(window).on("orientationchange", resize); +}); + +// Scroll the navigation bar to the currently selected menu item +$(document).ready(function () { + var sidebar = $("#documenter .docs-menu").get(0); + var active = $("#documenter .docs-menu .is-active").get(0); + if (typeof active !== "undefined") { + sidebar.scrollTop = active.offsetTop - sidebar.offsetTop - 15; + } +}); + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +// Theme picker setup +$(document).ready(function () { + // onchange callback + $("#documenter-themepicker").change(function themepick_callback(ev) { + var themename = $("#documenter-themepicker option:selected").attr("value"); + if (themename === "auto") { + // set_theme(window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'); + window.localStorage.removeItem("documenter-theme"); + } else { + // set_theme(themename); + window.localStorage.setItem("documenter-theme", themename); + } + // We re-use the global function from themeswap.js to actually do the swapping. + set_theme_from_local_storage(); + }); + + // Make sure that the themepicker displays the correct theme when the theme is retrieved + // from localStorage + if (typeof window.localStorage !== "undefined") { + var theme = window.localStorage.getItem("documenter-theme"); + if (theme !== null) { + $("#documenter-themepicker option").each(function (i, e) { + e.selected = e.value === theme; + }); + } + } +}); + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +// update the version selector with info from the siteinfo.js and ../versions.js files +$(document).ready(function () { + // If the version selector is disabled with DOCUMENTER_VERSION_SELECTOR_DISABLED in the + // siteinfo.js file, we just return immediately and not display the version selector. + if ( + typeof DOCUMENTER_VERSION_SELECTOR_DISABLED === "boolean" && + DOCUMENTER_VERSION_SELECTOR_DISABLED + ) { + return; + } + + var version_selector = $("#documenter .docs-version-selector"); + var version_selector_select = $("#documenter .docs-version-selector select"); + + version_selector_select.change(function (x) { + target_href = version_selector_select + .children("option:selected") + .get(0).value; + window.location.href = target_href; + }); + + // add the current version to the selector based on siteinfo.js, but only if the selector is empty + if ( + typeof DOCUMENTER_CURRENT_VERSION !== "undefined" && + $("#version-selector > option").length == 0 + ) { + var option = $( + "" + ); + version_selector_select.append(option); + } + + if (typeof DOC_VERSIONS !== "undefined") { + var existing_versions = version_selector_select.children("option"); + var existing_versions_texts = existing_versions.map(function (i, x) { + return x.text; + }); + DOC_VERSIONS.forEach(function (each) { + var version_url = documenterBaseURL + "/../" + each + "/"; + var existing_id = $.inArray(each, existing_versions_texts); + // if not already in the version selector, add it as a new option, + // otherwise update the old option with the URL and enable it + if (existing_id == -1) { + var option = $( + "" + ); + version_selector_select.append(option); + } else { + var option = existing_versions[existing_id]; + option.value = version_url; + option.disabled = false; + } + }); + } + + // only show the version selector if the selector has been populated + if (version_selector_select.children("option").length > 0) { + version_selector.toggleClass("visible"); + } +}); + +}) diff --git a/v0.5.1/assets/logo.png b/v0.5.1/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..bbc776aed371b998aee5d967c219bec45a6f04af GIT binary patch literal 235090 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Ʋ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

{9m4Aq}s?eO*0xPZ>cg~#fP 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