Matthieu Alfaro

Arnaud Ducrot

Sharp interface limit of the Fisher-KPP equation

Keywords: population dynamics, Fisher equation, singular perturbation, generation of interface, motion of interface. 1

We investigate the singular limit, as ε → 0, of the Fisher equation ∂ t u = ε∆u + ε -1 u(1u) in the whole space. We consider initial data with compact support plus, possibly, perturbations very small as x → ∞. By proving both generation and motion of interface properties, we show that the sharp interface limit moves by a constant speed, which is the minimal speed of some related one-dimensional travelling waves. We obtain an estimate of the thickness of the transition layers. We also exhibit initial data "not so small" at infinity which do not allow the interface phenomena.

Introduction

Reaction diffusion equations with logistic nonlinearity were introduced in the pioneer works of Fisher [START_REF] Fisher | The wave of advance of advantageous genes[END_REF] or Kolmogorov, Petrovsky and Piskunov [START_REF] Kolmogorov | Etude de l'équation de la diffusion avec croissance de la quantité de matière et son application à un problème biologique[END_REF]. The equations read as

∂u ∂t (t, x) = ∆u(t, x) + u(t, x)(1 -u(t, x)) , t > 0 , x ∈ R N , (1.1)
supplemented together with some suitable initial conditions. This kind of equation was widely used in the literature to model phenomena arising in population genetics, [START_REF] Fisher | The wave of advance of advantageous genes[END_REF][START_REF] Aronson | Multidimensional nonlinear diffusions arising in population genetics[END_REF], or in biological invasions, [START_REF] Shigesada | Biological Invasion: Theory and Practise[END_REF][START_REF]Biological Invasions in a Mathematical Perspective[END_REF][START_REF] Malchow | Spatiotemporal Patterns in Ecology and Epidemiology. Theory, Models, and Simulations[END_REF] and the references therein. We also refer to [START_REF] Berestycki | Équations de réactiondiffusion et modèles d'invasions biologiques dans les milieux périodiques[END_REF] for some extensions to biological invasion in nonhomogeneous media with logistic dynamics. The main property 1 AMS Subject Classifications: 35K57, 35B25, 35R35, 35B50, 92D25.

1 of equation (1.1) is to admit (biologically relevant) travelling wave solutions with some semi-infinite interval of admissible wave speed. The aim of this work is to focus on the ability of equation (1.1) to generate some interfaces and to propagate them. Such a property is strongly related to these wave solutions. In order to observe such a property, we shall rescale equation (1.1) by putting

u ε (t, x) = u t ε , x ε .
Therefore, we focus on the singular limit problem

(P ε )    ∂ t u = ε∆u + 1 ε u(1 -u) in (0, ∞) × R N u(0, x) = u 0,ε (x) in R N ,
as the parameter ε > 0, related to the thickness of a diffuse interfacial layer, tends to zero. We shall assume the following properties on the initial data.

Assumption 1.1. We assume that u 0,ε = g + h ε where (i) g is a smooth (at least of the class C 2 ), nonnegative and compactly supported function. We define Ω 0 := supp g.

(ii) 0 ∈ Ω 0 .

(iii) h ε is a smooth and nonnegative function and there exist λ ≥ 1 and M > 0 such that, for all ε > 0 small enough,

h ε (x) ≤ M e -λ x ε , ∀x ∈ R N .
Assumption 1.2. We assume that Ω 0 is convex.

Assumption 1.3. We assume the existence of δ > 0 such that, if n denotes the Euclidian unit normal vector exterior to the "initial interface" Γ 0 := ∂Ω 0 , then ∂g ∂n (y) ≥ δ for all y ∈ Γ 0 .

(1.2)

Heuristics. In view of Assumption 1.1, it is standard that, for each ε > 0, Problem (P ε ) has a unique smooth solution u ε (t, x) on [0, ∞) × R N . As ε → 0, a formal asymptotic analysis shows the following: in the very early stage, the diffusion term ε∆u ε is negligible compared with the reaction term ε -1 u ε (1u ε ) so that, in the rescaled time scale τ = t/ε, the equation is well approximated by the ordinary differential equation

∂ τ u ε = u ε (1-u ε ).
Hence the value of u ε quickly becomes close to either 1 or 0 in most part of R N , creating a steep interface (transition layer) between the regions {u ε ≈ 1} and {u ε ≈ 0}. Once such an interface develops, the diffusion term becomes large near the interface, and comes to balance with the reaction term. As a result, the interface ceases rapid development and starts to propagate in a much slower time scale.

The limit free boundary problem. To study this interfacial behavior, we consider the asymptotic limit of (P ε ) as ε → 0. Then the limit solution ũ(t, x) will be a step function taking the value 1 on one side of the moving interface, and 0 on the other side. This sharp interface, which we will denote by Γ * t , obeys the law of motion

(P * ) V n = c * on Γ * t Γ * t t=0 = Γ 0 ,
where V n denotes the normal velocity of Γ * t in the exterior direction and c * the minimal speed of some related one-dimensional travelling waves (see subsection 2.2 for details).

Since the region enclosed by Γ 0 , namely Ω 0 , is smooth and convex, Problem (P * ), possesses a unique smooth solution on [0, ∞), which we denote by Γ * = t≥0 ({t} × Γ * t ). Hereafter, we fix T > 0 and work on (0, T ]. For each t ∈ (0, T ], we denote by Ω * t the region enclosed by the hypersurface Γ * t . We define a step function ũ(t, x) by

ũ(t, x) = 1 in Ω * t 0 in R N \ Ω * t for t ∈ (0, T ] , (1.3)
which represents the asymptotic limit of u ε (or the sharp interface limit) as ε → 0.

Known related results. The question of the convergence of Problem (P ε ) to (P * ) has been addressed when the initial data u 0,ε does not depend on ε and is compactly supported : first by Freidlin [START_REF] Freidlin | Limit theorems for large deviations and reactiondiffusion equations[END_REF] using probabilistic methods and later by Evans and Souganidis [START_REF] Evans | A PDE approach to geometric optics for certain semilinear parabolic equations[END_REF] using Hamilton Jacobi technics (in this framework we also refer to [START_REF] Barles | Wavefront propagation for reaction-diffusion systems of PDE[END_REF][START_REF] Barles | A remark on the asymptotic behavior of the solution of the KPP equation[END_REF]). The purpose of the present work is to provide a new proof of convergence for Problem (P ε ) by using specific reaction-diffusion tools such as the comparison principle. These technics were recently used by Hilhorst et al. in [START_REF] Hilhorst | Interface dynamics of the Fisher equation with degenerate diffusion[END_REF] to consider the generation and propagation of interfaces for a degenerated Fisher equation. Degenerated Fisher equation have some semi-compactly supported travelling wave solutions, which is essential in the proof given in [START_REF] Hilhorst | Interface dynamics of the Fisher equation with degenerate diffusion[END_REF]. However Equation (1.1) does not possess solution with such a property. We adapt these technics to study the singular limit of (P ε ). For bistable nonlinearities, we refer to [START_REF] Alfaro | The singular limit of the Allen-Cahn equation and the FitzHugh-Nagumo system[END_REF] where an optimal estimate of the transition layers is provided for the Allen-Cahn equation whose singular limit is a motion by mean curvature.

Let us precise that we improve the convergence of (P ε ) in two directions. On the one hand, we extend the set of initial data for which Problem (P ε ) has a singular limit, by allowing positive initial data with a suitable behavior at infinity. Moreover, we also exhibit initial data "not so small" at infinity which do not allow the interface phenomena. On the other hand we provide an O(ε| ln ε|) estimate of the thickness of the transition layers of the solutions u ε .

Results. Our main result, Theorem 1.4, describes the profile of the solution after a very short initial period. It asserts that: given a virtually arbitrary initial data, the solution u ε quickly becomes close to 1 or 0, except in a small neighborhood of the initial interface Γ 0 , creating a steep transition layer around Γ 0 (generation of interface). The time needed to develop such a transition layer, which we will denote by t ε , is of order ε| ln ε|. The theorem then states that the solution u ε remains close to the step function ũ on the time interval [t ε , T ] (motion of interface); in other words, the motion of the transition layer is well approximated by the limit interface equation (P * ).

Theorem 1.4 (Generation, motion and thickness of interface). Let Assumptions 1.1, 1.2 and 1.3 be satisfied. Then there exist positive constants α and C such that, for all ε > 0 small enough and for all t ε ≤ t ≤ T , where

t ε := αε| ln ε| , we have u ε (t, x) ∈      [0, 1 + ε] if x ∈ N Cε| ln ε| (Γ * t ) [1 -2ε, 1 + ε] if x ∈ Ω * t \ N Cε| ln ε| (Γ * t ) [0, ε] if x ∈ (R N \ Ω * t ) \ N Cε| ln ε| (Γ * t ) , (1.4
)

where N r (Γ * t ) := {x ∈ R N : dist(x, Γ * t ) < r} denotes the tubular r- neighborhood of Γ * t .
As a immediate consequence of the above Theorem, we collect the convergence result.

Corollary 1.5 (Convergence). Let Assumptions 1.1, 1.2 and 1.3 be satisfied. Then, as ε → 0, u ε converges to ũ everywhere in 0<t≤T ({t}

× Ω * t ) and 0<t≤T {t} × (R N \ Ω * t ) .
Next, it is intuitively clear that the limit problem depends dramatically on the initial data. In order to underline this fact, we show that for initial data "not so small" at infinity, the solution u ε tends to 1 everywhere, as ε → 0. Therefore, the interface phenomena does not occur in this case.

Assumption 1.6. We assume that there exist n > 0, m > 0, M > 0 and C 0 > 0 such that, for all ε > 0 small enough,

m 1 + x n ε n ≤ u 0,ε (x) ≤ M , ∀x ∈ R N , u 0,ε ∞ + ∇u 0,ε ∞ + ∆u 0,ε ∞ ≤ C 0 .
Theorem 1.7 (There is no interface). Let Assumption 1.6 be satisfied. Then

lim ε→0 + u ε (t, x) = 1 , ∀(t, x) ∈ (0, ∞) × R N .
Plan. The organization of this paper is as follows. In Section 2, we present the basic tools that will be used in later sections for the construction of suband super-solutions. In Section 3 we construct sub-solutions for very small times and super-solutions for all times. They enable to prove a generation of interface property. Section 4 is devoted to the construction of sub-solutions for all times; their role is to control the solution u ε from below, while the sharp interface limit propagates. In Section 5, by using our different suband super-solutions we prove the main result, Theorem 1.4. Last, in Section 6 we prove Theorem 1.7.

Materials

Let us recall that, in the classical works of Fisher [START_REF] Fisher | The wave of advance of advantageous genes[END_REF] and Kolmogorov, Petrovsky and Piskunov [START_REF] Kolmogorov | Etude de l'équation de la diffusion avec croissance de la quantité de matière et son application à un problème biologique[END_REF], the authors consider a monostable nonlinearity f which is smooth and such that f (u

) > 0 if u ∈ (0, 1), f (u) < 0 if u ∈ (-∞, 0) ∪ (1, ∞) and f ′ (0) > 0.
For the sake of simplicity we select f (u) = u(1u) through this work.

A monostable ODE

The generation of interface is initiated by the dynamics of the corresponding ordinary differential equation. Therefore, we gather here well-known facts about the logistic dynamics that will be extensively used in the sequel.

To be more precise, the generation of interface is strongly related to the dynamical properties of the non-rescaled corresponding ordinary differential equation associated to (P ε ), that is

dz(t) dt = z(t)(1 -z(t)) , t > 0 .
In the sequel, for technical reasons we shall apply the semiflow generated by the above dynamical system to negative initial data. In order to have some good dynamical properties, let us modify the monostable nonlinearity u → u(1u) on (-∞, 0) so that the modified function, we call it f : R → R, is of the class C 2 and enjoys the bistable assumptions. More precisely, f has exactly three zeros -1 < 0 < 1 and

f ′ (-1) < 0 , f ′ (0) = 1 > 0 , f ′ (1) = -1 < 0 . (2.1) Note that f (u) = u(1 -u) if u ≥ 0.
As done in Chen [START_REF] Chen | Generation and propagation of interfaces for reactiondiffusion equations[END_REF], we consider fε a slight modification of f defined by

fε (u) := ψ(u) u -ε| ln ε| | ln ε| + (1 -ψ(u)) f (u) ,
with ψ a smooth cut-off function satisfying conditions ( 29)-(32) as they appear in [START_REF] Hilhorst | Interface dynamics of the Fisher equation with degenerate diffusion[END_REF]. As explained in [START_REF] Hilhorst | Interface dynamics of the Fisher equation with degenerate diffusion[END_REF],

fε (u) ≤ f (u) for all u ∈ R . (2.2)
Then we defined w(s, ξ) as the semiflow generated by the ordinary differential equation

     dw ds (s, ξ) = fε (w(s, ξ)) , s > 0 , w(0, ξ) = ξ . (2.3)
