\section{(2+1) dimensional SPT path integral}
\begin{align}
    H_\rho^n(G, M)
    &=
    \frac{Z_\rho^n(G, M)}{B_\rho^n(G, M)}\\
    &=
    \frac{\ker d_n}{\im d_{n-1}}
\end{align}
where
\begin{align}
    d_n:
    C_\rho^n(G, M)
    \to
    C_\rho^{n+1}(G, M)
\end{align}

You can have $+$ orientation tetrahedrons.
You can also have $-$ orientation tetrahedrons.

Let $\nu_3$ be homogeneous and $\omega_3$
be inhomogeneous.
Then the path integral is
\begin{align}
    Z &=
    \frac{1}{|G|^{N_V}}
    \sum_\left\{ {g_i \right\}}
    \prod_{\Delta^3\ni (i,j,k,l)}
    \left[
    \nu_3\left( g_i, g_j, g_k, g_l \right)
    \right]^{S\left( \Delta^3 \right)}
\end{align}
Note that
\begin{align}
    g\cdot \nu_3\left( g_1,\ldots, g_4 \right)
    &=
    \left[
    \nu_3\left( gg_1, gg_2, gg_3, gg_4 \right)
    \right]^{\sigma(g)}
\end{align}
due to $g$ -action
and then due to $G$-symmetry,
\begin{align}
    g\cdot \nu_3\left( g_1,\ldots, g_4 \right)
    &=
    \left[
    \nu_3\left( gg_1, gg_2, gg_3, gg_4 \right)
    \right]^{\sigma(g)}
    =
    \nu_3\left( g_1, \ldots, g_4 \right)
\end{align}
Then
\begin{align}
    \nu_3\left( g_1,\ldots, g_4 \right)
    &=
    \left[ \nu_3\left( 1, g_{12}, g_{13}, g_{14} \right) \right]^{\sigma\left(
    g_1 \right)}
\end{align}
recalling $g_{ij} = g_i^{-1} g_j$.
And so
\begin{align}
    \omega_3\left( g,h,k \right)
    &=
    \nu_3\left(
    1,g,gh,ghk
    \right)
\end{align}
Thus we have the path integral
\begin{align}
    Z\left( M^3, A \right)
    &=
    \prod_{\Delta^3\ni \left( i,j,k,l \right)}
    \left[
    \omega_3\left( A_{ij}, A_{jk}, A_{kl} \right)
    \right]^{S\left( \Delta^3 \right)}\\
    &=
    \frac{1}{|G|^{N_V}}
    \sum_\left\{ {g_i \right\}}
    \prod_{\Delta^3\ni (i,j,k,l)}
    \left[
    \omega_3\left( g_i^{-1}A_{ij} g_{j},
    g_j^{-1}A_{jk}g_k,
    g_k^{-1}A_{kl}g_l\right)
    \right]^{S\left( \Delta^3 \right)}
\end{align}

We can draw out the Pachner motes in 3D.

There is the 1-4 Pachner move which inserts a vertex inside a tetrahedron to
produce 4 tetrahedrons.

There is also the 2-3 Pacher move,
which takes two tetrahedrons sharing a face,
to produce 3 tetrahedra.
If the vertices are labelled 0123 and 01234
no the two original tetrahedra,
then new tetrahedra have vertices
01234, 1234, 0234.

We want our path integral to be invariant under Pacher moves.
In mathematics,
there is the famous \emph{pentagon equation}
\begin{align}
    \nu \nu = \nu\nu\nu
\end{align}
which implies
\begin{align}
    d\omega_3 = 1
\end{align}
so that
$\nu_3$ and $\omega_3$ are 3-cocycles.

If we change
$\omega_3 \to \omega_3\, d\mu_2$,
then this cancels out of the path integral.
Every $\mu_2$ enters the product twice with opposite orientation,
so this cancels out the $\mu_2$.

Ultimately,
distinct (2+1)D topological actions will be classified by
\begin{align}
    H_\rho^3\left( G, U(1) \right)
