Fell bundles $\mathcal{A}=(A_{s})_{s\in S}$ such that $A_{e}\subseteq A_{1}$
is a complemented ideal for every $e\in E$. By Corollary 4.25 an inverse
semigroup $S$ is $C^{*}$-amenable if and only if $G(S)$ is amenable as a
topological (étale) groupoid. By
[ExelStarling:Amenable_Actions_Inv_Sem]*Theorem 3.3, $S$ is $C^{*}$-amenable
if and only if every action of $S$ on a locally compact Hausdorff space $X$
has the approximation property, that is, the étale groupoid $X\rtimes S$ is
amenable. This combined with our previous results yields the following.

######  Corollary 4.27.

Let $S$ be an inverse semigroup. Then the following assertions are equivalent:

  1. (i)

$S$ is $C^{*}$-amenable, that is, the canonical action of $S$ on $\widehat{E}$
has the approximation property;

  2. (ii)

$G(S)=\widehat{E}\rtimes S$ is amenable;

  3. (iii)

every étale groupoid which is ‘represented’ by $S$, in the sense that $S$ acts
on $G^{0}$ and $G\cong G^{0}\rtimes S$, is amenable;

  4. (iv)

every Fell bundle over an étale groupoid $G$ represented by $S$ has the
approximation property.

###### Proof.

By the previous observations and results, it only remains to prove that if
$G=G^{0}\rtimes S$ is amenable, then every Fell bundle $\mathcal{A}$ over $G$
has the approximation property. But if $\\{\eta_{i}\\}_{i\in I}\subseteq
C_{c}(G)$ is a net witnessing the amenability of $G$ and $\\{u_{j}\\}_{j\in
J}\subseteq C_{0}(G^{0},\mathcal{A}^{0})$ is an approximate unit (as usual,
with $0\leq u_{j}\leq 1$), then a simple computation shows that the net
$\\{\xi_{i,j}\\}_{i,j}\subseteq C_{c}(G,r^{*}(\mathcal{A}^{0}))$ defined by
$\xi_{i,j}(g)\coloneqq\eta_{i}(g)u_{j}(r(g))$ gives the approximation property
of $\mathcal{A}$. ∎

##  5\. Tensor products of Fell bundles

This section is dedicated to introducing tensor products of a Fell bundle
$\mathcal{A}=(A_{s})_{s\in S}$ over an inverse semigroup $S$ and any fixed
$C^{*}$-algebra $B$. First we define such tensor products in Section 5.1 (see
Definition 5.1). Then, in Section 5.2, we will prove some useful compatibility
results between, on the one hand, the maximal tensor product and the full
cross-sectional $C^{*}$-algebra (see Proposition 5.5); and on the other hand,
between the minimal tensor product and the reduced cross-sectional
$C^{*}$-algebra (see Proposition 5.9). Lastly, in Proposition 5.15 we show
that the approximation property is preserved under taking tensor products with
arbitrary $C^{*}$-algebras.

###  5.1. Construction of tensor products

Given a Hilbert bimodule $\mathcal{E}$ from $A$ to $B$ and another Hilbert
bimodule $\mathcal{F}$ from $C$ to $D$, it is well known that we can form the
_minimal_ and _maximal_ external tensor products
$\mathcal{E}\otimes_{\text{min}}\mathcal{F}$ from $A\otimes_{\text{min}}C$ to
$B\otimes_{\text{min}}D$ and $\mathcal{E}\otimes_{\text{max}}\mathcal{F}$ from
$A\otimes_{\text{max}}C$ to $B\otimes_{\text{max}}D$, see for instance
[Echterhoff-Kaliszewski-Quigg-Raeburn:Categorical]. Moreover, if both
$\mathcal{E}$ and $\mathcal{F}$ are imprimitivity bimodules, then so are
$\mathcal{E}\otimes_{\text{min}}\mathcal{F}$ and
$\mathcal{E}\otimes_{\text{max}}\mathcal{F}$. In fact, we shall only need here
the case where $\mathcal{F}$ is a fixed $C^{*}$-algebra $C$ viewed as an
(imprimitivity) $C$-$C$-bimodule. Using these constructions we may define the
tensor product of a Fell bundle and an arbitrary $C^{*}$-algebra in the
following way.

######  Definition 5.1.

Given a Fell bundle $\mathcal{A}=(A_{s})_{s\in S}$ over an inverse semigroup
$S$ and a $C^{*}$-algebra $B$, we define:

  1. (i)

$\mathcal{A}\otimes_{\text{min}}B$ to be the bundle over $S$ with fibres
$(\mathcal{A}\otimes_{\text{min}}B)_{s}\coloneqq A_{s}\otimes_{\text{min}}B$;

  2. (ii)

$\mathcal{A}\otimes_{\text{max}}B$ to be the bundle over $S$ with fibres
$(\mathcal{A}\otimes_{\text{max}}B)_{s}\coloneqq A_{s}\otimes_{\text{max}}B$.

The following lemma just checks that $\mathcal{A}\otimes_{\text{min}}B$ and
$\mathcal{A}\otimes_{\text{max}}B$ do carry a natural structure of Fell
bundles.

######  Lemma 5.2.

With notation as above, for every $s,t\in S$ the map

$\displaystyle\left(A_{s}\odot B\right)\odot\left(A_{t}\odot
B\right)\rightarrow A_{st}\odot B,\;\;\text{where}\;\,\left(a_{s}\otimes
b_{1}\right)\odot\left(a_{t}\otimes b_{2}\right)\mapsto a_{s}a_{t}\otimes
b_{1}b_{2}$

extends to an embedding of Hilbert bimodules
$(A_{s}\otimes_{\text{min}}B)\otimes_{\text{min}}(A_{t}\otimes_{\text{min}}B)\rightarrow
A_{st}\otimes_{\text{min}}B$. Moreover, the map

$\displaystyle A_{s}\odot B\rightarrow A_{s^{*}}\odot
B,\;\;\text{where}\;\,a_{s}\otimes b\mapsto a_{s}^{*}\otimes b^{*}$

extends to an isomorphism of Hilbert bimodules
$(A_{s}\otimes_{\text{min}}B)^{*}\xrightarrow{\sim}A_{s^{*}}\otimes_{\text{min}}B$.
Likewise, the same results hold for the maximal tensor product
$\otimes_{\text{max}}$.

###### Proof.

The same proof given in [Abadie:Tensor] for groups extends to inverse
semigroups. ∎

Using Lemma 5.2 we may now see $\mathcal{A}\otimes_{\text{min}}B$ and
$\mathcal{A}\otimes_{\text{max}}B$ as Fell bundles over $S$ whose bundle
structure comes as a continuous extension of that of the “algebraic” bundle
$\mathcal{A}\odot B=(A_{s}\odot B)_{s\in S}$.

We end this section with two basic observations. First, notice that

(5.3)
$\left\|x\right\|_{A_{s}\otimes_{\text{max}}B}=\left\|x^{*}x\right\|^{1/2}_{A_{s^{*}s}\otimes_{\text{max}}B}\;\;\text{and}\;\;\left\|y\right\|_{A_{s}\otimes_{\text{min}}B}=\left\|y^{*}y\right\|^{1/2}_{A_{s^{*}s}\otimes_{\text{min}}B}$

for every $x\in A_{s}\otimes_{\text{max}}B$ and $y\in
A_{s}\otimes_{\text{min}}B$. The second observation states that maximal tensor
products of Fell bundles enjoy the universal property one would expect.

######  Lemma 5.4.

Given two representations $\pi=(\pi_{s})_{s\in S}$ of
$\mathcal{A}=(A_{s})_{s\in S}$ and $\rho\colon
B\rightarrow\mathcal{L}(\mathcal{H})$ of $B$ on the some Hilbert module
$\mathcal{H}$ satisfying $\pi_{s}(a)\rho(b)=\rho(b)\pi_{s}(a)$ for all $a\in
A_{s}$, $s\in S$ and $b\in B$, there is a unique representation
$\pi\otimes_{\text{max}}\rho=(\pi_{s}\otimes_{\text{max}}\rho)_{s\in S}$ of
$\mathcal{A}\otimes_{\text{max}}B$ on $\mathcal{H}$ extending the map
$\pi_{s}\otimes\rho\colon\mathcal{A}\odot B\to\mathcal{L}(\mathcal{H})$,
$a\otimes b\mapsto\pi_{s}(a)\rho(b)$.

###### Proof.

Observe that, whenever $e\in E$ is an idempotent, the maps
$\pi_{e}\otimes\rho$ extend to $A_{e}\otimes_{\text{max}}B$ by the universal
property of $\otimes_{\text{max}}$, since $A_{e}$ is then a $C^{*}$-algebra.
The existence of $\pi_{s}\otimes_{\text{max}}\rho$ for general $s\in S$ then
follows from Equation 5.3, since the norm on $A_{s}\otimes_{\text{max}}B$ is
induced from that of $A_{s^{*}s}\otimes_{\text{max}}B$. Moreover, it is
routine to show that the resulting family
$\pi\otimes_{\text{max}}\rho=(\pi_{s}\otimes_{\text{max}}\rho)_{s\in S}$ is a
representation of $\mathcal{A}\otimes_{\text{max}}B$. ∎

In particular the above shows that given representations
$\pi\colon\mathcal{A}\to\mathcal{L}(\mathcal{H}_{1})$ and $\rho\colon
B\to\mathcal{L}(\mathcal{H}_{2})$ on two Hilbert modules $\mathcal{H}_{1}$ and
$\mathcal{H}_{2}$ (over possibly different $C^{*}$-algebras), we get a
representation
$\rho\colon\mathcal{A}\otimes_{\text{max}}B\to\mathcal{L}(\mathcal{H}_{1}\otimes_{\text{max}}\mathcal{H}_{2})$
sending $a\otimes b\mapsto\pi_{s}(a)\otimes\rho(b)$. If we look at the minimal
tensor product of Hilbert modules instead, this is a prototypical
representation of the minimal tensor product. Indeed, using the same idea of
the above proof we see that the above representation factors through a
representation of the minimal tensor product Fell bundle:

$\pi\otimes_{\text{min}}\rho\colon\mathcal{A}\otimes_{\text{min}}B\to\mathcal{L}(\mathcal{H}_{1}\otimes_{\text{min}}\mathcal{H}_{2}).$

###  5.2. Compatibility of tensor products and cross-sectional
$C^{*}$-algebras

We may now prove the expected compatibility conditions between the maximal
tensor product and the universal cross-sectional $C^{*}$-algebra (see
Proposition 5.5); and likewise between their minimal/reduced companions (see
Proposition 5.9). We start with the approach to the universal objects, as it
is, unsurprisingly, simpler.

######  Proposition 5.5.

Let $\mathcal{A}=(A_{s})_{s\in S}$ be a Fell bundle over an inverse semigroup
$S$, and let $B$ be a $C^{*}$-algebra. Then the identity map on
$C_{c}(\mathcal{A})\odot B$ descends to a ∗-isomorphism
$C_{\text{max}}^{*}\left(\mathcal{A}\right)\otimes_{\text{max}}B\cong
C_{\text{max}}^{*}\left(\mathcal{A}\otimes_{\text{max}}B\right)$.

###### Proof.

To prove the claim we shall construct mutually inverse ∗-homomorphisms

