text:
\section{Introduction}

High-energy particle physics has become a field where precision measurements have become possible.
Of course, the increase in experimental precision has to be matched with more accurate calculations
from the theoretical side.
As theoretical calculations are done within perturbation theory,
this implies the calculation of higher order corrections.
This in turn
relies to a large extent on our abilities to compute Feynman loop integrals.
These loop calculations are complicated by the occurrence
of ultraviolet and infrared singularities.
Ultraviolet divergences are related to the high-energy behaviour of the integrand.
Infrared divergences may occur if massless particles are present in the theory
and are related to the low-energy or collinear behaviour of the integrand.

Dimensional regularisation \cite{'tHooft:1972fi,Bollini:1972ui,Cicuta:1972jf}
is usually employed to regularise these singularities.
Within dimensional regularisation one considers the loop integral in $D$ space-time dimensions
instead of the usual four space-time dimensions.
The result is expanded as a Laurent series in the parameter $\varepsilon=(4-D)/2$, describing the deviation
of the $D$-dimensional space from the usual four-dimensional space.
The singularities manifest themselves as poles in $1/\varepsilon$.
Each loop can contribute a factor $1/\varepsilon$ from the ultraviolet divergence and a factor $1/\varepsilon^2$
from the infrared divergences.
Therefore an integral corresponding to a graph with $l$ loops can have poles up to $1/\varepsilon^{2l}$.

At the end of the day, all poles disappear: The poles related to ultraviolet divergences
are absorbed into renormalisation constants.
The poles related to infrared divergences cancel in the final result for infrared-safe observables,
when summed over all degenerate states
or are absorbed into universal parton distribution functions.
The sum over all degenerate states involves a sum over contributions with different
loop numbers and different numbers of external legs.

However, intermediate results are in general a Laurent series in $\varepsilon$
and the task is to determine the coefficients of this Laurent series up to a certain order.
At this point mathematics enters. We can use the algebraic structures associated to Feynman integrals
to derive algorithms to calculate them.
A few examples where the use of algebraic tools has been essential are the calculation of the
three-loop Altarelli-Parisi splitting functions
\cite{Moch:2004pa,Vogt:2004mw}
or the calculation of the two-loop amplitude for the process $e^+ e^- \rightarrow \; \mbox{3 jets}$
\cite{Garland:2001tf,Garland:2002ak,Moch:2002hm,GehrmannDeRidder:2007bj,GehrmannDeRidder:2007hr,GehrmannDeRidder:2008ug,GehrmannDeRidder:2009dp,Weinzierl:2008iv,Weinzierl:2009ms,Weinzierl:2009yz}.

On the other hand is the mathematics encountered in these calculations of interest in its own right
and has led in the last years to a fruitful interplay between mathematicians and
physicists.
Examples are the relation of Feynman integrals to mixed Hodge structures and motives, as well as
the occurrence of certain transcendental constants in the result of a calculation\cite{Bloch:2005,Bloch:2008jk,Bloch:2008,Brown:2008,Brown:2009a,Brown:2009b,Schnetz:2008mp,Schnetz:2009,Aluffi:2008sy,Aluffi:2008rw,Aluffi:2009b,Aluffi:2009a,Bergbauer:2009yu,Laporta:2002pg,Laporta:2004rb,Laporta:2008sx,Bailey:2008ib,Bierenbaum:2003ud}.

This article is organised as follows:
After a brief introduction into perturbation theory (sect.~\ref{sect:perturbation_theory}),
multi-loop integrals (sect.~\ref{sect:multi_loop}) and periods (sect.~\ref{sect:periods}),
we present in sect.~\ref{sect:theorem} a theorem stating that under rather weak assumptions the coefficients of the
Laurent series of any multi-loop integral are periods.
The proof is sketched in sect.~\ref{sect:sector_decomp} and sect.~\ref{sect:hironaka}.
Shuffle algebras are discussed in sect.~\ref{sect:shuffle}.
Sect.~\ref{sect:polylog} is devoted to multiple polylogarithms.
In sect.~\ref{sect:calc} we discuss how multiple polylogarithms emerge in the calculation of Feynman
integrals.
Finally, sect.~\ref{sect:conclusions} contains our conclusions.

\section{Perturbation theory}
\label{sect:perturbation_theory}

In high-energy physics experiments one is interested in scattering processes with two
incoming particles and $n$ outgoing particles.
Such a process is described by a scattering amplitude, which can be calculated in perturbation theory.
The amplitude has a perturbative expansion in the (small) coupling constant $g$:
\begin{eqnarray}
\label{basic_perturbative_expansion}
 {\mathcal A}_n & = & g^n \left( {\mathcal A}_n^{(0)} + g^2 {\mathcal A}_n^{(1)} + g^4 {\mathcal A}_n^{(2)} + g^6 {\mathcal A}_n^{(3)} + ... \right).
\end{eqnarray}
To the coefficient ${\mathcal A}_n^{(l)}$ contribute Feynman graphs with $l$ loops and $(n+2)$ external legs.
The recipe for the computation of ${\mathcal A}_n^{(l)}$ is as follows: Draw first all Feynman diagrams with the given number
of external particles and $l$ loops. Then translate each graph into a mathematical formula with the help of the Feynman
rules.
${\mathcal A}_n^{(l)}$ is then given as the sum of all these terms.

Feynman rules allow us to translate a Feynman graph into a mathematical formula.
These rules are derived from the fundamental Lagrange density of the theory,
but for our purposes it is sufficient to accept them as a starting point.
The most important ingredients are internal propagators, vertices and external lines.
For example, the rules for the propagators of a fermion or a massless gauge boson read
\begin{eqnarray}
\mbox{Fermion:}\;\;\;
\begin{picture}(50,20)(0,10)
 \ArrowLine(50,15)(0,15)
\end{picture} & = &
 i \frac{p\!\!\!/ +m }{p^2-m^2+i\delta},
 \nonumber \\
\mbox{Gauge boson:}\;\;\;
\begin{picture}(50,20)(0,10)
 \Photon(0,15)(50,15){4}{4}
\end{picture} & = &
 \frac{-i g_{\mu \nu}}{k^2+i\delta}.
\end{eqnarray}
Here $p$ and $k$ are the momenta of the fermion and the boson, respectively. $m$ is the mass of the fermion.
$p\!\!\!/=p_\mu \gamma^\mu$ is a short-hand notation for the contraction of the momentum with the Dirac matrices.
The metric tensor is denoted by $g_{\mu\nu}$ and the convention adopted here is to take the metric tensor as
$g_{\mu\nu} = \mbox{diag}(1,-1,-1,-1)$.
The propagator would have a pole for $p^2=m^2$, or phrased differently for $E=\pm \sqrt{\vec{p}^2+m^2}$.
When integrating over $E$, the integration contour has to be deformed to avoid these two poles.
Causality dictates into which directions the contour has to be deformed.
The pole on the negative real axis is avoided
by escaping into the lower complex half-plane, the pole at the positive real axis is avoided by a deformation
into the upper complex half-plane. Feynman invented the trick to add a small imaginary part $i\delta$ to the
denominator, which keeps track of the directions into which the contour has to be deformed.
In the following we will usually suppress the $i\delta$-term in order to keep the notation compact.

As a typical example for an interaction vertex let us look at the vertex involving a fermion pair and a gauge boson:
\begin{eqnarray}
\begin{picture}(50,30)(0,15)
 \Photon(0,20)(30,20){4}{2}
 \Vertex(30,20){2}
 \ArrowLine(30,20)(50,40)
 \ArrowLine(50,0)(30,20)
\end{picture} & = &
 i g \gamma^{\mu}.
 \\
 & & \nonumber
\end{eqnarray}
Here, $g$ is the coupling constant and $\gamma^\mu$ denotes the Dirac matrices.
At each vertex, we have momentum conservation: The sum of the incoming momenta equals the sum of the outgoing momenta.

To each external line we have to associate a factor, which describes the polarisation of the corresponding particle:
There is a polarisation vector $\varepsilon^\mu(k)$ for each external gauge boson and a spinor
$\bar{u}(p)$, $u(p)$, $v(p)$ or $\bar{v}(p)$ for each external fermion.

Furthermore there are a few additional rules: First of all, there is an
integration
\begin{eqnarray}
 \int \frac{d^4k}{(2\pi)^4}
\end{eqnarray}
for each loop. Secondly, each closed fermion loop gets an extra factor of $(-1)$.
Finally, each diagram gets multiplied by a symmetry factor $1/S$,
where $S$ is the order of the permutation group
of the internal lines and vertices leaving the diagram unchanged when the external lines are fixed.

Having stated the Feynman rules, let us look at two examples:
The first example is a scalar two-point one-loop integral with zero
external momentum:
\begin{eqnarray}
\begin{picture}(100,40)(0,30)
 \Line(10,35)(25,35)
 \Line(75,35)(90,35)
 \CArc(50,35)(25,0,360)
 \Vertex(25,35){2}
 \Vertex(75,35){2}
 \Text(5,35)[r]{\scriptsize $p=0$}
 \Text(50,55)[t]{\scriptsize $k$}
 \Text(50,5)[t]{\scriptsize $k$}
\end{picture}
 & = &
\int \frac{d^4k}{(2\pi)^4} \frac{1}{(k^2)^2}
 =
\frac{1}{(4\pi)^2} \int\limits_0^\infty dk^2 \frac{1}{k^2} =
\frac{1}{(4\pi)^2} \int\limits_0^\infty \frac{dx}{x}.
\\
\nonumber
\end{eqnarray}
This integral diverges at $k^2\rightarrow \infty$ as well as at $k^2\rightarrow 0$.
The former divergence is called ultraviolet divergence, the later is called infrared divergence.
Any quantity, which is given by a divergent integral, is of course an ill-defined quantity.
Therefore the first step is to make these integrals well-defined by introducing a regulator.
There are several possibilities how this can be done, but the
method of dimensional regularisation
\cite{'tHooft:1972fi,Bollini:1972ui,Cicuta:1972jf}
has almost become a standard, as the calculations in this regularisation
scheme turn out to be the simplest.
Within dimensional regularisation one replaces the four-dimensional integral over the loop momentum by an
$D$-dimensional integral, where $D$ is now an additional parameter, which can be a non-integer or
even a complex number.
We consider the result of the integration as a function of $D$ and we are interested in the behaviour of this
function as $D$ approaches $4$.
The original divergences will then show up as poles in the Laurent series in $\varepsilon=(4-D)/2$.

As a second example we consider
a Feynman diagram contributing to the one-loop corrections
for the process $e^+ e^- \rightarrow q g \bar{q}$, shown in fig.~\ref{fig_ee_qqg}.
\begin{figure}
\includegraphics[bb= 80 635 535 725]{fig1.eps}
\caption{\label{fig_ee_qqg} A one-loop Feynman diagram contributing to the process
$e^+ e^- \rightarrow q g \bar{q}$.}
\end{figure}
At high energies we can ignore the masses of the electron and the light quarks.
From the Feynman rules one obtains for this diagram (ignoring coupling and colour prefactors):
\begin{eqnarray}
\label{feynmanrules}
- \bar{v}(p_4) \gamma^\mu u(p_5)
  \frac{1}{p_{123}^2}
  \int \frac{d^{D}k_1}{(2\pi)^{4}}
  \frac{1}{k_2^2}
  \bar{u}(p_1) \varepsilon\!\!\!/(p_2) \frac{p\!\!\!/_{12}}{p_{12}^2}
  \gamma_\nu \frac{k\!\!\!/_1}{k_1^2}
  \gamma_\mu \frac{k\!\!\!/_3}{k_3^2}
  \gamma^\nu
  v(p_3).
\end{eqnarray}
Here, $p_{12}=p_1+p_2$, $p_{123}=p_1+p_2+p_3$, $k_2=k_1-p_{12}$, $k_3=k_2-p_3$.
Further $\varepsilon\!\!\!/(p_2) = \gamma_\tau \varepsilon^\tau(p_2)$, where $\varepsilon^\tau(p_2)$ is the
polarisation vector of the outgoing gluon.
All external momenta are assumed to be
massless: $p_i^2=0$ for $i=1..5$.
We can reorganise this formula into a part, which depends on the loop integration and a part, which does not.
The loop integral to be calculated reads:
\begin{eqnarray}
\label{loop_int_example_1}
  \int \frac{d^D k_1}{(2\pi)^{4}}
  \frac{k_1^\rho k_3^\sigma}{k_1^2 k_2^2 k_3^2},
\end{eqnarray}
while the remainder, which is independent of the loop integration is given by
\begin{eqnarray}
\label{loop_int_example_remainder}
- \bar{v}(p_4) \gamma^\mu u(p_5)
  \frac{1}{p_{123}^2 p_{12}^2}
  \bar{u}(p_1) \varepsilon\!\!\!/(p_2) p\!\!\!/_{12}
  \gamma_\nu \gamma_\rho
  \gamma_\mu \gamma_\sigma
  \gamma^\nu
  v(p_3).
\end{eqnarray}
The loop integral in eq.~(\ref{loop_int_example_1}) contains in the denominator three propagator factors
and in the numerator two factors of the loop momentum.
We call a loop integral, in which the loop momentum occurs also in the numerator a ``tensor integral''.
A loop integral, in which the numerator is independent of the loop momentum is called a ``scalar integral''.
The scalar integral associated to eq.~(\ref{loop_int_example_1}) reads
\begin{eqnarray}
\label{loop_int_example_1a}
  \int \frac{d^D k_1}{(2\pi)^{4}}
  \frac{1}{k_1^2 k_2^2 k_3^2}.
\end{eqnarray}
There is a general method \cite{Tarasov:1996br,Tarasov:1997kx}
which allows to reduce any tensor integral to a combination of scalar
integrals at the expense of introducing higher powers of the propagators and shifted space-time
dimensions.
Therefore it is sufficient to focus on scalar integrals.
Each integral can be specified by its topology, its value for the dimension $D$ and
a set of indices, denoting the powers of the propagators.

\section{Multi-loop integrals}
\label{sect:multi_loop}

Let us now consider a generic scalar $l$-loop integral $I_G$
in $D=2m-2\varepsilon$ dimensions with $n$ propagators,
corresponding to a graph $G$.
For each internal line $j$ the corresponding propagator
in the integrand can be raised to a power $\nu_j$.
Therefore the integral will depend also on the numbers $\nu_1$,...,$\nu_n$.
It is sufficient to consider only the case, where all exponents are natural numbers: $\nu_j \in {\mathbb N}$.
We define the Feynman integral by
\begin{eqnarray}
\label{eq0}
I_G  & = &
 \frac{\prod\limits_{j=1}^{n}\Gamma(\nu_j)}{\Gamma(\nu-lD/2)}
 \left( \mu^2 \right)^{\nu-l D/2}
 \int \prod\limits_{r=1}^{l} \frac{d^Dk_r}{i\pi^{\frac{D}{2}}}\;
 \prod\limits_{j=1}^{n} \frac{1}{(-q_j^2+m_j^2)^{\nu_j}},
\end{eqnarray}
with $\nu=\nu_1+...+\nu_n$.
$\mu$ is an arbitrary scale, called the renormalisation scale.
The momenta $q_j$ of
the propagators are linear combinations of the external momenta and the loop
momenta.
The prefactors are chosen such that after Feynman parametrisation the Feynman integral
has a simple form:
\begin{eqnarray}
\label{eq1}
I_G  & = &
 \left( \mu^2 \right)^{\nu-l D/2}
 \int\limits_{x_j \ge 0}  d^nx \;
 \delta(1-\sum_{i=1}^n x_i)\,
 \left( \prod\limits_{j=1}^n x_j^{\nu_j-1} \right)
 \frac{{\mathcal U}^{\nu-(l+1) D/2}}{{\mathcal F}^{\nu-l D/2}}.
\end{eqnarray}
The functions ${\mathcal U}$ and $\mathcal F$ depend on the Feynman parameters
and can be derived
from the topology of the corresponding Feynman graph $G$.
Cutting $l$ lines of a given connected $l$-loop graph such that it becomes a connected
tree graph $T$ defines a chord ${\mathcal C}(T,G)$ as being the set of lines
not belonging to this tree. The Feynman parameters associated with each chord
define a monomial of degree $l$. The set of all such trees (or 1-trees)
is denoted by ${\mathcal T}_1$.  The 1-trees $T \in {\mathcal T}_1$ define
${\mathcal U}$ as being the sum over all monomials corresponding
to the chords ${\mathcal C}(T,G)$.
Cutting one more line of a 1-tree leads to two disconnected trees $(T_1,T_2)$, or a 2-tree.
${\mathcal T}_2$ is the set of all such  pairs.
The corresponding chords define  monomials of degree $l+1$. Each 2-tree of a graph
corresponds to a cut defined by cutting the lines which connected the two now disconnected trees
in the original graph.
The square of the sum of momenta through the cut lines
of one of the two disconnected trees $T_1$ or $T_2$
defines a Lorentz invariant
\begin{eqnarray}
s_{T} & = & \left( \sum\limits_{j\in {\mathcal C}(T,G)} p_j \right)^2.
\end{eqnarray}
The function ${\mathcal F}_0$ is the sum over all such monomials times
minus the corresponding invariant. The function ${\mathcal F}$ is then given by ${\mathcal F}_0$ plus an additional piece
involving the internal masses $m_j$.
In summary, the functions ${\mathcal U}$ and ${\mathcal F}$ are obtained from the graph as follows:
\begin{eqnarray}
\label{eq0def}
 {\mathcal U}
 & = &
 \sum\limits_{T\in {\mathcal T}_1} \Bigl[\prod\limits_{j\in {\mathcal C}(T,G)}x_j\Bigr]\;,
 \nonumber\\
 {\mathcal F}_0
 & = &
 \sum\limits_{(T_1,T_2)\in {\mathcal T}_2}\;\Bigl[ \prod\limits_{j\in {\mathcal C}(T_1,G)} x_j \Bigr]\, (-s_{T_1})\;,
 \nonumber\\
 {\mathcal F}
 & = &
 {\mathcal F}_0 + {\mathcal U} \sum\limits_{j=1}^{n} x_j m_j^2\;.
\end{eqnarray}

\section{Periods}
\label{sect:periods}

Periods are special numbers.
Before we give the definition, let us start with some sets of numbers:
The natural numbers $\mathbb{N}$,
the integer numbers $\mathbb{Z}$,
the rational numbers $\mathbb{Q}$,
the real numbers $\mathbb{R}$ and
the complex numbers $\mathbb{C}$
are all well-known. More refined is already the set of algebraic numbers,
denoted by $\bar{\mathbb{Q}}$.
An algebraic number is a solution of a polynomial equation with rational
coefficients:
\begin{eqnarray}
 x^n + a_{n-1} x^{n-1} + \cdots + a_0 = 0,
 \;\;\; a_j \in \mathbb{Q}.
\end{eqnarray}
As all such solutions lie in $\mathbb{C}$, the set of algebraic numbers $\bar{\mathbb{Q}}$
is a sub-set of
the complex numbers $\mathbb{C}$.
Numbers which are not algebraic are called transcendental.
The sets $\mathbb{N}$, $\mathbb{Z}$, $\mathbb{Q}$ and $\bar{\mathbb{Q}}$ are countable, whereas
the sets $\mathbb{R}$, $\mathbb{C}$ and the set of transcendental numbers are uncountable.

Periods are a countable set of numbers, lying between $\bar{\mathbb{Q}}$ and $\mathbb{C}$.
There are several equivalent definitions for periods.
Kontsevich and Zagier gave the following definition \cite{Kontsevich:2001}:
A period is a complex number whose real and imaginary parts are values
of absolutely convergent integrals of rational functions with rational coefficients,
over domains in $\mathbb{R}^n$ given by polynomial inequalities with rational coefficients.
Domains defined by polynomial inequalities with rational coefficients
are called semi-algebraic sets.

We denote the set of periods by $\mathbb{P}$. The algebraic numbers are contained in the set of periods:
$\bar{\mathbb{Q}} \in \mathbb{P}$.
In addition, $\mathbb{P}$ contains transcendental numbers, an example for such a number is $\pi$:
\begin{eqnarray}
 \pi & = & \iint\limits_{x^2+y^2\le1} dx \; dy.
\end{eqnarray}
The integral on the r.h.s. clearly shows that $\pi$ is a period.
On the other hand, it is conjectured that the basis of the natural logarithm $e$
and Euler's constant $\gamma_E$
are not periods.
Although there are uncountably many numbers, which are not periods, only very recently an example
for a number which is not a period has been found \cite{Yoshinaga:2008}.

We need a few basic properties of periods:
The set of periods $\mathbb{P}$ is a $\bar{\mathbb{Q}}$-algebra \cite{Kontsevich:2001,Friedrich:2005}.
In particular the sum and the product of two periods are again periods.

The defining integrals of periods have integrands, which are rational
functions with rational coefficients.
For our purposes this is too restrictive, as we will encounter
logarithms as integrands as well.
However any logarithm of a rational function with rational coefficients can be written as
\begin{eqnarray}
 \ln g(x)
 & = &
 \int\limits_0^1 dt \; \frac{g(x)-1}{(g(x)-1) t + 1}.
\end{eqnarray}

\section{A theorem on Feynman integrals}
\label{sect:theorem}

Let us consider a general scalar multi-loop integral as in eq.~(\ref{eq1}).
Let $m$ be an integer and set $D=2 m - 2 \varepsilon$. Then this integral has
a Laurent series expansion in $\varepsilon$
\begin{eqnarray}
 I_G & = & \sum\limits_{j=-2l}^\infty c_j \varepsilon^j.
\end{eqnarray}
{\bf Theorem 1}: In the case where
\begin{enumerate}
\item all kinematical invariants $s_T$ are zero or negative,
\item all masses $m_i$ and $\mu$ are zero or positive ($\mu\neq0$),
\item all ratios of invariants and masses are rational,
\end{enumerate}
the coefficients $c_j$ of the Laurent expansion are periods.

In the special case were
\begin{enumerate}
\item the graph has no external lines or all invariants $s_T$ are zero,
\item all internal masses $m_j$ are equal to $\mu$,
\item all propagators occur with power $1$, i.e. $\nu_j=1$ for all $j$,
\end{enumerate}
the Feynman parameter integral reduces to
\begin{eqnarray}
I_G  & = &
 \int\limits_{x_j \ge 0}  d^nx \;
 \delta(1-\sum_{i=1}^n x_i)\,
 {\mathcal U}^{- D/2}
\end{eqnarray}
and only the polynomial ${\cal U}$ occurs in the integrand.
In this case it has been shown by Belkale and Brosnan \cite{Belkale:2003} that the coefficients of the
Laurent expansion are periods.

Using the method of sector decomposition we are able to prove the general case \cite{Bogner:2007mn}.
We will actually prove a stronger version of theorem 1.
Consider the following integral
\begin{eqnarray}
\label{basic_integral2}
J & = &
 \int\limits_{x_j \ge 0} d^nx \;\delta(1-\sum_{i=1}^n x_i)
 \left( \prod\limits_{i=1}^n x_i^{a_i+\varepsilon b_i} \right)
 \prod\limits_{j=1}^r \left[ P_j(x) \right]^{d_j+\varepsilon f_j}.
\end{eqnarray}
The integration is over the standard simplex.
The $a$'s, $b$'s, $d$'s and $f$'s are integers.
The $P$'s are polynomials in the variables $x_1$, ..., $x_n$ with rational coefficients.
The polynomials are required to be non-zero
inside the integration region, but
may vanish on the boundaries of the integration region.
To fix the sign, let us agree that all polynomials are positive inside the integration region.
The integral $J$ has a Laurent expansion
\begin{eqnarray}
 J & = & \sum\limits_{j=j_0}^\infty c_j \varepsilon^j.
\end{eqnarray}
{\bf Theorem 2}: The coefficients $c_j$ of the Laurent expansion of the integral $J$ are periods.

Theorem 1 follows then from theorem 2 as the special case
$a_i=\nu_i-1$, $b_i=0$, $r=2$, $P_1={\cal U}$, $P_2={\cal F}$,
$d_1+\varepsilon f_1 = \nu-(l+1)D/2$ and $d_2+\varepsilon f_2 = l D/2 - \nu$.

Proof of theorem 2:
To prove the theorem we will give an algorithm which expresses each coefficient $c_j$
as a sum of absolutely convergent integrals over the unit hypercube with integrands,
which are linear combinations
of products of rational functions with logarithms of rational functions,
all of them with rational coefficients.
Let us denote this set of functions to which the integrands belong by ${\cal M}$.
The unit hypercube is clearly a semi-algebraic set.
It is clear that absolutely convergent integrals
over semi-algebraic sets with integrands from the set ${\cal M}$ are periods.
In addition, the sum of periods is again a period.
Therefore it is sufficient to express each coefficient $c_j$ as a finite sum
of absolutely convergent integrals over the unit hypercube with integrands from ${\cal M}$.
To do so, we use iterated sector decomposition.
This is a constructive method. Therefore we obtain as a side-effect a general purpose algorithm
for the numerical evaluation of multi-loop integrals.

\section{Sector decomposition}
\label{sect:sector_decomp}

In this section we review the algorithm for iterated
sector decomposition \cite{Hepp:1966eg,Roth:1996pd,Binoth:2000ps,Binoth:2003ak,Bogner:2007cr,Smirnov:2008py,Smirnov:2008aw}.
The starting point is an integral of the form
\begin{eqnarray}
\label{basic_integral}
 \int\limits_{x_j \ge 0} d^nx \;\delta(1-\sum_{i=1}^n x_i)
 \left( \prod\limits_{i=1}^n x_i^{\mu_i} \right)
 \prod\limits_{j=1}^r \left[ P_j(x) \right]^{\lambda_j},
\end{eqnarray}
where $\mu_i=a_i+\varepsilon b_i$ and $\lambda_j=c_j+\varepsilon d_j$.
The integration is over the standard simplex.
The $a$'s, $b$'s, $c$'s and $d$'s are integers.
The $P$'s are polynomials in the variables $x_1$, ..., $x_n$.
The polynomials are required to be non-zero
inside the integration region, but
may vanish on the boundaries of the integration region.
The algorithm consists of the following steps:
\\
\\
Step 0: Convert all polynomials to homogeneous polynomials.
\\
\\
Step 1: Decompose the integral into $n$ primary sectors.
\\
\\
Step 2: Decompose the sectors iteratively into sub-sectors until each of the polynomials
is of the form
\begin{eqnarray}
\label{monomialised}
 P & = & x_1^{m_1} ... x_n^{m_n} \left( c + P'(x) \right),
\end{eqnarray}
where $c\neq 0$ and $P'(x)$ is a polynomial in the variables $x_j$ without a constant term.
In this case the monomial prefactor $x_1^{m_1} ... x_n^{m_n}$ can be factored out
and the remainder contains a non-zero constant term.
To convert $P$ into the form~(\ref{monomialised}) one chooses a subset
$S=\left\{ \alpha_{1},\,...,\, \alpha_{k}\right\} \subseteq \left\{ 1, \,...\, n \right\}$
according to a strategy discussed in the next section.
One decomposes the $k$-dimensional hypercube into $k$ sub-sectors according to
\begin{eqnarray}
\label{decomposition}
 \int\limits_{0}^{1} d^{n}x & = &
 \sum\limits_{l=1}^{k}
 \int\limits_{0}^{1} d^{n}x
   \prod\limits_{i=1, i\neq l}^{k}
   \theta\left(x_{\alpha_{l}}\geq x_{\alpha_{i}}\right).
\end{eqnarray}
In the $l$-th sub-sector one makes for each element of $S$ the
substitution
\begin{eqnarray}
\label{substitution}
x_{\alpha_{i}} & = & x_{\alpha_{l}} x_{\alpha_{i}}' \;\;\;\mbox{for}\; i\neq l.
\end{eqnarray}
This procedure is iterated, until all polynomials are of the form~(\ref{monomialised}).
\begin{figure}[t]
\includegraphics[bb= 100 440 570 710,width=0.9\textwidth]{fig2.eps}
\caption{\label{fig1} Illustration of sector decomposition and blow-up for a simple example.}
\end{figure}
Fig.~\ref{fig1} illustrates this for the simple example $S=\{1,2\}$.
Eq.~(\ref{decomposition}) gives the decomposition into the two sectors
$x_1>x_2$ and $x_2>x_1$.
Eq.~(\ref{substitution}) transforms the triangles into squares.
This transformation is one-to-one for all points except
the origin. The origin is replaced by the line $x_1=0$ in the first sector
and by the line $x_2=0$ in the second sector.
Therefore the name ``blow-up''.
\\
\\
Step 3: The singular behaviour of the integral depends now only on the factor
\begin{eqnarray}
  \prod\limits_{i=1}^{n}x_{i}^{a_{i}+\epsilon b_{i}}.
\end{eqnarray}
We Taylor expand in the integration variables and perform the trivial integrations
\begin{eqnarray}
 \int\limits_{0}^{1} dx \; x^{a+b\varepsilon}
 & = &
 \frac{1}{a+1+b\varepsilon},
\end{eqnarray}
leading to the explicit poles in $1/\varepsilon$.
\\
\\
Step 4: All remaining integrals are now by construction finite.
We can now expand all expressions in a Laurent series in $\varepsilon$
and truncate to the desired order.
\\
\\
Step 5: It remains to compute the coefficients of the Laurent series.
These coefficients contain finite integrals, which can be evaluated numerically
by Monte Carlo integration.
We implemented\footnote{The program can be obtained from {\tt http://www.higgs.de/\~{}stefanw/software.html}}
the algorithm into a computer program, which computes numerically the coefficients
of the Laurent series of any multi-loop integral \cite{Bogner:2007cr}.

\section{Hironaka's polyhedra game}
\label{sect:hironaka}

In step 2 of the algorithm we have an iteration.
It is important to show that this iteration terminates and does not lead to an infinite
loop.
\begin{figure*}[t]
\includegraphics[bb= 100 570 700 710,width=\textwidth]{fig3.eps}
\caption{\label{fig2} Illustration of Hironaka's polyhedra game.}
\end{figure*}
There are strategies for choosing the sub-sectors, which guarantee termination.
These strategies \cite{Hironaka:1964,Spivakovsky:1983,Encinas:2002,Hauser:2003,Zeillinger:2006} are closely related to Hironaka's polyhedra game.

Hironaka's polyhedra game is played by two players, A and B. They are
given a finite set $M$ of points $m=\left(m_{1},\,...,\,m_{n}\right)$
in $\mathbb{N}_{+}^{n}$, the first quadrant of $\mathbb{N}^{n}$.
We denote by $\Delta \subset\mathbb{R}_{+}^{n}$ the positive convex hull of the set $M$.
It is given by the convex hull of the set
\begin{eqnarray}
\bigcup\limits_{m\in M}\left(m+\mathbb{R}_{+}^{n}\right).
\end{eqnarray}
The two players compete in the following game:
\begin{enumerate}
\item Player A chooses a non-empty subset $S\subseteq\left\{ 1,\,...,\, n\right\}$.
\item Player B chooses one element $i$ out of this subset $S$.
\end{enumerate}
Then, according
to the choices of the players, the components of all $\left(m_{1},\,...,\,m_{n}\right)\in M$
are replaced by new points $\left(m_{1}^{\prime},\,...,\,m_{n}^{\prime}\right)$,
given by:
\begin{eqnarray}
\label{update_polyhedron}
m_{j}^{\prime} & = & m_{j}, \;\;\; \textrm{if }j\neq i, \nonumber \\
m_{i}^{\prime} & = & \sum_{j\in S} m_{j}-c,
\end{eqnarray}
where for the moment we set $c=1$.
This defines the set $M^\prime$.
One then sets $M=M^\prime$ and goes back to step 1.
Player A wins the game if, after a finite number of moves,
the polyhedron $\Delta$ is of the form
\begin{eqnarray}
\label{termination}
 \Delta & = & m+\mathbb{R}_{+}^{n},
\end{eqnarray}
i.e. generated by one point.
If this never occurs, player $B$ has won.
The challenge of the polyhedra game is to show that player $A$ always has
a winning strategy, no matter how player $B$ chooses his moves.
A simple illustration of Hironaka's polyhedra game in two dimensions is given in
fig.~\ref{fig2}. Player A always chooses $S=\{1,2\}$.
In ref.~\cite{Bogner:2007cr} we have shown that a winning strategy for
Hironaka's polyhedra game
translates directly into a strategy for choosing the sub-sectors which
guarantees termination.

\section{Shuffle algebras}
\label{sect:shuffle}

Before we continue the discussion of loop integrals, it is useful to discuss first
shuffle algebras and generalisations thereof from an algebraic viewpoint.
Consider a set of letters $A$. The set $A$ is called the alphabet.
A word is an ordered sequence of letters:
\begin{eqnarray}
 w & = & l_1 l_2 ... l_k.
\end{eqnarray}
The word of length zero is denoted by $e$.
Let $K$ be a field and consider the vector space of words over $K$.
A shuffle algebra ${\cal A}$ on the vector space of words is defined by
\begin{eqnarray}
\left( l_1 l_2 ... l_k \right) \cdot
 \left( l_{k+1} ... l_r \right) & = &
 \sum\limits_{\mbox{\tiny shuffles} \; \sigma} l_{\sigma(1)} l_{\sigma(2)} ... l_{\sigma(r)},
\end{eqnarray}
where the sum runs over all permutations $\sigma$, which preserve the relative order
of $1,2,...,k$ and of $k+1,...,r$.
The name ``shuffle algebra'' is related to the analogy of shuffling cards: If a deck of cards
is split into two parts and then shuffled, the relative order within the two individual parts
is conserved.
A shuffle algebra is also known under the name ``mould symmetral'' \cite{Ecalle}.
The empty word $e$ is the unit in this algebra:
\begin{eqnarray}
 e \cdot w = w \cdot e = w.
\end{eqnarray}
A recursive definition of the shuffle product is given by
\begin{eqnarray}
\label{def_recursive_shuffle}
\left( l_1 l_2 ... l_k \right) \cdot \left( l_{k+1} ... l_r \right) & = &
 l_1 \left[ \left( l_2 ... l_k \right) \cdot \left( l_{k+1} ... l_r \right) \right]
+
 l_{k+1} \left[ \left( l_1 l_2 ... l_k \right) \cdot \left( l_{k+2} ... l_r \right) \right].
\end{eqnarray}
It is well known fact that the shuffle algebra is actually a (non-cocommutative) Hopf algebra \cite{Reutenauer}.
In this context let us briefly review the definitions of a coalgebra, a bialgebra and a Hopf algebra,
which are closely related:
First note that the unit in an algebra can be viewed as a map from $K$ to $A$ and that the multiplication
can be viewed as a map from the tensor product $A \otimes A$ to $A$ (e.g. one takes two elements
from $A$, multiplies them and gets one element out).

A coalgebra has instead of multiplication and unit the dual structures:
a comultiplication $\Delta$ and a counit $\bar{e}$.
The counit is a map from $A$ to $K$, whereas comultiplication is a map from $A$ to
$A \otimes A$.
Note that comultiplication and counit go in the reverse direction compared to multiplication
and unit.
We will always assume that the comultiplication is coassociative.
The general form of the coproduct is
\begin{eqnarray}
\Delta(a) & = & \sum\limits_i a_i^{(1)} \otimes a_i^{(2)},
\end{eqnarray}
where $a_i^{(1)}$ denotes an element of $A$ appearing in the first slot of $A \otimes A$ and
$a_i^{(2)}$ correspondingly denotes an element of $A$ appearing in the second slot.
Sweedler's notation \cite{Sweedler} consists in dropping the dummy index $i$ and the summation symbol:
\begin{eqnarray}
\Delta(a) & = &
a^{(1)} \otimes a^{(2)}
\end{eqnarray}
The sum is implicitly understood. This is similar to Einstein's summation convention, except
that the dummy summation index $i$ is also dropped. The superscripts ${}^{(1)}$ and ${}^{(2)}$
indicate that a sum is involved.

A bialgebra is an algebra and a coalgebra at the same time,
such that the two structures are compatible with each other.
Using Sweedler's notation,
the compatibility between the multiplication and comultiplication is express\-ed as
\begin{eqnarray}
\label{bialg}
 \Delta\left( a \cdot b \right)
 & = &
\left( a^{(1)} \cdot b^{(1)} \right)
 \otimes \left( a^{(2)} \cdot b^{(2)} \right).
\end{eqnarray}

A Hopf algebra is a bialgebra with an additional map from $A$ to $A$, called the
antipode ${\cal S}$, which fulfils
\begin{eqnarray}
a^{(1)} \cdot {\cal S}\left( a^{(2)} \right)
=
{\cal S}\left(a^{(1)}\right) \cdot a^{(2)}
= 0 & &\;\;\; \mbox{for} \; a \neq e.
\end{eqnarray}

With this background at hand we can now state the coproduct, the counit and the antipode for the
shuffle algebra:
The counit $\bar{e}$ is given by:
\begin{eqnarray}
\bar{e}\left( e\right) = 1, \;\;\;
& &
\bar{e}\left( l_1 l_2 ... l_n\right) = 0.
\end{eqnarray}
The coproduct $\Delta$ is given by:
\begin{eqnarray}
\Delta\left( l_1 l_2 ... l_k \right)
& = & \sum\limits_{j=0}^k \left( l_{j+1} ... l_k \right) \otimes \left( l_1 ... l_j \right).
\end{eqnarray}
The antipode ${\cal S}$ is given by:
\begin{eqnarray}
{\cal S}\left( l_1 l_2 ... l_k \right) & = & (-1)^k \; l_k l_{k-1} ... l_2 l_1.
\end{eqnarray}
The shuffle algebra is generated by the Lyndon words.
If one introduces a lexicographic ordering on the letters of the alphabet
$A$, a Lyndon word is defined by the property
\begin{eqnarray}
w < v
\end{eqnarray}
for any sub-words $u$ and $v$ such that $w= u v$.

An important example for a shuffle algebra are iterated integrals.
Let $[a, b]$ be a segment of the real line and $f_1$, $f_2$, ... functions
on this interval.
Let us define the following iterated integrals:
\begin{eqnarray}
 I(f_1,f_2,...,f_k;a,b)
 & = &
 \int\limits_a^b dt_1 f_1(t_1) \int\limits_a^{t_1} dt_2 f_2(t_2)
 ...
 \int\limits_a^{t_{k-1}} dt_k f_k(t_k)
\end{eqnarray}
For fixed $a$ and $b$ we have a shuffle algebra:
\begin{eqnarray}
 I(f_1,f_2,...,f_k;a,b) \cdot I(f_{k+1},...,f_r; a,b) & = &
 \sum\limits_{\mbox{\tiny shuffles} \; \sigma} I(f_{\sigma(1)},f_{\sigma(2)},...,f_{\sigma(r)};a,b),
\end{eqnarray}
where the sum runs over all permutations $\sigma$, which preserve the relative order
of $1,2,...,k$ and of $k+1,...,r$.
The proof is sketched in fig.~\ref{proof_shuffle}.
\begin{figure}
\includegraphics[bb= 70 640 535 720]{fig4.eps}
\caption{\label{proof_shuffle} Sketch of the proof for the shuffle product of two iterated integrals.
The integral over the square is replaced by two
integrals over the upper and lower triangle.}
\end{figure}
The two outermost integrations are recursively replaced by integrations over the upper and lower triangle.

We now consider generalisations of shuffle algebras. Assume that for the set of letters we have an additional
operation
\begin{eqnarray}
 (.,.) & : & A \otimes A \rightarrow A,
 \nonumber \\
       & &  l_1 \otimes l_2 \rightarrow (l_1, l_2),
\end{eqnarray}
which is commutative and associative.
Then we can define a new product of words recursively through
\begin{eqnarray}
\label{def_recursive_quasi_shuffle}
\left( l_1 l_2 ... l_k \right) \ast \left( l_{k+1} ... l_r \right) & = &
 l_1 \left[ \left( l_2 ... l_k \right) \ast \left( l_{k+1} ... l_r \right) \right]
+
 l_{k+1} \left[ \left( l_1 l_2 ... l_k \right) \ast \left( l_{k+2} ... l_r \right) \right]
 \nonumber \\
 & &
+
(l_1,l_{k+1}) \left[ \left( l_2 ... l_k \right) \ast \left( l_{k+2} ... l_r \right) \right].
\end{eqnarray}
This product is a generalisation of the shuffle product and differs from the recursive
definition of the shuffle product in eq.~(\ref{def_recursive_shuffle}) through the extra term in the last line.
This modified product is known under the names quasi-shuffle product \cite{Hoffman},
mixable shuffle product \cite{Guo},
stuffle product \cite{Borwein} or
mould symmetrel \cite{Ecalle}.
Quasi-shuffle algebras are Hopf algebras.
Comultiplication and counit are defined as for the shuffle algebras.
The counit $\bar{e}$ is given by:
\begin{eqnarray}
\bar{e}\left( e\right) = 1, \;\;\;
& &
\bar{e}\left( l_1 l_2 ... l_n\right) = 0.
\end{eqnarray}
The coproduct $\Delta$ is given by:
\begin{eqnarray}
\Delta\left( l_1 l_2 ... l_k \right)
& = & \sum\limits_{j=0}^k \left( l_{j+1} ... l_k \right) \otimes \left( l_1 ... l_j \right).
\end{eqnarray}
The antipode ${\cal S}$ is recursively defined through
\begin{eqnarray}
{\cal S}\left( l_1 l_2 ... l_k \right) & = &
 - l_1 l_2 ... l_k
 - \sum\limits_{j=1}^{k-1} {\cal S}\left( l_{j+1} ... l_k \right) \ast \left( l_1 ... l_j \right).
\end{eqnarray}
An example for a quasi-shuffle algebra are nested sums.
Let $n_a$ and $n_b$ be integers with $n_a<n_b$ and let $f_1$, $f_2$, ... be functions
defined on the integers.
We consider the following nested sums:
\begin{eqnarray}
 S(f_1,f_2,...,f_k;n_a,n_b)
 & = &
 \sum\limits_{i_1=n_a}^{n_b} f_1(i_1) \sum\limits_{i_2=n_a}^{i_1-1} f_2(i_2)
 ...
 \sum\limits_{i_k=n_a}^{i_{k-1}-1} f_k(i_k)
\end{eqnarray}
For fixed $n_a$ and $n_b$ we have a quasi-shuffle algebra:
\begin{eqnarray}
\label{quasi_shuffle_multiplication}
\lefteqn{
 S(f_1,f_2,...,f_k;n_a,n_b) \ast S(f_{k+1},...,f_r; n_a,n_b)
= } & &
 \nonumber \\
 & &
   \sum\limits_{i_1=n_a}^{n_b} f_1(i_1) \; S(f_2,...,f_k;n_a,i_1-1) \ast S(f_{k+1},...,f_r; n_a,i_1-1)
 \nonumber \\
 & &
 +  \sum\limits_{j_1=n_a}^{n_b} f_k(j_1) \; S(f_1,f_2,...,f_k;n_a,j_1-1) \ast S(f_{k+2},...,f_r; n_a,j_1-1)
 \nonumber \\
 & &
 +  \sum\limits_{i=n_a}^{n_b} f_1(i) f_k(i) \; S(f_2,...,f_k;n_a,i-1) \ast S(f_{k+2},...,f_r; n_a,i-1)
\end{eqnarray}
\begin{figure}
\includegraphics[bb= 65 630 530 710]{fig5.eps}
\caption{\label{proof} Sketch of the proof for the quasi-shuffle product of nested sums.
The sum over the square is replaced by
the sum over the three regions on the r.h.s.}
\end{figure}
Note that the product of two letters corresponds to the point-wise product of the two functions:
\begin{eqnarray}
 ( f_i, f_j ) \; (n) & = & f_i(n) f_j(n).
\end{eqnarray}
The proof that nested sums obey the quasi-shuffle algebra is sketched in Fig. \ref{proof}.
The outermost sums of the nested sums on the l.h.s of (\ref{quasi_shuffle_multiplication}) are split into the three
regions indicated in Fig. \ref{proof}.

\section{Multiple polylogarithms}
\label{sect:polylog}

In the previous section we have seen that iterated integrals form a shuffle algebra, while
nested sums form a quasi-shuffle algebra.
In this context multiple polylogarithms form an interesting class of functions.
They have a representation as iterated integrals as well as nested sums.
Therefore multiple polylogarithms form a shuffle algebra as well as a quasi-shuffle algebra.
The two algebra structures are independent.
Let us start with the representation as nested sums.
The multiple polylogarithms are defined by \cite{Goncharov,Minh:2000,Cartier:2001,Racinet:2002}
\begin{eqnarray}
\label{multipolylog2}
 \mbox{Li}_{m_1,...,m_k}(x_1,...,x_k)
  & = & \sum\limits_{i_1>i_2>\ldots>i_k>0}
     \frac{x_1^{i_1}}{{i_1}^{m_1}}\ldots \frac{x_k^{i_k}}{{i_k}^{m_k}}.
\end{eqnarray}
The multiple polylogarithms are generalisations of
the classical polylogarithms
$\mbox{Li}_n(x)$,
whose most prominent examples are
\begin{eqnarray}
 \mbox{Li}_1(x) = \sum\limits_{i_1=1}^\infty \frac{x^{i_1}}{i_1} = -\ln(1-x),
 & &
 \mbox{Li}_2(x) = \sum\limits_{i_1=1}^\infty \frac{x^{i_1}}{i_1^2},
\end{eqnarray}
as well as
Nielsen's generalised polylogarithms \cite{Nielsen}
\begin{eqnarray}
S_{n,p}(x) & = & \mbox{Li}_{n+1,1,...,1}(x,\underbrace{1,...,1}_{p-1}),
\end{eqnarray}
and the harmonic polylogarithms \cite{Remiddi:1999ew,Gehrmann:2000zt}
\begin{eqnarray}
\label{harmpolylog}
H_{m_1,...,m_k}(x) & = & \mbox{Li}_{m_1,...,m_k}(x,\underbrace{1,...,1}_{k-1}).
\end{eqnarray}

In addition, multiple polylogarithms have an integral representation.
To discuss the integral representation it is convenient to
introduce for $z_k \neq 0$
the following functions
\begin{eqnarray}
\label{Gfuncdef}
G(z_1,...,z_k;y) & = &
 \int\limits_0^y \frac{dt_1}{t_1-z_1}
 \int\limits_0^{t_1} \frac{dt_2}{t_2-z_2} ...
 \int\limits_0^{t_{k-1}} \frac{dt_k}{t_k-z_k}.
\end{eqnarray}
In this definition
one variable is redundant due to the following scaling relation:
\begin{eqnarray}
G(z_1,...,z_k;y) & = & G(x z_1, ..., x z_k; x y)
\end{eqnarray}
If one further defines
\begin{eqnarray}
g(z;y) & = & \frac{1}{y-z},
\end{eqnarray}
then one has
\begin{eqnarray}
\label{derivative}
\frac{d}{dy} G(z_1,...,z_k;y) & = & g(z_1;y) G(z_2,...,z_k;y)
\end{eqnarray}
and
\begin{eqnarray}
\label{Grecursive}
G(z_1,z_2,...,z_k;y) & = & \int\limits_0^y dt \; g(z_1;t) G(z_2,...,z_k;t).
\end{eqnarray}
One can slightly enlarge the set and define
$G(0,...,0;y)$ with $k$ zeros for $z_1$ to $z_k$ to be
\begin{eqnarray}
\label{trailingzeros}
G(0,...,0;y) & = & \frac{1}{k!} \left( \ln y \right)^k.
\end{eqnarray}
This permits us to allow trailing zeros in the sequence
$(z_1,...,z_k)$ by defining the function $G$ with trailing zeros via (\ref{Grecursive})
and (\ref{trailingzeros}).
To relate the multiple polylogarithms to the functions $G$ it is convenient to introduce
the following short-hand notation:
\begin{eqnarray}
\label{Gshorthand}
G_{m_1,...,m_k}(z_1,...,z_k;y)
 & = &
 G(\underbrace{0,...,0}_{m_1-1},z_1,...,z_{k-1},\underbrace{0...,0}_{m_k-1},z_k;y)
\end{eqnarray}
Here, all $z_j$ for $j=1,...,k$ are assumed to be non-zero.
One then finds
\begin{eqnarray}
\label{Gintrepdef}
\mbox{Li}_{m_1,...,m_k}(x_1,...,x_k)
& = & (-1)^k
 G_{m_1,...,m_k}\left( \frac{1}{x_1}, \frac{1}{x_1 x_2}, ..., \frac{1}{x_1...x_k};1 \right).
\end{eqnarray}
The inverse formula reads
\begin{eqnarray}
G_{m_1,...,m_k}(z_1,...,z_k;y) & = &
 (-1)^k \; \mbox{Li}_{m_1,...,m_k}\left(\frac{y}{z_1}, \frac{z_1}{z_2}, ..., \frac{z_{k-1}}{z_k}\right).
\end{eqnarray}
Eq. (\ref{Gintrepdef}) together with
(\ref{Gshorthand}) and (\ref{Gfuncdef})
defines an integral representation for the multiple polylogarithms.

Up to now we treated multiple polylogarithms from an algebraic point of view.
Equally important are the analytical properties, which are needed for an efficient numerical
evaluation.
As an example I first discuss the numerical evaluation of the dilogarithm \cite{'tHooft:1979xw}:
\begin{eqnarray}
\mbox{Li}_{2}(x) & = & - \int\limits_{0}^{x} dt \frac{\ln(1-t)}{t}
 = \sum\limits_{n=1}^{\infty} \frac{x^{n}}{n^{2}}
\end{eqnarray}
The power series expansion can be evaluated numerically, provided $|x| < 1.$
Using the functional equations
\begin{eqnarray}
\mbox{Li}_2(x) & = & -\mbox{Li}_2\left(\frac{1}{x}\right) -\frac{\pi^2}{6} -\frac{1}{2} \left( \ln(-x) \right)^2,
 \nonumber \\
\mbox{Li}_2(x) & = & -\mbox{Li}_2(1-x) + \frac{\pi^2}{6} -\ln(x) \ln(1-x).
\end{eqnarray}
any argument of the dilogarithm can be mapped into the region
$|x| \le 1$ and
$-1 \leq \mbox{Re}(x) \leq 1/2$.
The numerical computation can be accelerated  by using an expansion in $[-\ln(1-x)]$ and the
Bernoulli numbers $B_i$:
\begin{eqnarray}
\mbox{Li}_2(x) & = & \sum\limits_{i=0}^\infty \frac{B_i}{(i+1)!} \left( - \ln(1-x) \right)^{i+1}.
\end{eqnarray}
The generalisation to multiple polylogarithms proceeds along the same lines \cite{Vollinga:2004sn}:
Using the integral representation eq.~(\ref{Gfuncdef})
one transforms all arguments into a region,
where one has a converging power series expansion.
In this region eq.~(\ref{multipolylog2}) may be used.
However it is advantageous to speed up the convergence of the power series expansion.
This is done as follows:
The multiple polylogarithms satisfy the H\"older convolution \cite{Borwein}.
For $z_1 \neq 1$ and $z_w \neq 0$ this identity reads
\begin{eqnarray}
\label{defhoelder}
\lefteqn{
G\left(z_1,...,z_w; 1 \right)
 = } & &
 \\
 & &
 \sum\limits_{j=0}^w \left(-1\right)^j
  G\left(1-z_j, 1-z_{j-1},...,1-z_1; 1 - \frac{1}{p} \right)
  G\left( z_{j+1},..., z_w; \frac{1}{p} \right).
 \nonumber
\end{eqnarray}
The H\"older convolution can be used to accelerate the
convergence for the series
representation of the multiple polylogarithms.

\section{From Feynman integrals to multiple polylogarithms}
\label{sect:calc}

In sect.~\ref{sect:multi_loop} we saw that the Feynman parameter integrals
depend on two graph polynomials ${\mathcal U}$ and ${\mathcal F}$, which are homogeneous functions of the
Feynman parameters.
In this section we will discuss how multiple polylogarithms arise in the calculation of Feynman parameter
integrals.
We will discuss two approaches. In the first approach one uses a Mellin-Barnes transformation and sums
up residues. This leads to the sum representation of multiple polylogarithms.
In the second approach one first derives a differential equation for the Feynman parameter integral, which
is then solved by an ansatz in terms of the iterated integral representation of multiple polylogarithms.

Let us start with the first approach. Assume for the moment that the two graph polynomials
${\mathcal U}$ and ${\mathcal F}$ are absent from the Feynman parameter integral.
In this case we have
\begin{eqnarray}
\label{multi_beta_fct}
 \int\limits_{0}^{1} \left( \prod\limits_{j=1}^{n}\,dx_j\,x_j^{\nu_j-1} \right)
 \delta(1-\sum_{i=1}^n x_i)
 & = &
 \frac{\prod\limits_{j=1}^{n}\Gamma(\nu_j)}{\Gamma(\nu_1+...+\nu_n)}.
\end{eqnarray}
With the help of
the Mellin-Barnes transformation we now reduce the general case to eq.~(\ref{multi_beta_fct}).
The Mellin-Barnes transformation reads
\begin{eqnarray}
\label{multi_mellin_barnes}
\lefteqn{
\left(A_1 + A_2 + ... + A_n \right)^{-c}
 =
 \frac{1}{\Gamma(c)} \frac{1}{\left(2\pi i\right)^{n-1}}
 \int\limits_{-i\infty}^{i\infty} d\sigma_1 ... \int\limits_{-i\infty}^{i\infty} d\sigma_{n-1}
 } & & \\
 & &
 \times
 \Gamma(-\sigma_1) ... \Gamma(-\sigma_{n-1}) \Gamma(\sigma_1+...+\sigma_{n-1}+c)
 \;
 A_1^{\sigma_1} ...  A_{n-1}^{\sigma_{n-1}} A_n^{-\sigma_1-...-\sigma_{n-1}-c}.
 \nonumber
\end{eqnarray}
Each contour is such that the poles of $\Gamma(-\sigma)$ are to the right and the poles
of $\Gamma(\sigma+c)$ are to the left.
This transformation can be used to convert the sum of monomials of the polynomials ${\mathcal U}$ and ${\mathcal F}$ into
a product, such that all Feynman parameter integrals are of the form of eq.~(\ref{multi_beta_fct}).
As this transformation converts sums into products it is
the ``inverse'' of Feynman parametrisation.

With the help of eq.~(\ref{multi_beta_fct}) and eq.~(\ref{multi_mellin_barnes})
we may exchange the Feynman parameter integrals against multiple contour integrals.
A single contour integral is of the form
\begin{eqnarray}
\label{MellinBarnesInt}
I
 & = &
\frac{1}{2\pi i} \int\limits_{\gamma-i\infty}^{\gamma+i\infty}
 d\sigma \;
 \frac{\Gamma(\sigma+a_1) ... \Gamma(\sigma+a_m)}
      {\Gamma(\sigma+c_2) ... \Gamma(\sigma+c_p)}
 \frac{\Gamma(-\sigma+b_1) ... \Gamma(-\sigma+b_n)}
      {\Gamma(-\sigma+d_1) ... \Gamma(-\sigma+d_q)}
 \; x^{-\sigma}.
\end{eqnarray}
If $\;\mbox{max}\left( \mbox{Re}(-a_1), ..., \mbox{Re}(-a_m) \right) < \mbox{min}\left( \mbox{Re}(b_1), ..., \mbox{Re}(b_n) \right)$ the contour can be chosen
as a straight line parallel to the imaginary axis with
\begin{eqnarray}
\mbox{max}\left( \mbox{Re}(-a_1), ..., \mbox{Re}(-a_m) \right)
 \;\;\; < \;\;\; \mbox{Re} \; \gamma \;\;\; < \;\;\;
\mbox{min}\left( \mbox{Re}(b_1), ..., \mbox{Re}(b_n) \right),
\end{eqnarray}
otherwise the contour is indented, such that the residues of
$\Gamma(\sigma+a_1)$, ..., $\Gamma(\sigma+a_m)$ are to the right of the contour,
whereas the residues of
$\Gamma(-\sigma+b_1)$,  ..., $\Gamma(-\sigma+b_n)$ are to the left of the contour.
The integral eq. (\ref{MellinBarnesInt}) is most conveniently evaluated with
the help of the residuum theorem by closing the contour to the left or to the right.
To sum up all residues which lie inside the contour
it is useful to know the residues of the Gamma function:
\begin{eqnarray}
\mbox{res} \; \left( \Gamma(\sigma+a), \sigma=-a-n \right) = \frac{(-1)^n}{n!},
 & &
\mbox{res} \; \left( \Gamma(-\sigma+a), \sigma=a+n \right) = -\frac{(-1)^n}{n!}.
\end{eqnarray}
In general there are multiple contour integrals, and as a consequence one obtains multiple sums.
Having collected all residues, one then expands the Gamma-functions:
\begin{eqnarray}
\label{expansiongamma}
\lefteqn{
\Gamma(n+\varepsilon)  =
} & & \\
 & & \Gamma(1+\varepsilon) \Gamma(n)
 \left[
        1 + \varepsilon Z_1(n-1) + \varepsilon^2 Z_{11}(n-1)
          + \varepsilon^3 Z_{111}(n-1) + ... + \varepsilon^{n-1} Z_{11...1}(n-1)
 \right],
 \nonumber
\end{eqnarray}
where $Z_{m_1,...,m_k}(n)$ are Euler-Zagier sums
defined by
\begin{eqnarray}
 Z_{m_1,...,m_k}(n) & = &
  \sum\limits_{n \ge i_1>i_2>\ldots>i_k>0}
     \frac{1}{{i_1}^{m_1}}\ldots \frac{1}{{i_k}^{m_k}}.
\end{eqnarray}
This motivates the following definition of a special form of nested sums, called
$Z$-sums \cite{Moch:2001zr,Weinzierl:2002hv,Weinzierl:2004bn,Moch:2005uc}:
\begin{eqnarray}
\label{definition}
  Z(n;m_1,...,m_k;x_1,...,x_k) & = & \sum\limits_{n\ge i_1>i_2>\ldots>i_k>0}
     \frac{x_1^{i_1}}{{i_1}^{m_1}}\ldots \frac{x_k^{i_k}}{{i_k}^{m_k}}.
\end{eqnarray}
$k$ is called the depth of the $Z$-sum and $w=m_1+...+m_k$ is called the weight.
If the sums go to infinity ($n=\infty$) the $Z$-sums are multiple polylogarithms:
\begin{eqnarray}
\label{multipolylog}
Z(\infty;m_1,...,m_k;x_1,...,x_k) & = & \mbox{Li}_{m_1,...,m_k}(x_1,...,x_k).
\end{eqnarray}
For $x_1=...=x_k=1$ the definition reduces to the Euler-Zagier sums \cite{Euler,Zagier,Vermaseren:1998uu,Blumlein:1998if,Blumlein:2003gb}:
\begin{eqnarray}
Z(n;m_1,...,m_k;1,...,1) & = & Z_{m_1,...,m_k}(n).
\end{eqnarray}
For $n=\infty$ and $x_1=...=x_k=1$ the sum is a multiple $\zeta$-value \cite{Borwein,Blumlein:2009}:
\begin{eqnarray}
Z(\infty;m_1,...,m_k;1,...,1) & = & \zeta_{m_1,...,m_k}.
\end{eqnarray}
The usefulness of the $Z$-sums lies in the fact, that they interpolate between
multiple polylogarithms and Euler-Zagier sums.
The $Z$-sums form a quasi-shuffle algebra.
In this approach multiple polylogarithms appear through eq.~(\ref{multipolylog}).

An alternative approach to the computation of Feynman parameter integrals is based on
differential equations \cite{Kotikov:1990kg,Kotikov:1991pm,Remiddi:1997ny,Gehrmann:1999as,Gehrmann:2000zt,Gehrmann:2001ck}.
To evaluate these integrals within this approach
one first finds for each
master integral a differential
equation, which this master integral has to satisfy.
The derivative is taken with respect to an external scale, or a
ratio of two scales.
An example for a one-loop four-point function is given by
\begin{eqnarray}
\lefteqn{
\frac{\partial}{\partial s_{123}}
\begin{picture}(140,40)(-15,45)
\Vertex(50,20){2}
\Vertex(50,80){2}
\Vertex(20,50){2}
\Vertex(80,50){2}
\Line(0,50)(20,50)
\Line(20,50)(50,80)
\Line(50,20)(20,50)
\Line(50,80)(80,50)
\Line(80,50)(50,20)
\Line(50,80)(70,80)
\Line(80,50)(100,50)
\Line(50,20)(70,20)
\Text(75,80)[l]{\tiny $p_1$}
\Text(105,50)[l]{\tiny $p_2$}
\Text(75,20)[l]{\tiny $p_3$}
\end{picture}
=
\frac{D-4}{2(s_{12}+s_{23}-s_{123})}
\begin{picture}(100,40)(-15,45)
\Vertex(50,20){2}
\Vertex(50,80){2}
\Vertex(20,50){2}
\Vertex(80,50){2}
\Line(0,50)(20,50)
\Line(20,50)(50,80)
\Line(50,20)(20,50)
\Line(50,80)(80,50)
\Line(80,50)(50,20)
\Line(50,80)(70,80)
\Line(80,50)(100,50)
\Line(50,20)(70,20)
\Text(75,80)[l]{\tiny $p_1$}
\Text(105,50)[l]{\tiny $p_2$}
\Text(75,20)[l]{\tiny $p_3$}
\end{picture}
} & &
\nonumber \\
& & \nonumber \\
 & &
 + \frac{2(D-3)}{(s_{123}-s_{12})(s_{123}-s_{12}-s_{23})}
\left[
\frac{1}{s_{123}}
\begin{picture}(110,40)(-5,45)
\Vertex(30,50){2}
\Vertex(70,50){2}
\Line(10,50)(30,50)
\CArc(50,50)(20,0,360)
\Line(70,50)(90,50)
\Text(80,55)[lb]{\tiny $p_{123}$}
\end{picture}
-
\frac{1}{s_{12}}
\begin{picture}(110,40)(-5,45)
\Vertex(30,50){2}
\Vertex(70,50){2}
\Line(10,50)(30,50)
\CArc(50,50)(20,0,360)
\Line(70,50)(90,50)
\Text(80,55)[lb]{\tiny $p_{12}$}
\end{picture}
\right]
\nonumber \\
 & &
 + \frac{2(D-3)}{(s_{123}-s_{23})(s_{123}-s_{12}-s_{23})}
\left[
\frac{1}{s_{123}}
\begin{picture}(110,40)(-5,45)
\Vertex(30,50){2}
\Vertex(70,50){2}
\Line(10,50)(30,50)
\CArc(50,50)(20,0,360)
\Line(70,50)(90,50)
\Text(80,55)[lb]{\tiny $p_{123}$}
\end{picture}
-
\frac{1}{s_{23}}
\begin{picture}(110,40)(-5,45)
\Vertex(30,50){2}
\Vertex(70,50){2}
\Line(10,50)(30,50)
\CArc(50,50)(20,0,360)
\Line(70,50)(90,50)
\Text(80,55)[lb]{\tiny $p_{23}$}
\end{picture}
\right].
\nonumber
\end{eqnarray}
The two-point functions on the r.h.s are simpler and can be considered to be known.
This equation is solved iteratively by an ansatz
for the solution as a Laurent expression in $\varepsilon$.
Each term in this Laurent series is a sum of terms, consisting of
basis functions times
some unknown (and to be determined) coefficients.
This ansatz is inserted into the differential equation and the unknown
coefficients
are determined order by order from the differential equation.
The basis functions are taken as a subset of multiple polylogarithms.
In this approach the iterated integral representation of multiple polylogarithms is the most
convenient form. This is immediately clear from the
simple formula for the derivative as in eq.~(\ref{derivative}).

\section{Conclusions}
\label{sect:conclusions}

In this talk we reported on mathematical properties of Feynman integrals.
We first showed that under rather weak assumptions all the coefficients
of the Laurent expansion of a multi-loop integral
are periods.
In the second part we focused on multiple polylogarithms and how they appear in the calculation
of Feynman integrals.

redpajama_set_name: RedPajamaArXiv


text:
The valuation of high-risk residential buildings and the role of EWS1
Steve Phillips, Chartered Building Surveyor and Senior Lecturer, Northumbria University
Abstract: In response to the tragic fire at Grenfell Tower in June 2017, the UK Government proposed regulatory reform with the purpose of ensuring residents feel safe and are safe in their own homes. This paper examines the advice that has been given by the government and traces how this advice has had disastrous consequences for the mortgage lending market for flats located in high-risk residential buildings. This has been compounded by the unfortunate effect that the EWS1 form has had on the same market. The paper opens with a review of the independent expert advisory panel set up to provide advice and make recommendations to the Secretary of State for Housing, Communities and Local Government on urgent building safety measures that should be carried out to high-risk residential buildings with aluminium composite material (ACM) external wall cladding. The panel formulated the much-criticised advice note 14 which provided guidance to building owners to take general fire precautions with non-aluminium composite Material (non-ACM) cladding in their external wall systems to ensure that the systems are safe. Although advice note 14 was superseded in January 2020 by the Ministry of Housing, Communities and Local Government's consolidated advice document, the binary approach to defining safe external wall systems is still adopted. This has caused unintended consequences for the valuation of flats in high-risk residential buildings as many valuation surveyors take the position that if compliance with the consolidated advice document cannot be demonstrated, then the flats within that building will have a valuation of £nil. The industry's response has been to produce the EWS1 form which was intended to unblock the market. This aim has not been achieved, however, and the paper details why the EWS1 form has, to date, failed and suggests ways of restoring confidence within the market.
Keywords: valuation, Grenfell Tower, fire safety, cladding, EWS1
Steve Phillips BSc MSc MPhil (Cantab) PGCert EngD FRICS MCIOB FCABE AFHEA has worked in the UK construction industry since 1978. He is a chartered building surveyor, a chartered building engineer and a chartered construction manager. He has held a number of senior positions within the industry, including being the managing director of a specialist dispute resolution building surveying practice and executive board member of a major social housing landlord organisation. Having completed an engineering doctorate at Loughborough University and a MPhil in engineering for sustainable development at Cambridge University, he is now a full-time academic at Northumbria University where his research interests are fire safety and the golden thread of information including traceability; construction informatics; and best value procurement in the post-Hackitt era.
Flooding in buildings
David Gibbon, Founder, GLM Building Surveyors
Condensation in loft spaces: Myths and realities
Phil Parnham, Chartered Building Surveyor and Director, Blue Box Partners
Historic wallpaper
Allyson McDermott, Allyson McDermott Historic Interiors
"I find the content of Journal of Business Continuity & Emergency Planning to be up to date, easy to follow, and applicable to the professional in the field, the student in the class, and the academic. This journal offers a mix of articles from many disciplines in a manner that allows the professional to utilise the data immediately. I have personally used material from this journal on multiple occasions, both in my academic and professional endeavours."
Daniel Hahn, Emergency Management Plans Chief, Santa Rosa County, Florida
"I'm very pleased to be part of the editorial board for JDPP, which I think will bring together a fascinating collection of materials from legal analysis to broader commentary and in this way help all privacy professionals understand the law and shape good practice."
Hazel Grant, Partner, Fieldfisher
"A journal that meets the needs of practitioners, policymakers and academics"
Dr Andrew G Haldane, Chief Economist , Bank of England

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: Iterator String issue I have a string vector and i want to iterate through the vector and then output the contents of that vector one the screen (GUI)
The method used to populate the page is setValue(std::string);
question is, is there a way i could associate a string to the iterator so then i can parse that string into the method and output the contents
So i need to somehow get string str equal that iterator and then i can parse str into the parameter
**std::string str;**
for(it = display.begin(); it < display.end(); it++)
{

}

A: From what I understand you are asking how to retrieve string from vector<string>::iterator i.
Answer is *i.
Example:
#include <iostream>
#include <string>
#include <vector>
using namespace std;

void foo(string& s)
{
    cout << s << endl; // print argument
}

int main(void)
{
    vector<string> display;
    display.push_back("string1");
    display.push_back("string2");
    display.push_back("string3");

    for (vector<string>::iterator i = display.begin(); i != display.end(); ++i)
    {
        foo(*i);
    }

    return 0;
}

redpajama_set_name: RedPajamaStackExchange


text:
Q: Extracting tuples with nltk? Reading the documentation of nltk i found that is possible to extract tuples with str2tuple(). As an instance assume i have the following sentence(clearly is a much larger file):
sent = "pero pero CC " \
        "tan tan RG " \
        "antigua antiguo AQ0FS0 " \
        "que que CS " \
        "según según SPS00 " \
        "mi mi  DP1CSS " \
        "madre madre NCFS000"

I would like to extract a list of tuples, e.g.:
> ([antigua, AQ0FS0],[madre, NCFS000])

The female adjective tag (AQ0FS0) and the female noun tag (NCFS000). Is this possible with str2tuple() or a better aproach could be using a regular expression?
This is what i have tried:
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import nltk as nl

sent = "pero pero CC " \
              "tan tan RG " \
              "antigua antiguo AQ0FS0 " \
              "que que CS " \
              "según según SPS00 " \
              "mi mi  DP1CSS " \
              "madre madre NCFS000"

nl.tag.str2tuple(t) for t in sent.split()

A: I think what you have is a verticalized text file, aka as .vrt , see CWB encoding Corpus
I guess the first column means the surface form of the word, the second refers to some sort of lemma and the third is the part-of-speech text.
First take a look at csv module, i find this tutorial helpful, http://www.pythonforbeginners.com/systems-programming/using-the-csv-module-in-python/
Let's say you have a tab-delimited file as such:
pero    pero    CC
tan tan RG
antigua antiguo AQ0FS0
que que CS
según   según   SPS00
mi  mi  DP1CSS
madre   madre   NCFS000

To read the file, sometimes people call it "to parse the file":
import csv

with open('test.txt', 'r') as fin:
    reader = csv.reader(fin, delimiter='\t')
    for line in reader:
        word, lemma, pos = line
        print word, lemma, pos

To get the (word,pos) tuple structure for the sentence, try:
import csv
sentences = []
with open('test.txt', 'r') as fin:
    reader = csv.reader(fin, delimiter='\t')
    for line in reader:
        word, lemma, pos = line
        sentences.append((word, pos))

print sentences

[out]:
[('pero', 'CC'), ('tan', 'RG'), ('antigua', 'AQ0FS0'), ('que', 'CS'), ('seg\xc3\xban', 'SPS00'), ('mi', 'DP1CSS'), ('madre', 'NCFS000')]

A: Since you're presumably interested in using your corpus with the NLTK: Assuming your file is stored in this format, you should read it in, parse it (using str2tuple or other simpler methods) and load it with TaggedCorpusReader. Then you can use all the standard NLTK corpus functions with it. You basically have two types of tags, part of speech and (presumably) word lemma. If this is what you're after, I can add more specific information to this answer.
Assuming your string actually includes a newline after each triple, the easy way to parse it into a list of tuples is like this:
sent = """pero pero CC
tan tan RG
antigua antiguo AQ0FS0
que que CS
según según SPS00
mi  mi DP1CSS
madre madre NCFS000"""

tuples = [ line.split() for line in sent.splitlines() ]

A detail: split() actually returns a list, not a tuple. If you need to use them as dictionary keys, replace line.split() with tuple(line.split()).


No exclusive membership required, everyone is welcome at this family-friendly club.
Cinemark, once again, opens the doors on its Summer Movie Clubhouse with 10 family-friendly flicks for $5, when purchased in advance.
Five dollar punch cards are available at participating theatre's box office or online. Without a punch card, it's still a blockbuster savings at $1 per flick.
The 10-week film fest runs from May 21 to Aug. 9, with screenings at various start times and days of the week — depending on the location. For participating theaters, click here.


text:
Q: How to import SNMP walks into mimicview gambit as agents? I am fairly new to the program being used which is MimicView Gambit. From what I know it mimics a node/switch/router to simulate real time activity.
What I need to do is using a SNMP walk results to somehow import the .wlk file into mimicview as an agent. An agent is referred to as the node/switch/router.
Does anyone have any information on how to approach this or some leads/documentation?

A: Thanks for the question. The quickest answer will come from support@gambitcomm.com.
The simplest way to create a simulation is to record the device directly,
for example, see this Youtube video.
If you have a walkfile, you can use Simulation->Record File in MIMICView.
There are many more ways to import devices into the SNMP Simulator
as documented in the online documentation.

A: I had never heard before about MimicView, but I'm working on similar project. So fast view via Mimic's FAQ seems to give the answer. In short, as far as I understand you have to write file using net-snmp snmpwalk command with option -One, like
snmpwalk -One -v2c -cpublic ip.of.your.device > result.wlk

and then fed result to MimicRecorder, eg. in MIMICView use Simulation->Record File. In any case you should read that link and the walkfile converters section in the Utilities Guide for more details.


Like all insurance, there are limitations and exclusions that apply.
All coverage is subject to the terms and conditions of the insurance contract. Check your plan for details.
You must report and submit your claim immediately, or as soon as practicable, and prior to initiating repairs or replacement.
In order to receive the full benefit of Optiom Plus, you must maintain in full force valid collision and comprehensive coverage with your primary insurer.
If your vehicle is a total loss and is written off by your primary auto insurer, your Optiom Plus Total Loss Benefit will be applied first to the balance owing on your loan or lease, to the limits of the policy. Any residual amount shall then be applied towards the purchase of an equivalent model replacement vehicle. Please note that Optiom Plus does not cover additional amounts being advance in conjunction with your vehicle purchase that relate to all or a portion of other loans or coverages.
Optiom Plus is underwritten by certain underwriters at Lloyd's. It is administered by Optiom Inc.
Important note for our Diminished Vehicle Value Benefit: There can only every be one claim for benefits per Vehicle VIN under the Diminished Vehicle Value Benefit, regardless of whether such as claim was made by you or a previous policyholder. If at the time of the event of a Total Loss you have already suffered a Partial Loss to Your Vehicle that is or was also covered by our Diminished Vehicle Value Optional Benefit coverage, then the amount paid by our Diminished Vehicle Value Optional Benefit will be deducted from the amount we pay under the Total Loss Benefit.


Back to our regular updates! No whining in this one, folks.
So I've been thinking photograph backgrounds are not going to cut it after all. I've been trying to modify my background-making process, with minor success. u_u Still using Sketchup to create furniture and stuff, but from that until the finished product it's a looong winding road. I hope to one day have a nice, clear algorithm that I can follow and make pretty pretty bgs every time. Riiiight.
Thanks! ^_^ You're not annoying me at all. I love reading comments. It's going to be a while until it's out though.


text:
Stellar and Interstellar Physics
Stars are fundamental physical probes. The Severo Ochoa project is supporting the major center goals in the Stellar and Interstellar Physics research line:
1) Identifying new black hole systems and exploring the physics of black holes and their progenitors. Major world observatories are used by the team to obtain dynamical masses for stellar black holes in binary systems, studying accretion/outflow processes in compact binaries and test theories predicting the orbital period evolution of these systems as a result of magnetic braking and/or gravitational radiation. Stars orbiting black holes will be used to test the behavior of gravity in the strong field regime.
2) Understanding the physics and life cycle of stars, from the most massive and luminous stars that can be seen at large distances in the Universe and will lead to explosive events and the formation of black holes and neutron stars, to the least luminous brown dwarfs which bridge the gap to the planetary domain. The goal in massive stars is to benefit from their large luminosities and intense radiation fields and use them as tools for our understanding of the low- and high-z Universe. IAC researchers have pioneered research on brown dwarfs since their discovery (Rebolo et al. 1995 Nature), the goal is now to understand the formation mechanism of these objects which compare in number with stars.
3) Studying the chemical enrichment during the final stages of stars like the Sun; unveiling the distribution of carbon (atomic and in molecular forms) in the Milky Way and other galaxies and determine the role of carbon-bearing molecules in interstellar prebiotic chemistry.
Discover and study black holes, neutron stars and white dwarfs in systems under strong gravity fields.
Clarify the role of stellar winds in the most massive stars and the formation/evolution of brown dwarfs bridging the stellar and the exoplanet domain.
Understand the final stages of Sun-like stars and unveil the distribution of carbon and the role of carbon-bearing molecules in interstellar prebiotic chemistry.
Main Scientific Outputs:
Measurements of [C/Fe] and [N/Fe] have been carried out for 95 individual Red Giant Branch stars in the Sculptor dwarf spheroidal galaxy. This is the first time that [N/Fe] was measured for such a large number of stars in a galaxy of that type (Lardo, Battaglia et al. 2016).
Confirmation of 100 late-M (M5-L1) subdwarfs by cross-matching large-scale imaging surveys: 2MASS, SDSS, and UKIDSS. The study has provided spectral types and 3D space motions for all the sources under investigation (Lodieu et al. 2016).
IAC researchers have published the first atlas of OB-type stars at metallicities lower than that of the Small Magellanic Cloud (Camacho et al., 2016). The observations were performed with GTC-OSIRIS and represent the first study of a massive resolved stellar population in galaxies at low metallicity.
Discovery of two of the most massive contact binaries known, providing the first detailed characterization of these systems, probable progenitors of gravitational wave sources (GU Mon - Lorenzo et al. 2016 and VFTS 352 – Almeida et al., 2015).
The IAC team working on nucleosynthesis in giant stars has found the first evidence that the most massive, evolved AGB (asymptotic giant branch) stars play a fundamental role in the contamination of the interstellar medium, from which successive generations of stars have formed. This team has also shed light on the production of oxygen nuclei in low-mass planetary nebulae.
IAC researchers have found that the discrepancy between the abundances of a given element determined from collisionally excited and recombination lines in HII regions seems to have a dependence with metallicity. A strong connection between the abundance discrepancy problem and the binarity of the central star in planetary nebulae has also been identified.
A team of experts in asteroseismology at the IAC, together with the rest of the SONG collaboration, has published a detailed study of the spectrum of oscillations of the star μ Her based on some 30,000 spectra collected in 2014 and 2015. The investigation detected a total of 49 oscillation modes.
An IAC team working in the APOGEE project has uncovered multiple transitions of the rare-earth element neodymium in the H band. This discovery makes it possible to determine the abundance of this element in tens of thousands of stars observed with the APOGEE instrument (Hasselquist et al. 2016).
The first public data release from Gaia (Gaia Collaboration 2016) has already provided new insight into the dynamical effects that has led to the correlation between Galactic rotation and chemical composition known to be present in the stellar populations in the Galactic disk (Allende Prieto, et al. 2016).
Discovery of the most metal-poor substellar object until now (Zhang et al. 2017b).
An extensive search for the coolest members of young open clusters has been carried out, obtaining deep optical and near-infrared spectroscopy of cool brown dwarfs in the Upper Sco association (paper submitted to MNRAS; Lodieu et al. 2017).
An IAC team has reported the extremely fast orbital period decay of the black hole X-ray binary (BHXB) Nova Muscae 1991. There is no standard evolutionary model able to explain the fast decay rate of this system, thus having strong implications on the evolution and lifetime of these BHXBs (González Hernández et al. 2017).
Discovery of a new L5 member of the Hyades cluster with chromospheric activity detected with GTC/OSIRIS spectroscopy (Perez-Garrido et al. 2017).
The IACOB spectroscopic database of Northern Galactic OB stars allowed the discovery of the magnetic field decay associated with the evolution of massive stars (Schneider et al. 2016). This catalog provided as well the observations for a pioneer study on the macro-turbulence broadening in OB stars (Simón-Díaz et al., 2017; Godart et al., 2017).
IAC researchers have determined the physical properties for a sample of nearly 200 massive stars in a single star formation region, 30 Dor, in the Large Magellanic Cloud, which is witnessing the most intense star formation ever observed among those where individual stars can be resolved (Sabin-Sanjulian et al., 2017; Ramirez-Agudelo et al., 2017). The investigations to date show that it is necessary to improve the stellar evolution models for massive stars, as well as the models for radiation-driven winds.
The IAC led a study in which 44 new massive stars have been discovered, 11 of them O-type stars, in Cygnus (Berlanas et al., in preparation).
Previous Results (2012-2015)


text:
Point of View:
By Andy Haas For the Homer News • December 6, 2022 5:30 am
Tags: Point of View
We all know about the recent Supreme Court decision (Dobbs v. Jackson) that found that the U.S. Constitution does not protect abortion.
But what does that mean in terms of our right to privacy — a right that has been described as "the right to be let alone"?
Whether or not you agree with the right to abortion, you should be concerned with your right to privacy, a right that the Dobbs case repeatedly stated is not contained in the U.S. Constitution.
The right to privacy was first discussed in a 1928 Supreme Court opinion when the Court reviewed wiretapping of phones. If the government did not trespass on your property or read your mail, was it really a search?
That question was more fully answered when subsequent Supreme Courts concluded that the protections found in various amendments all implicitly generated a right to privacy. As a result, in the last 70 years, the constitutional right to privacy has for instance generated protection against searches of your phone calls and text messages, and searches of your medical records and bank information. Privacy also protects against disclosure of personal information; and recognizes an independence in making certain kinds of important decisions.
The protection against disclosure of personal details includes, for instance a private employee's medical information that was sought by the government; a private person's medical and financial information; a minor student's pregnancy status; and one's sexual orientation.
The right to make independent decisions about yourself, for instance, includes the right to choose your child's education by either home-schooling or sending them to a private school. It protects against disclosure of membership in a constitutionally valid organization. The right to refuse compulsory vaccination is based upon this type of privacy right. Also, it is vital to a person's ability to keep their family together without undue government interference. For example, in 1977, the Supreme Court relied on the right to private family life to rule that a grandmother could move her grandchildren into her home to raise them even though it violated a local zoning ordinance.
You may disagree with the Court's 1973 Roe decision protecting early stage abortion — a lot of people do. But that decision was based upon a reasoned application of the privacy interest. Likewise, its reversal in Dobbs is based upon another reasoned review of privacy, and that new logic is what should be concerning you. The removal of a right is like playing Jenga: a block is removed, and will the structure collapse? And what about the next block?
The majority opinions in Dobbs repeatedly state that the right to privacy does not exist in the constitution. Why should that worry you? Because the scope of the privacy right has shrunk in an increasingly digital age when so much of our personal information is voluntarily exposed. In the last 20 years, the courts have struggled with redefining an outdated definition of privacy. Now the writing is on the wall that the right will be sharply diminished rather than redefined, because the right is not explicitly stated in the constitution and it is just easier to do so.
As a result, everyone with an interest will take further steps to test the protection, ranging from the investigative federal government to private companies tracking and selling your information.
Fortunately, unlike the U.S. constitution, the Alaska Constitution has an express right to privacy. But that will not stop the federal government or companies such as Facebook from throwing a broad net to capture intimate details or dictating your important decision making.
If you want your right to remain private – your "right to keep the government and businesses out of your home and bedroom" – you should fear that your right to privacy has just eroded, and you should fight to keep it intact.
Andy Haas is a Homer attorney for 31 years with a background in human rights and constitutional law.
Efforts to open K-8 nature school in Homer delayed
Keto Smart Reviews – Is KetoSmart Legit? Diet Pills That Work or Scam?
Point of View: Final call for participation — Every voice matters!
It is Community Health Needs Assessment time again
By Hannah Gustafson • January 25, 2023 1:30 am
Proud of the community
Zachary Hamilton is running for Kenai Peninsula Borough mayor in the special election
By Zachary Hamilton • January 25, 2023 2:30 am


Sometimes, a project just stops moving forward. Problems can pop up and initiate a chain of blockers. The most effective project managers are those who can anticipate, identify, and eliminate these project blockers.
No blockers are insurmountable, but getting past them can be tough if you don't have a plan or the right tools. Here are some of the best ways to find out why blockers occur and what you can do to get around them.
Whether teams work together or are scattered in different locations and timezones, communication issues can cause a lack of awareness of impeding problems. Customizable, easy-to-use work tracking software will keep teams aligned on any potential project blockers that are, or might arise. Such tools give your teams the opportunity to see each other's live progress and easily stay informed on any updates, issues, or blockers. Tracking can also give you a roadmap to follow back to the source of the blocker. You'll be able to see which employees worked on the relevant tasks, when they worked on it, and what the actual problems are. Team members can also comment on any issues or delays they're experiencing right in the task cards, which can facilitate early-warning communication about problems that are impeding their work.
Automating tasks and removing manual steps can make many processes flow much more smoothly. Automation speeds up workflows and eliminates potential bottlenecks and sticking points. It's also more efficient, easier to monitor, and reduces the amount of time and money you have to spend on training.
Build inbox lists where all unsorted tasks go before they get sorted into to-do, in-progress, completed, or other lists. Inbox lists can be backlogs or request queues. Find someone on the team to take on responsibility for planning and managing backlogged work that needs to be done.
When it comes to project blockers, denial is a real thing. It's all too easy to pivot away from a blocker with some vague intentions of coming back to it later, pretending that you're not blocked, you're just reprioritizing. Avoidance and procrastination can delay the inevitable for a long time, but sooner or later, blockers have to be dealt with. Sometimes you have to acknowledge that you might need somebody else's help to complete a task, or that you need to talk to a team member (or their manager) who's holding up your progress.
Don't wait for an immediate answer when you have a question about an issue that's come up — use asynchronous communication platforms, like those provided by your work tracking tools. This will allow you to shift your focus to other tasks you need to work on until you get the information you need.
If you're working in an Agile development environment, your daily scrum is an ideal time and place to bring up blockers and brainstorm ways to neutralize them. Every daily scrum should include some attempt to tease out blockers — you can ask team members if they had to stop, slow down, or hesitate at any point when they were working on recent tasks. If so, ask what prompted it and what might help them avoid similar issues in the future.
We all face blockers in our daily tasks, whether they're minor distractions or seemingly insurmountable problems. By calling them what they are and falling back on a strategy to pinpoint their causes and figure out how to remove them, you can keep your work processes advancing toward their goals. Just make sure you take advantage of your workflow tools and project management software — they've all got features and functions designed to help you identify, discuss, and bust through your project blockers.
If tools are a blocker for your collaborative projects, Unito can help by allowing everyone to stay in the tools they know and love.


text:
Q: Fullscreen/scaled image in popup
Possible Duplicate:
Android: Scale a Drawable or background image?

I'd like to make a popup that contains an ImageView. Right now, the Drawable that I'm showing is 100x200px big. The Drawable is of good quality, so I would like to show the image fullscreen. I have no idea how though. This is my code so far:
        AlertDialog.Builder imgDialog = new AlertDialog.Builder(
            myactivity.this);
    ImageView imageView = new ImageView(myactivity.this);

    Matrix matrix = new Matrix();
    matrix.postScale(2, 2);

    imageView.setImageDrawable(myDrawable);
    imageView.setImageMatrix(matrix);

    LayoutParams imageViewLayoutParams = new LayoutParams(
            LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    imageView.setLayoutParams(imageViewLayoutParams);

    LinearLayout layout = new LinearLayout(myactivity.this);
    layout.setOrientation(LinearLayout.VERTICAL);
    layout.addView(imageView);

    imgDialog.setView(layout);

I already tried to set the WRAP_CONTENT of the ImageView LayoutParams on FILL_PARENT, but this doesn't change the situation.
The Drawable width is 100, and the height is 200. I'm thinking about scaling the Drawable or the ImageView, but failed to get this done so far..
Any help would be appreciated!

A: Try manipulating the window object of the dialog.
Dialog dialog = imgDialog.create();
dialog.setContentView(layout);
Window window = dialog.getWindow();
window.setLayout(
    (int)(window.getWindowManager().getDefaultDisplay().getWidth()),
    (int)(window.getWindowManager().getDefaultDisplay().getHeight() ));

This will force the dialog to take 100% of the screen in both directions.


Over the past few months, we have been undergoing a bit of construction in our house to create a new butler's pantry and coat closet. As I have mentioned in various posts, while I love my kitchen, it is not the biggest and the storage is limiting for someone who frequently cooks and entertains. Just to be clear, by "limiting," I mean that every time I needed to use my food processor or get out my cake stand, I would have to go upstairs to the attic to pull those items out of storage. Not ideal but hey, it worked.
We had initially planned to have a built-in custom cabinet installed to the right of our existing coat closet, however the quotes we were receiving from various contractors had my husband and I turning white in the face. It wasn't until my mom actually took a look at the space and suggested re-purposing our current closet, that we finally saw the light. She suggested that we consider reducing the existing coat closet and inserting a pantry to create into a hybrid butler's pantry/coat closet. Finally we realized we were onto something! Of course as the universe might have it, a California Closet's Store opened up down the street from our house right around this time, so we decided to go and talk to a closet consultant to see what they could do for us.
After a store meeting and home meeting to measure the space, California Closets sent us 3 different proposals for how the space could be designed (at various price points). My husband and I made a few additional tweaks to the proposal we liked best, the contract was finalized and the building process began!
The whole process took about 3 weeks including construction, below are the details from start to finish along with the options we selected.
Before we could have the new closet unit installed, we needed to have a general contracting team come in and widen the existing door frame. Widening the door frame would provide us with the necessary latitude to install maximum depth shelves, drawers and rolling shelves.
The construction took approximately a day and a half to complete. When all was said and done, it looked great and they were very respectful/careful with our property. The one piece of advice I have for anyone about to undergo construction in their house is -- get ready for an invasion of dust! Our construction team used tarps, cloths, etc… and still the dust that covered every surface post project was incredible. If you are going to have any work done to your home, I would strongly encourage you to avoid having the work take place near any time when you plan to be entertaining.
Our new coat closet is now a fraction of the size it used to be, but it's perfect for holding our everyday coats or our guests coats when entertaining, has a storage space above for all of Dolly's supplies (see this bin) and even room for a few everyday cleaning tools like our Swiffer! My husband and I do not have extensive coat collections, so we found it much more beneficial to allocate the space towards kitchen/dining storage.
As I mentioned above, we opted to have the doorframe widened so that we could install the maximum depth shelf option. We have enough room to house placemats, cheeseboards, cake plates, dry goods, baking supplies, the majority of my small kitchen appliances and even a few of these fabulous bin organizers. I feel like I am honestly swimming in storage space these days, which is something I never dreamed would be possible given the size of my kitchen paired with my serious habit for kitchen equipment and entertaining accessories.
Oh what a luxury it is to finally have additional kitchen drawers!! As I have mentioned in previous posts (like this one), our kitchen is only outfitted with two drawers, so having additional drawers included in our new butlers pantry was an absolute MUST. Prior to having these new drawers, I was storing my kitchen linens in a basket situated in a high cabinet, which was a total nightmare. These new drawers have given me the room to store and easily access my dish towels, oven mitts, aprons and table linens. Talk about luxury!
We opted to have 2 rolling shelves installed on the two bottom levels of our pantry. Reason being - who wants to crouch down onto the floor and dig around the back of a shelf for an item? Definitely not me. Adding the roller shelves allows for easy access to all items on both lower levels, which is especially helpful when you are storing big bulky kitchen appliances. In addition, the lowest rolling shelf has doubled as a pet food/feeding storage space. Dolly's bowls and kibbles can finally be stored in the same location, making her meal prep super easy and convenient.
I would have to say that what I loved most about using California Closets for this project, was the ability to customize every single aspect of this cabinet. We were able to choose the doors, interior and exterior hardware and stain colors for all shelves and drawers. The best part? Because California Closets is a closet manufacturing company, the cost to build this pantry was a fraction of what we were being quoted by various independent contractors.
As this project comes to a close, there are a few key takeaways that I wanted to make sure to share with you all while everything is still fresh in my mind.
Before trying to create a new storage space, see if you can re-purpose an existing space. You will save on expenses and keep your home from looking crowded if you use a space you already have.
When it comes to specific home improvement work, you will save money by going to the experts instead of an independent contractor who is most likely not readily equipped with the materials that may be needed for proposed project (like a custom closet).
Err on the side of more details as opposed to less. For this project, I pulled out everything I had wanted to store in this new closet so that the designers at California Closets could get a more accurate idea of my desired end goal.
While we still have a few loose ends to tie up, like the two holes in the floor where the old door frame used to be, the lion's share of the work is complete and I couldn't be happier with the final product. Starting off 2016 on an uber-organized note is the absolute best!


text:
Mansfield District Council supports 10k race
The 2015 Mansfield 10k.
Mansfield District Council is working in partnership with local charity Reach Learning Disability to bring the Mansfield 10k back to the town on Sunday 21 August.
After a successful first event in 2015 with 661 participants, this year the council is working with the charity to encourage up to 1000 runners to hit the streets of Mansfield Town Centre.
The race starts at 9am with a new and improved route that starts and finishes in the Market Place after two laps of the town centre are completed.
So far 500 participants have registered and received their runner's packs but with little over a week to go, time is running out for people to sign up.
The council is encouraging the community to show their support to register for the run- even its own officers are taking part.
Abbey Clarke, Events and PR Officer at Mansfield District Council who is running in the race said: "It's not something I'd ever considered doing before, being a total novice runner, but knowing I'm going to be part of such a big event for our town makes it totally worthwhile. Plus I get to help raise funds for a great local charity so I thought I'd give it a go."
Executive Mayor, Kate Allsop, who has shown great support for the Mansfield 10k and welcomes the partnership of Mansfield District Council with Reach, said: "We're glad to support such a worthy charity and are honoured to be working in partnership on such a fantastic event for our town. We encourage as many runners as possible to sign up."
Other sponsors who are helping to make this event happen include local businesses McDonald's, Slimming World, and Mansfield Building Society.
There are a limited number of places left for this year's event so it is advisable to book your place as soon as possible to avoid disappointment.
If you would like to get involved and take part, visit www.mansfield10k.co.uk to register online.


Kicke Sneak has just signed up. Say hello!
Lachlan Chidley has just signed up. Say hello!
microsoft support Dial Microsoft Support Phone Number +1-800-201-4243 to fix the issues, Windows refreshes mistake can occur amid various phases of the update being legitimately. Not working due to clashes from outsider applications like antivirus and either a portion of t... moreDial Microsoft Support Phone Number +1-800-201-4243 to fix the issues, Windows refreshes mistake can occur amid various phases of the update being legitimately. Not working due to clashes from outsider applications like antivirus and either a portion of those supporting fix windows update blunder administrations and parts not working down to one reason, Microsoft Helpline Phone Number it's with respect to the deliver ability of a report to a windows refreshes notwithstanding Microsoft Store. Outlook Support Phone Number, Microsoft Technical Support Phone Number, Windows Support Phone Number.
Mary Moore has just signed up. Say hello!
Foging sam → All Cheap OSRS gold scrimshaws must accord a best: This band-aid wouldn't lower majority of any scrimshaws currently entering the game, as some of the places are counterbalanced in their price, accordingly no injury into the economy, and PoP and Arc are additional mad together.
Anna Rose has just signed up. Say hello!
Stefan Carl has just signed up. Say hello!
karen lover has just signed up. Say hello!


text:
Self Help Graphics at Transamerica Center Gallery 1983 & 1986
Black Orchid, 1986
Silkscreen Print, Edition, 1/88
LA Prints: Self Help Graphics Ateliér Program
at Transamerica Center Gallery
1150 South Olive Street, Los Angeles
May 12—July 3, 1986
Artists included: Dan Anton, Sister Karen Boccalero, Yreina Cervantez, Sam Costa, Florencio Flores, Armando Norte, Michael Ponce, Dan Segura, Marisa Zains, Mari Cardenas, Diane Gamboa, Miles Hamada, Steve Leal, Leo Limon, Jesus Perez, Barbara Carrasco, Robert Delgado, Richard Duardo, Eduardo Oropeza, Lorraine Garcia, Willie Herron, Raplh Maradiaga, Eloy Torrez, Linda Vallejo, Dolores Cruz, Alonzo Davis, Peter Sparrow, John Valadez, Alfredo DeBatuc, Dolores Guerrero-Cruz, Liz Rodriguez, Matthew Thomas, Bob Zoell, Glenna Boltuch, Qathryn Brehm, Margaret Garcia, Alberto Castro Lenero, Jose Castro Lenero, Gilbert Lujan (Magu), Frank Romero.
Sister Karen Boccalero, Director
Self-Help Graphics and Art
The Experimental Screenprint Atelier Program at Self-Help Graphics has grown out of a desire by artists of this community to create work in the medium of limited edition serigraphy. Usually, only those artists with considerable financial backing can afford the traditional practice of hiring a master printer and shop to produce an edition of their work. It was to address this and other problems that the Atelier program was worked out in extended discussions and experiments through the fall and winter of 1982.
It was agreed that the Atelier program could change that equation by a simple format: invite artists, provide the master printer and silk-screen studio, and most importantly, provide a non-competitive atmosphere in which artists of extremely varied backgrounds, styles, and aesthetics could gain from each other's diversity. In order to emphasize this collective nature of the Ateliers, the artists have taken part in group meetings in which various works-in-progress are presented and discussed. These discussions take place with the master printer present so that creative ideas can be played out against the technical standards that have to be maintained in the actual production of the edition. What has resulted to date are 60 archival quality limited edition prints by 42 artists.
The Self-Help Graphics Atelier experience has been that of the artists themselves within the rich cultural milieu of East Los Angeles. We have seen careers progress, innovative techniques explored, ideas generated, and chances taken. What the artists of this community can gain in the future from the Atelier program is Self-Help's goal: continue the silk-screen program and expand it and the facilities to include intaglio, lithography, wood block, and monotype printmaking.
The degree to which the Atelier program has succeeded in providing a unique and valuable opportunity for artists can best be determined by speaking with them. The degree to which it has succeeded in presenting significant, technically accomplished images, an examination of the work itself will show. But the degree to which the program can continue and expand will ultimately be determined by the community itself.


"No Depression"--drawn from a vintage Carter Family song (and consequently became the name of an Uncle Tupelo album)--represents an extension of the alternative country rock genre which originated at the end of the 1960s with the Byrds and the Flying Burrito Brothers and was revived in the 1980s through the work of Jason and the Scorchers, Uncle Tupelo, and others. The genre melded country (particularly the twangy, honky tonk style exemplified by Hank Williams, Sr.) and punk.
By the time Uncle Tupelo (a band whose influence on the scene was far greater than mere sales might suggest) split off into two new groups in 1993, Wilco and Son Volt, the No Depression movement had acquired a clear-cut identity, inspiring the publication of numerous fanzines, the establishment of countless websites thoughout the world, and a new type of radio programming known as "Americana."


Local seafood markets that source from the most quality conscious fishers landing on the docks of Gloucester to Boston to the South Shore to Maine.
Haddock, Cod, Hake, Greysole, Flounders, Dabs, Cusk, Pollock, Striped Bass, Swordfish, Tuna, Oysters, Mussels, Clams, Lobsters, and other seasonal local seafood.
How does Turner's Seafood implement these values?
We work directly with the local fishing community to ensure that we all of our product is caught according to all local and federal regulation. We server on the Gloucester Fishing Community Preservation Fund board that also acts as a permit bank to ensure that local fisherman have access to affordable quota. We partner with the Gloucester Fishermen Wives, the Cape Ann Fresh Catch CSF, and the Mass Restaurant Asso to promote and preserve our local fishing community and access to our valuable local seafood. We work with the state agency to help facilitate regulatory practices in the best interest of the community, environment and consumer.