Here ξ ranges over the interval [g ∞ -M -1, g ∞ + M + 1]. We claim that w(s, ξ) has the following properties (for proofs, see [START_REF] Chen | Generation and propagation of interfaces for reactiondiffusion equations[END_REF] or [START_REF] Hilhorst | Interface dynamics of the Fisher equation with degenerate diffusion[END_REF]).

Lemma 2.1 (Behavior of w). The following holds for all

ξ ∈ [-g ∞ -M - 1, g ∞ + M + 1].
(i) If ξ ≥ ε| ln ε| then w(s, ξ) ≥ ε| ln ε| > 0 for all s > 0 .

If ξ < 0 then w(s, ξ) < 0 for all s > 0 .

If ξ ∈ (0, ε| ln ε|) then w(s, ξ) > 0 for all s ∈ (0, s ε (ξ)), with

s ε (ξ) := | ln ε| ln 1 - ξ ε| ln ε . (ii) w(s, ξ) ∈ (-g ∞ -M -1, g ∞ + M + 1) for all s > 0 .
(iii) w is of the class C 2 with respect to ξ and w ξ (s, ξ) > 0 for all s > 0 .

(iv) For all a > 0, there exists a constant C(a) such that

w ξξ w ξ (s, ξ) ≤ C(a)
ε for all 0 < s ≤ a| ln ε| .

(v) There exists a positive constant α such that, for all s ≥ αε| ln ε|, we have

if ξ ∈ [ε| ln ε|, g ∞ + M + 1] then 0 < w(s, ξ) ≤ 1 + ε , and if ξ ∈ [3ε| ln ε|, g ∞ + M + 1] then 1 -ε ≤ w(s, ξ) .

Travelling waves

For the self-containedness of the present paper, we recall here well-known facts concerning one dimensional travelling waves related to our problem. We refer the reader to [START_REF] Aronson | Nonlinear diffusion in population genetics, combustion, and nerve pulse propagation, Partial differential equations and related topics[END_REF][START_REF] Volpert | Travelling Wave Solutions of Parabolic Systems[END_REF] and the references therein.

A travelling wave is a couple (c, U ) with c > 0 and

U ∈ C 2 (R, R) a function such that      U ′′ (z) + cU ′ (z) + U (z)(1 -U (z)) = 0 for all z ∈ R U (-∞) = 1 U (∞) = 0 . (2.4)
Define c * := 2. Then the following holds.

(i) For all c ≥ c * there exists a unique (up to a translation in z) travelling wave denoted by (c, U ) or (c * , U * ). It is positive and monotone.

(ii) For all 0 < c < c * , there exists a unique (up to a translation in z) and non monotone travelling wave (c, U ). It changes sign. In the sequel, for each c ∈ (0, c * ) we select U as the solution of

               U ′′ (z) + cU ′ (z) + U (z)(1 -U (z)) = 0 for all z ∈ R U (-∞) = 1 U (∞) = 0 U (z) > 0 for all z < 0 U (0) = 0 .
(2.5) Lemma 2.2 (Behavior of U ). Let c > 0 be arbitrary and consider the associated travelling wave (c, U ). Then there exist constants C > 0 and µ > 0

such that 0 < 1 -U (z) ≤ Ce -µ|z| for z ≤ 0 , (2.6
)

|U (z)| ≤ Ce -µ|z| for z ≥ 0 , (2.7
)

|U ′ (z)| + |U ′′ (z)| ≤ Ce -µ|z| for all z ∈ R . (2.8)
Note that, as easily seen from the standard proof, the constants C > 0 and µ > 0 depend continuously on c. This fact shall be used in Lemma 4.2.

At last, since a precise behavior of the wave with the minimal speed shall be necessary, let us recall that the travelling wave solution U * associated to

c = c * satisfies γ -ze -z ≤ U * (z) ≤ γ + ze -z , ∀z ≥ 1 , (2.9)
for two constants 0 < γ -< γ + .

Cut-off signed distance functions

For c > 0 we denote by Γ c = t≥0 ({t} × Γ c t ) the smooth solution of the free boundary problem

(P c ) V n = c on Γ c t Γ c t t=0 = Γ 0 . If c = c * ,
we naturally use the notations Γ * = t≥0 ({t}×Γ * t ) and (P * ). Note that since the region enclosed by Γ 0 , namely Ω 0 , is convex, these solutions do exist for all t ≥ 0. For each t ≥ 0, we denote by Ω c t the region enclosed by the hypersurface Γ c t . Let d be the signed distance function to Γ c defined by

d(t, x) = -dist(x, Γ c t ) for x ∈ Ω c t dist(x, Γ c t ) for x ∈ R N \ Ω c t , (2.10)
where dist(x, Γ c t ) is the distance from x to the hypersurface Γ c t . We remark that d = 0 on Γ c and that |∇ d| = 1 in a neighborhood of Γ c .

We now introduce the "cut-off signed distance function" d, which is defined as follows. Recall that T > 0 is fixed. First, choose d 0 > 0 small enough so that d is smooth in the tubular neighborhood of Γ c

{(t, x) ∈ [0, T ] × R N : | d(t, x)| < 3d 0 } . Next let ζ(s) be a smooth increasing function on R such that ζ(s) =      s if |s| ≤ d 0 -2d 0 if s ≤ -2d 0 2d 0 if s ≥ 2d 0 .
We then define the cut-off signed distance function d by and that the equation of motion (P c ) is now written as