$\Psi\colon C_{\text{max}}^{*}\left(\mathcal{A}\right)\otimes_{\text{max}}B\to
C_{\text{max}}^{*}\left(\mathcal{A}\otimes_{\text{max}}B\right)$

and

$\Phi\colon C_{\text{max}}^{*}\left(\mathcal{A}\otimes_{\text{max}}B\right)\to
C_{\text{max}}^{*}\left(\mathcal{A}\right)\otimes_{\text{max}}B,$

both of which will be induced by the identity map on $C_{c}(\mathcal{A})\odot
B$.

Observe that, in order to construct $\Phi\colon
C_{\text{max}}^{*}\left(\mathcal{A}\otimes_{\text{max}}B\right)\to
C_{\text{max}}^{*}\left(\mathcal{A}\right)\otimes_{\text{max}}B$, by the
universal property of the full cross-sectional $C^{*}$-algebra (see
Proposition 2.36), it is enough to construct a representation
$\phi=(\phi_{s})_{s\in S}$ of $\mathcal{A}\otimes_{\text{max}}B$. For this,
simply note that the identity map on $C_{c}(\mathcal{A})\odot B$ induces the
maps

$\phi_{s}\colon A_{s}\odot B\to
C_{\text{max}}^{*}\left(\mathcal{A}\right)\otimes_{\text{max}}B,\;\;\text{where}\;\;a_{s}\otimes
b\mapsto a_{s}\otimes b$

(recall here Lemma 2.28 and the fact that
$\mathbb{C}_{\text{alg}}\left(\mathcal{A}\right)\subseteq
C_{\text{max}}^{*}\left(\mathcal{A}\right)$ is dense). Note, by the universal
property of the maximal tensor product $\otimes_{\text{max}}$, and since
$A_{e}$ is a $C^{*}$-algebra, it follows that $\phi_{e}$ is
$\mathrm{max}$-continuous whenever $e\in E$ is an idempotent. Likewise,
whenever $x\in A_{s}\odot B$, by Equation 5.3, we have $\|x\|^{2}=\|x^{*}x\|$,
and hence, using the $C^{*}$-identity, we get

$\displaystyle\left\|\phi_{s}\left(x\right)\right\|^{2}$
$\displaystyle=\left\|\phi_{s}\left(x\right)^{*}\phi_{s}\left(x\right)\right\|=\left\|\left(\phi_{e}\otimes\operatorname{\mathrm{id}}\right)\left(\sum_{k,l=1}^{n}a_{k}^{*}a_{l}\otimes
b_{k}^{*}b_{l}\right)\right\|$
$\displaystyle\leq\left\|\sum_{k,l=1}^{n}a_{k}^{*}a_{l}\otimes
b_{k}^{*}b_{l}\right\|=\left\|x^{*}x\right\|=\left\|x\right\|^{2}$

for all $x=\sum_{k=1}^{n}a_{k}\otimes b_{k}\in A_{s}\odot B$. Therefore, the
maps $\phi_{s}$ are $\mathrm{max}$-continuous for every $s\in S$, and hence
extend to maps $\phi_{s}\colon A_{s}\otimes_{\text{max}}B\to
C_{\text{max}}^{*}\left(\mathcal{A}\right)\otimes_{\text{max}}B$ that we
denote with the same symbol by abuse of notation. It is now routine to see
that $\phi=(\phi_{s})_{s\in S}$ forms a representation of
$\mathcal{A}\otimes_{\text{max}}B$. Thus, its integrated form $\Phi\colon
C_{\text{max}}^{*}\left(\mathcal{A}\otimes_{\text{max}}B\right)\to
C_{\text{max}}^{*}\left(\mathcal{A}\right)\otimes_{\text{max}}B$ is a
∗-homomorphism as well (see Proposition 2.36).

Consider the _unitization Fell bundle_ $\tilde{\mathcal{A}}$, that is,
consider $\tilde{A}_{s}\coloneqq A_{s}$ if $s\not=1$ and $\tilde{A}_{1}$ to be
the unitization of $A_{1}$ as a $C^{*}$-algebra. Notice that $\mathcal{A}$ is
a Fell bundle ideal of $\tilde{\mathcal{A}}$ as defined in [Kwasniewski-
Meyer:Pure_infiniteness]. Likewise, $\mathcal{A}\otimes_{\text{max}}B$ is also
a Fell bundle ideal of $\tilde{\mathcal{A}}\otimes_{\text{max}}\tilde{B}$. So
by [Kwasniewski-Meyer:Pure_infiniteness]*Proposition 4.12 we get a canonical
embedding

$C^{*}_{\mathrm{max}}(\mathcal{A}\otimes_{\text{max}}B)\hookrightarrow
C^{*}_{\mathrm{max}}(\tilde{\mathcal{A}}\otimes_{\text{max}}\tilde{B})$

extending the canonical inclusion
$\mathcal{A}\otimes_{\text{max}}B\hookrightarrow\tilde{\mathcal{A}}\otimes_{\text{max}}\tilde{B}$.
Now we consider the maps

$\rho_{s}\colon A_{s}\to
C_{\text{max}}^{*}\left(\tilde{\mathcal{A}}\otimes_{\text{max}}\tilde{B}\right),\;\;\quad\;\;a_{s}\mapsto
a_{s}\delta_{s}\otimes 1_{B},$

and

$\pi\colon B\to
C_{\text{max}}^{*}\left(\tilde{\mathcal{A}}\otimes_{\text{max}}\tilde{B}\right),\;\;\quad\;\;b\mapsto
1_{A_{1}}\otimes b,$

It is straightfoward to check that $\rho$ is a representation of
$\mathcal{A}$. By the universal property of the full cross-sectional
$C^{*}$-algebra (see Proposition 2.36) we obtain that the integrated form

$\rho\colon C_{\text{max}}^{*}\left(\mathcal{A}\right)\to
C_{\text{max}}^{*}\left(\tilde{\mathcal{A}}\otimes_{\text{max}}\tilde{B}\right)$

is a ∗-homomorphism that extends $\rho_{s}$ in every fiber
$A_{s}\hookrightarrow C_{\text{max}}^{*}\left(\mathcal{A}\right)$. Likewise,
$\pi$ is a ∗-homomorphism. Furthermore, note that $\rho$ and $\pi$ have
commuting ranges. Indeed, for all $a_{s}\in A_{s}$ and $b\in B$

$\displaystyle\rho\left(a_{s}\right)\pi\left(b\right)$
$\displaystyle=\left(a_{s}\delta_{s}\otimes
1_{B}\right)\cdot\left(1_{A_{1}}\otimes b\right)=a_{s}\delta_{s}\otimes
b=\pi\left(b\right)\rho\left(a_{s}\right).$

Thus, by the universal property of the maximal tensor product
$\otimes_{\text{max}}$, there is a ∗-homomorphism $\Psi\colon
C_{\text{max}}^{*}\left(\mathcal{A}\right)\otimes_{\text{max}}B\to
C_{\text{max}}^{*}\left(\tilde{\mathcal{A}}\otimes_{\text{max}}\tilde{B}\right)$
such that $\Psi(x\otimes b)=\rho(x)\pi(b)$ for all $x\in
C_{\text{max}}^{*}\left(\mathcal{A}\right)$ and $b\in B$. In particular, for
every $a_{s}\delta_{s}\otimes b\in A_{s}\delta_{s}\odot B\subseteq
C_{c}(\mathcal{A})\odot B$, we have

$\Psi\left(a_{s}\delta_{s}\otimes
b\right)=\rho(x)\pi(b)=a_{s}\delta_{s}\otimes b,$

and hence $\Psi$ is induced by the identity map on $C_{c}(\mathcal{A})\odot
B$. In particular, the image of $\Psi$ is contained in
$C_{\text{max}}^{*}\left(\mathcal{A}\otimes_{\text{max}}B\right)\subseteq
C_{\text{max}}^{*}\left(\tilde{\mathcal{A}}\otimes_{\text{max}}\tilde{B}\right)$,
so we may see it as a ∗-homomorphism $\Psi\colon
C_{\text{max}}^{*}\left(\mathcal{A}\right)\otimes_{\text{max}}B\to
C_{\text{max}}^{*}\left(\mathcal{A}\otimes_{\text{max}}B\right)$, as desired.

It is now routine to show that $\Psi$ and $\Phi$ are mutually inverses.
Therefore any one of them gives the desired isomorphism
$C_{\text{max}}^{*}\left(\mathcal{A}\right)\otimes_{\text{max}}B\cong
C_{\text{max}}^{*}\left(\mathcal{A}\otimes_{\text{max}}B\right)$ induced by
the identity on $C_{c}(\mathcal{A})\odot B$. ∎

######  Remark 5.6.

We briefly observe that the proof of Proposition 5.5, as expected, heavily
relies on the universal properties of both the full cross-sectional
$C^{*}$-algebra of a Fell bundle and of the maximal tensor product.

######  Remark 5.7.

In the following results, we shall be working with several Fell bundles at the
same time. Therefore, given a Fell bundle $\mathcal{A}=(A_{s})_{s\in S}$ we
shall denote the canonical conditional expectation $P\colon
C_{c}(\mathcal{A})\to A_{1}^{\prime\prime}$ by $P_{\mathcal{A}}$ instead.
Likewise, we label other objects assigned to $\mathcal{A}$ in a similar way,
like the ideal $\mathcal{N}_{P}$, which will be denoted by
$\mathcal{N}_{\mathcal{A}}$ (recall Equation 2.26), and $\pi_{\mathcal{A}}$
will be the canonical quotient map

$\pi_{\mathcal{A}}\colon C_{c}\left(\mathcal{A}\right)\twoheadrightarrow
C_{c}\left(\mathcal{A}\right)/\mathcal{N}_{\mathcal{A}}=\mathbb{C}_{\text{alg}}\left(\mathcal{A}\right).$

The analogous result to Proposition 5.5 for the reduced/minimal objects is
technically harder to prove (see Proposition 5.9). Indeed, we will have to
construct a unitary operator intertwining two representations (this is akin to
the proof of Theorem 3.20). Moreover, there is a subtlety that appears in this
context, as it does in the context of $C^{*}$-bundles (see [Kranz:AP-
groupooids-Fell-bundles, MR3383622] and references therein). We will, however,
leave this discussion to after the proof of Proposition 5.9 (see Corollaries
5.13 and 5.14).

The following lemma partially describes a canonical faithful conditional
expectation of
$C_{\text{red}}^{*}\left(\mathcal{A}\right)\otimes_{\text{min}}B$. In
particular, observe that the following describes the canonical conditional
expectation $P_{\mathcal{A}\otimes_{\text{min}}B}$ of
$\mathcal{A}\otimes_{\text{min}}B$ when applied to the fibers
$A_{s}\delta_{s}\odot B\subseteq C_{c}(\mathcal{A})\odot B$ (recall Lemma
3.16).

######  Lemma 5.8.

Given a Fell bundle $\mathcal{A}=(A_{s})_{s\in S}$, the map

$P_{\mathcal{A}}\otimes\operatorname{\mathrm{id}}_{B}\colon
C_{c}(\mathcal{A})\odot B\to A_{1}^{\prime\prime}\odot B$

coincides with

$P_{\mathcal{A}\otimes_{\text{min}}B}\colon
C_{c}(\mathcal{A}\otimes_{\text{min}}B)\to(A_{1}\otimes_{\text{min}}B)^{\prime\prime}$