\end{align}
The $\rho$ is there so that every time the symmetry $G$ is anti-unitary,
it's the complex conjugate.
The $U(1)$ can be replaced by another group,
but it has to be a unitary group.
$\rho$ is just a map $\rho: G\times U(1)\to U(1)$ such that
\begin{align}
    \rho_g\left( e^{i\theta} \right)
    &=
    e^{i\theta'}
\end{align}

We can repeat this whole thing in any general dimensions,
so what we get is that in $(d+1)$ dimensions,
we have distinct actions which are classified by
$H^{d+1}\left( G, U(1) \right)$.
This gives a path integral
\begin{align}
    Z_{\left[ \omega_{d+1} \right]}
    \left(
    M^{d+1},
    A
    \right)
\end{align}
for flat $G$ gauge field $A$
and
\begin{align}
    \left[ \omega_{d+1} \right]
    \in H^{d+1}\left( G, U(1) \right)
\end{align}
is just a cohomology class.
And this gives us invertible TQFT with background flat $G$ gauge field,
because $|Z(M,A)|=1$.

So just like in $1+1$ dimensions,
we can write down the wave function,
we can write down the wave function in $d$ dimensions,
and show there is no intrinsic order in SPT,
and this gives a general solvable model with SPT in general dimensions.

This gives us a whole class of distinct SPTs classified by $H^{d+1}$.
This is not the full classification of SPTs actually.
There is a more general classification in terms of cobordisms.
In the dimensions we're interested in,
this is often the full classification,
but often there are states beyond cohomology,
there a  whole class of SPT phases called ``beyond cohomology''.
The often appear in anti-unitary symmetries in higher dimensions.

So far we have invertible TQFT.

Let me just say a few more things in terms of how much this classifies.
In (1+1)D,
this $H^2\left( G, U(1) \right)$ is the full classification of invertible
bosonic phases.

In (2+1)D,
this $H^3(G,U(1))$ is a full classification of bosonic SPTs,
but there are invertible phases that are not SPTs.
These occur when you have chiral central charge,
you can have bosonic states with chiral edge mods.
Strictly speaking,
if you break the symmetry,
they are not adiabatically connected to the ground state.

And then in $(3+1)D$,
this $H^4\left( G, U(1) \right)$
is a full classification of invertible bosonic invertible theories if $G$ is
unitary.
But it's partial classification if $G$ has anti-unitary elements.
This leads us to so-called \emph{beyond cohomology} SPTs.

There is a theory which is expected to capture everything,
which is the cobordism theory,
which I mentioned earlier on in the course.
For now I'll leave it at this.

\begin{question}
    In 1+1 dimensions,
    there are bosonic phases?
\end{question}
In 1+1 D,
even with no symmetry there is the Majorana chain.

\begin{question}
    In 1D you can always bosonize?
\end{question}
There is a real difference between fermions and bosons.
When you bosonize,
something that is local on one side is no longer local on the other side.
It's precisely because the notion of locality changes.

\begin{question}
    The cobordism is larger than the group cohomology.
    In 6D,
    they become the same cobordism phase.
    Different phases have different topological invariants.
    How do they collect into the same/
\end{question}
I don't know.
The argument why these different phases are different,
in 1D we say the constant depth circuits which trivialize it,
but I don't know what goes wrong in higher dimensions.

\begin{question}
    Example of invertible phases in (2+1)D?
\end{question}
The basic one is called the $E_8$ phase,
which has a chiral central charge of 8.
It does not need any symmetry to exist,
but it has chiral central charge of 8.
One way of thinking about it,
is stack 8 copies of the Kitaev honeycomb model,
condense a bunch of vortices,
and you get this.
Everything is made out of these $C_{-}=8$.

\begin{question}
    Is this related to the $E_8$ the Lie group?
\end{question}
You can take $E_8$ level 1 Chern-Simon theory and you get this.
Or you can get the Cartan matrix of the Lie algebra $E_8$.
It's intriguing this exceptional group $E_8$ comes up.

\begin{question}
    ??
\end{question}
We wrote this class of modes,
but there's no reason to expect this is full classification.
This is not even proven,
I would say,
in every dimensions.
This is just the current dimension.
The current understanding is,
there is a conjecture,
which is that bosonic SPTs in $(d+1)$-dimensions
are classified these cobordism groups
\begin{align}
    \Hom\left(\Omega_{d+1}\left( BG \right), U(1)
    \right)
\end{align}
which means the manifolds are equipped with a $G$-gauge field as well.
This is the Pontryagin dual.
Nothing is really proven in terms of full classification.
To prove rigorously topological phases are fully classified,
means you have to understand all topological phases,
which is really beyond our understanding.
This is based on what we understand so far and what seems to make sense.

This sketch, what is not captured?
In 2+1D the ones not captured are he ones with chiral edge models.
Its' because the edge gives you a Hamiltonian as a sum of commuting projectors,
which you can argue will always gap the edge.
This class of models cannot exhibit fully robust chiral edge modes.
The reason some anti-unitary symmetries are outside the group cohomology models
is a deeper issue.
It ultimately has to do with the fact that group cohomologies characterise the
ability to couple to background gauge fields,
but there's something beyond background gauge fields,
and there's no reason to think $G$-gauge theory should be enough on its own
anyway.

\begin{question}
    Edge modes in 1+1D?
\end{question}
Those are captured,
but hose are gappable.
If I break the symmetry I can get rid of them.
These are ones where even if you break all symmetries you cannot get rid of
them.

\begin{question}
    ??
\end{question}
These chiral central charge has nothing to do with symmetry,
it's like thermal Hall conductance.
It's true that anti-unitary symmetries,
you cannot gauge.
When you have a background $G$-gauge field,
you can promote it to a dynamical gauge field by summing over configurations.
You can't do that if talking about anti-unitary symmetries.

Let's talk a bit more about what the physical meaning of this $H^3$ is.
So far this $H^3$ we used to describe a class of models,
we saw in 1+1D,
we saw a projective action on the edge.
You guys asked if there is an analogy for higher dimensions.
There is.

\section{Physical origin of $H^3(G, U(1))$}
Let's just briefly recall that in $(1+1)$-D,
for the $H^2(G, U(1))$ what happens.
We considered a system on an open chain,
then applied a symmetry operation of $G$,
with representation $R_g$,
which localizes a s an action on the left $U_g^L$ and an action on the right end
point $U_g^R$,
and we get a projective phase we cannot get rid of and that is why we have this
second cohomology class.
\begin{align}
    U_g^L U_h^2
    =
    \omega_2(g, h)
    U_{gh}^L
\end{align}

Now consider $(2+1)$D. (Else-Nayak 2014)
The idea is to apply some symmetry operation and see hat happens on the edge.
Say your system is on a disk,
you apply a symmetry operation,
and see what it looks like on the edge.
We have some restriction of the operator on the edge,
then we cut that operator open,
so it looks like an operator on a segment.
Then we restrict $U_g^{\left( edge \right)}$
on a segment,
and we reduce it down to a point,
and we have a projective phase that turns up.

That's the rough idea.
To get this in more detail,
I want to say more about the idea
if we have a local unitary,
a unitary operator that arises as a constant depth local unitary circuit,
there's an idea of restricting that unitary to a subregion.

Consider a unitary $U$ acting on a space $C$.
$U$ is a local unitary,
meaning that it's a constant depth local quantum circuit.

Another local unitary $U_M$ is going to be the restriction of $U$ to a
submanifold $M$
if it acts exactly the same as $U$ on the subregion $M$ away from the
boundaries.
That is,
it acts the same as $U$ in the interior of $M$ far way from $\partial M$.
There are a few things you can say about such a restriction.

Firstly,
the restriction always exists.
Suppose we have a unitary that acts as some circuit on a bunch of qubits.
So something like this [picture].

Let's say this is $U$ acting on $C$.
I can always define a restriction
by cutting this unitary along some lines here,
and looking at the unitary only acting on the middle.
Obviously there's some ambiguity on the edge,
but in the bulk it's clear I can define a unitary that acts in the same way as
$U$.

It's important that $U$ is a constant depth circuit,
so there is a kind of light cone,
nothing on this side is going to cross to this side beyond a certain size.
Of course near the boundaries of $M$ there are ambiguities.

The restriction is obviously ambiguous near the boundaries,
and they are ambiguous up to some operators.

\begin{question}
    We must have some conditions on the size of the submanifold as well?
\end{question}
If it's too small compared to the depth of the circuit,
we can't do this.
We're assuming the region is large compared to the depth of the circuit.

The second thing is that this is defined modulo local unitaries near the
boundary $\partial M$.

This is the analogue of what we saw in $1+1$ dimensions.
We applied the symmetries,
acting like $U_g^L$ and $U_g^R$
where we could change the phase near the boundary,
and that's the ambiguity.
But here,
instead of a phase,
This is the higher-dimensional generalization of phase ambiguity.

Let's consider the symmetry operator
acting on the low energy subspace of the edge theory.
It's a unitary.
This state is gapped on the bulk,
but it's gapless on the boundary.
The states we are concerned with are where the edge is in some low energy
subspace,
so the excitations on the edge have a much lower energy than the bulk energy
gap.

Then we apply some symmetry operations.
Because the bulk is in the ground state and symmetric,
after applying $R_g$,
this is just applying $U_g^{edge}$ on the edge.

So let's assume $R_g R_h = R_{gh}$.
That's going to also be true for these edge operators.
If not,
there will be a projective representation no the edge,
which is in conflict that the ground state is unique and in the ground state.
For 1+1 D open chain,
the ground state is not symmetric,
because we have these edge states that can fuse to a singlet,
so we can have a symmetric ground state,
but we have a degeneracy when these things are far away from each other.
In higher dimensions,
the edge is connected,
even though there are gapless excitations on the edge,
it is still unique and symmetric.
\begin{align}
    U_g^{edge} U_h^{edge} u_{gh}^{edge}
\end{align}

If the edge preserves symmetry,
the ground state is unique,
then there is no projective representation for the edge.
Now we take this local unitary on the edge and we cut it open.

So suppose I take a cut.
\begin{align}
    U_g^{cut} U_h^{cut} = \Omega(g, h) U_{gh}^{cut}
\end{align}
where $\Omega(g, h)$
is a unitary operator with only support for the new end points $a$ and $b$.
For the bulk we do satisfy the group law,
but it's only at the edge boundary where we don't necessarily support the group
law.

Now we can consider associativity.
We considered
\begin{align}
    U_g^6cut U_h^{cut} U_k^{cut}
    =
    U_g^{cut}
    \Omega(h, k)
    U_{h,k}^{cut}\\
    &=
    ^g\Omega(h, k)\Omega(g, h, k) U_{ghk}^{cut}
\end{align}
where
\begin{align}
    ^g\Omega(h, k)
    :=
    U_g^{cut} \Omega(h, k)
    \left( U_g^{cut} \right)^{-1}
\end{align}
so then
\begin{align}
    U_g^6cut U_h^{cut} U_k^{cut}
    &=
    \Omega(g, h)
    \Omega(gh, k)
    U_{ghk}^{cut}
\end{align}
And so we are led to this equation
\begin{align}
    \Omega(g, h) \Omega(gh, k)
    =
    ^g\Omega(h, k)
    \Omega(g, h, k)
\end{align}
But now we realise $\Omega$ is an operator with support on $a$ nd $b$.
Consider restriction of $\Omega(g, h)$
to $\Omega_a(g, h)$.
And so we can consider some phase
\begin{align}
    \Omega_a(g, h)
    \Omega_a(gh, k)
    =
    \omega_3(g, h, k)
    ^g\Omega_a(h, k)
    \Omega_a(g, hk)
\end{align}
where $\omega_3(g,h,k) \in U(1)$
and $\omega_3 \in C^3(G, U(1))$.
But you see that $\Omega_3$ does need to satisfy the $3$-cochain equation
\begin{align}
    d\omega_3 = 1
\end{align}
So then if we change
\begin{align}
    \Omega_a(g, h)
    \to
    \Omega_a(g, h)
    \mu_2(g,h)
\end{align}
for $\mu_2\in U(1)$,
then
\begin{align}
    \omega_3 \to \omega_3\, d\mu_2
\end{align}
This shows us the distinct set of phases is classified by $H^2(G,U(1)$.
So distinct $\omega_3$'s are classified by
\begin{align}
    H^3(G, U(1))
\end{align}
So that associativity condition is satisfied up to a phase and that's where we
get this $H^3$.

There's no projective representation anywhere.
We're just restricting and cutting
until we finally get this.

In order to get this to work,
we need to assume something more specific about how $U_g^{edge}$ looks like.
In higher dimensions,
we have to assume
\begin{align}
    U_g^{edge}
    &=
    N_g
    S_g
\end{align}
where $N_g=\sum_\alpha e^{i N_g'(\alpha)}$ is non-on site but diagonal,
and $S_g=\sum_\alpha \bra{g \alpha}\ket{\alpha}$
And in general,
the docs appear

\begin{question}
    what happens if you had a system living on an annulus.
\end{question}
If you're taking about intrinsically 2D systems,
you can talk about the edge on a

I'm just focusing on this operator on one segment.
On that segment,
I satisfy this group up to 1

There are for mathematicians rigorous definitions and derivations.

I just wanted to mention one more ting.
Three's another way of phrasing these topological.

There is a compact way to define the topological action for group cohomology
models
\begin{align}
    Z\left( M^{d+1}, A \right) &=
    e^{iS_{top}(A)}
\end{align}
Firstly, every group $G$ has a corresponding space called ``classifying
spare'' $BG$.
The defining property is that
$\pi_1(GB) = G$
and
$\pi_k(BG)=0$
for $k>1$.
Every $G$ gauge field is in one-to-one correspondence with
homotopy classes of maps.
You can think of gauge fields as being a map from your manifold into your
classifying space.
$f: M^d \to BG$.
What we did when we triangulated the manifold,
and put gauge fields on links,
that actually does specify a map from $M$ to $BG$.
This is just a fancy way of saying what we did in practice.

The classifying space for the circle is
$B\mathbb{Z} = S^1$.
The classifying space for $\mathbb{Z}_2$ is
$B\mathbb{Z}_2 = \mathbb{RP}^{\infty}$.
The classifying space for phases is
$BU(1) = \mathbb{CP}^{\infty}$.

Secondly, the other thing is that group cohomology
$H^k(G, U(1))$
is equivalent to
``regular'' cohomology (singular de Rham cohomology)
Nakahara has a nice book called geometry, topology and physics..
\begin{align}
    H^k(G, U(1)) \simeq
    H^k(BG, U(1))
\end{align}
is true for finite $G$,
but is more subtle for groups.

Thirdly,
if I had a cohomology on $Y$,
I can get a class on $X$ and the map that does this is called
$f^*$, the \emph{pullback}.
That is,
if $f:X \to Y$,
then
\begin{align}
    f^*: H_k(Y, U(1)) \to H^k(X, U(1))
\end{align}
is the pullback.

We can put these 3 facts together.
Given a class $[w_{d+1}] \in H^{d+1}\left( BG, U(1) \right) \simeq H^{d+1}(G,
U(1)$
which is isomorphic
and a $G$ gauge field determined by
\begin{align}
    f_A: M^{d+1} \to BG
\end{align}
then we can define an element of the $H^{d+1}$ cohomology class
\begin{align}
    f_A^\left[ \omega_{d+1} \right]
    \in
    H^{d=1}\left( M^{d+1}, U(1) \right)
\end{align}
and then we have our path integral
\begin{align}
    e^{iS_{top}}
    &=
    e^{i\int_{M^{d+1}} f_A^*\left[ \omega_{d+1} \right]}\\
    &= Z\left( M^{d+1}, A \right)
\end{align}
These 3 facts allow you to package this path integral in this nice way.
Unfortunately,
I would need at least 3 lectures to unpack all of this.
I'm just telling you so you know where to look to learn about this.
Are there any questions?
Actually,
if you have questions,
I might not be able to answer it.

In the last minute,
I want to mention where I'm going next.

Suppose we have a TQFT with $G$-symmetry $T$.
We can always ``gauge'' $G$.
That means we promote he background $G$ gauge field to a dynamical gauge field,
which gives a new configuration $T$ mod $G$,
which is $T/G$.
I can then sum over flat gauge field configurations.
I put brackets to say we are summing over inequivalent ones that are not related
by gauge transformation.
\begin{align}
    Z_{T/G}\left( M^{d+1} \right)
    =
    \sum_{\left[ A \right]}
    Z_{\left[ \omega_{d+1} \right]}
    \left( M^{d+1}, A \right)
\end{align}
And so dynamical, topological $G$-gauge theory is classified by
$H^{d+1}\left( G, U(1) \right)$.
We are interested in 2 classes of this phenomena.

1. Discrete and finite $G$.
This leads to models like the toric code,
and more generally quantum double models.
Like Levin-Wen models, etc.
If we start off with an invertible theory,
and we gauge $G$,
we end up with a non-irreversible theory.
SO one way of getting non-invertible theories is this.

2. Continuous $G$.
This takes us toe Chern-Simons theory in $(2+1)$D.
At this point,
the discussion bifurcates.

We can talk about non-invertible phases
you get from gauging invertible theories.

We can also label things on triangulations and sum over all labels.
Next time,
I'll start getting into this quantum Chern-Simon theories,
which allows us to describe fractional quantum hall states,
which are the only experimentally realised non-invertible theory.

Are all non-invertible topological phases obtainable by gauging an invertible
TQFT.
30 year old conjecture by Moore and Cyberg still standing.
There are candidate counterexamples,
but we're not sure.


\section{Validation}

To validate our implementation of the stochastic simulation model, the 3 region problem previously solved using differential equations, is now solved using the stochastic model.

\begin{figure}[H]
	\centering
	\includegraphics[width= 1.0 \linewidth]{plots/sir_three_region_sim_10000.pdf}
	\caption{10 solutions using the stochastic simulation model, on the same 3-region problem as in the theoretical case.}
	\label{fig:sir_three_region_sim_10000}
\end{figure}

Figure \ref{fig:sir_three_region_sim_10000} shows a big discrepancy between the solution obtained using differential equations and those obtained using stochastic simulation. This is most likely because the differential equation model allows for transferring people partially. This means regions that has a very low probability of getting infected early in the stochastic model, starts their infection immediately in the differential equation model. This hypothesis can be validated by increasing the number of people in each region (N), as this will cause the discreteness of the stochastic model to be less important. The result of this can be seen in figure \ref{fig:sir_three_region_sim_1000000}.

\begin{figure}[H]
	\centering
	\includegraphics[width= 1.0 \linewidth]{plots/sir_three_region_sim_1000000.pdf}
	\caption{10 solutions using the stochastic simulation model, on the same 3-region problem as in the theoretical case.}
	\label{fig:sir_three_region_sim_1000000}
\end{figure}

As seen in figure \ref{fig:sir_three_region_sim_1000000} having more people results a much smaller discrepancy. This discrepancy caused by using a discrete model is not necessarily a failure of the stochastic model, but rather it is the differential equation model that overestimates the infection start for initially healthy regions, when the region populations are small.


\documentclass[11point]{article}

\usepackage[letterpaper,margin=1in]{geometry}

\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{bbm}
\usepackage{bm}

\newcommand{\beq}{\begin{eqnarray}}
\newcommand{\eeq}{\end{eqnarray}}
\renewcommand{\d}[1]{\:\mathrm{d}#1}
\renewcommand{\vec}[1]{\bm{#1}}
\newcommand{\grvec}[1]{\bm{#1}}

\newcommand{\one}{\mathbbm{1}}
\newcommand{\reals}{\mathbb{R}}

\newcommand{\df}[1]{\delta \left( #1 \right)}
\newcommand{\set}[1]{\left\{#1\right\}}

\newcommand{\var}[1]{\texttt{#1}}

\begin{document}
\section{Notation}
\begin{itemize}
\item
For any cell $i$ with center $\vec{x}_i$, let $R_i$ denote the
region of space occupied by it. Assume that for any other cell
$j$, that $R_i \cap R_j = \emptyset$.
\item
For any  computational
mesh with voxels $\set{ \Omega }$ and corresponding
volumes $\set{W}$, let $\rho( \Omega) $ denote the mean
substrate density in voxel $\Omega$, and let
$n(\Omega) = \int_\Omega \rho \d{V}$ denote the total
 amount of substrate in the voxel.

Note that BioFVM tracks the mean substrate density in each voxel,
so $\rho \equiv \rho( \Omega )$ throughout $\Omega$.
\item
For any voxel $\Omega_k$ with an index $k$, let $W_k$ denote
its volume, define $\rho_k = \rho( \Omega_k )$, and
define $n_k = n( \Omega_k)$.

\item
For any cell $i$ with center $\vec{x}_i$, let $\Omega_i$ denote the
voxel containing cell $i$, with corresponding volume $W_i$.
\item
Let $\one_i(\vec{x})$ be the characteristic  function for the cell, so that
$\one_i(\vec{x}) =1$ inside the cell (inside $R_i$), and
$\one_i(\vec{x}) = 0$ otherwise.
\item
Let $V_i = \int_{\reals^3} \one_i(\vec{x}) \d{V} = V_i$ be the total volume of cell $i$.
\item
For any cell $i$, let $N_i$ denote the \emph{internalized} total substrate.

\end{itemize}

\section{Net extracellular substrate change
due to the $i^\textrm{th}$ cell}
Note that in BioFVM the cells' contribution
to changes in total substrate in any volume $\Omega$ is given by
\beq
\frac{ \partial }{ \partial t}
\int_\Omega \rho \d{V} & = &
\sum_{\textrm{cells } i}
\int_\Omega  \one_i(\vec{x})
\Bigl(  S_i \left( \rho^T_i - \rho \right)  - U_i \rho   \Bigr) \d{V}\\
& \approx &
\sum_{\textrm{cells } i}
V_i \int_\Omega \df{ \vec{x} - \vec{x}_i }
\Bigl(  S_i \left( \rho^T_i - \rho \right)  - U_i \rho   \Bigr) \d{V}.
\eeq

Now, let $\Omega = \Omega_i$ be the voxel containing $\vec{x}_i$ as
defined above. Then assuming that only cell $i$ is in $\Omega_i$:  \beq
\frac{ d{n_i} }{ d{t} }
=
\frac{ \partial }{ \partial t}
\int_{\Omega_i} \rho \d{V}
 & \approx &
V_i
\Bigl(  S_i \left( \rho^T_i - \rho(\vec{x}_i) \right)  - U_i \rho(\vec{x}_i)   \Bigr)  \\
& = &
V_i
\Bigl(  S_i \left( \rho^T_i - \rho_i \right)  - U_i \rho_i   \Bigr) .
\eeq
(The case with multiple cells in a single computational voxel generalizes by performing this calculation separately for each cell contained in the voxel.)

Now, because $n_i = \rho_i W_i $, and asssuming $W_i$ is constant or changes very slowly compared to substrate densities,
\beq
W_i \frac{ d{\rho_i} }{ d{t} }  & \approx &
V_i
\Bigl(  S_i \left( \rho^T_i - \rho_i \right)  - U_i \rho_i   \Bigr)   \\
\Longrightarrow
\frac{d\rho_i }{dt} & \approx &
\frac{ V_i }{W_i }
\Bigl( S_i \left( \rho_i^T - \rho_i \right) - U_i \rho_i \Bigr)
\eeq

\subsection{BioFVM implementation}
Now, let's apply a backward Euler scheme as in BioFVM, to determine the net change in total substrate in any time step with duration $\Delta t$:
\beq
\frac{ \rho_i(t+\Delta t) - \rho_i(t)}{\Delta t}
& \approx &
\frac{ V_i }{W_i }
\Bigl( S_i \left( \rho_i^T - \rho_i(t+\Delta t) \right)
- U_i \rho_i( t + \Delta t ) \Bigr)\\
\Longrightarrow
\rho_i( t+\Delta t)
& \approx &
\frac{\rho_i(t)  + c_1 }{c_2},
\eeq
where
\beq
c_1 & = & \Delta t \frac{ V_i }{W_i }
\left( S_i \rho_i^T \right) \\
c_2 & = & 1 + \Delta t \frac{ V_i }{W_i }
\left( S_i + U_i \right) .
\eeq

This is the algorithm in

\begin{center}\verb|void Basic_Agent::simulate_secretion_and_uptake( Microenvironment* pS, double dt )|
\end{center}

The constants $c_1$ and $c_2$ are set in
\verb|void Basic_Agent::set_internal_uptake_constants( double dt )|.

\subsection{Net extracellular substrate change}

Now, let's determine the change in total substrates in this implementation. First,
\beq
n_i(t+\Delta t ) - n_i(t) & = &
W_i \rho_i(t+\Delta t) - W_i \rho_i(t) \\
& = &
W_i \left( \frac{\rho_i(t)+c_1}{c_2} - \rho_i(t) \right) \\
& = &
W_i \left( \frac{\rho_i(t) + c_1  - c_2 \rho_i(t) }{c_2} \right) \\
& = &
W_i \left( \frac{ (1-c_2) \rho_i(t) + c_1  }{c_2} \right) \\
\eeq
Notice that this can be calculated completely using constants that are already computed and used in BioFVM.
\subsection{Algorithm}
We will use the following operations in the cell secretion/uptake function. (In the actual implementation,
perform this on the entire vector of substrates, and use element-wise operations. i.e., Hadamard products and
quotients.)
\begin{enumerate}
\item
\verb|change = 1 // 1|
\item
\verb|change -= c2 // 1-c2|
\item
\verb|change *= substrates // (1-c2)*rho|
\item
\verb|change += c1 // (1-c2)*rho + c1|
\item
\verb|change /= c2 // ((1-c2)*rho + c1)/c2|
\item
\verb|change *= voxel_volume // W_i*((1-c2)*rho + c1)/c2|
\end{enumerate}
This is the net change in total substrates in $\Omega_i$. For conservation,
the net chnage in cell $i$ is equal and opposite. Thus
\begin{enumerate}
\setcounter{enumi}{6}
\item
\verb|internalized_substrates -= change|
\end{enumerate}

\section{Additional option(s)}
If you set \verb|Basic_Agent::use_internal_densities_as_targets = true|, then whenever
the internal constants are changed, it sets
\beq
\rho_i^* & = & \frac{N_i}{V_i}
\eeq
This criterion would be appropriate for non-active, diffusive secretion from the cell.

Please note that
if $\rho_i^* < \rho_i$, there is nothing in the mathematical form to prevent diffusion of the substrate
back into the cell. If this is a concern, I suggest users manually test for that and set
the secretion rates to zero accordingly.

Future releases of PhysiCell may automate this testing, but we note that this test should be performed
substrate-by-substrate.

\section{Internal model}
Without an internal model, internalized substrate will reflect the total history of
all uptaken substrates, or the sum tutoal fo all secreted substrates.  In particular,
in the case of secretion, the internalized value will be negative to upload mass conservation. (No thing made inside, minus the secreted amount.)

Users can provide their own internal model (e.g., for metabolomics), but we provide a ``sensible default.'' Inside the cell, we model:
\beq
\frac{dN}{dt} & = & \overbrace{-u N}^\textrm{use} + \overbrace{c ( N^* -  n)}^\textrm{creation} \\
& = &
-u \rho_I W + s( \rho_I^* - \rho_E ) W,
\eeq
where $\rho_I$ is the internal density, and $c$, $u$, and $\rho_I^*$ are to be determined. We shall give the rationale for this form in the analysis below.

To determine these parameters, let us consider the total amount of substrate in the cell:
\beq
\frac{dN}{dt} & =&
\overbrace{ U \rho_E W  }^\textrm{import}
-
\overbrace{ S \left( \rho_E^* - \rho_E \right) W }^\textrm{export}
-
\overbrace{ u \rho_I W }^\textrm{internal use}
+
\overbrace{ c \left( \rho_I^* - \rho_E \right)W  }^\textrm{internal creation}
\eeq
Now, consider the case where there is uptake and use but no creation or secretion. Then
\beq
\frac{dN}{dt} & = &
U\rho_E W - u \rho_I W = \left( U \rho_E - u \rho_I \right) W.
\eeq
In quasi-steady (or steady) conditions, we seek $u$ so that
$\rho_I \approx \rho_E$. Notice that if $u = U$, then
\beq
\frac{dN}{dt}  & = & U \left( \rho_E - \rho_I \right) W,
\eeq
and so $\rho_I = \rho_E$ in quasi-steady condition. This model
balances import with internal use. Moreover, if we balance all substrate in the
environment (assuming without loss of generality only one uptaking cell):
\beq
\frac{d}{dt} \left( n + N \right) & = &
- U \rho_E W + U \rho_E W - U \rho_I V = - U \rho_I W,
\eeq
and over long times, $\rho_I \approx \rho_E$ , so we arrive at the
normal situation from BioFVM where the overall loss rate is
$- U \rho_E W$.

Next, consider the case of only creation and export. In that case,
\beq
\frac{dN}{dt} & = &
-S ( \rho_E^* - \rho_E ) W + s ( \rho_I^* - \rho_E) W.
\eeq
Suppose we follow our prior motivation and set $s = S$. Then
\beq
\frac{dN}{dt} & = &
S \left( - \rho_E^*  + \rho_E + \rho_I^* - \rho_E \right) W
= S \left( -\rho_E^* + \rho_I^* \right)W.
\eeq
If we choose $\rho_I^* = \rho_E^*$, then
\beq
\frac{dN}{dt} &  = & 0
\eeq
and so we have successfully balanced creation and export. This the
motivation for the functional form $s ( \rho_I^* - \rho_E)$ instead
of the more obvious $s ( \rho_I^* - \rho_I)$. The biophysical interpretation
is that the cell internally creates the substrate until the extenral density
reaches the target value.

\subsection{Summary:}
Returning now to the original notation where $\vec{\rho}$ is the vector of (extracellular) substrate densities, $\vec{N}$ is the vector of total internalized
substrates, then we use (as an internal model), and
\beq
\frac{d\vec{N}}{dt} & = &
- \vec{u}\circ \vec{N} + \vec{c} \circ \left( \vec{\rho}^* - \vec{\rho}  \right)W
\eeq
and we set defaults:
\beq
\vec{u} & = & \vec{U} \\
\vec{c} & = & \vec{S}
\eeq

\section{Key cellular processes}
When a cell divides, it must distribute its internalized substrates to its daughter cells while maintaining conservation of mass.

In PhysiCell 1.5.0, we do this by dividing the substrate by half in each of the daughter cells.

When a cell dies and is removed by the simulation, multiple things could happen: for some substrates, it may make sense to
remove them from the environment entirely, release it entirely at the time of lysis, or slowly release it back into the environment
while the cell degrades.

In PhysiCell, we opt for the simplest solution: release (some fraction) of internalized substrates when the basic agent (and hence cell) calls
its destructor. Let $0 \le F \le 1$ denote the fraction of internalized
substrates released at the time of death.

We overwrite the density in the cell's voxel by first noting that there should be conservation of mass:
\beq
n_i( t + \Delta t ) & = &
n_i( t ) + F N_i (t)  \\
\Longrightarrow
V_i \rho_i(t + \Delta t) & = &
V_i \rho_i(t) + F N_i(t) \\
\Longrightarrow
\rho_i( t + \Delta t ) & = &
\rho_i(t) + \frac{F}{V_i} N_i
\eeq

\end{document}


\documentclass{article}
\usepackage{amsmath}

\setlength\parindent{0pt}

\title{Learning Notes on Statistical Learning Theory}
\author{a1trl9}
\date{}

\begin{document}
\maketitle
\section{Lecture 3}
We have achieved:
\begin{equation}
    L(\hat{\theta})-L(\theta^{*}) \approx \frac{p}{2n} + o(\frac{1}{n})
\end{equation}
The limitation of the result above is we assume the data are precisely
distributed according to a particular ground truth parameter \(\theta^{*}\).
Also, we ignore the dependence of higher order terms on other hyperparameters.

\subsection{Uniform Convergence Framework}

\textbf{Definition:} uniform convergence is a property of hypothesis
class \(\mathcal{H}\) of the following form:
\begin{equation}
\mathrm{Pr}[\forall h \in \mathcal{H}, | \hat{L}(\theta)-L(\theta)\leq \epsilon] \geq 1 - \delta
\end{equation}

\textbf{Why uniform convergence framework implies generalization?}
\vspace{2mm}
\begin{equation}
\begin{aligned}
&L(\hat{h})-L(h^{*})\\
&=L(\hat{h}) - \hat{L}(\hat{h})+\hat{L}(\hat{h})-\hat{L}(h^{*})+\hat{L}(h^{*})-L(h^{*})
\end{aligned}
\end{equation}

Since \(\hat{h}\) is the optimal solution for the training example, \(\hat{L}(\hat{h})-\hat{L}(h^{*})\leq 0\), so
we get:
\begin{equation}
\begin{aligned}
L(\hat{h})-L(h^{*})&\leq L(\hat{h}) - \hat{L}(\hat{h})+0+\hat{L}(h^{*})-L(h^{*})\\
&\leq |L(\hat{h})-\hat{L}(\hat{h})| + |\hat{L}(h^*)-L(h^*)|\\
&\leq 2|L({h})-\hat{L}(h)|
\end{aligned}
\end{equation}

Therefore, when uniform convergence holds:
\begin{equation}
\mathrm{Pr}(L(\hat{h})-L(h^{*})\leq 2\epsilon)\geq\mathrm{Pr}[\forall h \in \mathcal{H}, | \hat{L}(\theta)-L(\theta)\leq \epsilon]\geq 1-\delta
\begin{aligned}
\end{aligned}
\end{equation}

\subsection{Finite Hypothesis Classes}
If \(\mathcal(H)\) is finite and \(l(x, y), h)\in [0, 1]\), we have the
following statements (based on Hoeffding Inequality):
\begin{enumerate}
\item For any fixed \(h\in \mathcal{H}\) and \(\epsilon > 0\):
\begin{equation*}
\mathrm{Pr}[|\hat{L}(h)-L(h)|\leq \epsilon] \geq 1 - 2e^{-2n\epsilon^2}
\end{equation*}
\item For any \(\epsilon > 0\):
\begin{equation*}
\mathrm{Pr}[\forall h\in \mathcal{H}, | \hat{L}(h) - L(h)| \leq \epsilon]\geq 1 - 2|\mathcal{H}|e^{-2n\epsilon^2}
\end{equation*}
\end{enumerate}
\end{document}


\subsection{Prior and posterior predictive distributions for dependent variables}

\subsubsection{Prior predictive distribution}

Our prior predictive distribution for \(P(y|X)\) depends on our prior for \(\theta \).

\(P(y|X)=\int_\Theta P(\mathbf y|X, \theta)P(\theta )d\theta \)

\subsubsection{Posterior predictive distribution}

Once we have calculated \(P(\theta |\mathbf y, \mathbf X)\), we can calculate a posterior probability distribution for \(P(y|X)\).

\(P(y|\mathbf x, \mathbf y,  \mathbf X )=\int_\Theta P(y|\mathbf x, \theta)P(\theta |\mathbf y, \mathbf X)d\theta \)


\subsection{Indifference curves}

We have \(U=f(x,y)\)

An indifference curve is a curve where a consumer is indifferent to all points on it.

\(f(x,y)=c\)

\subsection{Marginal rate of substitution}

The marginal rate of substitution is the amount of one good that a customer is willing to give up for another.

This is the gradient of the indifference curve.

\(MRS(x_1, x_2)=\dfrac{MU(x_1)}{MU(x_2)}\)

\(MU(x_1) = \dfrac{1}{x_1}\alpha_1\prod_i x_i^{\alpha_i}\)
\(MU(x_2) = \dfrac{1}{x_2}\alpha_2\prod_i x_i^{\alpha_i}\)

\(MRS(x_1, x_2)=\dfrac{\dfrac{1}{x_1}\alpha_1\prod_i x_i^{\alpha_i}}{\dfrac{1}{x_2}\alpha_2\prod_i x_i^{\alpha_i}}\)

\(MRS(x_1, x_2)=\dfrac{\dfrac{1}{x_1}\alpha_1}{\dfrac{1}{x_2}\alpha_2}\)

\(MRS(x_1, x_2)=\dfrac{\dfrac{\alpha_1}{x_1}}{\dfrac{\alpha_2}{x_2}}\)


\documentclass[12pt]{cdblatex}
\usepackage{examples}
\usepackage{fancyhdr}
\usepackage{footer}

\begin{document}

% ============================================================================================
\bgroup
\CdbSetup{action=hide}
\begin{cadabra}
   import cdblib
   checkpoint_file = 'tests/semantic/output/example-01.json'
   cdblib.create (checkpoint_file)
   checkpoint = []
\end{cadabra}
\egroup

\clearpage

% ============================================================================================
\section*{Example 1 The metric connection}

\begin{cadabra}
   # Define some properties

   {a,b,c,d,e,f,h,i,j,k,l,m,n,o,p,q,r,s,t,u#}::Indices.

   g_{a b}::Metric.
   g_{a}^{b}::KroneckerDelta.

   \nabla{#}::Derivative.
   \partial{#}::PartialDerivative.

   # Define rules for covariant derivative and the Christoffel symbol

   nabla := \nabla_{c}{g_{a b}} -> \partial_{c}{g_{a b}} - g_{a d}\Gamma^{d}_{b c}
                                                         - g_{d b}\Gamma^{d}_{a c}.   # cdb (nabla.100,nabla)

   Gamma := \Gamma^{a}_{b c} -> (1/2) g^{a d} (  \partial_{b}{g_{d c}}
                                               + \partial_{c}{g_{b d}}
                                               - \partial_{d}{g_{b c}} ).   # cdb (Gamma.100,Gamma)

   # Start with a simple expression

   cderiv := \nabla_{c}{g_{a b}}.                                           # cdb (ex-01.100,cderiv)

   # Do the computations

   substitute          (cderiv, nabla)                                      # cdb (ex-01.101,cderiv)
   substitute          (cderiv, Gamma)                                      # cdb (ex-01.102,cderiv)
   distribute          (cderiv)                                             # cdb (ex-01.103,cderiv)
   eliminate_metric    (cderiv)                                             # cdb (ex-01.104,cderiv)
   eliminate_kronecker (cderiv)                                             # cdb (ex-01.105,cderiv)
   canonicalise        (cderiv)                                             # cdb (ex-01.106,cderiv)

   checkpoint.append (cderiv)
\end{cadabra}

\clearpage

\begin{align*}
   &\Cdb{nabla.100}\\
   &\Cdb{Gamma.100}
\end{align*}

\begin{align*}
   \cdb{ex-01.100} &= \Cdb{ex-01.101}\\
                   &= \Cdb{ex-01.102}\\
                   &= \Cdb{ex-01.103}\\
                   &= \Cdb{ex-01.104}\\
                   &= \Cdb{ex-01.105}\\
                   &= \Cdb{ex-01.106}
\end{align*}

\clearpage

% ============================================================================================
% export to json format

\bgroup
\CdbSetup{action=hide}
\begin{cadabra}
   for i in range( len(checkpoint) ):
      cdblib.put ('check{:03d}'.format(i),checkpoint[i],checkpoint_file)
\end{cadabra}
\egroup

\end{document}


% !TEX encoding = UTF-8 Unicode
\documentclass[12pt]{scrartcl}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{url}
\usepackage[utf8]{inputenc}
\usepackage{units}

\author{Michael Kiefer}\publishers{MaibornWolff GmbH, Versmannstr. 2, 20457 Hamburg}
\title{Calculations for the Clean-Air UVC device}

\begin{document}
\maketitle{}

\section{Concept}
We consider a set-up with air flowing through a cylinder, assuming the flow is independent of the position in the cylinder. At the center of the cylinder, we have the UVC lamp (a fluorescent tube).
We want to calculate the energy that gets deposited on a virus particle while passing through the cylinder. The worst case is a virus passing at the wall of the cylinder, with the greatest distance to the lamp.

At that position, we have an Irradiance $I$ as
\begin{equation}
I   = \frac{E}{A_{\text{surface}}},  \label{eqn:irradiance}
\end{equation}
with the Energy $E$ and the side surface of the cylinder $A_{\text{surface}}$,

The outer surface of the tube is determined by the length $l$ and the radius $r$ of the tube as

\begin{equation}
A_{\text{surface}} = 2\pi r l.  \label{eqn:surface}
\end{equation}

The energy is determined by the power $P$ emitted by the lamps within the time $t$ that it takes for a volume element to pass through the irradiated part of the tube

\begin{equation}
E = P  t  \label{eqn:energy}
\end{equation}

We derive the time from the air flow $\Phi$, the volume $V$ that passes through the tube in a given time.
\begin{align}
\Phi &= V / t\\
\Rightarrow t &=V / \Phi
\end{align}

The volume is given by the geometry of the cylinder, using length and base area $A_{\text{base}}$
\footnote{we do not use the cylinder's radius fo calculating the area here, as we want to keep it for the generalization in section \ref{sect:multitube}.}
\begin{equation}
V = l A_{\text{base}} \label{eqn:volume}
\end{equation}

With equations \eqref{eqn:energy}, \eqref{eqn:volume} and \eqref{eqn:surface} in \eqref{eqn:irradiance}, we obtain
\begin{equation}
I =\frac{P }{\Phi } \frac{A_{\text{base}}}{2 \pi r }\label{eqn:irradiance_final}
\end{equation}

\section{Multiple lamps}\label{sect:multitube}
We want to estimate the irradiance created by multiple lamps at a certain position in our setup. At such a position, we can calculate the irradiance $I_i $ caused by each of the lamps $i$ with \eqref{eqn:irradiance_final} using the distance to the lamp as $r_{i}$. The resulting irradiance is simply the sum of these\footnote{$P$ in this case is the sum of the powers of the individual lamps $P_i$.}.
\begin{equation}
I_{\text{total}}=  \sum_{i} I_i = \frac{P A_{\text{base}}}{\Phi 2 \pi}  \sum_{i} \frac{1}{ r_i }
\end{equation}

In order to disable the virus particles, we need to expose them to a certain level of irradiation. With this targeted value $I_{\text{target}}$ given, we can calculate the maximum flow $\Phi_{\text{max}}$ that our device can process as

\begin{equation}
\Phi_{\text{max}}=  \frac{P A_{\text{base}}}{I_{\text{target}} 2 \pi}  \sum_{i} \frac{1}{ r_i }
\end{equation}

\section{Application to the MaibornWolff clean air device}

\begin{figure}
   \centering
   \includegraphics[width=0.45\linewidth]{images/PosA.png} % requires the graphicx package
   \includegraphics[width=0.45\linewidth]{images/PosB.png} % requires the graphicx package
   \caption{Distances at position A (left) and B (right)}
   \label{fig:distances}
\end{figure}

Numbers on the irradiation dose vary.
In order to deactivate coronavirus particles, \cite {ozog}  says that an irradiation of $\unit[10]{J/m^2}$ is sufficient. However, \cite{bianco} says that an irradiation of $\unit[37]{J/m^2}$ is needed. In \cite{hessling} this value is given as the probable value for the log-reduction dose which would mean that such an irradiation would at least deactivate 90\% of the virus particles. For the ongoing calculation, we aim at an irradiation with $\unit[120]{J/m^2}$ which would mean a log-3 reduction in case of the number given by \cite{hessling}.

In our set-up, the lamps each consume $\unit[36]{W}$ in electrical power and emit $\unit[12]{W}$ of UVC light.

The two sets of distances given in figure \ref{fig:distances} describe the positions that are furthest away from the lamps and thus the places where the irradiation is the weakest.

Using the excel sheet attached in the source repository, we calculate that the maximum throughput the device can tend to is in the range of $\unit[1000]{m^3/h}$. The WHO recommends an exchange rate of 6 air changes per hour \cite{who}. Assuming a height of $\unit[2.5]{m}$, this means that one device is appropriate for a room of up to $\unit[66]{m^2}$.

\begin{thebibliography}{9}

\bibitem{hessling}
   Heßling, Martin et al.
   “Ultraviolet irradiation doses for coronavirus inactivation - review and analysis of coronavirus photoinactivation studies.”
   GMS hygiene and infection control vol. 15 Doc08.
   14 May. 2020,
   doi: https://doi.org/10.3205/dgkh000343

\bibitem{bianco}
  Andrea Bianco et al.,
  "UV-C irradiation is highly effective in inactivating and inhibiting SARS-CoV-2 replication"
  medRxiv 2020.06.05.20123463
  doi: https://doi.org/10.1101/2020.06.05.20123463

\bibitem{ozog}
  David M. Ozog, et al.,
  The Effect of Ultraviolet C Radiation Against SARS-CoV-2 Inoculated N95 Respirators
  medRxiv 2020.05.31.20118588; doi: \url{https://doi.org/10.1101/2020.05.31.20118588}

\bibitem{who}
  Coronavirus disease (COVID-19): Ventilation and air conditioning in health facilities
  29 July 2020  Q\&A
  \url{https://www.who.int/news-room/q-a-detail/coronavirus-disease-covid-19-ventilation-and-air-conditioning-in-health-facilities}

\end{thebibliography}

\end{document}


%---------------------------Relative Size Squared---------------------------
\section{Relative Size Squared\label{s:hex-relative-size-squared}}

Consider the ratio $D$ of the hex volume to the average volume of an ensemble of hexahedra:
\[
D = \frac{\sum_{i=0}^7 \alpha_i}{8\overline{V}} = \frac{\alpha_8}{64\overline{V}}.
\]
The relative size the minimum of $D$ and its inverse; and the relative size squared is
\[
  q = \left(\min\left\{ D, \frac {1}{D} \right\}\right)^2 .
\]

Note that if $\overline{V} < DBL\_MIN$ or $D \leq DBL\_MIN$, we set $q = 0$.

\hexmetrictable{relative size squared}%
{$1$}%                                        Dimension
{$[0.5,1]$}%                                  Acceptable range
{$[0,1]$}%                                    Normal range
{$[0,1]$}%                                    Full range
{Dependent on $\overline{V}$}%                Cube
{\cite{knu:03}}%                              Citation
{v\_hex\_relative\_size\_squared}%            Verdict function name