d(t, x) = ζ d(t, x) . ( 2
∂ t d(t, x) + c = 0 on Γ c t = {x ∈ R N : d(t, x) = 0} . (2.13)
Then the mean value theorem provides a constant N > 0 such that

|∂ t d(t, x) + c| ≤ N |d(t, x)| for all (t, x) ∈ [0, T ] × R N . (2.14)
Moreover, there exists a constant C > 0 such that

|∇d(t, x)| + |∆d(t, x)| ≤ C for all (t, x) ∈ [0, T ] × R N . (2.15)
At least, note that the constants d 0 > 0, C > 0 and N > 0 depend continuously on c. This fact shall be used in Lemma 4.2.

Generation of interface

The aim of this section is to prove a generation of interface property for Problem (P ε ). We shall prove that after a small time t ε of order ε| ln ε| the solution u ε becomes well prepared and looks like a rescaled wave solution. We shall more precisely prove the following result. Theorem 3.1 (Generation of interface). Let Assumption 1.1 be satisfied. Then there exist k > 0, α > 0 such that, for all ε > 0 small enough, the following holds.

(i) For all x ∈ Ω 0 such that g(x) ≥ kε| ln ε| we have u ε (t ε , x) ≥ 1ε , wherein t ε := αε| ln ε|.

(ii) For all x ∈ R N and all t ≥ 0 we have

0 ≤ u ε (t + t ε , x) ≤ 1 + ε .
Moreover if Assumption 1.2 is also satisfied then there exists a constant K > 1 such that

u ε (t, x) ≤ KU * d * (0, x) -c * t ε , (3.1)
for all t ≥ 0 and all x ∈ R N .

In order to prove Theorem 3.1, let us define the map u(t, x) := max 0, w t ε , g(x) -Kt , where w(s, ξ) is the solution of the ordinary differential equation (2.3) and where K > 0 is some constant to be specified below. Then one will show the following result.

Lemma 3.2 (Sub-solutions for the generation). Let Assumption 1.1 be satisfied. Then for all a > 0, there exists K > 0 such that, for all ε > 0 small enough, we have

u(t, x) ≤ u ε (t, x) , ∀t ∈ [0, aε| ln ε|] , ∀x ∈ R N .
Proof. Let us first notice that

u(0, x) = g(x) ≤ u ε (0, x) , ∀x ∈ R N .
Then we shall show that u is a sub-solution of Problem (P ε ). Note that if x / ∈ Ω 0 then g(x) = 0 and u(t, x) = 0. Let us consider the operator

L ε [v] := ∂ t v -ε∆v - 1 ε v(1 -v) .
Let a > 0 be arbitrary. We show below that, if K > 0 is sufficiently large then, for all ε > 0 small enough, L ε [u] ≤ 0 in the support of u. In this support we have

∂ t u = 1 ε w s -Kw ξ ∆u = w ξξ |∇g| 2 + w ξ ∆g .
Then we get

L ε [u] = 1 ε w s -Kw ξ -ε w ξξ |∇g| 2 + w ξ ∆g - 1 ε w(1 -w) ≤ 1 ε w s -Kw ξ -ε w ξξ |∇g| 2 + w ξ ∆g - 1 ε fε (w) = -w ξ K + ε w ξξ w ξ |∇g| 2 + ∆g ,
where we have successively used (2.2) and (2.3). In view of Lemma 2.1 (v), there exists a constant C(a) > 0 such that, for all (t, x) in the support of u with 0 ≤ t ≤ aε| ln ε|, we have

w ξξ w ξ |∇g| 2 + ∆g ≤ C(a) ε . Therefore, choosing K > C(a) implies L ε [u] ≤ -w ξ (K -C(a)) ≤ 0 , since w ξ > 0.
This completes the proof of Lemma 3.2.

Next we prove the following result.

Lemma 3.3 (Super-solutions). Let Assumptions 1.1 and 1.2 be satisfied. Then there exists a constant K 0 > 0 such that, for all K ≥ K 0 , the following holds. For all x 0 ∈ Γ 0 = ∂Ω 0 , for all ε > 0 small enough, we have

u ε (t, x) ≤ KU * (x -x 0 ) • n 0 -c * t ε for all (t, x) ∈ [0, ∞) × R N ,
wherein n 0 is the outward normal vector to Γ 0 = ∂Ω 0 at x 0 .

Proof. We recall that λ and M were defined in Assumption 1.1 (iii) and that, due to (2.9), there exist two constants 0 < γ -< γ -such that

γ -ze -z ≤ U * (z) ≤ γ + ze -z , ∀z ≥ 1 .
Thus since λ ≥ 1, there exists some constant m -> 0 such that

U * (z) ≥ m -e -λz , ∀z ≥ 0 .
Then we define

K 0 := max 1, M m -, g ∞ + M U * (0) .
Next, let K ≥ K 0 and x 0 ∈ Γ 0 = ∂Ω 0 be given. We consider the map

u + * (t, x) := KU * (x -x 0 ) • n 0 -c * t ε .
Straightforward computations yield

εL ε [u + * ] = K( K -1)U * 2 ,
and therefore L ε [u + * ] ≥ 0 in (0, ∞)×R N . Hence, by the comparison principle, to complete the proof of the lemma it is enough to prove

u 0,ε (x) ≤ u + * (0, x) = KU * (x -x 0 ) • n 0 ε , ∀x ∈ R N . (3.2)
First, assume that x in the half plane {y ∈ R N : (yx 0 ) • n 0 ≤ 0}. Then since U * is decreasing we have

U * (x -x 0 ) • n 0 ε ≥ U * (0) .
Therefore we obtain that

u 0,ε (x) ≤ g ∞ + M U * (0) U * (x -x 0 ) • n 0 ε ,
which, thanks to the choice of K 0 , yields u 0,ε (x) ≤ u + * (0, x). Now, we assume that x is in the half plane {y ∈ R N : (yx 0 ) • n 0 > 0}. Since Ω 0 is convex, we have x / ∈ Ω 0 . Thus g(x) = 0 and

u 0,ε (x) = h ε (x) ≤ M e -λ x ε .
Moreover since 0 ∈ Ω 0 we have, for x such that (x

-x 0 ) • n 0 > 0, (x -x 0 ) • n 0 ≤ x .
Finally since U * is decreasing, we obtain

m -e -λ x ε ≤ U * x ε ≤ U * (x -x 0 ) • n 0 ε .
Therefore we get

u 0,ε (x) ≤ M m -U * (x -x 0 ) • n 0 ε ,
which, thanks to the choice of K 0 , yields u 0,ε (x) ≤ u + * (0, x). This completes the proof of Lemma 3.3.

We now complete the proof of Theorem 3.1.

Proof. The proof of (i) directly follows from Lemma 2.1 (v) together with Lemma 3.2. In order to prove (ii) let us notice that the map

u(t, x) := w t ε , g ∞ + M , t ≥ 0 , satisfies u ε (0, x) ≤ g ∞ + M = u(0, x) for all x ∈ R N , L ε [u] = 0 in (0, ∞) × R N .
Thus we obtain that

u ε (t, x) ≤ w t ε , g ∞ + M , ∀t ≥ 0 , ∀x ∈ R N .
Thus Lemma 2.1 (v) applies and completes the proof of (ii). Finally, under the additional Assumption 1.2, the last point of Theorem 3.1 follows from Lemma 3.3. Indeed from this lemma we know that there exists K > 1 such that, for each x 0 ∈ ∂Ω 0 , we have

u ε (t, x) ≤ KU * (x -x 0 ) • n 0 -c * t ε for all t ≥ 0, all x ∈ R N .
Let x ∈ R N be given and choose x 0 ∈ ∂Ω 0 as the projection of x on the convex Ω 0 . For such a choice we have

(x -x 0 ) • n 0 = d * (0, x) ,
and the result follows. This completes the proof of Theorem 3.1.

Then there exists m2 > 0 such that for all c ∈ [c *η, c * ), all m 1 ≥ m1 , all m 2 ≥ m2 , all ε > 0 small enough, we have

L ε [u - c ] := ∂ t u - c -ε∆u - c - 1 ε u - c (1 -u - c ) ≤ 0 in (0, ∞) × R N . (4.5)
Proof. In the set {(t, x) : d(t, x) ≥ -ε| ln ε|m 1 e m 2 t } this is obvious since u - c (t, x) = 0. We now work in the set {(t, x) : d(t, x) < -ε| ln ε|m 1 e m 2 t }. By using straightforward computations we get

∂ t u - c = (1 -ε) ∂ t d ε + m 2 ε| ln ε|m 1 e m 2 t U ′ (θ) ∆u - c = |∇d| 2 ε 2 (1 -ε)U ′′ (θ) + ∆d ε (1 -ε)U ′ (θ) u - c (1 -u - c ) = (1 -ε)U (θ)(1 -U (θ)) + ε(1 -ε)U 2 (θ) ,
where

θ := d(t, x) + ε| ln ε|m 1 e m 2 t ε . (4.6)
Now, the ordinary differential equation

U ′′ + cU ′ + U (1 -U ) = 0 yields εL ε [u - c ] = (1 -ε)(E 1 + • • • + E 3 ) , with E 1 := U ′ (θ) ∂ t d + c + m 2 ε| ln ε|m 1 e m 2 t -ε∆d =: U ′ (θ)F 1 E 2 := U ′′ (θ)(1 -|∇d| 2 ) E 3 := -εU 2 (θ) .
We show below that the choice m2 := 2N ( 2 m1 µ + 1) is enough to prove the lemma. To that purpose we distinguish two cases, namely (4.7) and (4.8).

First assume that

- m 2 2N ε| ln ε|m 1 e m 2 t ≤ d(t, x) < -ε| ln ε|m 1 e m 2 t . (4.7)
It follows from (2.14) and (2.15) that, for ε > 0 small enough,

F 1 ≥ N d + m 2 ε| ln ε|m 1 e m 2 t -εC ≥ N d + m 2 2 ε| ln ε|m 1 e m 2 t ≥ 0 ,
which implies that E 1 ≤ 0. Moreover, in view of (2.12), we have, for ε > 0 small enough, E 2 = 0 and, obviously,

E 3 ≤ 0. Hence, L ε [u - c ] ≤ 0. Now assume that d(t, x) < - m 2 2N ε| ln ε|m 1 e m 2 t . (4.8) This implies θ ≤ -| ln ε|m 1 ( m 2 2N -1) . (4.9)
Using (2.8), (2.14) and (2.15) we see that, for ε > 0 small enough,

E 1 ≤ Ce -µ|θ| (N |d| + ε| ln ε|m 1 m 2 e m 2 T + εC) ≤ Ce -µ|θ| (N 2d 0 + o(1)) ≤ C 1 ε m 1 µ( m 2 2N -1) ,
where C 1 := 3CN d 0 . The choice of m2 then forces E 1 ≤ C 1 ε 2 . Using very similar arguments we see that there exists

C 2 > 0 such that E 2 ≤ C 2 ε 2 . At least note that θ → -∞ as ε → 0. Hence, if ε > 0 is small enough then U (θ) ≥ b for some b > 0, which in turn implies E 3 ≤ -b 2 ε. Collecting these estimates yields L ε [u - c ] ≤ -b 2 ε + (C 1 + C 2 )ε 2 ≤ 0 , for ε > 0 small enough.
The lemma is proved.

5 Proof of Theorem 1.4

We are now ready to prove our main result which includes both generation and motion of interface properties, but also provides an O(ε| ln ε|) estimate of the transition layers. Roughly speaking, we will fit the sub-and supersolutions for the generation into the ones for the motion.

Proof. Let Assumptions 1.1, 1.2 and 1.3 be satisfied. Choose k > 0, α > 0 and K > 1 as in Theorem 3.1. As in Lemma 4.2, choose η > 0 such that the constants C > 0, µ > 0, d 0 > 0, N > 0, that appear in (2.8), (2.12), (2.14), (2.15) are independent of c ∈ [c *η, c * ). According to Lemma 4.1, Lemma 4.2 and the comparison principle, there exist m 1 > 0, m 2 > 0 such that, for all c ∈ [c *η, c * ], we have, for ε > 0 small enough,

u - c (t -t ε , x) ≤ u ε (t, x) , (5.1)
for all (t, x)

∈ [t ε , T ] × R N . We choose C such that C > max 1, 2(2T + m 1 e m 2 T ), 2 µ . (5.2)
Obviously, from Theorem 3.1 (ii), we have

u ε (t, x) ∈ [0, 1 + ε] for all t ε ≤ t ≤ T , all x ∈ R N . Next we take x ∈ (R N \ Ω * t ) \ N Cε| ln ε| (Γ * t ), i.e. d * (t, x) ≥ Cε| ln ε| , (5.3)
and prove below that u ε (t, x) ≤ ε, for t ε ≤ t ≤ T . Since

d * (t, x) = d * (0, x) -c * t ,
we deduce from (3.1), the decrease of U * and (2.9) that, for ε > 0 small enough, for 0 ≤ t ≤ T ,

u ε (t, x) ≤ KU * (C| ln ε|) ≤ Kγ + C| ln ε|ε C ≤ ε , since C > 1. At last we take x ∈ Ω * t \ N Cε| ln ε| (Γ * t ), i.e. d * (t, x) ≤ -Cε| ln ε| , (5.4)
and prove below that u ε (t, x) ≥ 1 -2ε, for t ε ≤ t ≤ T . Note that

d(t -t ε , x) = d * (t, x) + (c * -c)t + ct ε . (5.5)
We define c(ε) := c * -ε| ln ε| .

(5.6)

Combining (5.1), with c(ε) playing the role of c, and (5.5), we see that

u ε (t, x) ≥ (1 -ε)V d * (t, x) + ε| ln ε|t + ε| ln ε|t ε + ε| ln ε|m 1 e m 2 t ε ,
for t ε ≤ t ≤ T . In view of (5.4), the choice of C in (5.2) and (2.6), we get, for ε > 0 small enough,

u ε (t, x) ≥ (1 -ε)U -C 2 | ln ε| ≥ (1 -ε)(1 -Ce -µ C 2 | ln ε| ) ≥ 1 -ε -Cε µ C 2 ≥ 1 -2ε , since C > 2 µ .
This completes the proof of Theorem 1.4.

6 When initial data are "not so small"

In this section we investigate the singular limit of (P ε ) when initial data u 0,ε satisfy Assumption 1.6. We prove below Theorem 1.7.

We start with the following lemma. The proof is omitted since it follows the same arguments as those used in Theorem 3.1. Lemma 6.1 (Generation of interface). Let Assumption 1.6 be satisfied. Then there exist some constants α > 0 and k > 0 such that, for all ε > 0 small enough,

u ε (t ε + t, x) ≤ 1 + ε , for all (t, x) ∈ [0, ∞) × R N , u ε (t ε , x) ≥ 1 -ε , for all x ∈ R N such that u 0,ε (x) ≥ kε| ln ε| , wherein t ε := αε| ln ε|. Define ξ ε := ε m kε| ln ε| -1 1/n .
In view of Assumption 1.6, we see that the condition u 0,ε (x) ≥ kε| ln ε| is satisfied when x ≤ ξ ε . Therefore, Lemma 6.1 implies that

u ε (t ε , x) ≥ 1 -ε , for all x ∈ R N such that x ≤ ξ ε . (6.1)
Now, for each c > 2, we consider a travelling wave (c, U ) solution of (2.4). Then let us recall that there exist some constants 0 < m c < M c such that m c e -λcz ≤ U (z) ≤ M c e -λcz , ∀z ≥ 0 , wherein λ c > 0 is the smallest root of the equation

λ 2 -cλ + 1 = 0 . (6.2)
Then we will show the following lemma. Lemma 6.2 (Sub-solutions). Let Assumption 1.6 be satisfied. Let c > 2 be given. Then there exist some constants M > 0, k > 0 and k > 0 such that

u ε (t ε , x) ≥ M exp -λ c x -kε| ln ε| ε , if x ≥ kε| ln ε| .
Proof. Let (c, U ) be a given travelling wave associated with the given speed c > 2. Let c 1 ∈ (0, c) be given and fixed. Let ρ > 0 be chosen large enough such that

ρ ≥ max N -1 c -c 1 , n λ c m 1 + ρ n ≥ M c e -λcρ .
Then we consider the map v 0 = v 0 (s) defined by

v 0 (s) := U (ρ) if |s| ≤ ρ U (|s|) if |s| ≥ ρ ,
and define the function W (t, x) by

W (t, x) := v 0 x -c 1 t ε .
Note that due to the choice of ρ and the definition of v 0 we have

m 1 + x n ε n ≥ W (0, x) , if x ≤ ερ .
Moreover, since ρ ≥ n/λ c , we see that

m 1 + x n ε n ≥ M c e -λc x ε , if x ≥ ερ .
Then we get that

u 0,ε (x) ≥ m 1 + x n ε n ≥ W (0, x) , ∀x ∈ R N .
On the other hand straightforward computations yield

L ε [W ](t, x) =      -1 ε U (ρ)(1 -U (ρ)) if | x -c 1 t| ≤ ερ 1 ε U ′ x -c 1 t ε c -c 1 + ε N -1 x if | x -c 1 t| ≥ ερ .
Thus L ε [W ](t, x) ≤ 0 for all (t, x) ∈ (0, ∞) × R N . From the comparison principle, we then deduce that W (t, x) ≤ u ε (t, x) , for all (t, x) ∈ (0, ∞) × R N . As a consequence we obtain that

u ε (t ε , x) ≥ m c e -λc x -c 1 t ε ε , if x ≥ c 1 t ε + ερ .
Using this, one then easily proves that the choices M = m c , k = c 1 α and k = 2c 1 α are enough to conclude. Lemma 6.2 is proved.

We are now in the position to prove Theorem 1.7.

Proof. Let (t 0 , x 0 ) ∈ (0, ∞) × R N be given. Let c > max( x 0 t 0 , 2) be given. Fix c 1 ∈ (0, c) such that x 0c 1 t 0 < 0 .

Let ε ∈ (0, 1) be given and fixed. We choose ρ > 0 large enough such that

c 1 + N -1 ρ ≤ c .
Let U be the travelling wave solution of (2.4) associated with the wave speed c such that U (0) = 1ε . (6.3)

Next, for each ρ > 0, we consider the map

q(s) := U (0) if s ≤ ρ U (s -ρ) if s ≥ ρ ,
and define the function W (t, x) by W (t, x) := q xc 1 t ε .

Using similar arguments to those used in the proof of Lemma 6.2, we see that

L ε [ W ] ≤ 0 in (0, ∞) × R N .
Next, we prove below that there exists ε 1 ∈ (0, ε) such that, for all ε ∈ (0, ε 1 ), W (0, x) ≤ u ε (t ε , x) , ∀x ∈ R N . (6.4) Indeed, it directly follows from (6.1) and (6.3) that (6.4) holds true if x ≤ ξ ε and ε ≤ ε. Let us now assume that x ≥ ξ ε . Note that, for ε > 0 small enough, ερ ≤ ξ ε , kε| ln ε| ≤ ξ ε .

Therefore, we have W (0, x) ≤ M c e -λc x -ρε ε .

Since, by Lemma 6.2, we have u(t ε , x) ≥ M e -λc x -e kε| ln ε| ε , it follows that (6.4) holds true as well in the case x ≥ ξ ε , for ε > 0 small enough.

The comparison principle then applies and yields, for ε > 0 small enough,

W (t -t ε , x) ≤ u ε (t, x) , ∀(t, x) ∈ [t ε , ∞) × R N .
Since x 0c 1 t 0 < 0 and lim ε→0 + ρεc 1 t ε = 0, we see that, for ε > 0 small enough, x 0c 1 (t 0t ε ) ε ≤ ρ , which in turn implies that u ε (t 0 , x 0 ) ≥ W (t 0t ε , x 0 ) = U (0) .

Thus we get U (0) ≤ lim inf ε→0 u ε (t 0 , x 0 ) .

Since U (0) = 1ε, with ε > 0 arbitrary small, we obtain 1 ≤ lim inf ε→0 u ε (t 0 , x 0 ) .

Finally, due to the first part of Lemma 6.1, we get that lim sup ε→0 u ε (t 0 , x 0 ) ≤ 1 , which completes the proof of Theorem 1.7.

. 11 )

 11 If c = c * , we naturally use the notation d * .Note thatif |d(t, x)| < d 0 then |∇d(t, x)| = 1 ,(2.12)

Motion of interface

We have proved in the previous section that, as ε → 0, the solution u ε develops, after a very short time t ε = O(ε| ln ε|), steep transition layers that separate the region where {u ε ≈ 0} from the one where {u ε ≈ 1}. It is the goal of this section to study the motion of interface that then occurs in a much slower time range. Since Lemma 3.3 controls u ε from above for all t ≥ 0, this will be enough to construct sub-solutions.