if we view $C_{c}(\mathcal{A})\odot B\cong C_{c}(\mathcal{A}\odot
B)\hookrightarrow C_{c}(\mathcal{A}\otimes_{\text{min}}B)$ and
$A_{1}^{\prime\prime}\odot
B\hookrightarrow(A_{1}\otimes_{\text{min}}B)^{\prime\prime}$, that is, we have

$(P_{\mathcal{A}}\otimes\operatorname{\mathrm{id}}_{B})(f\otimes
b)=P_{\mathcal{A}\otimes_{\text{min}}B}(f\otimes b)\quad\mbox{for every }f\in
C_{c}(\mathcal{A}),\,b\in B.$

In particular it follows that $\mathcal{N}_{\mathcal{A}}\odot
B\subseteq\mathcal{N}_{\mathcal{A}\otimes_{\text{min}}B}$.

###### Proof.

For the first assertion, it is enough to show that
$P_{A}\otimes\textup{id}(a_{s}\delta_{s}\otimes
b)=P_{\mathcal{A}\otimes_{\text{min}}B}(a_{s}\delta_{s}\otimes b)$ for all
$a_{s}\in A_{s}$, $b\in B$. First notice that
$I_{s,1}^{\mathcal{A}\otimes_{\text{min}}B}=I_{s,1}^{\mathcal{A}}\otimes_{\text{min}}B$.
Recall that
$P_{\mathcal{A}}(a_{s}\delta_{s})=\lim\theta_{s,1}^{\mathcal{A}}(a_{s}u_{i})$,
where $(u_{i})$ is an approximate unit for $I_{s,1}$ and the limit is taken
with respect to the strict topology of $\mathcal{M}(I_{s,1})$. Now, if
$(v_{j})$ is an approximate unit for $B$, then $(u_{i}\otimes v_{j})$ is an
approximate unit for $I_{s,1}\otimes B$. Therefore,

$P_{\mathcal{A}\otimes_{\text{min}}}(a_{s}\delta_{s}\otimes
b)=\lim\theta_{s,1}^{\mathcal{A}\otimes_{\text{min}}B}(a_{s}u_{i}\otimes
bv_{j})=\lim\theta_{s,1}^{\mathcal{A}}(a_{s}u_{i})\otimes
b=P_{\mathcal{A}}(a_{s}\delta_{s})\otimes b.$

This proves the first assertion, and the second follows directly from this and
the definition of the ideals $\mathcal{N}_{\mathcal{A}}$ and
$\mathcal{N}_{\mathcal{A}\otimes_{\text{min}}B}$. ∎

######  Proposition 5.9.

Let $\mathcal{A}=(A_{s})_{s\in S}$ be a Fell bundle over an inverse semigroup
$S$, and let $B$ be any $C^{*}$-algebra. Then canonical map
$C_{c}(\mathcal{A})\odot B\to C_{c}(\mathcal{A}\otimes_{\text{min}}B)$ induces
a ∗-isomorphism
$C_{\text{red}}^{*}\left(\mathcal{A}\right)\otimes_{\text{min}}B\xrightarrow{\sim}C_{\text{red}}^{*}\left(\mathcal{A}\otimes_{\text{min}}B\right)$.

###### Proof.

Using Lemma 5.8 and the canonical isomorphism

$\mathbb{C}_{\text{alg}}\left(\mathcal{A}\right)\odot
B=\left(C_{c}(\mathcal{A})/\mathcal{N}_{\mathcal{A}}\right)\odot
B\cong(C_{c}(\mathcal{A})\odot B)/(\mathcal{N}_{\mathcal{A}}\odot B),$

it follows that the homomorphism $C_{c}(\mathcal{A})\odot B\cong
C_{c}(\mathcal{A}\odot B)\hookrightarrow
C_{c}(\mathcal{A}\otimes_{\text{min}}B)$ factors through a homomorphism

$\phi_{0}\colon\mathbb{C}_{\text{alg}}\left(\mathcal{A}\right)\odot
B\to\mathbb{C}_{\text{alg}}\left(\mathcal{A}\otimes_{\text{min}}B\right)\subseteq
C_{\text{red}}^{*}\left(\mathcal{A}\otimes_{\text{min}}B\right).$

which clearly has dense range, as the image contains all elementary tensors of
the form $a_{s}\delta_{s}\otimes b$ with $a_{s}\in A_{s}$, $s\in S$ and $b\in
B$.

We now prove that $\phi_{0}$ extends to the desired isomorphism $\phi\colon
C_{\text{red}}^{*}\left(\mathcal{A}\right)\otimes_{\text{min}}B\xrightarrow{\sim}C_{\text{red}}^{*}\left(\mathcal{A}\otimes_{\text{min}}B\right)$.
In order to do this, fix a faithful nondegenerate representation
$\pi_{1}\colon A_{1}^{\prime\prime}\to\mathcal{L}(\mathcal{H}_{A})$ of
$A_{1}^{\prime\prime}$ – one can take here, e.g., the universal representation
of $A_{1}$ – and a faithful nondegenerate representation $\sigma\colon
B\to\mathcal{L}(\mathcal{H}_{B})$ of $B$. Now, consider the induced
representations

$\operatorname{Ind}\left(\pi_{1}\right)\otimes\sigma\colon
C_{\text{red}}^{*}\left(\mathcal{A}\right)\otimes_{\text{min}}B\to\mathcal{L}\left(\left(\ell^{2}\left(\mathcal{A}^{\prime\prime}\right)\otimes_{\pi_{1}^{\prime\prime}}\mathcal{H}_{A}\right)\otimes\mathcal{H}_{B}\right)$

and

$\operatorname{Ind}\left(\pi_{1}\otimes\sigma\right)\colon
C_{\text{red}}^{*}\left(\mathcal{A}\otimes_{\text{min}}B\right)\to\mathcal{L}\left(\ell^{2}\left(\mathcal{A}\otimes_{\text{min}}B\right)^{\prime\prime}\otimes_{\left(\pi_{1}\otimes\sigma\right)^{\prime\prime}}\left(\mathcal{H}_{A}\otimes\mathcal{H}_{B}\right)\right),$

which are given as in Definition 3.8. Since $\pi_{1}$ and $\sigma$ are
faithful, so are $\operatorname{Ind}(\pi_{1})\otimes\sigma$ and
$\operatorname{Ind}(\pi_{1}\otimes\sigma)$. Consider the operator

$\displaystyle
U\colon\ell^{2}\left(\mathcal{A}\otimes_{\text{min}}B\right)^{\prime\prime}\otimes_{\left(\pi_{1}\otimes\sigma\right)^{\prime\prime}}\left(\mathcal{H}_{A}\otimes\mathcal{H}_{B}\right)$
$\displaystyle\to\left(\ell^{2}\left(\mathcal{A}^{\prime\prime}\right)\otimes_{\pi_{1}^{\prime\prime}}\mathcal{H}_{A}\right)\otimes\mathcal{H}_{B},$
(5.10) $\displaystyle f\otimes b\otimes v\otimes w$
$\displaystyle\mapsto\left(f\otimes v\right)\otimes\sigma\left(b\right)w$

for $f\in C_{c}(\mathcal{A}),b\in B,v\in\mathcal{H}_{A}$ and
$w\in\mathcal{H}_{B}$. Notice that the elementary tensors of the form
$f\otimes b\otimes v\otimes w$ span a dense subspace of the domain of $U$ by
Remark 3.19. Likewise, the $\left(f\otimes
v\right)\otimes\sigma\left(b\right)w$ are dense in the codomain of $U$.
However, we need to prove that $U$ is well defined, that it is bounded, and
extends to the whole domain. We will check this by showing at the same time
that $U$ is an isometry. Indeed, given $f_{1},f_{2}\in C_{c}(\mathcal{A})$,
$v_{1},v_{2}\in\mathcal{H}_{A}$ and $w_{1},w_{2}\in\mathcal{H}_{B}$, we
compute