For all c ∈ (0, c * ), we define U as in (2.5) and V by

Next, we put

where d denotes the cut-off signed distance function to the solution of the free boundary problem (P c ), as defined in subsection 2.3.

Lemma 4.1 (Ordering initial data). Let Assumptions 1.1 and 1.3 be satisfied. Then there exists m1 > 0 such that for all c ∈ (0, c * ), all m 1 ≥ m1 , all m 2 > 0, all ε > 0 small enough, we have

for all x ∈ R N .

Proof. What we have to show is

If x is such that d(0, x) ≥ -m 1 ε| ln ε| then this is obvious since the definition of V implies u - c (0, x) = 0. Next assume that x is such that d(0, x) < -m 1 ε| ln ε|. Note that, in view of hypothesis (1.2), the mean value theorem provides the existence of a constant m1 > 0 such that if d(0, x) ≤ -m1 ε| ln ε| then g(x) ≥ kε| ln ε| , (

where k is as in Theorem 3.1. If we choose m 1 ≥ m1 and m 2 > 0, then inequality (4.3) follows from Theorem 3.1 (i) and the fact that V ≤ 1.

Lemma 4.2 (Sub-solutions for the motion). Choose η > 0 such that the constants C > 0, µ > 0, d 0 > 0, N > 0, that appear in (2.8), (2.12), (2.14), (2.15) are independent of c ∈ [c *η, c * ).


Hans Havlicek
email: havlicek@geometrie.tuwien.ac.at

Boris Odehnal

Metod Saniga
email: msaniga@astro.sk

Factor-Group-Generated Polar Spaces and (Multi-)Qudits

Keywords: groups, symplectic and orthogonal polar spaces, geometry of generalised Pauli groups 2000 Mathematics Subject Classification: 20C35, 51A50, 81R05

Recently, a number of interesting relations have been discovered between generalised Pauli/Dirac groups and certain finite geometries. Here, we succeeded in finding a general unifying framework for all these relations. We introduce gradually necessary and sufficient conditions to be met in order to carry out the following programme: Given a group G, we first construct vector spaces over GF(p), p a prime, by factorising G over appropriate normal subgroups. Then, by expressing GF(p) in terms of the commutator subgroup of G, we construct alternating bilinear forms, which reflect whether or not two elements of G commute. Restricting to p = 2, we search for "refinements" in terms of quadratic forms, which capture the fact whether or not the order of an element of G is ≤ 2. Such factor-group-generated vector spaces admit a natural reinterpretation in the language of symplectic and orthogonal polar spaces, where each point becomes a "condensation" of several distinct elements of G. Finally, several well-known physical examples (single-and two-qubit Pauli groups, both the real and complex case) are worked out in detail to illustrate the fine traits of the formalism.

Introduction

The purpose of this paper is to establish the most general formal setting for reformulating, whenever possible, basic properties of groups in terms of vector spaces, alternating bilinear forms, quadratic forms and associated projective and polar spaces. As far as we know, the first outline of such an analysis can be tracked back in the textbook of Huppert [START_REF] Huppert | Die Grundlehren der Mathematischen Wissenschaften[END_REF], when addressing the so-called extra-special groups; however, the assumptions made there were rather specific and no finite geometry was explicitly mentioned. Another treatment of the issue, with important physical applications, was given by Shaw and his collaborators [START_REF] Shaw | Finite geometries and Clifford algebras[END_REF][START_REF] Shaw | Clifford algebras, spinors and finite geometries[END_REF][START_REF] Shaw | Finite geometries and Clifford algebras. III[END_REF][START_REF] Shaw | Finite geometry and the table of real Clifford algebras[END_REF][START_REF] Shaw | Finite geometry, Dirac groups and the table of real Clifford algebras[END_REF][START_REF] Shaw | Finite geometries and Clifford algebras[END_REF]. These papers deal with the Dirac groups and their relationship to projective spaces over GF [START_REF] Shaw | Finite geometries and Clifford algebras[END_REF]. They include also a detailed dictionary from group theory to finite geometry and vice versa (see also [START_REF] Gordon | Composition algebras and PG(m, 2)[END_REF]). Being unaware of these developments, Planat and Saniga and others set up a similar programme [START_REF] Planat | Quantum entanglement and projective ring geometry[END_REF][START_REF] Saniga | Finite geometries in quantum theory: from Galois (fields) to Hjelmslev (rings)[END_REF][START_REF] Saniga | A projective line over the finite quotient ring GF(2)[x]/ x 3x and quantum entanglement: theoretical background[END_REF][START_REF] Saniga | Projective line over the finite quotient ring GF(2)[x]/ x 3x and quantum entanglement: the Mermin "magic" square/pentagram[END_REF][START_REF] Saniga | Multiple qubits as symplectic polar spaces of order two[END_REF][START_REF] Havlicek | Projective ring line of a specific qudit[END_REF][START_REF] Saniga | The Veldkamp space of two-qubits[END_REF][START_REF] Planat | Qudits of composite dimension, mutually unbiased bases and projective ring geometry[END_REF][START_REF] Planat | Multi-line geometry of qubit-qutrit and higher-order Pauli operators[END_REF][START_REF] Havlicek | Projective ring line of an arbitrary single qudit[END_REF][START_REF] Planat | On the Pauli graphs of N -qudits[END_REF][START_REF] Saniga | Projective ring line encompassing two-qubits[END_REF][START_REF] Lévay | Three-qubit operators, the split Cayley hexagon of order two and black holes[END_REF][START_REF] Lévay | Black hole entropy and finite geometry[END_REF] (see also [START_REF] Rau | Mapping two-qubit operators onto projective geometries[END_REF]), and discovered various kinds of finite geometry behind the generalised Pauli groups of specific finite-level quantum systems, their results being put into a more general context by Koen Thas [START_REF] Thas | Pauli operators of N -qubit Hilbert spaces and the Saniga-Planat conjecture[END_REF] (p = 2) and [START_REF] Thas | The geometry of generalized Pauli operators of N -qudit Hilbert space, and an application to MUBs[END_REF] (p > 2); these works, however, focussed uniquely on symplectic case (alternating bilinear forms), leaving the importance of quadratic forms simply unnoticed. In what follows we shall not only fill this gap, but develop the theory to such an extent that the links between the above-mentioned approaches become clearly visible and, at the same time, differences between some closely related finite groups (e.g., between the real and complex two-qubit Pauli groups) will be revealed and properly understood.

Preliminaries

We first collect some notions which will be used throughout the paper:

Let (G, •) be a group with neutral element e. Given a set M ⊆ G we denote by M the subgroup of G generated by M . Also, we let

M (m) := {x m | x ∈ M } for all m ∈ Z.
The commutator of a, b ∈ G is written as [a, b] := aba -1 b -1 . The commutator group (derived group) [G, G] =: G ′ is the subgroup of G which is generated by all commutators. The centre of G is written as Z(G).

Furthermore, let p be a fixed prime. We denote the Galois field with p elements by GF(p) = Z/(Zp). We shall always use 0, 1, . . . , p -1 ∈ Z as representatives for the elements of GF(p). Vector spaces over GF(p) have a series of rather simple, but nevertheless noteworthy properties which are not shared by vector spaces over arbitrary fields. If (V, +) is vector space over GF(p) then

mv = v + v + • • • + v m for all m ∈ GF(p), v ∈ V. (1)
So the additive group (V, +) or, more precisely, V as a Z-module, determines the structure as a vector space over GF(p) in a unique way. In particular, we have

v + v + • • • + v p = o for all v ∈ V, (2)
where o denotes the zero element of V . Consequently, any subgroup of V is also a (vector) subspace. Furthermore, any additive mapping of vector spaces over GF(p) is also linear; see, among others, [START_REF] Kirsch | Beziehungen zwischen der Additivität und der Homogenität von Vektorraum-Abbildungen[END_REF] and [START_REF] Mayr | Zur Definition der linearen Abbildung[END_REF]. Conversely, a commutative group (V, +) satisfying ( 2) can be turned into a vector space over GF(p) by defining the product of m ∈ GF(p) and v ∈ V by (1).

Vector spaces over GF (p)

We aim at constructing vector spaces over GF(p) by factorising G modulo appropriate normal subgroups.

Let N ¢ G, i.e., N is a normal subgroup of G. The factor group G/N is commutative if, and only if, the commutator group satisfies G ′ ≤ N . Furthermore, G/N is isomorphic to the additive group of a vector space over GF(p) if, and only if, it satisfies the following condition: Condition 1. N is a normal subgroup of G which contains the commutator subgroup G ′ and the set G (p) of pth powers.

Remark 1. Let N ≤ G be a subgroup of G satisfying G ′ ≤ N . We recall that N is a normal subgroup of G in this case, since for all a ∈ N and all x ∈ G we have xax -1 = [x, a]a ∈ N . This means that Condition 1 can be relaxed by omitting the word "normal".

Remark 2. The complex product G ′ G (p) = {xy | x ∈ G ′ , y ∈ G (p)
} is easily seen to be a subgroup of G. Thus, by Remark 1, we have

G ′ G (p) = G ′ ∪ G (p) ¢ G. (3)
Remark 3. The case p = 2 deserves particular mention. Here Condition 1 can be further relaxed by deleting the condition G ′ ≤ N , because G (2) ⊆ N implies that all elements of G/N have order one or two, which in turn guarantees the commutativity of G/N . 1 We assume until further notice that Condition 1 holds. Then we let

(V, +) := (G/N , •),
i.e., the composition in V will be written additively, and we consider V as a vector space over GF(p) in accordance with [START_REF] Huppert | Die Grundlehren der Mathematischen Wissenschaften[END_REF].

It is an easy exercise to express notions from the vector space V (like linear dependence, dimension, etc.) in terms of the factor group G/N . For example, a linear combination

k i=1 m i v i with m i ∈ GF(p), v i = x i N and x i ∈ G translates into x m 1 1 x m 2 2 • • • x m k k N .
The factors in this product may be rearranged in any order. The set of all subspaces of V is precisely the set

{S/N | N ≤ S ≤ G}. (4)
The factor spaces of V have the form V /(S/N ), with S as above. There exists the canonical isomorphism (of vector spaces)

G/S → (G/N )/(S/N ) : xS → (xN )(S/N )
by the homomorphism theorem. Therefore, up to the canonical identification

G/S ≡ (G/N )/(S/N ) = V /(S/N ), (5)
the set of all factor spaces of V is precisely the set

{G/S | N ≤ S ≤ G}.
The identification (5) will frequently be used in what follows. If V is finite then #V = p d , where d is the dimension of V . Hence in this case the dimension of V can be found by a simple counting argument. We close this section with a complete description of all vector spaces arising from our previous construction.

Theorem 1. Let G be any group. Then the following assertions hold:

(a) The subgroup N 0 := G ′ G (p) is normal in G and meets the requirements of Condition 1.
Hence it yields the vector space V 0 := G/N 0 over GF(p).

(b) The set of vector spaces G/N , where N ¢ G is subject to Condition 1, is precisely the set of all factor spaces of V 0 , up to the canonical identification G/N ≡ V 0 /(N /N 0 ) from [START_REF] Shaw | Finite geometry and the table of real Clifford algebras[END_REF].

Proof . Ad (a): This is clear by Remarks 1 and 2. Ad (b): A subgroup N ≤ G satisfies Condition 1 if, and only if, N 0 ≤ N . Under these circumstances the canonical identification from (5) can be applied to G/N . This establishes the result.

The previous result can be rephrased as follows: Our construction yields (to within isomorphism) precisely the homomorphic images of the vector space V 0 .

Of course, in Theorem 1 the trivial case N 0 = G may occur so that V 0 turns out to be the zero vector space over GF(p). Take, for example, G as a cyclic group of prime order = p. At the other extreme, if G is a commutative group of index p then N 0 = {e}.

The underlying field

For our construction of an alternating bilinear form in Section 5, we shall need an interpretation of the Galois field GF(p) within the group G in terms of the commutator group G ′ . The (multiplicative) group G ′ is isomorphic to the additive group of the Galois field GF(p) precisely when the following is satisfied:

Condition 2.
The commutator group G ′ has order p. This is due to the fact that any two groups of order p are cyclic and hence isomorphic. Condition 2 is very restrictive, in sharp contrast to Condition 1.

Remark 4. Condition 2 implies that G is a non-commutative group, since G ′ has to have more than one element.

Let us assume until the end of this section that Condition 2 holds. For each generator g of G ′ (viz. each element g ∈ G ′ \ {e}) the mapping

ψ g : (G ′ , •) → GF(p), + : g m → m with m ∈ {0, 1, . . . , p -1} (6)
is an isomorphism of groups. Given a generator g ∈ G ′ there exists an element k ∈ {1, . . . , p -1} such that g = gk , whence

(ψ g • ψ -1 g )(m) = km for all m ∈ GF(p).
Therefore, loosely speaking, G ′ could be identified with GF(p) up to a non-zero scalar k ∈ GF(p). In fact, Condition 2 just guarantees that G ′ is a one-dimensional vector space over GF(p), but it does not provide a unique way to identify G ′ with GF(p) unless p = 2. Examples of groups satisfying Condition 2 will be exhibited in Section 9.

Remark 5. If Conditions 1 and 2 are satisfied then, taking into account ψ -1 g (m) = g m and v = xN for some m ∈ GF(p) and some x ∈ G, it would be incorrect to calculate the product mv in terms of the factor group G/N as (g m N )(xN ) = g m xN . For example, m = 0 and v = o (zero vector) yield 0

• v = o, but g 0 xN = xN = v = o.
Observe that this applies even in the case p = 2, where there is just one possibility for choosing an isomorphism ψ g .

An alternating bilinear form

Given a group G and a normal subgroup N ¢ G satisfying Condition 1, we want to turn the commutator mapping [•, •] : G × G → G ′ into a function which is well defined on V × V . This amounts to requiring that for all x, y ∈ G their commutator [x, y] does not change if x is replaced by any element from the coset xN and likewise for y. For any a ∈ N we have [x, y] = [xa, y] if, and only if,

xyx -1 y -1 = xaya -1 x -1 y -1
or, equivalently, ay = ya. Since here y ∈ G is arbitrary, this holds precisely when a ∈ Z(G). We are thus led to the following:

Condition 3. The normal subgroup N is contained in the centre of G.
By virtue of this condition, we have indeed [x, y] = [xa, yb] for all x, y ∈ G and all a, b ∈ N . However, there does not seem to be an obvious meaning of the commutator group G ′ for our vector space V . Hence we assume until further notice that Conditions 1, 2, and 3 hold. Therefore

G ′ G (p) ¢ N ¢ Z(G) ¡ G (7)
is satisfied. Also, we choose an isomorphism ψ g according to [START_REF] Shaw | Finite geometry, Dirac groups and the table of real Clifford algebras[END_REF]. This allows us to define a mapping

[•, •] g : V × V → GF(p) : (v, w) = (xN , yN ) → ψ g ([x, y]), (8)
where x, y ∈ G. We collect now several basic properties of this mapping.

Theorem 2. Suppose that the group G and the normal subgroup N ¢ G satisfy Conditions 1, 2, and 3. Also, let g be a generator of the commutator group G ′ . Then the following assertions hold:

(a) The mapping [•, •] g given by ( 8) is an alternating bilinear form on the vector space Proof . Ad (a): Given x, y ∈ G we let v := xN and w := yN . Then

V = G/N . (b) Two elements x, y ∈ G commute if,

and only if, the corresponding vectors

v = xN , w = yN ∈ V are orthogonal with respect to [•, •] g , i.e., [v, w] g = 0. (c) The bilinear form [•, •] g is non-zero and has the radical V ⊥ = Z(G)/N .
[v, v] g = ψ g ([x, x]) = ψ g (e) = 0 and [w, v] g = ψ g ([y, x]) = ψ g [x, y] -1 = -[w, v] g . (9)
Also, we obtain

[v 1 + v 2 , w] g = ψ g (x 1 x 2 )y(x 1 x 2 ) -1 y -1 = ψ g x 1 x 2 yx -1 2 x -1 1 y -1 = ψ g x 1 x 2 yx -1 2 y -1 ∈ G ′ x -1 1 x 1 yx -1 1 y -1 = ψ g x 2 yx -1 2 y -1 x 1 yx -1 1 y -1 = ψ g [x 2 , y] • [x 1 , y] = [v 1 , w] g + [v 2 , w] g . (10)
Here we used that G ′ is fixed elementwise under the inner automorphism given by x 1 due to [START_REF] Shaw | Finite geometries and Clifford algebras[END_REF]. The last equality follows, because Condition 2 forces G ′ to be commutative. From ( 9) and ( 10), the function [•, •] g is biadditive and therefore also bilinear. Hence the assertion follows. Ad (b): This is immediate from the definition of [•, •] g . Ad (c): We noted already in Remark 4 that G is a non-commutative group. Consequently, the bilinear form [•, •] g is non-zero. Its radical is

V ⊥ = {v ∈ V | v ⊥ w for all w ∈ V }.
We read off from (b) that V ⊥ = Z(G)/N and the rest is clear.

Observe that the bilinear form [•, •] g has to be degenerate when dim V is an odd integer. See Examples 1 and 2 in Section 9.

The previous result (b) about commuting elements does not depend on the choice of the isomorphism ψ g . Replacing g by any generator g of the commutator group G ′ changes the bilinear form

[•, •] g by a non-zero factor k ∈ GF(p), that is [•, •] g = k[•, •] g .
But the orthogonality relations with respect to these two forms are identical. We could even rule out the isomorphism ψ g by considering the mapping

V × V → G ′ : (xN , yN ) → [x, y].
The proof of Theorem 2 shows that this is a non-zero alternating bilinear mapping of vector spaces over GF(p). The interpretation of our results in terms of projective geometry will also eliminate the explicit choice of an isomorphism ψ g . See Section 7.

We end with a complete description of all vector spaces and all alternating bilinear forms arising from our construction from the above; cf. Theorem 1.

Theorem 3. Let G be a group such that Condition 2 holds. Furthermore, let at least one of the normal subgroups of G satisfy Conditions 1 and 3. Choose g ∈ G ′ \ {e}. Then the following assertions hold:

(a) The subgroup N 0 = G ′ G (p)
is normal in G and meets the requirements of Conditions 1 and 3. It yields the vector space V 0 = G/N 0 over GF(p), the alternating bilinear form [•, •] g,0 on V 0 , and the radical V ⊥ 0 . (b) The set of vector spaces G/N , where N is subject to Conditions 1 and 3, is precisely the set of factor spaces V 0 /S, where S is any subspace of V ⊥ 0 , up to the canonical identification from [START_REF] Shaw | Finite geometry and the table of real Clifford algebras[END_REF].

N 0 ≤ N and S = N /N 0 ≤ Z(G)/N 0 = V ⊥ 0 .
Ad (c): The bilinear form [•, •] g,0 induces a well-defined bilinear form on V 0 /S for any subspace S ≤ V ⊥ 0 via (v+S, w+S) → [v, w] g,0 . This induced form coincides with [•, •] g by its definition.

A quadratic form

We let p := 2 throughout this section. We exhibit a group G and a normal subgroup N satisfying Conditions 1 and 2, but we do not yet assume Condition 3 to be fulfilled. So G ′ = {e, g}, say, and g = g -1 = e. Hence the vector space V = G/N and the (only) isomorphism ψ g : (G ′ , •) → GF(2), + are at our disposal. In the sequel the group

K := {x ∈ Z(G) | x 2 = e} ≤ Z(G) (11)
will play an important role.

Our first aim is merely to define a mapping G → GF(2) by the assignment x → ψ g (x 2 ). This is possible if, and only if, the following holds: Condition 4. G is a group such that all its squares belong to its commutator group, i.e., G (2) ⊆ G ′ . Remark 6. We note that Conditions 2 and 4 imply

G (2) = G ′ ,
since otherwise G (2) = {e} would force G to be commutative, a contradiction to Remark 4.

We continue by demanding that also Condition 4 is satisfied. Our second aim is to find necessary and sufficient conditions for the mapping2

Q : V → GF(2) : v = xN → ψ g (x 2 ) ( 12
)
to be well-defined. This is the case if, and only if,

x 2 = xaxa for all x ∈ G and all a ∈ N . ( 13
)
Let us consider first of all the particular case x = e which yields the necessary condition a 2 = e for all a ∈ N . As N = {e} is impossible due to e = g ∈ N , we continue by assuming the following to be true:

Condition 5. The normal subgroup N ¢ G has exponent 2.
Now, returning to the general case, we can use Condition 5 to rewrite (13) in the form

x 2 = x 2 (x -1 a -1 xa) for all x ∈ G and all a ∈ N , (14)
because a = a -1 . Cancelling x 2 shows that ( 14) holds precisely when is in the centre of G.

Hence, we also have to impose Condition 3 to be valid.

Conversely, with all five conditions at hand we obtain that the mapping Q in ( 12) is indeed well defined. We notice that under these circumstances

{e} = N (2) = {e, g} = G ′ = G (2) ¢ N ¢ K ¢ Z(G) ¡ G (15)
is satisfied. We are now in a position to describe the mapping Q in detail.

Theorem 4. Suppose that the group G and the normal subgroup N ¢ G satisfy Conditions 1-5 for p = 2. Then the following assertions hold:

(a) The mapping Q : V → GF(2) given by ( 12) is a quadratic form.

(b) The polar form of Q equals to the alternating bilinear form given in [START_REF] Gordon | Composition algebras and PG(m, 2)[END_REF].

Consequently, Q is non-zero. (c) The restriction of Q to the radical V ⊥ is a linear form V ⊥ → GF(2) with kernel K/N ≤ V ⊥ . Hence either K/N = V ⊥ or K/N is a hyperplane of V ⊥ .
Proof . Ad (a) and (b): In order to show that Q is a quadratic form, we have to verify two conditions. Firstly, 2) and all v ∈ V . This follows from Q(o) = ψ g (e 2 ) = 0 for k = 0 and is obviously true for k = 1. Secondly, it remains to establish that the mapping

Q(kv) = k 2 Q(v) for all k ∈ GF(
V × V → GF(2) : (v, w) → Q(v + w) -Q(v) -Q(w)
is biadditive and hence bilinear.

Letting v = xN , w = yN with x, y ∈ G gives (xy) 2 x -2 y -2 = x -2 (xy) 2 y -2 = x -1 yxy -1 = [x -1 , y]. (16)
Here the first equation sign holds, because G (2) is a commutative group by Remark 6, which allows to rearrange squares. Application of ψ g permits us to express [START_REF] Planat | Qudits of composite dimension, mutually unbiased bases and projective ring geometry[END_REF] as

Q(v + w) -Q(v) -Q(w) = [-v, w] g = [v, w] g . (17)
Since [•, •] g is non-zero, so is Q. This completes the proof of (a) and (b). Ad (c): The restriction of Q to the radical V ⊥ = Z(G)/N is additive by [START_REF] Planat | Multi-line geometry of qubit-qutrit and higher-order Pauli operators[END_REF]. Hence Q|V ⊥ is a linear form in GF [START_REF] Shaw | Finite geometries and Clifford algebras[END_REF]. By its definition, Q|V ⊥ vanishes precisely on the set K/N , which is therefore all V ⊥ , or one of its hyperplanes.

Our final result of this section is in the spirit of Theorems 1 and 3: Theorem 5. Let G be a group such that Conditions 2 and 4 hold for p = 2. Furthermore, let at least one of the normal subgroups of G satisfy Conditions 1, 3, and 5. Then the following assertions hold: (2) ¢ G meets the requirements of Conditions 1, 3, and 5. It yields the vector space V 0 = G/N 0 over GF(p), the quadratic form Q 0 on V 0 , and the subspace K/N 0 ≤ V ⊥ 0 . (b) The set of vector spaces G/N , where N is subject to Conditions 1, 3, and 5, is precisely the set of factor spaces V 0 /S, where S is any subspace of K/N 0 , up to the canonical identification from [START_REF] Shaw | Finite geometry and the table of real Clifford algebras[END_REF].

(a) The normal subgroup N 0 = G ′ G (2) = G ′ = G
(c) In terms of the identification from (5) the quadratic form Q on a vector space G/N ≡ V 0 /S as in (b) is inherited from the quadratic form Q 0 on V 0 .

Proof . Ad (a): By the hypotheses of the theorem and [START_REF] Saniga | The Veldkamp space of two-qubits[END_REF], Ad (c): The quadratic form Q 0 induces a well-defined quadratic form on V 0 /S for any subspace

G ′ = G (2) = N 0 ¢ K ¢ Z(G), whence (a
S ≤ K/N 0 via v + S → Q 0 (v), because Q 0 (v + s) = Q 0 (v) + Q 0 (s) + [v, s] g 0 = Q 0 (v)
for all s ∈ S. This induced form coincides with Q by its definition.

Under the assumptions of Theorem 5 suppose that K < Z(G). Then there exists a subgroup N with K < N ≤ Z(G), whence Condition 5 is violated, whereas Conditions 1-3 are satisfied. This means that the vector space G/N is endowed with an alternating bilinear form by Theorem 3, but there exists no quadratic form on G/N as in Theorem 5; see Examples 1 and 2 in Section 9.

Symplectic polar spaces

Our results from the preceding sections allow a natural interpretation in terms of projective geometry. Let V be an (n + 1)-dimensional 3 vector space over a field F . Recall that the points of the projective space on V are its one-dimensional subspaces ("rays through the origin"). We write P(V ) for the set of all such points. Likewise, each subspace S of V gives rise to a set P(S) of points. If dim S = k +1 then P(S) ⊆ P(V ) is called a k-flat or k-dimensional projective subspace. In particular, P(V ) is the only n-flat, i.e., its projective dimension is n. We use the familiar terminology for low-dimensional flats: lines, planes, and solids have projective dimension 1, 2, and 3, respectively. Hyperplanes of P(V ) are those flats P(S) where S has codimension 1 in V .

Assume now that V, [•, •] is a symplectic vector space. So it is endowed with a non-degenerate alternating bilinear form [•, •], and n + 1 =: 2r is even. For each subset W ⊆ V we denote by W ⊥ its orthogonal subspace, i.e. the set of all vectors in V which are orthogonal to every vector in W . In particular, v ⊥ is a subspace with codimension 1 for each vector v ∈ V \ {o}. In projective terms we obtain a null polarity 4 , i.e. the mapping which assigns to each point F v its null hyperplane P(v ⊥ ). More generally, one can associate with each k-flat P(S) the (nk -1)flat P(S ⊥ ); it equals the intersection of all hyperplanes P(v ⊥ ), as F v ranges over all points of P(S). A subspace S ≤ V is called totally isotropic if S ≤ S ⊥ . We use the same terminology for the flat P(S). The symplectic polar space associated with V, [•, •]) is the point set P(V ) together with the set of all totally isotropic flats. All maximal totally isotropic flats have projective dimension r -1. It is common to denote this polar space by W 2r-1 (F ) and, in particular W 2r-1 (q) if F = GF(q) is a Galois field. For each r and each F there is a unique symplectic polar space to within isomorphisms; see [START_REF] Buekenhout | Projective and affine geometry over division rings[END_REF][START_REF] Cameron | Projective and polar spaces[END_REF], and the references therein.

Two (not necessarily distinct) points F v, F w of W 2r-1 (F ) are said to be conjugate if v ∈ w ⊥ (or w ∈ v ⊥ ). In other words: Two points are conjugate if one of them is in the null hyperplane of the other. Two distinct points are conjugate precisely when they are on a common totally isotropic line. Each point is self-conjugate.

It is now a straightforward task to establish a neat connection between our previous results and symplectic polar spaces: Theorem 6. Suppose that a group G and its centre Z(G) =: N satisfy Conditions 1-3 for some prime number p. Furthermore, let V := G/Z(G) be finite and let an alternating bilinear form [•, •] g be defined as in [START_REF] Gordon | Composition algebras and PG(m, 2)[END_REF]. Then the following hold: The structure of the space W 2r-1 (p) from above "is" the structure of commuting elements of G. Note that any x ∈ G \ Z(G) clearly commutes with all powers of x and with all elements of Z(G). It is therefore natural to "condense" the commutative subgroup x Z(G) ≤ G to a single entity -a point of W 2r-1 (p). Also, it is natural that all elements from the centre Z(G) have no meaning for W 2r-1 (p), as they commute with every element of G. We add in passing that the polar space W 2r-1 (p) does not depend on the choice of the generator g of G ′ which is used to define [•, •] g . Remark 7. The results from Theorem 6 can be easily generalised to the settings of Theorem 2. Under these circumstances the factor space V /V ⊥ together with the alternating bilinear form, which is inherited from V , takes over the role of the symplectic vector space from above. This means that one gets a symplectic polar space in the projective space P(V /V ⊥ ). A k-flat of P(V /V ⊥ ) has, by definition, the form P(S/V ⊥ ) with V ⊥ ≤ S ≤ V and dim(S/V ⊥ ) = k + 1. It will be convenient to identify this flat with the flat P(S) of the projective space P(V ). From this point of view the flats of P(V /V ⊥ ) are the flats of P(V ) which contain P(V ⊥ ). Note that such a flat now has two projective dimensions. Its dimension with respect to P(V ) is dim S -1, while its dimension with respect to P(V /V ⊥ ) is dim(S/V ⊥ ) -1; see Example 1.

Orthogonal polar spaces

In view of Section 6 we adopt the following: Let V be an (n + 1)-dimensional vector space over a field F with characteristic 2. Let Q : V → F be a quadratic form and [•, •] be its (alternating bilinear) polar form. We assume Q to be non-singular, which means that Q(v) = 0 for all nonzero vectors in the radical V ⊥ . A subspace S ≤ V is said to be singular if Q vanishes identically on S. We use the same terminology for the flat P(S). The singular points of P(V ) constitute a non-singular quadric Q of P(V ). The orthogonal polar space associated with (V, Q) is the point set Q together with all singular flats [START_REF] Buekenhout | Projective and affine geometry over division rings[END_REF][START_REF] Cameron | Projective and polar spaces[END_REF]. This orthogonal polar space mirrors the "intrinsic geometry" of the quadric Q, since the singular flats are precisely those flats which are entirely contained in Q. For our purposes also the "extrinsic geometry", i.e. the points of the ambient space P(V ) off the quadric, will be important.

All maximal singular flats of Q have the same projective dimension r -1, but the integer r ≥ 0 depends heavily on the ground field F , the dimension of V , and the quadratic form Q. We need here only the case F = GF(2). It is well known that to within projective transformations only the following cases occur [28, p. 58], [30, pp. 121-126]:

n r -1 Symbol # Point set Name 2k k -1 Q 2k (2) 2 2k -1 parabolic 2k + 1 k Q + 2k+1 (2) 2 2k+1 + 2 k -1 hyperbolic 2k + 1 k -1 Q - 2k+1 (2) 2 2k+1 -2 k -1 elliptic For n = 2k the polar form of Q is degenerate, dim V ⊥ = 1. Hence V ⊥ is a distinguished point, called nucleus, in the ambient projective space of Q 2k (2), but it is not a point of Q 2k (2).
Otherwise the polar form of Q is non-degenerate. Below we use Q(2) to denote any of the quadrics from the above table.

Theorem 7. Suppose that a group G and its subgroup K =: N given by [START_REF] Saniga | A projective line over the finite quotient ring GF(2)[x]/ x 3x and quantum entanglement: theoretical background[END_REF] satisfy Conditions 1-5 for p = 2. Furthermore, let V := G/K be finite and let a quadratic form Q be defined as in [START_REF] Saniga | Projective line over the finite quotient ring GF(2)[x]/ x 3x and quantum entanglement: the Mermin "magic" square/pentagram[END_REF]. Then the following hold:

(a) Q gives rise to a non-singular quadric Q(2) of P(V ).
(b) The totally singular flats of Q(2) have the form P T /K), where T ranges over the set of all subgroups of G which have exponent 2 and contain K. In particular, the points of Q(2) have the form T /K, where T := x K with x ∈ G \ K and x 2 = e.