$\displaystyle\langle f_{1}\otimes b_{1}\otimes v_{1}\otimes
w_{1}\\!\mid\\!f_{2}\otimes b_{2}\otimes v_{2}\otimes w_{2}\rangle$
$\displaystyle=\langle v_{1}\otimes
w_{1}\\!\mid\\!\pi_{1}\otimes\sigma(P_{\mathcal{A}\otimes_{\text{min}}B}((f_{1}\otimes
b_{1})^{*}(f_{2}\otimes b_{2})))(v_{2}\otimes w_{2}\rangle$
$\displaystyle=\langle v_{1}\otimes
w_{1}\\!\mid\\!\pi_{1}(P_{\mathcal{A}}(f_{1}^{*}f_{2}))v_{2}\otimes\sigma(b_{1}^{*}b_{2})w_{2}\rangle$
$\displaystyle=\langle
v_{1}\\!\mid\\!\pi_{1}(P_{\mathcal{A}}(f_{1}^{*}f_{2}))v_{2}\rangle\langle
w_{1}\\!\mid\\!\sigma(b_{1}^{*}b_{2})w_{2}\rangle$ $\displaystyle=\langle
f_{1}\otimes v_{1}\\!\mid\\!f_{2}\otimes
v_{2}\rangle\langle\sigma(b_{1})w_{1}\\!\mid\\!\sigma(b_{2})w_{2}\rangle$
$\displaystyle=\langle(f_{1}\otimes
v_{1})\otimes\sigma(b_{1})w_{1}\\!\mid\\!(f_{2}\otimes
v_{2})\otimes\sigma(b_{2})w_{2}\rangle.$

This shows that $U$ is well-defined and extends to an isometry. And since it
has dense range, it is a unitary. Moreover, we claim that

(5.11)
$U^{*}\left(\operatorname{Ind}\left(\pi_{1}\right)\otimes\sigma\right)\left(x\right)U=\operatorname{Ind}\left(\pi_{1}\otimes\sigma\right)\left(\phi_{0}\left(x\right)\right)$

for all $x\in C_{c}(\mathcal{A})/\mathcal{N}_{\mathcal{A}}\odot B$. The latter
equation follows from a computation on elementary tensor that we carry out for
the sake of the reader. In fact, for every $a_{s}\in A_{s}$ and $c\in B$, we
have

$\displaystyle U\big{(}\operatorname{Ind}\left(\pi_{1}\otimes\sigma\right)$
$\displaystyle\left(\phi_{0}\left(a_{s}\delta_{s}\otimes
c\right)\right)\left(f\otimes b\otimes v\otimes w\right)\big{)}$
$\displaystyle=U\left(\Lambda_{\mathcal{A}\otimes_{\text{min}}B}\left(a_{s}\delta_{s}\otimes
c\right)\left(f\otimes b\right)\otimes v\otimes w\right)$
$\displaystyle=U\left(a_{s}\delta_{s}f\otimes cb\otimes v\otimes
w\right)=a_{s}\delta_{s}f\otimes v\otimes\otimes\sigma\left(cb\right)w.$

Likewise,

$\displaystyle\left(\left(\operatorname{Ind}\left(\pi_{1}\right)\otimes\sigma\right)\left(a_{s}\delta_{s}\otimes
c\right)U\right)$ $\displaystyle\left(f\otimes b\otimes v\otimes w\right)$
$\displaystyle=\left(\left(\operatorname{Ind}\left(\pi\right)\otimes\sigma\right)\left(a_{s}\delta_{s}\otimes
c\right)\right)\left(f\otimes v\otimes\sigma\left(b\right)w\right)$
$\displaystyle=a_{s}\delta_{s}f\otimes v\otimes\sigma\left(cb\right)w$

which, by linearity, proves Equation 5.11 for all $x\in
C_{c}(\mathcal{A})/\mathcal{N}_{\mathcal{A}}\odot B$. But then it follows that
$\phi_{0}$ is isometric with respect to the reduced norms on
$C_{\text{red}}^{*}\left(\mathcal{A}\right)\otimes_{\text{min}}B$ and
$C_{\text{red}}^{*}\left(\mathcal{A}\otimes_{\text{min}}B\right)$, and
therefore it extends to an isomorphism $\phi\colon
C_{\text{red}}^{*}\left(\mathcal{A}\right)\otimes_{\text{min}}B\xrightarrow{\sim}C_{\text{red}}^{*}\left(\mathcal{A}\otimes_{\text{min}}B\right)$,
as desired. ∎

In case $A_{1}$ is well-behaved Proposition 5.9 can be improved. Indeed,
recall that we have already used the canonical inclusion $\iota\colon
A_{1}^{\prime\prime}\odot
B\hookrightarrow(A_{1}\otimes_{\text{min}}B)^{\prime\prime}$, $a\otimes
b\mapsto a\otimes b$ in Lemma 5.8. However, we should recall here that this
map is not min-continuous in general. This is related to the _locally
reflexivity_ of $A_{1}$.

######  Lemma 5.12 (see [Brown-Ozawa:Approximations]*Proposition 9.2.5).

A $C^{*}$-algebra $A$ is _locally reflexive_ if for every $C^{*}$-algebra $B$
the canonical inclusion $\iota\colon A^{\prime\prime}\odot
B\hookrightarrow(A\otimes_{\text{min}}B)^{\prime\prime}$ is min-continuous,
and hence extends to an inclusion $\iota\colon
A^{\prime\prime}\otimes_{\text{min}}B\hookrightarrow(A\otimes_{\text{min}}B)^{\prime\prime}$.

######  Corollary 5.13.

Let $\mathcal{A}=(A_{s})_{s\in S}$ be a Fell bundle over an inverse semigroup
$S$, and let $B$ be any $C^{*}$-algebra. Suppose that $A_{1}$ is locally
reflexive. Then the identity map on $C_{c}(\mathcal{A})\odot B$ induces a
∗-isomorphism $\phi\colon
C_{\text{red}}^{*}\left(\mathcal{A}\right)\otimes_{\text{min}}B\xrightarrow{\sim}C_{\text{red}}^{*}\left(\mathcal{A}\otimes_{\text{min}}B\right)$
such that the diagram

${C_{\text{red}}^{*}\left(\mathcal{A}\right)\otimes_{\text{min}}B}$${C_{\text{red}}^{*}\left(\mathcal{A}\otimes_{\text{min}}B\right)}$${A_{1}^{\prime\prime}\otimes_{\text{min}}B}$${\left(A_{1}\otimes_{\text{min}}B\right)^{\prime\prime}}$$\scriptstyle{P_{\mathcal{A}}\otimes\operatorname{\mathrm{id}}_{B}}$$\scriptstyle{\phi}$$\scriptstyle{P_{\mathcal{A}\otimes_{\text{min}}B}}$$\scriptstyle{\iota}$

commutes.

###### Proof.

Lemma 5.8 can be reformulated by saying that the diagram

${\left(C_{c}\left(\mathcal{A}\right)/\mathcal{N}_{\mathcal{A}}\right)\odot
B}$${C_{\text{red}}^{*}\left(\mathcal{A}\otimes_{\text{min}}B\right)}$${A_{1}^{\prime\prime}\odot
B}$${\left(A_{1}\otimes_{\text{min}}B\right)^{\prime\prime},}$$\scriptstyle{P_{\mathcal{A}}\otimes\operatorname{\mathrm{id}}_{B}}$$\scriptstyle{\phi}$$\scriptstyle{P_{\mathcal{A}\otimes_{\text{min}}B}}$$\scriptstyle{\iota}$

commutes. This holds for every $\mathcal{A}$ and $B$, regardless of any
property $A_{1}$ might or might not have. Now, if $A_{1}$ is locally
reflexive, then Lemma 5.12 shows that $\iota$ extends to an inclusion
$\iota\colon
A_{1}^{\prime\prime}\otimes_{\text{min}}B\to(A_{1}\otimes_{\text{min}}B)^{\prime\prime}$
that makes the diagram in the statement commute. ∎

######  Remark 5.14.

By our discussions above, we see that
$P_{\mathcal{A}\otimes_{\text{min}}B}=P_{\mathcal{A}}\otimes_{\text{min}}\operatorname{\mathrm{id}}_{B}$
on the fibers $A_{s}\delta_{s}\odot B$ (see Lemma 5.8), but this does not mean
that
$P_{\mathcal{A}\otimes_{\text{min}}B}=P_{\mathcal{A}}\otimes_{\text{min}}\operatorname{\mathrm{id}}_{B}$
globally unless $A_{1}$ is assumed to be locally reflexive. A related subtlety
already appeared in works of Kranz [Kranz:AP-groupooids-Fell-bundles], LaLonde
[MR3383622], and previous work of Kirchberg-Wassermann [Kirchberg-
Wassermann:Operations], albeit in a different guise, which is related to
continuity of $C^{*}$-bundles.

Let $\mathcal{A}=(A_{x})_{x\in X}$ be an upper semi-continuous (u.s.c. for
short) $C^{*}$-bundle over a locally compact Hausdorff space $X$. Moreover,
let $S$ be the set of open sets of $X$, and let $\mathcal{B}=(B_{u})_{u\in S}$
be the associated Fell bundle over $S$ (see the discussion before Lemma 4.13).
Then, for any $C^{*}$-algebra $C$, we have
$(\mathcal{B}\otimes_{\text{min}}C)_{u}\coloneqq B_{u}\otimes_{\text{min}}C$
defines a Fell bundle structure that does _not_ appear from a u.s.c.
$C^{*}$-bundle over $X$. In fact, it appears from the bundle structure given
by
$\mathcal{A}\otimes_{\text{min}}C\coloneqq(A_{x}\otimes_{\text{min}}C)_{x\in
X}$, which defines a, not necessarily u.s.c., $C^{*}$-bundle. In addition,
note that $\mathcal{A}\otimes_{\text{min}}C$ is u.s.c. for every
$C^{*}$-algebra $C$ precisely when $A_{1}$ is exact (see [Kirchberg-
Wassermann:Operations]*Lemma 2.3 and recall that exact $C^{*}$-algebras are
always locally reflexive [Brown-Ozawa:Approximations]).

We end the discussion on tensor products of Fell bundles with the following
proposition, which shows that they behave appropriately with respect to the
approximation property.

######  Proposition 5.15.

Let $\mathcal{A}=(A_{s})_{s\in S}$ be a Fell bundle over an inverse semigroup
$S$, and let $B$ be any fixed $C^{*}$-algebra. If $\mathcal{A}$ has the
approximation property, then $\mathcal{A}\otimes_{\text{min}}B$ and
$\mathcal{A}\otimes_{\text{max}}B$ do as well.

###### Proof.

Fix a net $\\{\xi_{i}\\}_{i\in I}\subseteq\Gamma_{c}(S,\mathcal{A})$
witnessing the approximation property of $\mathcal{A}$, and consider the net

$\zeta_{i,j}\left(s\right)\coloneqq\xi_{i}\left(s\right)\otimes u_{j},$

where $\\{u_{j}\\}_{j\in J}$ is an approximate unit for $B$. We claim that
$\\{\zeta_{i,j}\\}_{i\in I,j\in J}$ witnesses the approximation property for
both $\mathcal{A}\otimes_{\text{max}}B$ and
$\mathcal{A}\otimes_{\text{min}}B$. In fact, both proofs are identical, and
hence we shall restrict ourselves to the proof for
$\mathcal{A}\otimes_{\text{max}}B$. First, notice that
$\zeta_{i,j}\in\Gamma_{c}(S,A_{1}\odot B)$, since
$\operatorname{\mathrm{supp}}(\zeta_{i,j})=\operatorname{\mathrm{supp}}(\xi_{i})$.
In order to avoid confusion, we will denote by $1^{\text{m}}_{s}$ the unit of
the ideal defined as in Definition 2.12 for the bundle
$\mathcal{A}\otimes_{\text{max}}B$ (we try to omit naming it). In particular,
observe that $1^{\text{m}}_{s}=1_{s}\otimes 1_{B}$, where $1_{B}$ denotes the
unit of $\mathcal{M}(B)\subseteq B^{\prime\prime}$. We can now check that
$\\{\zeta_{i,j}\\}_{i\in I,j\in J}$ does witness the approximation property
for $\mathcal{A}\otimes_{\text{max}}B$. First,

$\displaystyle\left\|\sum_{p,t\in
S}\zeta_{i,j}\left(p\right)^{*}\zeta_{i,j}\left(t\right)1^{\text{m}}_{pt^{*}}\right\|$
$\displaystyle=\left\|\sum_{p,t\in
S}\left(\xi_{i}\left(p\right)^{*}\xi_{i}\left(t\right)1_{pt^{*}}\right)\otimes
u_{j}\right\|$ $\displaystyle\leq\left\|\sum_{p,t\in
S}\xi_{i}\left(p\right)^{*}\xi_{i}\left(t\right)1_{pt^{*}}\right\|<\infty,$

which proves assertion (i) in Definition 4.4. Assertion (ii) is proved
similarly. First, given any $x_{s}=\sum_{k=1}^{n}a_{k}\otimes b_{k}\in
A_{s}\odot B$ observe that

$\displaystyle\sum_{p,t\in S}1^{\text{m}}_{p\left(st\right)^{*}}$
$\displaystyle\zeta_{i,j}\left(p\right)^{*}x_{s}\zeta_{i,j}\left(t\right)=\sum_{p,t\in
S}\sum_{k=1}^{n}1_{p\left(st\right)^{*}}\xi_{i}\left(p\right)^{*}a_{k}\xi_{i}\left(t\right)\otimes
u_{j}b_{k}u_{j}$ $\displaystyle=\sum_{k=1}^{n}\left(\sum_{p,t\in
S}1_{p\left(st\right)^{*}}\xi_{i}\left(p\right)^{*}a_{k}\xi_{i}\left(t\right)\right)\otimes
u_{j}b_{k}u_{j}\xrightarrow{i,j}\sum_{k=1}^{n}a_{k}\otimes b_{k}=x_{s}.$

Given any general
$y_{s}\in(\mathcal{A}\otimes_{\text{max}}B)_{s}=A_{s}\otimes_{\text{max}}B$
the same result follows since $A_{s}\odot B\subseteq
A_{s}\otimes_{\text{max}}B$ is dense and $\\{\zeta_{i,j}\\}_{i,j}$ is
uniformly bounded in the sense of Definition 4.4 (i). ∎

##  6\. Nuclearity of the full and reduced cross-sectional $C^{*}-$algebras

In this section we prove the two main results of the paper. Firstly, Theorem
6.2 shows that if a Fell bundle has the approximation property then it also
has the weak containment property. Secondly, Theorem 6.7 shows, using the
tensor product machinery of Section 5, that Fell bundles with the weak
containment property and nuclear unit fiber give rise to nuclear (full or
reduced) cross-sectional $C^{*}$-algebras.

We start the discussion with the proof of Theorem 6.2, which has two main
ingredients. The first is Fell’s absorption principle in the context of
inverse semigroups, particularly Corollary 3.23. The other main ingredient is
the following lemma, which allows us to create completely positive maps _in
the wrong direction_ , namely from
$C_{\text{red}}^{*}\left(\mathcal{A}\right)$ to
$C_{\text{max}}^{*}\left(\mathcal{A}\right)$.

######  Lemma 6.1.

Let $\mathcal{A}=(A_{s})_{s\in S}$ be a Fell bundle over the inverse semigroup
$S$. Let $\xi\in\Gamma_{c}(S,\mathcal{A})$ be such that $\|\sum_{p,t\in
S}\xi(p)^{*}\xi(t)1_{pt^{*}}\|<\infty$. Then there are

  1. (i)

a $C^{*}$-algebra $B$ containing a copy of
$C_{\text{max}}^{*}\left(\mathcal{A}\right)$;

  2. (ii)

and a bounded completely positive map $\Psi_{\xi}\colon
C_{\text{red}}^{*}\left(\mathcal{A}\right)\rightarrow B$

such that

$\Psi_{\xi}\left(a_{t}\delta_{t}\right)\coloneqq\sum_{p,t\in
S}1_{p\left(st\right)^{*}}\xi\left(p\right)^{*}a_{s}\xi\left(t\right)$

for every $a_{s}\in A_{s}$ and $s\in S$. Furthermore,
$\|\Psi_{\xi}\|\leq\|\sum_{p,t\in S}\xi(p)^{*}\xi(t)1_{pt^{*}}\|$.

###### Proof.

Fix a faithful representation $\pi\colon
C_{\text{max}}^{*}\left(\mathcal{A}\right)\to\mathcal{L}(\mathcal{H})$ such
that the normal extension $\pi_{1}^{\prime\prime}\colon
A_{1}^{\prime\prime}\to\mathcal{L}(\mathcal{H})$ is also faithful. Let
$B\subseteq\mathcal{L}(\mathcal{H})$ be the $C^{*}$-algebra generated by the
image of $\pi$ along with $\pi_{1}^{\prime\prime}(A_{1}^{\prime\prime})$ in
$\mathcal{L}(\mathcal{H})$. It is clear that $B$ contains a copy of
$C_{\text{max}}^{*}\left(\mathcal{A}\right)$. In addition, let
$\ell^{2}_{\pi}(S,\mathcal{H})$ be as in Definition 3.15, that is,
$\ell^{2}_{\pi}(S,\mathcal{H})$ is the Hausdorff completion of
$C_{c}^{\pi}(S,\mathcal{H})$ with respect to the semi-inner product
$\langle\cdot\\!\mid\\!\cdot\rangle_{\pi}$. Moreover, let $\pi^{\Lambda}$ be
as in Theorem 3.20, that is,
$\pi^{\Lambda}_{s}(a_{s}\delta_{s})(v_{t}\delta_{t})\coloneqq\pi_{st}(a_{s}a_{t})v_{t}\delta_{st}$.
By Corollary 3.23, the $C^{*}$-algebra generated by the image of
$\pi^{\Lambda}$ is canonically isomorphic to
$C_{\text{red}}^{*}\left(\mathcal{A}\right)$, since $\pi$ is assumed to be
faithful.

Consider the operator

$T_{\xi}\colon\mathcal{H}\to\ell^{2}_{\pi}(S,\mathcal{H}),\;\;\text{where}\;\,v\mapsto\sum_{t\in
S}\pi_{1}\left(\xi\left(t\right)\right)v\delta_{t}.$

Observe that for every $v\in\mathcal{H}$ and
$w_{r}\delta_{r}\in\mathcal{H}_{r}\delta_{r}\subseteq\ell^{2}_{\pi}(S,\mathcal{H})$,
we have

$\displaystyle\langle
T_{\xi}v\\!\mid\\!w_{r}\delta_{r}\rangle_{\pi}=\sum_{t\in
S}\langle\pi_{1}\left(\xi\left(t\right)\right)v\delta_{t}\\!\mid\\!w_{r}\delta_{r}\rangle_{\pi}$
$\displaystyle=\sum_{t\in
S}\langle\pi_{1}\left(\xi\left(t\right)\right)v\\!\mid\\!\pi_{1}^{\prime\prime}\left(1_{tr^{*}}\right)w_{r}\rangle_{\mathcal{H}}$
$\displaystyle=\langle v\\!\mid\\!\sum_{t\in
S}\pi_{1}^{\prime\prime}\left(\xi\left(t\right)^{*}1_{tr^{*}}\right)w_{r}\rangle_{\mathcal{H}},$

and hence $T_{\xi}^{*}(w_{r}\delta_{r})=\sum_{t\in
S}\pi_{1}^{\prime\prime}(\xi(t)^{*}1_{tr^{*}})w_{r}$. In addition, observe
that $T_{\xi}$ is bounded, as

$\displaystyle\left\|T_{\xi}v\right\|^{2}$ $\displaystyle=\langle
T_{\xi}v\\!\mid\\!T_{\xi}v\rangle_{\pi}=\sum_{t,p\in
S}\langle\pi_{1}\left(\xi\left(t\right)\right)v\delta_{t}\\!\mid\\!\pi_{1}\left(\xi\left(p\right)\right)v\delta_{p}\rangle_{\pi}$
$\displaystyle=\sum_{t,p\in
S}\langle\pi_{1}\left(\xi\left(t\right)\right)v\\!\mid\\!\pi_{1}^{\prime\prime}\left(1_{tp^{*}}\xi\left(p\right)\right)v\rangle_{\mathcal{H}}=\langle
v\\!\mid\\!\sum_{t,p\in
S}\pi_{1}^{\prime\prime}\left(\xi\left(t\right)^{*}1_{tp^{*}}\xi\left(p\right)\right)v\rangle_{\mathcal{H}},$

and hence $\|T_{\xi}\|^{2}\leq\|\sum_{p,t\in
S}\xi(p)^{*}\xi(t)1_{pt^{*}}\|<\infty$ by the assumption on $\xi$. Now
consider the map
$\Psi_{\xi}\colon\mathcal{L}(\ell^{2}_{\pi}(S,\mathcal{H}))\to\mathcal{L}(\mathcal{H})$
given by $\Psi_{\xi}(x)\coloneqq T_{\xi}^{*}xT_{\xi}$, and observe that
$\Psi_{\xi}$ is bounded, since $T_{\xi}$ is bounded. Likewise, it is
completely positive. Furthermore, observe that for every $v\in\mathcal{H}$

$\displaystyle\Psi_{\xi}\left(\pi^{\Lambda}_{s}\left(a_{s}\delta_{s}\right)\right)v$
$\displaystyle=\left(T_{\xi}^{*}\pi^{\Lambda}_{s}\left(a_{s}\delta_{s}\right)T_{\xi}\right)v=\sum_{t\in
S}T_{\xi}^{*}\pi^{\Lambda}_{s}\left(a_{s}\delta_{s}\right)\pi_{1}\left(\xi\left(t\right)\right)v\delta_{t}$
$\displaystyle=\sum_{t\in
S}T_{\xi}^{*}\pi_{s}\left(a_{s}\xi\left(t\right)\right)v\delta_{st}=\sum_{p,t\in
S}\pi_{1}^{\prime\prime}\left(\xi\left(p\right)^{*}1_{p\left(st\right)^{*}}\right)\pi_{s}\left(a_{s}\xi\left(t\right)\right)v$
$\displaystyle=\sum_{p,t\in
S}\pi_{s}^{\prime\prime}\left(1_{p\left(st\right)^{*}}\xi\left(p\right)^{*}a_{s}\xi\left(t\right)\right)v,$

as desired. In addition, note that
$\|\Psi_{\xi}\|\leq\|T_{\xi}^{*}T_{\xi}\|=\|T_{\xi}\|^{2}<\infty$, as proved
above. Lastly, observe that the image of $\Psi$ is contained in $B$, as
$1_{r}\in A_{1}^{\prime\prime},\xi(p)\in A_{1}$ and $a_{s}\in
A_{s}\delta_{s}\subseteq C_{\text{max}}^{*}\left(A\right)$, all of which are
embedded into $B$ via $\pi$. ∎

######  Theorem 6.2.

Let $\mathcal{A}=(A_{s})_{s\in S}$ be a Fell bundle over the inverse semigroup
$S$. If $\mathcal{A}$ has the approximation property then it has the weak
containment property, i.e., the regular representation $\Lambda\colon
C_{\text{max}}^{*}\left(\mathcal{A}\right)\rightarrow
C_{\text{red}}^{*}\left(\mathcal{A}\right)$ is a ∗-isomorphism.

###### Proof.

Let $\\{\xi_{i}\\}_{i\in I}\subseteq\Gamma_{c}(S,\mathcal{A})$ witness the
approximation property of $\mathcal{A}$, and let $\Psi_{\xi_{i}}\colon
C_{\text{red}}^{*}\left(\mathcal{A}\right)\to B$ be as in Lemma 6.1. In fact,
observe that it follows from the proof of Lemma 6.1 that the $C^{*}$-algebra
$B$ does _not_ depend on $\xi_{i}$, so we may take it to be generated by
$C_{\text{max}}^{*}\left(\mathcal{A}\right)$ and $A_{1}^{\prime\prime}$.
Consider then maps $\Phi_{i}\colon
C_{\text{max}}^{*}\left(\mathcal{A}\right)\to B$ given by
$\Phi_{i}\coloneqq\Psi_{\xi_{i}}\circ\Lambda$, and observe they are completely
positive and bounded. Moreover,

(6.3)
$\Phi_{i}\left(a_{s}\delta_{s}\right)=\Psi_{\xi_{i}}\left(\Lambda_{s}\left(a_{s}\delta_{s}\right)\right)=\Psi_{\xi_{i}}\left(a_{s}\delta_{s}\right)=\sum_{p,t\in
S}1_{p\left(st\right)^{*}}\xi_{i}\left(p\right)^{*}a_{s}\xi_{i}\left(t\right)\xrightarrow{i}a_{s}\delta_{s}$

since $\\{\xi_{i}\\}_{i\in I}$ is assumed to witness the approximation
property for $\mathcal{A}$. Therefore, since the subspaces $A_{t}\delta_{t}$
span $\mathbb{C}_{\text{alg}}\left(\mathcal{A}\right)$ and this algebra is
dense in $C_{\text{max}}^{*}\left(\mathcal{A}\right)$, we obtain that
$\Phi_{i}(x)\to x$ for every $x\in
C_{\text{max}}^{*}\left(\mathcal{A}\right)$.

Now, for any $x\in C_{\text{max}}^{*}\left(\mathcal{A}\right)$ in the kernel
of $\Lambda$, we have

$x=\lim_{i}\Phi_{i}\left(x\right)=\lim_{i}\Psi_{\xi_{i}}\left(\Lambda\left(x\right)\right)=0,$

which shows that $\Lambda$ is, indeed, injective, and hence a ∗-isomorphism. ∎

######  Remark 6.4.

It is apparent from the proof of Theorem 6.2 that we could start with a net
$\\{\xi_{i}\\}_{i}$ in $\Gamma_{c}(S,\mathcal{A}^{\prime\prime})$ witnessing
the approximation property of $\mathcal{A}^{\prime\prime}$ in order to get the
weak containment of $\mathcal{A}$. Moreover, in this situation it is actually
enough to have weak*-convergence in (ii) in order to get the conclusion in the
proof above, as this would then yield weak convergence instead of norm
convergence in Equation 6.3 after taking a representation as in Lemma 6.1.

We now turn to the proof of Theorem 6.7. We start by recording the following
known general result.

######  Lemma 6.5.

Let $A\subseteq B$ is an inclusion of $C^{*}$-algebras with a weak conditional
expectation $P\colon B\to A^{\prime\prime}$. If $B$ is nuclear, then so is
$A$.

###### Proof.

Observe that $P$ extends to a normal conditional expectation
$P^{\prime\prime}\colon B^{\prime\prime}\to A^{\prime\prime}$. In such case,
$B$ is nuclear if, and only if, $B^{\prime\prime}$ is an injective von Neumann
algebra, and this property passes to von Neumann subalgebras which are the
image of a conditional expectation. ∎

######  Lemma 6.6.

Let $\mathcal{A}=(A_{s})_{s\in S}$ be a Fell bundle over $S$, and let $B$ be
any given $C^{*}$-algebra. If $A_{1}$ is nuclear, then
$\mathcal{A}\otimes_{\text{min}}B\cong\mathcal{A}\otimes_{\text{max}}B$.

###### Proof.

We have to show that $A_{s}\otimes_{\text{min}}B\cong
A_{s}\otimes_{\text{max}}B$ for all $s\in S$. By Equation 5.3 this is
immediate once we have $A_{e}\otimes_{\text{min}}B\cong
A_{e}\otimes_{\text{max}}B$ for all idempotents $e\in E$, which holds since,
by assumption, $A_{1}$ is nuclear, and nuclearity is well-known to pass to
ideals. ∎

######  Theorem 6.7.

Let $\mathcal{A}=(A_{s})_{s\in S}$ be a Fell bundle over an inverse semigroup
$S$. Then the following assertions hold:

  1. (i)

If either $C_{\text{red}}^{*}\left(\mathcal{A}\right)$ or
$C_{\text{max}}^{*}\left(\mathcal{A}\right)$ is nuclear, then so is $A_{1}$.

  2. (ii)

If $A_{1}$ is nuclear and $\mathcal{A}$ has the approximation property, then
$C_{\text{max}}^{*}\left(\mathcal{A}\right)\cong
C_{\text{red}}^{*}\left(\mathcal{A}\right)$ is nuclear.

###### Proof.

(i) follows from Lemma 6.5. The proof of (ii) uses the tensor product
machinery of Section 5. Indeed, first observe that, by Theorem 6.2, we have
$C_{\text{max}}^{*}\left(\mathcal{A}\right)\cong
C_{\text{red}}^{*}\left(\mathcal{A}\right)$ via the left regular
representation, that is, the map induced from the identity map on
$C_{c}(\mathcal{A})$. Then, for any unital $C^{*}$-algebra $B$ the identity
map on $C_{c}(\mathcal{A})\odot B$ descends into ∗-isomorphisms

$\displaystyle
C_{\text{max}}^{*}\left(\mathcal{A}\right)\otimes_{\text{max}}B$
$\displaystyle\cong
C_{\text{max}}^{*}\left(\mathcal{A}\otimes_{\text{max}}B\right)$
$\displaystyle\quad\quad\left(\text{Prop.}~{}\ref{prop:tensor-prod:full-
comp}\right)$ $\displaystyle\cong
C_{\text{max}}^{*}\left(\mathcal{A}\otimes_{\text{min}}B\right)$
$\displaystyle\quad\quad\left(\text{Lem.}~{}\ref{lemma:tensor-prod-nuclear-
fiber}\right)$ $\displaystyle\cong
C_{\text{red}}^{*}\left(\mathcal{A}\otimes_{\text{min}}B\right)$
$\displaystyle\quad\quad\left(\text{Prop.}~{}\ref{prop:tensor-
prod:ap}\;\text{and}\;\text{Thm.}~{}\ref{thm:ap-implies-wk}\right)$
$\displaystyle\cong
C_{\text{red}}^{*}\left(\mathcal{A}\right)\otimes_{\text{min}}B$
$\displaystyle\quad\quad\left(\text{Prop.}~{}\ref{prop:tensor-prod:red-
comp}\right)$ $\displaystyle\cong
C_{\text{max}}^{*}\left(\mathcal{A}\right)\otimes_{\text{min}}B,$
$\displaystyle\quad\quad\left(\text{Thm.}~{}\ref{thm:ap-implies-wk}\right)$

as desired. ∎

An immediate consequence is the following.

######  Corollary 6.8.

If $S$ is a $C^{*}$-amenable inverse semigroup then
$C_{\text{max}}^{*}\left(S\right)\cong C_{\text{red}}^{*}\left(S\right)$ via
the left regular representation, and both are nuclear $C^{*}$-algebras.

Another consequence of our main results (Propositions 4.12, 4.16 and 6.7) is
the following corollary, which generalizes the main results of [Kranz:AP-
groupooids-Fell-bundles] in several ways. In particular, we do not require the
groupoid to be Hausdorff or second-countable, nor do we need the Fell bundle
be saturated or separable.

######  Corollary 6.9.

Let $G$ be an étale groupoid with Hausdorff unit space, and let
$\mathcal{A}=(A_{g})_{g\in G}$ be a Fell bundle over $G$. The following
assertions then hold:

  1. (i)

If $\mathcal{A}$ has the approximation property then
$C_{\text{red}}^{*}\left(\mathcal{A}\right)\cong
C_{\text{max}}^{*}\left(\mathcal{A}\right)$ via the left regular
representation.

  2. (ii)

If $\mathcal{A}$ has the approximation property and $C_{0}(\mathcal{A}^{0})$
is nuclear then $C_{\text{red}}^{*}\left(\mathcal{A}\right)\cong
C_{\text{max}}^{*}\left(\mathcal{A}\right)$ is nuclear.

###### Proof.

This follows as a combination of Theorems 6.2 and 6.7 and the fact that if $S$
is a wide inverse semigroup of bisections of $G$ and $\mathcal{B}$ is the Fell
bundle over $S$ associated to $\mathcal{A}$, then there are canonical
isomorphisms $C_{\text{max}}^{*}\left(\mathcal{A}\right)\cong
C_{\text{max}}^{*}\left(\mathcal{B}\right)$ and
$C_{\text{red}}^{*}\left(\mathcal{A}\right)\cong
C_{\text{red}}^{*}\left(\mathcal{B}\right)$, see [Buss-
Meyer:Actions_groupoids, Buss-Exel-Meyer:Reduced]. ∎

We end the paper with a brief discussion on the _essential $C^{*}$-algebra_ of
the Fell bundle $\mathcal{A}$, henceforth denoted by
$C_{\text{ess}}^{*}\left(\mathcal{A}\right)$. This $C^{*}$-algebra was
introduced, in this generality, in the groundbreaking
[Kwaniewski2019EssentialCP]*Section 4 (see also [AraMathieu:book] for the
definition of the _local multiplier algebra_). For the purposes of this paper,
however, the construction of $C_{\text{ess}}^{*}\left(\mathcal{A}\right)$ is
irrelevant, albeit for the fact that it is, canonically, a quotient of
$C_{\text{red}}^{*}\left(\mathcal{A}\right)$ in the following way.

######  Theorem 6.10 ([Kwaniewski2019EssentialCP]*Theorem 4.11).

Given a Fell bundle $\mathcal{A}=(A_{s})_{s\in S}$ over $S$, the identity map
on $C_{c}(\mathcal{A})$ induces canonical quotient maps

$C_{\text{max}}^{*}\left(\mathcal{A}\right)\twoheadrightarrow
C_{\text{red}}^{*}\left(\mathcal{A}\right)\twoheadrightarrow
C_{\text{ess}}^{*}\left(\mathcal{A}\right)$

that restrict to the identity on $A_{1}$.

As an immediate consequence of the above theorem we get the following.

######  Corollary 6.11.

Let $\mathcal{A}=(A_{s})_{s\in S}$ be a Fell bundle over a unital inverse
semigroup $S$. If $A_{1}$ is nuclear and $\mathcal{A}$ has the approximation
property, then $C_{\text{ess}}^{*}\left(\mathcal{A}\right)$ is nuclear.

###### Proof.

The claim follows from Theorems 6.7 and 6.10 and the very deep result of
Kirchberg that states that quotients of nuclear $C^{*}$-algebras are nuclear
as well (see, e.g., [Brown-Ozawa:Approximations]*Corollary 9.4.4). ∎

Observe that the reverse of Corollary 6.11 does not hold, that is, that
$C_{\text{ess}}^{*}\left(\mathcal{A}\right)$ may be nuclear and $\mathcal{A}$
not satisfy the approximation property, as the following example shows.

######  Example 6.12.

Let $G$ be a group, and let $S$ and $\mathcal{A}=(A_{s})_{s\in S}$ be as in
Example 4.9 (see also [Kwaniewski2019EssentialCP]*Example 4.7). By the
discussion in Example 4.9, if $G$ is non-amenable then $\mathcal{A}$ does not
have the approximation property, and the left regular representation
$\Lambda\colon C_{\text{max}}^{*}\left(\mathcal{A}\right)\to
C_{\text{red}}^{*}\left(\mathcal{A}\right)$ is not injective. However, as
stated in [Kwaniewski2019EssentialCP]*Example 4.7,
$C_{\text{ess}}^{*}\left(\mathcal{A}\right)$ is nuclear, regardless of the
amenability of $G$. Indeed, in this case
$C_{\text{ess}}^{*}\left(\mathcal{A}\right)\cong C[0,1]$, since
$(0,1]\subseteq[0,1]$ is open and dense, and hence $C_{0}(0,1]\subseteq
C[0,1]$ is an essential (closed two-sided) ideal.

## References


# A scalable transient detection pipeline for the Australian SKA Pathfinder
VAST survey

Sergio Pintaldi1, Adam Stewart2, Andrew O’Brien3, David Kaplan3 and Tara
Murphy2,4

###### Abstract

The Australian Square Kilometre Array Pathfinder (ASKAP) collects images of
the sky at radio wavelengths with an unprecedented field of view, combined
with a high angular resolution and sub-millijansky sensitivities. The large
quantity of data produced is used by the ASKAP Variables and Slow Transients
(VAST) survey science project to study the dynamic radio sky. Efficient
pipelines are vital in such research, where searches often form a ‘needle in a
haystack’ type of problem to solve. However, the existing pipelines developed
among the radio-transient community are not suitable for the scale of ASKAP
datasets.

In this paper we provide a technical overview of the new _“VAST Pipeline”_ : a
modern and scalable Python-based data pipeline for transient searches, using
up-to-date dependencies and methods. The pipeline allows source association to
be performed at scale using the Pandas DataFrame interface and the well-known
Astropy crossmatch functions. The Dask Python framework is used to parallelise
operations as well as scale them both vertically and horizontally, by means of
a cluster of workers. A modern web interface for data exploration and querying
has also been developed using the latest Django web framework combined with
Bootstrap.

1Sydney Informatics Hub, The University of Sydney, NSW 2006, Australia;
<EMAIL_ADDRESS>
2Sydney Institute for Astronomy, School of Physics, The University of Sydney,
NSW 2006, Australia

3University of Wisconsin-Milwaukee, Department of Physics, Milwaukee, WI, USA

4ARC Centre of Excellence for Gravitational Wave Discovery (OzGrav), Hawthorn,
Victoria, Australia

##  1 Introduction

The ASKAP Survey for Variables and Slow Transients (VAST; Murphy et al. 2013)
is the study of astrophysical transient and variable phenomena at radio
wavelengths, such as flare stars and supernovae, using the new Australian
Square Kilometre Array Pathfinder (ASKAP; Hotan et al. _submitted_) telescope.
The large field of view of ASKAP means that large areas of the radio sky can
be surveyed regularly at sub-millijansky sensitivities. This has not been
possible with previous radio telescopes, and means that ASKAP is now providing
an unprecedented view of the dynamic radio sky. For example, the first shallow
all-sky survey completed by ASKAP — the Rapid ASKAP Continuum Survey (RACS;
McConnell et al. 2020) — provided 2.8 million source measurements, compared to
0.2 million sources detected in the previous best survey of the southern sky
(SUMSS; Mauch et al. 2003). This creates a data challenge for VAST, where
regular epochs of the sky will result in the need to construct lightcurves for
millions of astrophysical sources, while also being able to swiftly identify
the small percentage of sources that exhibit transient behaviour, in addition
to providing a visualisation solution for such a large and rich dataset.

Searching for transient and variable sources in image-plane radio data has
unique challenges compared to other wavelengths, such as optical astronomy,
because of inconsistencies that can occur between images. This means that
methods such as ‘image differencing’ can be inaccurate or difficult to
produce, especially for short integration observations. Hence, a common
technique is to perform source extraction on the images and to then associate
the extractions into unique source time series data which can then be analysed
for variability and transient behaviour. Currently, the main open-source
software for image-based transient detection well-known to the radio astronomy
community is the LOFAR Transients Pipeline (_“TraP”_ ; Swinbank et al. 2015).
The TraP is a robust and powerful software package that can be used generally
with radio image data from any radio facility, as demonstrated by previous
successful transient and variable searches with data from a range of
telescopes (Stewart et al. 2016; Driessen et al. 2020; Sarbadhicary et al.
2020). However, when using the TraP with ASKAP survey data such as the VAST
pilot survey, it became apparent that due to the scale of the data, the TraP
performance did not meet our requirements. For example, a five image, full
sensitivity, ASKAP dataset, i.e. five images of the same 30 deg2 region of sky
each with approximately 30 000 sources, has a processing time of 95 min. The
main issues were:

  * •

TraP uses the PySE (Carbone et al. 2018) source extractor to measure the
properties of the sources found in the images. However, source catalogues are
a standard data product of the ASKAP processing pipeline, hence this step was
no longer required and could potentially save a significant amount of
processing time, although, the ability to read in catalogues is not a feature
in TraP (v4.0).

  * •

TraP also has a ‘forced extractions’ feature, this is when PySE is used to
forcefully extract a Gaussian measurement of a source that was not detected in
a certain image in order to ‘fill in’ the gap in the light curve. The high
source count with ASKAP meant that this step could also take considerable
processing time.

  * •

Most of source association operations are performed in the database, using the
SQL language, which can become slow when there are high number of sources. In
addition the logic written in SQL makes debugging difficult.

  * •

The software is written in Python 2.7, which reached end of life in January
2020, meaning that improvements gained by switching to Python 3 were not
easily reachable without a considerable migration effort.

To solve these issues, we have developed a modern and scalable Python code
base that incorporates and builds upon TraP features to efficiently process
ASKAP data. The modern technology stack allows us to perform fast mass source
association using Pandas DataFrame and well-known Astropy crossmatch
functions. We have also developed a web interface under the same code code
base, from which a user can run the pipeline and importantly, visualise and
query the results.

The main features of the developed pipeline are discussed in Section 2, while
an overview of its architecture is illustrated in Section 3.

##  2 Pipeline Processing and Features

The main objectives of the pipeline is to take the ASKAP image and associated
data products (refer to Section 2.1) and perform the following the steps:

  * •

load and ingest the ASKAP images and related files;

  * •

associate all the source measurements into single astronomical objects;

  * •

perform force extractions to fill in non-detected sources;

  * •

calculate aggregate metrics for the objects;

  * •

output the results to a database and parquet files.

The main _VAST Pipeline_ technology stack is as follows: Python 3.6+, Postgres
12+, Astropy 4+, Django 3+, Dask 2+ and Bootstrap 4. The following sections
describe each step of the pipeline in more in detail along with other pipeline
components.

###  2.1 Image Ingestion and Inputs

Raw data from the telescope is processed by the ASKAP observatory and we
require four of the standard data products: (i) the image file (FITS), (ii)
the source catalogue with the extracted source measurements from the image
(text), (iii) the noise file (FITS) and (iv) the background map file (FITS).
Data products ii, iii and iv and produced by “Selavy” (Whiting & Humphreys
2012), which is the default source-finder software for the ASKAP images. In
the ingestion phase, the pipeline reads the image file FITS header for meta
data information such as the date of the observation and sky location,
performs some data harmonisation operations on the source catalogue (e.g.
error correction), and uploads the measurements to the database and also
writes the measurements to parquet files, and finally uses the noise image to
gain background root-mean-squared statistics of the radio image. Once an image
has been ingested by the pipeline the information is always retained and the
image is available for any other pipeline runs, i.e. measurements are never
duplicated in the database.

###  2.2 Source Association

The source association operations make use of Astropy (Robitaille et al. 2013)
cross-match and sky search functions, while all the data manipulations are
performed in Pandas DataFrame (McKinney & et al. 2010). In general, the
association process follows the same logic as that used by the TraP. This
includes using the weighted average right ascension and declination values
when associating and the handling of ‘one-to-many’, ‘many-to-one’ and ‘many-
to-many’ association types (a standard association is defined as ‘one-to-
one’). We refer the reader to Section 4.4 of (Swinbank et al. 2015) for a
detailed explanation of the association steps and types. We have implemented a
minor improvement in that any relationships formed between sources because of
the association types are recorded as part of the pipeline output. There are
currently three association methods available:

  1. 1.

Basic: this mode uses the Astropy crossmatch functions
(`match_to_catalog_sky`) for a given fixed radius and provides only the
closest match to each object. ‘One-to-many’ association types are possible and
are recorded.

  2. 2.

Advanced: it uses Astropy search around the sky function (`search_around_sky`)
in which all matching sources are found within the user specified search
radius, i.e. not only the closest as in the basic method. ‘One-to-many’,
‘many-to-one’ and ‘many-to-many’ association types are possible and are
recorded. ‘Many-to-many‘ associations are reduced to either ‘one-to-one’ or
‘one-to-many’ association types.

  3. 3.

de Ruiter: in this mode the association is performed similarly to the advanced
mode, but the de Ruiter radius (Scheers 2011) is calculated and used in the
source association process using a user specified de Ruiter radius limit. The
same association types as found in advanced are also possible in this mode.

By default the association is performed on an image by image basis in
observation date order, however two features exist to help decrease the
processing time in some cases. First, it is possible to run association in
parallel if the data set has images from distinct separate regions of the sky
to analyse. For example, if a survey consisted of a sequence of images over
time centred at RA=0 and Dec=0 and another sequence of images at RA=0 and
Dec=–60, the pipeline can associate these two regions separately (in parallel)
and collect the results at the end.

The second mode available is the ability to group images together to form a
single epoch. Surveys such as the VAST Pilot Survey commonly mosaic a large
region of the sky in one observing session, and then will observe the same
area of sky again at a later time in another session. Depending on the science
case, it can beneficial to consider each observing session as one complete
epoch to associate to the following epoch obtained from the next session -
this is instead of considering each individual image that makes up the full
survey area, i.e. the default method. Users are able to define which images
should be considered as a single epoch for which the pipeline will then merge
the source catalogues and remove duplicate measurements for each epoch and
perform association on the combined catalogues. For example, the VAST Pilot
survey phase 1 consists of 12 epochs, split over 6 distinct sky regions, and
contains 8.3 million individual source measurements. If parallel association
is used with the default image-by-image association then the total association
step processing time is 150 min. If the epoch mode is activated grouping
together the images from each of the 12 epochs, the association step time is
reduced to 11 min.

####  2.2.1 Ideal Coverage and New Source Analysis

Following association the pipeline calculates the ideal coverage each source
should have, which allows the pipeline to determine: (i) which sources have a
non-detection in an image where the location of the source is covered, and
(ii) which sources are flagged as ‘new’ sources. A ‘new’ source is a source
that was not present in the first observation of the data set and has a
signal-to-noise ratio such that it should have been detected. These are
important to flag as they are likely transient sources.

Sources in group (i) that have non-detections are passed onto the forced
extraction step (see Section 2.3). For new sources — group (ii) — a few more
steps are taken to provide useful metrics for post-analysis. In the initial
determination step above, the source is flagged as new if the signal-to-noise
ratio (SNR) of the first measurement’s peak flux in time is above a user
defined threshold (default of 5) compared to the lowest RMS value recorded in
the image that provided the non-detection. However, the RMS values of
different regions in the image can vary drastically, hence, to help the user
decide if the ‘new’ source is significant, for each new source the pipeline
measures the RMS value of the non-detection image at the precise location of
the source in question. The SNR is then recalculated using the precise RMS
value and is attached to the source in the pipeline outputs. This helps the
end-user filter out weak ‘new’ sources that are likely to be erroneous.

###  2.3 Forced Extraction Measurements

The sources that have a non-detection in an image where they should have been
detected, group (i) sources in Section 2.2.1, are submitted to have
measurements extracted from the image in question. The pipeline has an option
to place a user-defined minimum threshold (default of 3) of the SNR of the
source for the forced extraction to take place. The SNR determined using the
peak flux of the first measurement in time against the minimum RMS value of
the non-detection image. This provides some control over disregarding forced
extractions for sources that are not expected to have been detected even in
the best region of the image. This helps lower the computation time,
especially for data sets with images with vastly different median RMS values.

The forced extractions are performed using a custom written function that uses
a Gaussian the same size as the point-spread-function of the telescope in the
observation. Extractions from images are also performed in parallel using
Dask.

###  2.4 Aggregate and Variability Metric Calculations

The pipeline calculates various aggregate statistics for each unique source,
such as, for example, maximum and minimum flux values, total number of true
detection and forced measurements, the average compactness (fluxint/fluxpeak
and the number of relations. Two variability metrics are also included in the
calculations - the $V$ (coefficient of variation) and $\eta$ (weighted reduced
$\chi^{2}$ significance of the variation) metrics, as described in (Swinbank
et al. 2015). These are calculated for both the integrated and peak flux
values.

In addition to the $\eta$ and $V$ metrics the pipeline also calculates the
metrics commonly used to perform a ‘two-epoch’ variability analysis (Mooley et
al. 2016), which has the advantage of being able to define variability on more
specific timescales. For each source, the $V_{s}$ and $m$ metrics are
calculated for every unique pair of measurements at different timestamps. The
metrics for each unique pair in the data set are uploaded the database and
written to parquet. The pipeline also uses a user-defined threshold $V_{s}$
value (default of 4.3) to assign the most significant metric pair to the
source itself to allow for swift filtering on sources themselves. For example
if a source has pairs of $V_{s}=4.3$, $m=0.8$, and $V_{s}=4.3$, $m=1.2$ and
$V_{s}=3.0$, $m=0.5$, the pipeline assigns the $V_{s}=4.3$, $m=1.2$ pair to
the source.

###  2.5 Computation Cluster

The Dask framework is used to parallelise operations on DataFrames such as the
computation of metrics, merging DataFrames, and groupby-apply operations. It
is also used by the parallel source association mode, and in the forced source
extractions, among other minor pipeline features. The use of Dask enables out-
of-RAM operations as Dask is able to manage the RAM limits, and more
importantly it provides horizontal scalability with the use of a cluster of
workers.

###  2.6 Web App

The results of a pipeline run can be explored in a website developed using the
Python Django framework, in which a Bootstrap4 template was used. A
Postgres12+ database is used to serve the data to the web app, and to store
the data model as well as relationships between the data entities (e.g.
sources and images). The Q3C Postgres plugin (Koposov & Bartunov 2006) is used
to add cone search functionality in the data query. The interface enables:

  * •

Displaying general statistics about all the pipeline runs (e.g. total amount
of images processed);

  * •

Inspecting and configuring single pipeline runs: e.g. change the configuration
file, initialise a pipeline run with chosen parameters and list of images to
process;

  * •

Start or re-run a pipeline run with the computation in the background. This
functionality is enabled by Django extension app Django-Q;

  * •

Displaying tables related to images, measurements, sources, pipeline runs;

  * •

Displaying detailed image information: name, positions, axis and RMS; sky
region preview with Aladin Lite (Boch & Fernique 2014), user comments;
extracted measurements table;

  * •

Displaying detailed measurement information: position data, axis and other
data; sky region preview with Aladin Lite; postage stamp cutout using JS9
(Mandel & Vikhlinin 2020); user comments; sources and siblings tables;

  * •

Displaying detailed source information: source metrics and data such as
position, flux, $\eta$ and _V_ metrics, light curve using Bokeh (Bokeh
Development Team 2020), external catalogue crossmatches and references using
Astroquery package (Ginsburg et al. 2019), postage stamp cutouts of the
associated measurements (using the JS9 library), related sources, measurements
(the single sources data points over time associated into the same
astronomical object), sky region preview (using Aladin Lite service);

  * •

Exporting tables to excel or CSV data format;

  * •

Commenting and tagging: for example a source can be tagged as a particular
astronomical object;

  * •

“Starring” a source: a user can add a source to their own favourite sources
list, with a comment;

###  2.7 Parquet Outputs

All outputs of a pipeline run are also saved in parquet files for raw data
access and computation in the Dask cluster. Saving in parquet format also
makes the results be easily portable and accessible, in that they can easily
be transported to local users own machines and, for example, be loaded into a
Jupyter Notebook environment using packages such as Pandas or Vaex (Breddels &
Veljanoski 2018) for offline post-processing.

Figure 1.: VAST Pipeline architecture and stack.

##  3 Pipeline Architecture

A general schematic of the pipeline architecture is shown in figure 1. The
back-end as well as the front-end stacks are shown, on top of the storage and
the computing platforms. The pipeline is a web application developed in Python
using the Django web framework. Although Apache Hadoop and its ecosystem of
tools (Landset et al. 2015), such as Apache Spark, are the most predominant
tools in “Big Data” applications, we chose to adopt Python and its eco-system
of tools (i.e. Pandas DataFrame and Dask) as the main pipeline technology
stack due to their simplicity to develop and maintain, and popularity among
the scientific community, in addition to astronomy specific libraries such as
Astropy. Dask provides similar features of Spark, both from a data processing
as well as a scalability point of view.111Dask vs Spark:
https://docs.dask.org/en/latest/spark.html

The basic data relationship between images and sources is represented in
figure 2:

  * •

Image: the ASKAP sky image taken at a specific time, with the main image file
and related noise, background map and extracted measurements files.

  * •

Measurement: a single source measurement at a specific time. Multiple
measurements belong to a single image.

  * •

Source: collection of associated measurements over time and images, that
belong to the very same unique astronomical object.

Figure 2.: VAST Pipeline image data relationship.

This data schema avoids duplication of data when processing the images with
difference settings. For example, when using two different choices for the
association radius, the pipeline uses the same measurements objects, but will
create different source objects due to the different association settings.
This design choice was possible as the source finder is external to the
pipeline. On the other hand, such design still enables processing an image
with two different source-finder settings. In fact they will treated as two
different image entities in the pipeline, though they are the same physical
image.

##  4 Summary

The VAST Pipeline is a modern and scalable detection software for the
discovery of radio transient and variable sources in data from the ASKAP
telescope. It is built upon legacy community developed software, but with a
modern and simpler architecture. The results have been validated against the
ones produced by “Trap”, and by individual custom-developed code bases,
developed by researchers and students at the University of Sydney. It is able
to process the VAST Pilot Survey phase 1 data (924 images, 8.3 million
measurements, and $\sim$1 million sources), using de Ruiter association, in
approximately 13 hours on a machine with 16 CPUs and 64 GB of RAM. The
processing time includes uploading of data to database, the association step,
aggregate and variability metrics calculation and analysis (two-epoch
analysis, ‘new sources’, related sources), as well as forced extraction. The
adoption of a modern technology stack will ensure a long life expectancy of
the VAST Pipeline.

##  5 Acknowledgements

This tool was developed in collaboration with the Sydney Informatics Hub
(SIH), a core research facility at the University of Sydney. DK and AO are
supported by NSF grant AST-1816492. TM acknowledges the support of the
Australian Research Council through grants FT150100099 and DP190100561. Parts
of this research were conducted by the Australian Research Council Centre of
Excellence for Gravitational Wave Discovery (OzGrav), project number
CE170100004. The authors thanks the creators of _SB Admin 2_ bootstrap
dashboard to make the template freely available.

## References

  * Boch & Fernique (2014) Boch, T., & Fernique, P. 2014, in Astronomical Data Analysis Software and Systems XXIII, edited by N. Manset, & P. Forshay, vol. 485 of Astronomical Society of the Pacific Conference Series, 277
  * Bokeh Development Team (2020) Bokeh Development Team 2020, Bokeh: Python library for interactive visualization. URL https://bokeh.org/
  * Breddels & Veljanoski (2018) Breddels, M. A., & Veljanoski, J. 2018, A&A, 618, A13. 1801.02638
  * Carbone et al. (2018) Carbone, D., Garsden, H., Spreeuw, H., Swinbank, J. D., van der Horst, A. J., Rowlinson, A., Broderick, J. W., Rol, E., Law, C., Molenaar, G., & Wijers, R. A. M. J. 2018, Astronomy and Computing, 23, 92\. 1802.09604
  * Driessen et al. (2020) Driessen, L. N., McDonald, I., Buckley, D. A. H., Caleb, M., Kotze, E. J., Potter, S. B., Rajwade, K. M., Rowlinson, A., Stappers, B. W., Tremou, E., & et al. 2020, MNRAS, 491, 560. 1911.07713
  * Ginsburg et al. (2019) Ginsburg, A., Sipőcz, B. M., Brasseur, C., Cowperthwaite, P. S., Craig, M. W., Deil, C., Groener, A. M., Guillochon, J., Guzman, G., Liedtke, S., , & et al. 2019, The Astronomical Journal, 157, 98
  * Koposov & Bartunov (2006) Koposov, S., & Bartunov, O. 2006, in Astronomical Data Analysis Software and Systems XV, edited by C. Gabriel, C. Arviset, D. Ponz, & S. Enrique, vol. 351 of Astronomical Society of the Pacific Conference Series, 735
  * Landset et al. (2015) Landset, S., Khoshgoftaar, T. M., Richter, A. N., & Hasanin, T. 2015, Journal of Big Data, 2, 24
  * Mandel & Vikhlinin (2020) Mandel, E., & Vikhlinin, A. 2020, ericmandel/js9 v3.0 upgrade to ES6, add rot90, flip, and more. URL https://doi.org/10.5281/zenodo.3598590
  * Mauch et al. (2003) Mauch, T., Murphy, T., Buttery, H. J., Curran, J., Hunstead, R. W., Piestrzynski, B., Robertson, J. G., & Sadler, E. M. 2003, Monthly Notices of the Royal Astronomical Society, 342, 1117
  * McConnell et al. (2020) McConnell, D., Hale, C. L., Lenc, E., Banfield, J. K., Heald, G., Hotan, A. W., Leung, J. K., Moss, V. A., Murphy, T., O’Brien, A., & et al. 2020, Publications of the Astronomical Society of Australia, 37. 2012.00747
  * McKinney & et al. (2010) McKinney, W., & et al. 2010, in Proceedings of the 9th Python in Science Conference (Austin, TX), vol. 445, 51
  * Mooley et al. (2016) Mooley, K., Hallinan, G., Bourke, S., Horesh, A., Myers, S., Frail, D., Kulkarni, S., Levitan, D., Kasliwal, M., Cenko, S., & et al. 2016, The Astrophysical Journal, 818, 105
  * Murphy et al. (2013) Murphy, T., Chatterjee, S., Kaplan, D. L., Banyer, J., Bell, M. E., Bignall, H. E., Bower, G. C., Cameron, R. A., Coward, D. M., Cordes, J. M., & et al. 2013, Publications of the Astronomical Society of Australia, 30
  * Robitaille et al. (2013) Robitaille, T. P., Tollerud, E. J., Greenfield, P., Droettboom, M., Bray, E., Aldcroft, T., Davis, M., Ginsburg, A., Price-Whelan, A. M., Kerzendorf, W. E., & et al. 2013, Astronomy & Astrophysics, 558, A33
  * Sarbadhicary et al. (2020) Sarbadhicary, S. K., Tremou, E., Stewart, A. J., Chomiuk, L., Peters, C., Hales, C., Strader, J., Momjian, E., Fender, R., & Wilcots, E. M. 2020, arXiv e-prints. 2009.05056
  * Scheers (2011) Scheers, L. 2011, Transient and variable radio sources in the lofar sky: an architecture for a detection framework
  * Stewart et al. (2016) Stewart, A. J., Fender, R. P., Broderick, J. W., Hassall, T. E., Muñoz-Darias, T., Rowlinson, A., Swinbank, J. D., Staley, T. D., Molenaar, G. J., Scheers, B., & et al. 2016, MNRAS, 456, 2321. 1512.00014
  * Swinbank et al. (2015) Swinbank, J. D., Staley, T. D., Molenaar, G. J., Rol, E., Rowlinson, A., Scheers, B., Spreeuw, H., Bell, M. E., Broderick, J. W., Carbone, D., & et al. 2015, Astronomy and Computing, 11, 25
  * Whiting & Humphreys (2012) Whiting, M., & Humphreys, B. 2012, Publications of the Astronomical Society of Australia, 29, 371–381. URL http://dx.doi.org/10.1071/AS12028