Proof . Ad (a): By Theorem 4 (c), the restriction of the quadratic form Q to V ⊥ = Z(G)/K has the kernel K/K. This is the zero-subspace of V ⊥ , so that Q is non-singular. Ad (b): By (4), any subspace of V has the form S/K with K ≤ S ≤ G and vice versa. The subspace S/K is singular if, and only if, Q vanishes identically on S/K. This holds precisely when the subgroup S has exponent 2. The points of Q(2) are the one-dimensional subspaces of V , i.e. the subgroups of G/K which are generated by a single element xK with x ∈ G \ K and x 2 = e. Hence they have the asserted form.

The structure of the polar space which is based on the quadric Q(2) from above "is" the structure of elements with order 2 of the group G. Note that for any x ∈ G \ K with order 2 the complex product x K is a subgroup of G with exponent 2. It is therefore natural to "condense" the subgroup x K ≤ G to a single entity -a point of Q(2). In our further discussion we have to distinguish two cases:

If n = 2k + 1 is odd then the polar form of Q is non-degenerate which implies K = Z(G). So the results of Theorems 6 and 7 can be merged immediately. We obtain a symplectic polar space which is "refined" by an orthogonal one. The fact that subgroups of exponent 2 are commutative is mirrored in the fact that singular subspaces are totally isotropic.

If n = 2k is even then K = Z(G). The point V ⊥ = Z(G)/K is the nucleus of the quadric Q 2k [START_REF] Shaw | Finite geometries and Clifford algebras[END_REF]. We have here the orthogonal polar space given by Q 2k (2) and the symplectic polar space W 2k-1 (2) which is defined in P(V /V ⊥ ) according to Remark 7. It is well known that these two spaces are isomorphic. An isomorphism is given by "joining the quadric with its nucleus": If P(S) is a singular subspace of Q 2k (2) then its join with the point V ⊥ , i.e. P(S +V ⊥ ), is a totally isotropic subspace of P(V /V ⊥ ) and vice versa. In algebraic terms this gives the following bijection from the set of all subgroups T with exponent 2 and K ≤ T ≤ G onto the set of all commutative subgroups C with Z(G) ≤ C ≤ G:

T → C := T Z(G).
9 Illustrative examples from quantum theory Example 1. We consider the complex Pauli matrices

σ 0 := 1 0 0 1 , σ x := 0 1 1 0 , σ y := 0 -i i 0 , σ z := 1 0 0 -1 . ( 18
)
The matrices i α σ β with α ∈ {0, 1, 2, 3} and β = {0, x, y, z} constitute the Pauli group of order 16, which is now our G. It acts on the two-dimensional complex Hilbert space of a single qubit.

In our terminology (with p := 2) we have Z(G) = {±σ 0 , ±iσ 0 }, G ′ = G (2) = K = {±σ 0 } and g = -σ 0 . The group G satisfies Conditions 2 and 4.

The normal subgroup K = N 0 satisfies Conditions 1, 3, and 5. The factor group G/K has 2 3 elements; it gives rise to a three-dimensional vector space V 0 over GF [START_REF] Shaw | Finite geometries and Clifford algebras[END_REF] as in Theorem 2 (a) with a degenerate alternating bilinear form [•, •] g,0 . The projective space P(V 0 ) is the Fano plane; see Fig. 1. The points of the Fano plane fall into three classes: The three dark-shaded points form a non-degenerate quadric Q 2 (2) (i.e. a conic). They correspond to those elements of G \ K whose square is σ 0 (i.e. Hermitian matrices). The three light-shaded points represent the elements of G \K whose square is -σ 0 (i.e. skew-Hermitian matrices). The remaining point, which is depicted by a double circle, is the only point of P(V ⊥ 0 ) or, in other words, the nucleus of Q 2 [START_REF] Shaw | Finite geometries and Clifford algebras[END_REF]. It represents the matrices of Z(G)\K, which are also skew-Hermitian. The three lines through the nucleus (bold-faced) are to be identified with the three "points" of the symplectic polar space P(V 0 /V ⊥ 0 ) ∼ = W 1 (2) (Fig. 2), which has projective dimension one. Its null-polarity is the identity mapping. Two operators of G \ K commute if, and only if, their corresponding points are on a common line through the nucleus.

The normal subgroup Z(G) satisfies Conditions 1 and 3, but not 5. The factor group G/Z(G) has 2 2 elements; it gives rise to a two-dimensional symplectic vector space V over GF [START_REF] Shaw | Finite geometries and Clifford algebras[END_REF] and the symplectic polar space W 1 (2) = P(V ); see Fig. 2. The factor space V 0 /V ⊥ 0 from above and V are isomorphic (as symplectic vector spaces). Each point of W 1 (2) is totally isotropic. We have no quadratic form on V . Two operators of G \ Z(G) commute if, and only if, their corresponding points are identical.

Example 2. We exhibit the group comprising the Kronecker products i α σ β ⊗ σ γ with β, γ ∈ {0, x, y, z}; cf. [START_REF] Havlicek | Projective ring line of an arbitrary single qudit[END_REF]. This group acts on the four-dimensional Hilbert space of two qubits. In contrast to Example 1, the symbol G denotes now this group of order 64. In our terminology (with p := 2) we have

Z(G) = {±σ 0 ⊗ σ 0 , ±iσ 0 ⊗ σ 0 }, G ′ = G (2) = K = {±σ 0 ⊗ σ 0 }, and g = -σ 0 ⊗ σ 0 .
Up to a change of dimensions, the situation here completely parallels that of the preceding example:

The factor group G/K gives rise to a four-dimensional projective space P(V 0 ) over GF(2) and a non-degenerate quadric Q 4 (2). We are not familiar with any neatly arranged picture of this projective space with its 31 points and 155 lines. However, the 15 points and 15 singular lines of Q 4 (2), together with its nucleus and several points/lines of its ambient space, can be illustrated as in Fig. 3. There are 15 lines joining the nucleus P(V ⊥ 0 ) with the points of the quadric Q 4 (2); these lines become the "points" of the factor space P(V /V ⊥ ) ∼ = W 3 [START_REF] Shaw | Finite geometries and Clifford algebras[END_REF].

The factor group G/Z(G) yields a four-dimensional symplectic vector space V and the symplectic polar space W 3 (2) with P(V ) as set of points. It is depicted in Fig. 4 which is known as the doily 5 . We have no quadratic form on V . Two operators of G \ Z(G) commute if, and only if, their corresponding points are on a totally isotropic line.

Example 3. The real orthogonal matrices ±I, ±X, ±Y , ±Z, where

I := 1 0 0 1 , X := 0 1 1 0 , Y := 0 1 -1 0 , Z := 1 0 0 -1 ,
constitute the real Pauli group G. It acts on the Hilbert space R 2 of a real single qubit. In our terminology (with p := 2) we have

G ′ = G (2) = K = Z(G) = {±I} and g = -I.
Hence there is only one possibility for factorisation, namely G/Z(G). This gives the symplectic polar space W 1 (2) based on the projective line over GF(2) which we already encountered in Example 1. However, now this space is refined by an orthogonal polar space based on a hyperbolic quadric Q + 1 (2). The two points of this quadric represent those matrices in G \ Z(G) whose square is I (i.e. symmetric matrices), the remaining point corresponds to matrices in G with square -I (i.e. skew-symmetric matrices); see Fig. 5. Example 4. Here we deal with the group comprising the Kronecker products of the matrices from Example 3. We change notation as now this group of order 32 is denoted by G. With p := 2 we have G ′ = G (2) = K = Z(G) = {±I ⊗ I}. Up to a change of dimensions, the situation here completely parallels that of the preceding example: The factor group G/Z(G) gives rise to the symplectic polar space W 3 (2) which is refined by an orthogonal polar space based on a hyperbolic quadric Q + 3 [START_REF] Shaw | Finite geometries and Clifford algebras[END_REF]. The nine points of this quadric represent matrices in G \ Z(G) whose square is I ⊗ I (i.e. symmetric matrices), the remaining points correspond to matrices in G which square to -I ⊗ I (i.e. skew-symmetric matrices); see Fig. 6.

Example 5. Finally, we mention the (p = 3) case of two-qutrit Pauli group (see also [START_REF] Planat | On the Pauli graphs of N -qudits[END_REF]). This group G possesses 3 5 elements, which can be written in the form ω a X b Y c ⊗ X d Y e , where a, b, c, d, e ∈ {0, 1, 2}, ω is a primitive 3-rd root of unity, and X and Z are so-called shift and clock operators given by respectively (see, e. g., [START_REF] Havlicek | Projective ring line of a specific qudit[END_REF][START_REF] Havlicek | Projective ring line of an arbitrary single qudit[END_REF]). Its factor group G/Z(G) is of cardinality 3 4 = 81 and generates the symplectic polar space W 3 (3) of 40 points/lines, with 4 points on each line and, dually, 4 lines through each point. This case is noteworthy in two crucial aspects. First, it is one of the simplest instances where a single point of the associated polar space represents not only a single operator (up to complex multiples), but encompasses the two distinct powers of an operator (up to complex multiples). Second, it leads to far-reaching physical implications for the socalled black-hole analogy (see, e.g., [START_REF] Borsten | Black holes, qubits and octonions[END_REF]). As per the latter fact, it has recently been shown [START_REF] Lévay | Black hole entropy and finite geometry[END_REF] that the E 6(6) symmetric entropy formula describing black holes and black strings in D = 5 is intimately tied to the geometry of the generalised quadrangle GQ [START_REF] Shaw | Finite geometries and Clifford algebras[END_REF][START_REF] Shaw | Finite geometries and Clifford algebras. III[END_REF], where 27 black-hole charges correspond to the points and 45 terms in the entropy formula to the lines of GQ [START_REF] Shaw | Finite geometries and Clifford algebras[END_REF][START_REF] Shaw | Finite geometries and Clifford algebras. III[END_REF]. And there exists a very intimate connection between W 3 (3) and GQ(2, 4) [START_REF] Payne | Finite generalized quadrangles[END_REF]. Given any point U of W 3 (3), we can "derive" GQ(2, 4) as follows. The points of GQ [START_REF] Shaw | Finite geometries and Clifford algebras[END_REF][START_REF] Shaw | Finite geometries and Clifford algebras. III[END_REF] are all the points of W 3 (3) not collinear with U , whereas the lines of GQ [START_REF] Shaw | Finite geometries and Clifford algebras[END_REF][START_REF] Shaw | Finite geometries and Clifford algebras. III[END_REF] are on the one side the lines of W 3 (3) not containing U and on the other hand hyperbolic lines through U (natural incidence). Hence, this link between the two finite geometries not only unveils the mystery why D = 5 black hole solutions are related with qutrits, but knowing that each point of W 3 (3) comprises a couple (p -1 = 3 -1 = 2) of elements of G/Z(G), it also provides a straightforward recipe for labelling the 45 members of the entropy formula in terms of all elements of the two-qutrit Pauli group G.

Following these examples the interested reader should be able to find out the symplectic and orthogonal polar spaces behind any (multiple-)qudit Pauli group as long as the rank d of the qudit is a prime number.

  (c) In terms of the identification from (5) the alternating bilinear form [•, •] g on any vector space G/N ≡ V 0 /S as in (b) is inherited from the bilinear form [•, •] g,0 on V 0 . Proof . Ad (a): By the hypotheses of the theorem, N 0 ≤ Z(G) holds, whence (a) is fulfilled. Ad (b): A subgroup N ≤ G satisfies Conditions 1 and 3 if, and only if, N 0 ≤ N ≤ Z(G) which in turn is equivalent to

  ) is fulfilled. Ad (b): A subgroup N ≤ G satisfies Conditions 1, 3 and 5 if, and only if, N 0 ≤ N ≤ K which in turn is equivalent to N 0 ≤ N and S = N /N 0 ≤ K/N 0 .

  (a) V, [•, •] g gives rise to a finite symplectic polar space W 2r-1 (p). (b) The totally isotropic flats of W 2r-1 (p) have the form P C/Z(G) , where C ranges over the set of all commutative subgroups of G which contain the centre Z(G). In particular, the points of W 2r-1 (p) have the form C/Z(G), where C := x Z(G) and x ∈ G \ Z(G). (c) Two elements x, y ∈ G \ Z(G) commute if, and only if, the corresponding points of W 2d-1 (p) are conjugate. Proof . Ad (a): By Theorem 2 (c), the form [•, •] g is non-degenerate. Therefore dim V =: 2r is even and the assertion follows. Ad (b): By (4), any subspace of V has the form S/Z(G) with Z(G) ≤ S ≤ G and vice versa. The subspace S/Z(G) is totally isotropic if, and only if, [•, •] g vanishes identically on S/Z(G). This holds precisely when the subgroup S is commutative. The points of W 2r-1 (p) are the one-dimensional subspaces of V , i.e. the subgroups of G/Z(G) which are generated by a single element xZ(G) with x ∈ G \ Z(G). Hence they have the asserted form. Ad (c): This holds according to our definition of [•, •] g and the definition of conjugate points.

Figure 1 .

 1 Figure 1. The fine structure of the complex single-qubit Pauli group in terms of the Fano plane.

Figure 2 .

 2 Figure 2. A coarser representation, W 1 (2), aka the projection from the nucleus of the conic.

Figure 3 .

 3 Figure3. Q 4 (2), its nucleus, and a portion of its ambient space as the geometry behind the complex two-qubit Pauli group.

Figure 4 .

 4 Figure 4. A coarser view in terms of W 3 (2); xy is a short-hand for i α σ x ⊗ σ y , α ∈ {0, 1, 2, 3}, etc.

Figure 5 .

 5 Figure 5. W 1 (2) and Q + 1 (2) (shaded) of the real single-qubit Pauli group.

Figure 6 .

 6 Figure 6. W 3 (2) and Q + 3 (2) (shaded) of the real two-qubit Pauli group. XY is a shorthand for ±X ⊗ Y , etc.

A group of prime exponent p >

need not be commutative. For example, the set of upper triangular

× 3 matrices over GF(p) with 1s along the diagonal is a non-commutative group of exponent p under matrix multiplication for p > 2.

We refrain from writing Qg, since there is only one choice for g, even though we maintain the notation [•, •]g from the previous section.

We restrict ourselves to the finite-dimensional case even though several results from below could be carried over -mutatis mutandis -to spaces of infinite dimension.

Other names for this mapping are symplectic polarity and null system.

Another remarkable illustration of W3(2) exhibiting, like the doily, a pentagonal cyclic symmetry is the so-called Cremona-Richmond conf iguration.

Acknowledgements

This work was carried out in part within the "Slovak-Austrian Science and Technology Cooperation Agreement" under grants SK 07-2009 (Austrian side) and SK-AT-0001-08 (Slovak side), being also partially supported by the VEGA grant agency projects Nos. 2/0092/09 and 2/7012/27. The final version was completed within the framework of the Cooperation Group "Finite Projective Ring Geometries: An Intriguing Emerging Link Between Quantum Information Theory, Black-Hole Physics, and Chemistry of Coupling" at the Center for Interdisciplinary Research (ZiF), University of Bielefeld, Germany. The authors are grateful to Wolfgang Herfort (Vienna) for his suggestions.


Keywords:

Proposition d'une extension de la norme OSGi pour la suspension et la reprise d'activité

Résumé :

La plate-forme OSGi est une architecture orientée services permettant le déploiement de composant logiciels (appelés bundles). Ce rapport propose une architecture permettant la suspension / reprise d'activité de bundles au sein de la plate-forme OSGi. Cette architecture se compose en premier lieu d'une extension à la spécification OSGi. Pour faciliter le développement de bundle respectant cette extension à la spécification, une gestion centralisée des threads est proposée. Enfin, le rapport détaille l'implémentation effective de ces extensions au sein d'Apache Felix, une implémentation particulière de la spécification OSGi.

Preliminary work

This work proposes an extension to the OSGi framework to enable a suspend mechanism. The main point is to enable OSGi bundle to freeze their state in order to resume their behavior later. We firstly present the OSGi framework related to the bundle life-cycle then we go much deeper into our motivations. The OSGi (Open Service Gateway initiave) specification proposes a SOA (Service Oriented Architecture) based on the Java programming language. It is used by a broad range of projects, from complex applications (Eclipse IDE, Glassfish application server ...) to applications deployment on devices such as mobile phones or domestic service gateways.

Overview of the OSGi specification

This architecture is centered around the concept of bundle: a bundle is a component which can be installed, started, stoped or undeployed on the OSGi platform.

The specification proposes a remote bundle deployment model, and the bundle life-cycle management with a dedicated API.

Bundles have a specific life-cycle, which is managed by the framework (as showed on figure 2). This life-cycle is composed of the following states (see figure 1):

RT n 7060 Each bundle can provide a reference to an Activator, which is the entry point for the bundle. The BundleActivator interface offers two methods: start() and stop(), which are hooks to the bundle lifecycle.

Motivation

In the original OSGi specification, it appears that malicious bundles, or buggy ones, can be deployed on the platform and that the isolation behavior proposed by the specification lacks a certain amount of features such as thread stopping, state record... Previous work include attempts at automatically detect malicious bundles and stop them. [START_REF] Geoffray | I-JVM: a Java Virtual Machine for Component Isolation in OSGi[END_REF]. However, the OSGi specification does not permit to suspend a bundle's activity and resume it later. For example, if a bundle consumes all the available CPU, it could be useful to suspend it while other time-constrained bundles are executing. Currently, the only solution is to stop the bundle, and restart it later, which implies some problems.

Various approaches to the problem

Low-level hard constraints The I-JVM [START_REF] Geoffray | I-JVM: a Java Virtual Machine for Component Isolation in OSGi[END_REF] virtual machine is a Java virtual machine based on the VmKit project [START_REF] Geoffray | A lazy developer approach: Building a jvm with third party software[END_REF]. The VmKit project aims at sharing the development effort on Java and CLI virtual machines, in order to ease the development of virtual machines experimentations. This project is itself based on the LLVM project(Low Level Virtual Machine) [START_REF] Lattner | LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation[END_REF]. The I-JVM proposal relies on bundle isolation to provide low-level security constraint and resource accounting, and is designed for OSGi. The bundle isolation concept, applied at OSGi, consists at isolating the bundles execution in order prevent a malicous bundle from interfering with others. The OSGi specification imposes the use of a Class-Loader based isolation, which is not sufficient. Indeed, these implementation does not allow ressources accounting and management, neither static variables integrity. [START_REF] Parrend | Classification of component vulnerabilities in java service oriented programming (sop) platforms[END_REF][START_REF] Parrend | Java components vulnerabilities -an experimental classification targeted at the osgi platform[END_REF]. Another considered approach to implement such an isolation in OSGi is the Isolate concept. An Isolated is an execution entity, and each Thread posseses a reference towards its Isolate, which provides it a totally private and isolated execution environment. However, this solution is seen as inaproppriate for OSGi, since bundles are not task but components, which have strong interaction. Inter-isolates call are generally expensive, and prevent any use of isolates as a support for bundle isolation [START_REF] Geoffray | Towards a new isolation abstraction for osgi[END_REF]. I-JVM proposes to solve this inter-bundles calls problem. It relies on thread migration, allowing each thread to be executed in the called method's corresponding isolate. An isolate is associated to each bundle, so that it has it's private environment. I-JVM also offers a resource accounting feature: the resources used by each bundle are accounted, thus allowing to detect hazardous behaviours. This study's interest in I-JVM is this bundle isolation mechanism: controlling the isolate should allow to suspend an isolate, copying its whole state, waiting to resume it later. Unfortunately, after several experimentation, the I-JVM project is not mature enough to be used right now. However, one can expect great developments from this virtual machine, and the solution

RT n 7060

proposed in this study acknowledges it's specificity. Therefore, section 4.2 will explain how the following proposal could be integrated with I-JVM.

Using the Java Threading API The suspend/resume process can be achieved through the Java Threading API.

This API allows concurrent programming in the Java language, and is based upon the concept of thread. A thread executes independently of other call sequences, and is allowed to share system ressources or objects created in the same program. The java.lang.Thread object is the representation of such a thread, and offers an API to execute code in a thread.

To execute some code, a Thread must be provided with a Runnable object, which contains the actual code needed to be run within the thread. The java.lang.Runnable interface defines only one method, run(), in which the code is encapsulated. This Runnable object is provided during the Thread construction.

When the Thread start() method is invoked, the run method is initiated as an independent thread.

Originally, the Thread API offered a stop, a suspend and a resume method, which respectivily paused the Thread execution and resumed it later. Those methods have been deprecated because it raised more problems than were solved [START_REF] Lea | Concurrent Programming in Java. Second Edition: Design Principles and Patterns[END_REF]. Specifically, the result of their execution was impredictable, since the program could be suspended or stopped in an inconsistent state. Developers were then given back the responsibility of achieving their own suspend and resume behavior, forcing them to understand the problems behind these mechanism.

One common solution to implement a suspend behaviour using the Java Thread API consists in using the wait() and notify() mechanism.

This high-level approach to suspend an executing thread and is the one that is being used in this work.

Proposal for a suspend/resume architecture

We propose to extend the OSGi specification to provide a suspend/resume mechanism. Unlike the approach presented in section 1.3, this one supposes a trust relationship between the platform administrator and the bundle developer, since it relies on contract programming. That means it is the bundle developer responsibility (and his effort) to ensure his bundle has the proper behaviour when it needs to be suspended.

Extending the OSGi specification

We propose to add new states in the OSGi bundle life-cycle, and corresponding hooks for the bundle developer who would like to implement these.

The life-cycle now contains a new state : SUSPENDED, as shown in figure 3 As in the original OSGi specification, the bundle implementation is responsible for achieving the proper behaviour, and the BundleActivator must implement hooks which will allow it to react to the states transition from ACTIVE to SUSPENDED and from SUSPENDE to ACTIVE. Presumably, one common behavior to implement in reaction to those events will be to suspend the bundle's threads and unregister services during the suspension.

INRIA

These modifications impacts two classes of the core OSGi specification: the Bundle and the BundleActivator. As shown in figure 4, the Bundle class provides to more methods, suspend and resume, which will initiate the respective transitions between the ACTIVE and SUSPENDED states. The BundleActivator now provides two more hooks to react to those transitions: the suspend and resume methods.

Problems raised with this extension

When developing for the OSGi platform, one common practice consists in performing the bundle initialization in the BundleActivator start method, which is the entry point for a bundle contributing executable code that needs to be run when the bundle is launched. Any other executed code should be run in a separate Thread launched from the start() method, as recommended in [START_REF] Alliance | About the OSGi Service Platform, technical whitepaper[END_REF].

When a developer has to use threads on the OSGi platform, the proposed extension implies that it has to manage the suspension of all the started threads by himself. This can cause difficulties to the average developer, since he is responsible for the bookkeeping of every started thread, and for implementing a suspension mechanism for each one of these. This architecture must meet the following goals:

RT n 7060

Allow to suspend all threads attached to a bundle.

Centralize thread management.

Take most of the thread suspension mechanism out of the bundle developer responsibility.

Thread Suspension mechanism used

As described in section 1.3, an efficient mechanism to achieve thread suspension in Java consists in using the wait/notify mechanism. The wait method is part of the java.lang.Object class. When an object wait method is invoked, it causes the executing thread to be placed on a wait set. Its execution is paused. When the notify method is invoked, a random thread is waken up among the set of waiting threads associated with this object.

This mechanism is often used as a way to achieve a suspend behavior: the code runs in a waiting loop while its awakening condition is not met. Once the condition has been met, the notify method is called and the execution can resume.

INRIA

To generalize this approach, we proposes to extend the Thread / Runnable couple to offer them to the developer with the SecureThread / SuspendableRunnable couple.

The goal of this SuspendableThread is to be easily suspended during it's execution. The suspension itself is achieved with an asynchronous message, and has been inspired by the "best practices" for implementing thread cancellation in Java ( [START_REF] Lea | Concurrent Programming in Java. Second Edition: Design Principles and Patterns[END_REF]).

Unlike it's parent class, the SecureThread runs code from a SuspendableRunnable instead of a standard java.lang.Runnable.

The SuspendableRunnable abstract class implements the Runnable interface to provide this mechanism. It offers a flag, shouldSuspend, indicating that the code should suspend itself as soon as possible. Along with this flag, a suspendIfNeeded method is available, which performs the actual suspension. This method is very simple, it waits until the shouldSuspend flag has been set back to false.

Along with this SuspendableRunnable comes an extension to the java.lang.Thread class, which allows management of such a runnable.

It offers the methods to control suspension and resumation of the SuspendableRunnable. The detailed process, described on figure 5, is the following:

1. The client calls the secureSuspend() method of the thread it wishes to suspend.

2. The thread,in turn, sets the souldSuspend flag on its Runnable.

3. When the runned code calls suspendIfNeeded (which should be done each time the Thread is in a state in which it could safely be suspended), it checks the shouldSuspend flag. Since it has been set, the Thread waits (using java.lang.Object standard method) until the flag has been set to false.

4. When the clients calls the secureResume() method of the SecureThread class, it sets the shouldSuspend flag to false, and notifies the waiting SuspendableRunnable, which will in turn resume its execution, returning from the shouldSuspend() method.

With this mechanism, the thread suspension mechanism is mostly taken out of the bundle developer hands, who only has to ensure that the Threads he uses respect the following constraints: they are instances of the SecureThread class the code runned by the Thread is encapsulated in a SuspendableRunnable the code runned by the Thread is regularly marked out by suspendIfNeeded() method calls, each time it reaches a point in his execution at which it is acceptable to be suspended.

RT n 7060

Client

SecureThread SuspendableRunnable

Centralization of the Thread management

In order to perform a global thread suspension for a given bundle, our architecture proposes to centralize the SecureThread creation and storage in a singleton object, the ThreadFactory. This ThreadFactory holds the responsibility for creating the SecureThread s when the bundles need it, and to keep an account of those threads on a per-bundle basis, thus allowing to retrieve (and suspend) all SecureThread created by a bundle. Each bundle has to use this ThreadFactory to obtain new SecureThreads, passing it it's BundleContext to allow the factory to account the created SecureThread to this particular bundle.

Internally, the threads are stored in ThreadGroups. In the java Thread API, each Thread belongs to a ThreadGroup. ThreadGroups are usally used as a basis to security policies restricting access to thread operations. ThreadGroups are stored as a tree, since each Thread-Group is nested in the ThreadGroup to which the executing thread belongs. The ability to use ThreadGroups to support security policy make it a good choice to store threads on a per-bundle basis: it gives the ability to restrict access on a ThreadGroup to members of this ThreadGroup only.

In the ThreadFactory, each Bundle is associated with a ThreadGroup. Then, each newly created SecureThread will be affected to this Thread. The system bundle, which is responsible (among other things) for managing the bundle life-cycle, will start each Bundle in a INRIA Figure 6: Association between bundles and ThreadGroups dedicated SecureThread. The ThreadFactory will thus create a new ThreadGroup for this bundle as soon as it has been started. Figure 6 shows how the Threads and ThreadGroups are associated to bundles 1 .

The whole process for running code within a Secure Thread is the following, as summarized on figure 7 : The Apache Felix framework has been slightly altered to meet our requirements.

Felix BundleActivator ThreadFactory SecureThread SuspendableRunnable start() new() getThread() new() start() run()
The BundleImpl class now implements BundleSuspendable instead of Bundle, thus implementing the suspend/resume.

The Felix class (Framework implementation) has been altered to allow activator's start and stop method to be run in a separate Thread. The reason for such a change is explained in section 2.4.

The suspend and resume methods implementation in BundleImpl are straightforward: it verifies that the bundle is active, and then call the suspend hook on the Activator, if the Activator is a BundleSuspendableActivator.

The whole extension to OSGi Bundle and BundleActivator specification resides in the fr.inria.amazones.sars package, which is then directly imported into the felix core.

Thread Manager architecture

This implementation comes with a Thread Manager implementation, which implements the principles described in section 2.4.

This ThreadFactory implementation offers several public methods: The whole ThreadManagement API resides in the fr.inria.amazones.otm package (OSGi Thread Manager), which is then directly imported into the felix core.

public

Implementing a suspendable bundle within this architecture

With this implementation, it is very easy for the bundle developer to ensure its thread will actually be suspended when the bunde will be requested to suspend.

The only thing to do is to implement BundleSuspendableActivator instead of BundleActivator, and to use ThreadFactory.getThread() instead of creating new java.lang.Thread s.

A simple example is presented in A.1.

Other common implementations will unregister the published services, or suspend other bundles which would have been started by the suspended one.

INRIA

The suspend and resume shell commands implementation

The Apache Felix OSGi implementation contains a simple shell allowing an administrator to install, start, stop or uninstall bundles. This section will describe how a suspend and a resume commands have been implemented within this architecture.

In Apache Felix, the Shell is a bundle (installed by default), which contains several commands. Those commands are registered as Services.

Our implementation is a bundle containing the suspend and resume shell commands implementation. This bundle offers an activator which register those commands as a service. This service is then used by the shell bundle to execute the desired commands as they are typed in the command line interface.

The SuspendCommand and ResumeCommand classes implements the Command interface. This interface defines, among other things, an execute() method. In both cases, this method expects a bundle ID argument. The command fetches the corresponding bundle from the BundleContext, and executes the suspend (respectively resume) method of this bundle.

Further work 4.1 Improving the specification

The current implementation already offers a usable suspend/resume architecture. However, those specifications coud be greatly improved by: Managing bundles dependencies. In the current proposal, bundle dependencies management is left to bundle developer responsibility. This could be improved by automatically suspending bundles depending on suspended bundles.

Turning the SuspendableRunnable abstract class to an interface. Or even better, dropping the need for such a class and allow the developer to use the standard java.lang.Runnable interface.

Managing the Bundle stop operation the same way as the suspend.

Future integration with I-JVM

As mentioned in [START_REF] Geoffray | I-JVM: a Java Virtual Machine for Component Isolation in OSGi[END_REF], an OSGi implementation must meet a few requirements to be managed by I-JVM, most of them being already met by Felix. Our implementation enforces the stated condition that The start and stop method from the BundleActivator should be started in separate Thread.

This implementation could benefit from I-JVM. Moreover, I-JVM allocates isolates per bundles, and runs the threads in thes isolates. Our proposal should indirectly map to the I-JVM thread management, by the mean of ThreadGroup.

RT n 7060

Figure 1 :

 1 Figure 1: Bundle Life Cycle (from OSGi specification) [1]

Figure 2 :

 2 Figure 2: Class diagram org.osgi.framework Life Cycle Layer (from OSGi specification) [1]

Figure 3 :

 3 Figure 3: Bundle life-cycle including a susended state

Figure 4 :

 4 Figure 4: Extension of the OSGi specification (in color)

Figure 5 :

 5 Figure 5: Sequence Diagram for the thread suspension

Figure 7 : 3 Implementation 3 . 1

 7331 Figure 7: Sequence diagram showing the process of aquiring a suspendable Thread

Figure 8 :

 8 Figure 8: Classes Diagram for the ThreadFactory implementation

  static ThreadFactory getFactory() Returns the singleton object public synchronized SecureThread getThread(BundleContext caller, SuspendableRunnable target): Construct a new SecureThread using the client-defined SuspendableRunnable implementation, and accounts it to the BundleContext associated for the bundle. The threads associated with the BundleContext will be organized in a ThreadGroup.public synchronized SecureThread getThread(BundleContext caller, SuspendableRunnable target, : Roughly the same as the previous method, except that a parent BundleContext is provided. This method is used within the felix framework to ensure the threads responsible for starting the bundles are attached to the SystemBundle ThreadGroup 2

	public synchronized SecureThread getAssociatedThreads(BundleContext caller)
	: Returns all SecureThread associated with a bundle.

The client code constructs an instance of its own SuspendableRunnable implementation.

2. The client code asks the ThreadFactory to get a SecureThread, providing it with the SuspendableRunnable instance and its

BundleContext.3. The ThreadFactory constructs the SecureThread with the given SuspendableRunnable, as a member of the ThreadGroup

associated to the bundle.4. The client code starts the threadWhen the framework needs to suspend a bundle, it asks the ThreadFactory for the list of all SecureThreads associated with that bundle, and can then suspend them one by one.[START_REF] Alliance | OSGi Service Platform Core Specification[END_REF] It is worth noting that if a bundle creates a standard java.lang.Thread independently from the Thread-Factory, this Thread will actually belong to the bundle's ThreadGroup RT n 7060

In the particular case of a bundle starting other bundles, this prevents the ThreadGroup associated with the started bundle to be created as a child from the starting bundle, which would lead to an inconsistency in the way the starting bundle should manage the suspension of its "child".RT n 7060

A Appendices

A. [START_REF] Alliance | OSGi Service Platform Core Specification[END_REF]