Mohamad Al-Houjairi
email: houjairi@hotmail.com

Bassam El-Eter

Identification of monoparametric families of a remarkable complex Bol algebras class, generated by the symmetric space g 2 /so(4)

Keywords: Bol Algebras, Bol Loops, Mal'cev Algebras, Moufang Loops, Binary Lie Algebras, Diassociative Loops, Lie Triple Systems, Symmetric Pair g 2 /so(4), Octonions

Identification of monoparametric families of a remarkable complex Bol algebras class, generated by the symmetric space g2/so(4)

Mohamad Al Houjairi, Bassam El-Eter.

Introduction

Introduction of "group" concept by Évariste Galois was surely a great turning point in science history [START_REF] Galois | OEuvres mathématiques d'Évariste Galois[END_REF]. Henri Poincaré wrote: "The concept of group pre-exists in our minds, at least potentially. It is imposed on us not as a form of our sensitivity, but as a form of our understanding". To statistically estimate the role of "group" in modern sciences, just for example consider the number of papers treating groups in a yearly sample of a certain journal. For journal Advances in Modeling, series A (year 2005), we find 5 publications about groups [START_REF] Kozulin | Non-simplicity on infinite groups[END_REF][START_REF] Senashov | Almost layer-finite groups without involutions[END_REF][START_REF] Senashov | On two subgroups of periodic Shunkov's groups[END_REF][START_REF] Senashov | Infinite frobenius groups[END_REF][START_REF] Shunkov | Almost layer finiteness of locally finite groups[END_REF].

Mathematic developments based on group concept had proven efficiency of this fundamental being for treating questions of solvability of algebraic equations by radicals, as well as questions of constructability using rule and compass in geometry. On footsteps of Galois researches, works of Sophus Lie, Felix Klein, Henri Poincaré, Elie Cartan, Wilhelm Killing, and many others, have revealed the big importance of concept "differentiable group" in several branches of mathematics and mechanics. Particularly, researches of these scientists have shown possibility of adequate local infinitesimal approximation of differentiable manifold having a group structure (Lie group), using the corresponding tangent space having a linear algebraic structure (Lie algebra). The correspondence between the geometric structures (curvilinear) and the algebraic structure (linear) is locally one-to-one, what allows application of algebraic methods for local resolution of geometric problems. In 1955, Anatoly Mal'cev [START_REF] Mal'cev | Analytic Loops[END_REF] noticed that theory of Lie could be generalized on differentiable manifolds equipped with a diassociative loop structure (in this case, any two elements of the manifold generate a sub-group, the tangent space will then be a binary Lie algebra). Mal'cev has particularly developed a theory similar to Lie's one, for differentiable manifolds of Moufong loops (diassociative loops that verify the identity said of Moufong: z.(x.(z.y))=((z.x).z).y). The obtained algebras in this case are named Mal'cev algebras and are characterized by an internal law (.), bilinear, anticommutative, and verifying identity:

(x.

y).(x.z) = ((x.y).z).x + ((y.z).z).x + ((z.x).x).y.

Based on Lie and Mal'cev theories, as well as on results establishing equivalence between homogeneous spaces and loops [START_REF] Sabinin | On Geometry of Loops[END_REF][START_REF] Sabinin | On the equivalence of categories of loops and homogeneous spaces[END_REF], L. Sabinin and P.Mikheev have developed a theory about local linear infinitesimal element of the differentiable (left) Bol loop (loop that verifies the left identity of Bol: x(y(xz))=(x(yx))z). Notice that Moufang loop could be defined as a loop verifying at once the left identity of Bol, as well as the right identity ( ((zx)y)x=z((xy)x)), so that the theory of Sabinin-Mikheev generalizes the theory of Mal'cev and a fortiori Lie's one. We also must notice that theory of Sabinin-Mikheev is strongly related to works of M. Akivis and his disciples in the area of Bol three webs [START_REF] Akivis | local algebras of a differential quasigroup[END_REF]. Thus, Bol algebras generalize those of Lie, as well as those of Mal'cev [START_REF] Kuz | min, ″ La relation entre les algèbres de Mal'cev et les boucles de Moufang analytiques″[END_REF][START_REF] Mal'cev | Analytic Loops[END_REF]. The Lie functor, establishing equivalence between the category of local Lie groups and the category of Lie algebras, could be generalized, not only in case of local analytic diassociative (resp. Moufang) loops, and binary Lie (resp. Mal'cev) algebras, but this functor has also a generalization in cases of Bol local analytic loops and Bol algebras [START_REF] Mikheev | Smooth Quasigroups and Geometry[END_REF][START_REF] Sabinin | Quasi-groups and differential geometry: Ch. 12, Quasigroups and Loops: Theory and Applications[END_REF][START_REF] Sabinin | On the geometry of smooth Bol loops[END_REF][START_REF] Sabinin | On differential geometry of Bol loops[END_REF][START_REF] Sabinin | Lectures on the Theory of Smooth Bol Loops[END_REF][START_REF] Sabinin | On the infinitesimal theory of local analytical loops[END_REF]. These latter algebras representing the linear infinitesimal analog of local analytic Bol loops, are characterized, contrary to classical cases of Lie and Mal'cev, by two internal composition laws; the first one is bilinear, anticommutative and expressing the "deviation measurement" of the composition law in the loop from the commutativity; the other law is ternary, trilinear, anti-symmetric according to the two first arguments, and it expresses the " deviation measurement" loop law from the associativity. Symmetric spaces being homogeneous, generalizing the physic-geometric concept of symmetry, their linear infinitesimal analogs, Bol algebras, are surely important mathematics models for mathematics and physics sciences [START_REF] Sabinin | On Geometry of Loops[END_REF][START_REF] Sabinin | On the equivalence of categories of loops and homogeneous spaces[END_REF].

We have already realized the classification of Bol algebras associated to compact symmetric spaces of rank 1 [START_REF] Al-Houjairi | Bol algebras generated by spaces of constant curvature[END_REF][START_REF] Al-Houjairi | Bol algebras of the involutive pairs su(n+I)/s(u(n)⊕u(1)), sp(n+1)/sp(n)⊕sp(1) and f 4 / so(9)[END_REF][START_REF] Al-Houjairi | Bol Algebras of involutive pairs of rank 1[END_REF]. Let's mention, particularly, that in the case of exterior cubic automorphism of so(8) (triality automorphism), relatively to the binary law of Bol algebra generated by the symmetric pair so(8)/so [START_REF] Mal'cev | Analytic Loops[END_REF], we obtained the 7-dimensional simple algebra of Mal'cev that isn't of Lie [START_REF] Al-Houjairi | Bol Algebras of involutive pairs of rank 1[END_REF].

Our paper is devoted to classification of monoparametric families of Bol algebras of remarkable class associated to the symmetric couple g 2 /so(4) and characterized by identity (x.y).(u.v)=0. Addressing the problem is justified by the following factors:

-Examples of algebras that are of Bol without being of Mal'cev (particularly of Lie) are too rare according to our knowledge. Our classification offers a large variety of such algebras.

-Bol algebras are characterized by 2 internal composition laws, one being binary and the other one is ternary. These two laws are weakly linked, and it appears that elaboration of a structural theory achieving these algebras is far from being easy [see for example [START_REF] Ndoune | A note on Levi-Malcev theorem for homogeneous Bol algebras[END_REF][START_REF] Pérez-Izquierdo | An envelope for Bol algebras[END_REF][START_REF] Pérez-Izquierdo | An envelope for Malcev algebra[END_REF][START_REF] Pérez-Izquierdo | Algebras, hyperalgebras, non-associative bi-algebras and loops[END_REF].

Consequently, inductive accumulation of partial and concrete results concerning these algebras will be justifiable and inevitable during researches going on elaboration of a structural theory.

-The considered problem is a step towards classification of Bol algebras associated to symmetric spaces (particularly to spaces of rank 2). Results must then offer additional information on mathematical objects already introduced and adopted by big classics of sciences in different mathematical areas. Particularly, the mentioned classification must offer linear mathematic structures modeling locally a large variety of "geometric symmetries".

-Frequent use of octonions and of hyper-complex systems to model physical and mathematical problems.

Lie triple systems and Bol algebras

Let T be a n-dimensional vector space, defined over a commutative field K. We design by the trivial vector of T.

Definition 1.

The vector space T is said a Lie triple system, if there's a ternary internal composition law defined on T:

[-, -, -]: × × → ( , , ) →[ , , ],
satisfying the following axioms:

1. the [-,-,-] law is linear for all its arguments, (∀ ,,,,∈ ) [ ,,[ ,,]] = [[ ,,],,] + [ ,[ ,,],] + ,,[ ,,] .

(If charK ≠ 2, the two conditions in axiom 2 are equivalent).

Definition 2. The Lie triple system T is said (left) Bol algebra, if there's a second binary internal composition law defined on T: (If charK ≠ 2, the two conditions in axiom 5 are equivalent).

(. ): × → ( , ) → . ,
Let Γ = L⊕E a Lie algebra represented as a direct sum of vector subspaces L and E, where L is a subalgebra of Γ and E is a vector subspace. Definition 3. The pair (L,E) is said symmetric if:

1: [L,E]⊆E, 2. [E,E]⊆L.
Proposition 1. [START_REF] Loos | Symmetric Spaces[END_REF][START_REF] Yamaguti | On the Lie triple system and its generalization[END_REF] The pair (L,E) is symmetric if and only if it exists an automorphism

: → such that : ( ) = if -if
For the proof, see for example [START_REF] Loos | Symmetric Spaces[END_REF].

Proposition 2. If (L,E

) is a symmetric pair, the ternary law introduced by relation:

[ , , ] ≝ [[ , ], ], ( , , ∈ ),
equips E with a Lie triple system structure (for the proof, see for example [START_REF] Loos | Symmetric Spaces[END_REF]).

Let T be a Lie triple system. By End v (T) we designate the space of vector endomorphisms of T.

Definition 4. The linear application ∆:T→T, (∆∈End v (T)) is said derivation of T, if:

(∀ , , ∈ ) ∆[ , , ] = [∆ , , ] + [ , ∆ , ] + [ , , ∆ ].
N.B. The vector space defined over field K and generated by derivations of T is designed by D(T).

Proposition 3. [START_REF] Loos | Symmetric Spaces[END_REF][START_REF] Sabinin | Quasi-groups and differential geometry: Ch. 12, Quasigroups and Loops: Theory and Applications[END_REF][START_REF] Yamaguti | On the Lie triple system and its generalization[END_REF] Equipped with the commutation law

[∆ , ∆ ] = ∆ ∆ -∆ ∆ , (∆ 1 , ∆ 2 ∈D(T)),
the vector space D(T) is a Lie algebra.

For the proof, see for example [START_REF] Loos | Symmetric Spaces[END_REF].

Let a and b be two elements of a triple system T. Let's introduce the application D a,b as:

, : → → , ( ) ≝ [ , , ]
Assume, by definition D 0 (T) ≝ V ect K , : , ∈ .

Proposition 4.

(∀ , ∈ )

, ∈ D(T).

D 0 (T) is a subalgebra of the Lie algebra D(T).

Proof.

1. (∀ , , ∈ ) (∀ , ∈ K ) , ( + ) = [ , , + ] = [ , , ] + [ , , ] = , ( ) + , (
), so , is linear. On the other hand, ,[ ,,] = ,,[ ,,] = [ ,,],,+ [ ,[ ,,],] + ,,[ ,,] = , ( ), , + , , ( ), + , , , ( ) , hence , ϵ D(T).

2. It's sufficient to prove the stability of D 0 (T) for the commutation. According to identity 4 (definition 1),

(∀ , , , ∈ ) [ , , , ] = , , -, , = [ , , ], + ,[ , , ] ϵ D 0 (T).
Let's now introduce the vector space:

[T,T]⊕T=D 0 (T)⊕T which is the direct sum of D 0 (T) and T. Let's define the composition law on [T,T]⊕T as follows:

(∀ , , , , ∈ ) [a,b]=-[b,a]=D a,b =-D b,a , [D a,b , x]=-[x,D a,b ]=[a,b,x], ( 1
)
[D a,b ,D c,d ]=D a,b D c,d -D c,d D a,b .
(the law is propagated on all the space by linearity).

Proposition 5.

1. For the law introduced by relations (1), the vector space: Γ=[T,T]⊕T=D 0 (T)⊕T is a Lie algebra.

The pair (D 0 (T),T) is symmetric, i.e. [D 0 (T),T]⊆T and [T,T]⊆D 0 (T).

The proof is evident.

Let <E,(.),[-,-,-]> be a Bol algebra over R.

Théorème. (L. Sabinin, P. Mikheev [START_REF] Sabinin | Quasi-groups and differential geometry: Ch. 12, Quasigroups and Loops: Theory and Applications[END_REF][START_REF] Sabinin | On the geometry of smooth Bol loops[END_REF][START_REF] Sabinin | On differential geometry of Bol loops[END_REF][START_REF] Sabinin | Lectures on the Theory of Smooth Bol Loops[END_REF][START_REF] Sabinin | On the infinitesimal theory of local analytical loops[END_REF])

Suppose that (E,(.),[-,-,-]

) is a Bol algebra over R; then there exists a finite-dimensional Lie algebra Γ over the field R, a subalgebra L in Γ, and a linear imbedding : → such that (after identifying ( ) with E):

1. Γ=L⊕E (direct sum of vector spaces),

[[E,E],E] ⊆E,

(∀ , , ∈ ) x.y=[x,y] E and [x,y,z]=[[x,y],z],

where For the proof, see for example [START_REF] Sabinin | Lectures on the Theory of Smooth Bol Loops[END_REF].

Let E be a Bol algebra and define:  ( )

0 D E =Vect R {(D a,b , a.b), a,bϵE} and  ( ) ⊕ 0 D Γ = E E = {((D a,b , a.b), x), a,b,xϵE} (direct sum of vector spaces).
Let's introduce an internal composition law on Γ as follows:

, , . , 0 , , , . , 0 = , , , , , ( . ) -, ( . ) -( . ). ( . ) , 0 , , . , 0 , (0,0), = (0,0), , ( )

(0,0), , (0,0), = ( , , . , 0) (The law is propagated on Γ by linearity). Proposition 7. [START_REF] Sabinin | Lectures on the Theory of Smooth Bol Loops[END_REF] 1. Equipped with the composition law (2), Γ is a Lie algebra.

The pair (  ( )

0 D E , E) is symmetric.

The vector subspace L =VectR

, , , -, , ∈ is a subalgebra of Γ.

dim L = dim  ( )

0 D E and L∩E={0}.

For the proof, see for example [START_REF] Sabinin | Lectures on the Theory of Smooth Bol Loops[END_REF]. Consequence. Let Γ=L⊕E a Lie algebra. Suppose that (L,E) is a symmetric pair, where L is a subalgebra of Γ and E a vector subspace. Then the binary operation of the Bol algebra E associated with pair (L,E) is identified by some subalgebra K of Γ, such that Γ=K⊕E (direct sum of vector spaces). The composition laws in E are given by the following formulas:

(∀ , , ∈ ) [a,b,c]=[[a,b], c] a.b = [a,b] E (projection of vector [a,b] onto E parallelly to K).
3. Lie algebra g 2 . Symmetric pair g 2 /so(4)

The g 2 algebra is defined as being the Lie algebra of the exceptional compact group G 2 of automorphisms of octonions O (Cayley numbers). We'll work with a concrete matrix realization of g 2 . We then fix table 1 of octonions multiplication. The Lie algebra g 2 is isomorph to the algebra of derivations of the octonions O. We'll realize g 2 using square matrixes (8 × 8). Let x,y ∈ O ; we have: (7) ⊂ so(8): D(x.y) = Dx . y -x.Dy}.

g 2 = {D ϵ so
Let { } the canonical basis of algebra O, adopted in table 1. Let's introduce in so [START_REF] Mikheev | Smooth Quasigroups and Geometry[END_REF] the matrixes {G ij : 0≤i<j≤7}, by the following relations:

G ij e j = e i , G ij e i = -e j , G ij e k = 0, if k≠i, j.

Proposition 8.

1. {G ij , 0≤i<j≤7} is a basis of algebra so(8).

2. {G ij , 0<i<j≤7} is a basis of algebra so [START_REF] Mal'cev | Analytic Loops[END_REF] supposed included in so( 8) in a standard manner (i.e.

for D ∈ so [START_REF] Mikheev | Smooth Quasigroups and Geometry[END_REF], D ∈ so [START_REF] Mal'cev | Analytic Loops[END_REF] if and only if De 0 =0).

3.

[G ij, G kℓ ] = G ij G kℓ -G kℓ G ij = ℓ + ℓ - ℓ -ℓ (3)
Proof.

1) & 2): it's obvious that {G ij , 0≤i<j≤7} and {G ij , 0<i<j≤7} are free generating families respectively in so(8) and so [START_REF] Mal'cev | Analytic Loops[END_REF].

3) [G ij , G kℓ ](e t ) = G ij G kℓ (e t )-G kℓ G ij (e t ) =G ij (δ ℓt e k -δ kt e ℓ )-G kl (δ tj e i -δ ti e j ) = δ lt (δ kj e i -δ ki e j )-δ kt (δ ℓj e i -δ ℓi e j )-[δ tj (δ iℓ e k -δ ik e ℓ )-δ ti (δ ℓj e k -δ kj e ℓ )] = (δ ℓt δ kj -δ kt δ ℓj )e i +(δ kt δ ℓi -δ ℓt δ ki )e j +(δ ti δ ℓj -δ tj δ iℓ )e k +(δ tj δ ik -δ ti δ kj )e ℓ .

On the other hand, (δ jk G iℓ +δ iℓ G jk -δ ik G jℓ -δ jℓ G ik )(e t )=(δ ℓt δ kj -δ kt δ ℓj )e i +(δ kt δ ℓi -δ ℓt δ ki )e j +(δ ti δℓ j -δ tj δ iℓ )e k +(δ tj δ ik -δ ti δ kj )e ℓ .

Thus,

[G ij, G kℓ ] = ℓ + ℓ - ℓ -ℓ .
Let's introduce the linear applications: L i : O → O with the following formulas:

x → L i (x)

(∀ ∈ O) ( ) = , = 1, … ,7.
Lemma. In the chosen basis (table 1), matrixes L i have the following forms:

L 1 = -G 01 -G 23 +G 45 -G 67 L 2 = -G 02 +G 13 -G 46 -G 57 L 3 = -G 03 -G

Proof.

D(e i .e j )=De i .e j +e i .De j ⇔ D(e i .e j )-e i .De j =De i .e j ⇔DL i (e j )-L i D(e j )= ∑ ( ) ⇔

[D,L i ](e j )= ∑ ( ), then [D,L i ]= ∑ .
Let A be a matrix of so( 7)⊂so( 8); = ∑ . (Ae 0 =0)

Proposition 10. ∈ ⇔ = + ( ) = - - ( ) = - + ( ) = + ( ) = + ( ) = - ( ) = + ( ) (4)
Proof. According to formula (3), we have: 4) is also satisfied.

[G ij ,L 1 ] = -[G ij ,G 01 ]-[G ij ,G 23 ]+[G ij ,G 45 ]-[G ij ,G 67 ] = -( δ j0 G i1 +δ i1 G j0 -δ i0 G j1 -δ j1 G i0 ) -( δ j2 G i3 +δ i3 G j2 -δ i2 G j3 -δ j3 G i2 )+( δ j4 G i5 +δ i5 G j4 -δ i4 G j5 -δ j5 G i4 )-( δ j6 G i7 +δ i7 G j6 -δ i6 G j5 -δ j7 G i6 ), then [A,L 1 ] =∑ [ , ]

Consequences.

General form for elements of the realization matrix of g 2 , in the adopted case table 1, is the following:

0 0 0 0 0 0 0 0 0 0 + 0 - 0 - + + - - 0 - - 0 0 - - - 0 + - + 0 - - - - - 0 0 - - - - - - - 0 0 - - + - - - - - 0
Proposition 11.

1. dim g 2 =14.

2. The following matrixes represent a basis of g 2 : 4. L is isomorph to so( 4)=so( 3)⊕so [START_REF] Günaydin | Non-associativity, Malcev algebras and string theory[END_REF].

e 1 =G
Proof. Based on formula (3) and equalities ( 5), we can draw the following tables:

[-,-] E 1 E 2 E 3 E 4 E 5 E 6 E 1 0 E 3 -E 6 -E 2 -E 5 0 E 6 -E 5 E 2 -E 3 +E 6 0 E 1 +E 4 -E 6 0 E 4 E 3 E 2 +E 5 -E 1 -E 4 0 -E 5 E 4 0 E 4 0 E 6 E 5 0 -2E 6 2E 5 E 5 -E 6 0 -E 4 2E 6 0 -2E 4 E 6 E 5 -E 4 0 -2E 5 2E 4 0
-E 4 -E 2 -E 5 -E 3 -E 3 -E 2 E 1 0 e 2 E 1 +E 4 0 -E 6 -2E 2 E 2 -E 3 0 E 1 e 3 E 2 +E 5 E 6 0 -E 4 E 1 +E 5 0 -E 3 -E 2 -E 5 e 4 E 3 2E 2 E 4 0 0 E 1 +E 4 -E 2 E 3 -E 6 e 5 E 3 -E 2 -E 1 -E 5 0 0 -2(E 1 +E 4 ) -E 5 E 6 e 6 E 2 E 3 0 -E 1 -E 4 2(E 1 +E 4 ) 0 -E 6 -E 5 e 7 E 1 0 E 3 E 2 E 5 E 6 0 -2E 1 e 8 0 -E 1 E 2 +E 5 E 6 -E 3 -E 6 E 5 2E 1 0
d 12 =[G 14 -G 27 , G 15 -G 37 ] = -G 23 -G 45 , d 13 =[G 14 -G 27 , G 16 +G 34 ] = -G 13 -G 46 , d 14 =[G 14 -G 27 , G 17 +G 35 ] = -G 12 -G 47 , d 16 =[G 14 -G 27 , G 25 +G 34 ] = -G 13 -G 57 , (6)
d 17 =[G 14 -G 27 , G 26 +G 37 ] = G 23 -G 67 , d 23 =[G 15 -G 37 , G 16 +G 34 ] = -G 47 -G 56 .
Suppose that: We obtain the multiplication table 6, which is of so(4).

λ 1 d
L 1 L 2 L 3 L 4 L 5 L 6 L 1 0 -L 3 L 2 0 0 0 L 2 L 3 0 -L 1 0 0 0 L 3 -L 2 L 1 0 0 0 0 L 4 0 0 0 0 L 6 -L 5 L 5 0 0 0 -L 6 0 L 4 L 6 0 0 0 -L 5 -L 4 0
Table 6: Multiplication in sub-algebra L relative to base L i .

Then, L is isomorph to so(3)⊕so(3). = 0 -1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 -2 0 0 0 0 0 -1 2 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 1 0 = 0 0 -2 0 0 -1 0 0 0 0 0 -1 1 0 0 0 1 0 0 0 0 0 0 -1 0 1 0 0 0 0 -1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 2 0 0 1 0 0 = 0 0 0 -1 -1 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 -1 0 2 0 0 0 0 0 0 1 2 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0 0 -1 0 0 -1 0 0 0 0 0 -2 1 0 0 0 0 0 0 0 0 0 0 -1 0 2 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 -1 0 0 0 1 0 0 0 0 0 0 2 0 1 0 0 0 0 -2 0 = 0 0 0 -1 0 0 0 0 0 0 -1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0 0 0 1 0 2 0 0 0 1 -1 0 0 0

Bol

The result follows from tables 3 and 4 immediately.

For the binary composition law, according to table 5, relations [START_REF] Mal'cev | Analytic Loops[END_REF] Lemma 2. In our case, identity 6 in definition 2 is equivalent to the following matrix equations system:

1) X 1 X 2 =D 12 X 2 -D 13 X 1 +X 3 -X 6 2) X 1 X 3 =D 12 X 3 -D 14 X 1 -X 4 3) X 1 X 4 =D 12 X 4 -D 16 X 1 +X 3 4) X 1 X 5 =D 12 X 5 -D 17 X 1 5) X 1 X 6 =D 12 X 6 -D 23 X 1 +X 2 -X 4 6) X 2 X 3 =D 13 X 3 -D 14 X 2 -X 5 7) X 2 X 4 =D 13 X 4 -D 16 X 2 8) X 2 X 5 =D 13 X 5 -D 17 X 2 +X 3 9) X 2 X 6 =D 13 X 6 -D 23 X 2 -X 1 -X 5 10) X 3 X 4 =D 14 X 4 -D 16 X 3 -X 1 11) X 3 X 5 =D 14 X 5 -D 17 X 3 -X 2 12) X 3 X 6 =D 14 X 6 -D 23 X 3 13) X 4 X 5 =D 16 X 5 -D 17 X 4 +X 3 -X 6 14) X 4 X 6 =D 16 X 6 -D 23 X 4 +X 1 +X 5 15) X 5 X 6 =D 17 X 6 -D 23 X 5 +X 2 -X 4 (9)
In the following, we'll just treat particular case where the Bol algebra verifies the identity:

(∀ , , , ∈ ) ( . ). ( . ) = 0.

In this case, the system ( 9) is equivalent to two systems: the first one is homogeneous and linear:

1) D 12 X 2 -D 13 X 1 +X 3 -X 6 =0 2) D 12 X 3 -D 14 X 1 -X 4 =0 3) D 12 X 4 -D 16 X 1 +X 3 =0 4) D 12 X 5 -D 17 X 1 =0 5) D 12 X 6 -D 23 X 1 +X 2 -X 4 =0 6) D 13 X 3 -D 14 X 2 -X 5 =0 7) D 13 X 4 -D 16 X 2 =0 8) D 13 X 5 -D 17 X 2 +X 3 =0 9) D 13 X 6 -D 23 X 2 -X 1 -X 5 =0 10) D 14 X 4 -D 16 X 3 -X 1 =0 11) D 14 X 5 -D 17 X 3 -X 2 =0 12) D 14 X 6 -D 23 X 3 =0 13) D 16 X 5 -D 17 X 4 +X 3 -X 6 =0 14) D 16 X 6 -D 23 X 4 +X 1 +X 5 =0 15) D 17 X 6 -D 23 X 5 +X 2 -X 4 =0, (10)
and the second one is homogeneous and "cubic":

X i X j =0, 1≤i<j≤6. (10bis)
The real solution that verifies the two systems simultaneously is trivial. But the extension of the scalars field gives us several remarkable complex solutions.

Proposition 13. The general solution for system [START_REF] Pérez-Izquierdo | An envelope for Bol algebras[END_REF] is given by:

X 1 = T (-α 3 , α 4 , 0, 0, α 2 -2α 7 , -α 1 -2α 8 , α 4 -α 5 , -α 6 )
X 2 = T (2α 2 -α 7 ,-α 8 , 2α 4 -α 5 , α 3 +α 6 , α 6 , 0, -α 1 -α 8 , -2α 2 +α 7 )

X 3 = T (2α 1 +α 8 , -α 7 , α 6 , α 4 +α 5, α 4 +α 5 , α 3 , -α 2 , 0) We can easily verify that columns given by equations 11-1, 11-3, 11-4, 11-6, 11-7 represent the general solution of the linear system [START_REF] Pérez-Izquierdo | An envelope for Bol algebras[END_REF]. By requiring stability of vector space VectR{P j } j=1,…6 for commutation, i.e.:

X 4 = T (α 2 -α 7 , α 1 -α 8 , α 4 -α 5 , 2α 3 +α 6 , 0, α 5 , 0, -α 2 ) X 5 = T (0, 0, α 1 , -α 2 , -α 2 + α 7 , α 8 , -α 4 +2 α 5 , α 3 +2 α 6 ) X 6 = T (α 1 , α 2 , α 3 , α 4 , α 5 , α 6 , α 7 , α 8 ), α i ϵR, i=1,…,8. ( 11
[ , ℓ ] = ∑ ℓ , 1≤k<ℓ≤6,
we find that all the solutions verifying simultaneously systems ( 10) and (10bis) are complex except the trivial solution. Among the found solutions, we provide the following list of

= - ∓ √ ± √ -2 ∓ √ + ( ≠ 0) = - ∓ √2 - - = ± √2 - ∓ √ ∓ √ + ± √ = ± √ - ∓ √ + ± √ = ± √ ∓ √ + ± √ - = ∓ √ + ∓ √ - ∓ √2 + (12-9)

2 .

 2 (∀ , , ∈ ) [ , , ] = -[ , , ] and [ , , ] = , 3. (∀ , , ∈ ) [ , , ] + [ , , ] + [ , , ] = , 4.

satisfying the following additional axioms: 5 .

 5 (∀ , ∈ ) . = -. and . = , 6. (∀ , , , ∈ ) [ , , . ] = [ , , ]. + . [ , , ] + [ , , . ] + ( . ). ( . ).

N

  .B.*(∀ , ∈ ) (0,0), , (0,0), = , , . , 0 = , , . , -. + ((0,0), . ), i.e. . = [ , ] (projection of [a,b] onto E parallelly to L).*(∀ , , ∈ ), [ , ],= (0,0), , (0,0), , (0,0), = , , . , 0 , (0,0), = (0,0), , ( ) = [ , , ]

e 0 e 1 e 2 e 3 e 4 e 5 e 6 e 7 e 0 e 0 e 1 e 2 e 3 e 4 e 5 e 6 e 7 e 1 e 1 -

 771 e 0 e 3 -e 2 -e 5 e 4 e 7 -e 6 e 2 e 2 -e 3 -e 0 e 1 e 6 e 7 -e 4 -e 5 e 3 e 3 e 2 -e 1 -e 0 -e 7 e 6 -e 5 e 4 e 4 e 4 e 5 -e 6 e 7 -e 0 -e 1 e 2 -e 3 e 5 e 5 -e 4 -e 7 -e 6 e 1 -e 0 e 3 e 2 e 6 e 6 -e 7 e 4 e 5 -e 2 -e 3 -e 0 e 1 e 7 e 7 e 6 e 5 -e 4 e 3 -e 2 -e 1 -e 0

- 0 )X 1

 01 Proof. Matrixes D 23 , D 12 -D 17 , D 13 +D 16 , D 13 -D 16 are invertible; equation[START_REF] Pérez-Izquierdo | An envelope for Bol algebras[END_REF][START_REF] Pérez-Izquierdo | An envelope for Malcev algebra[END_REF][START_REF] Pérez-Izquierdo | Algebras, hyperalgebras, non-associative bi-algebras and loops[END_REF] gives: 5 and 10-15 imply (D 12 -D 17 )X 6 -D 23 (X 1 -X 5 )=0, hence: by its value from equation 10-4, we find: 10-14 imply:(D 13 +D 16 )X 6 -D 23 (X 2 +X 4 )=0;

Table 1 :

 1 Octonions multiplication.

  12 +G 47 -G 56 L 4 = -G 04 -G 15 +G 26 -G 37 L 5 = -G 05 +G 14 +G 27 +G 36 L 6 = -G 06 +G 17 -G 24 -G 35 L 7 = -G 07 -G 16 -G 25 +G 34The proof results immediately from table 1.

Proposition 9.

Let D be an element of so

[START_REF] Mikheev | Smooth Quasigroups and Geometry[END_REF]

such that De 0 =0, and for each i>0, De i =∑ . Then D∈g 2 if and only if [D,L i ]= ∑ .

  =a 12 G 02 +a 13 G 03 +a 14 G 04 +a 15 G 05 +a 16 G 06 +a 17 G 07 +a 13 G 12 -a 12 G 13 +a 15 G 14 +a 14 G 15 +a 17 G 16 -a 16 G 17 +(a 25 +a 34 )G 24 +(a 24 +a 35 )G 25 +(a 27 +a 36 )G 26 +(-a 26 +a 37 )G 27 +(-a 24 +a 35 )G 34 +(-a 25 +a 34 )G 35 +(-a 26 +a 37 )G 36 +(-a 27 -a 36 )G 37 +(a 47 -a 56 )G 46 +(-a 46 -a 57 )G 47 +(a 46 +a 57 )G 56 +(a 47 -a 56 )G 57 .

	But { }	∪ { }	is a basis in so(8), then the decomposition must be unique according
	to this basis:
	[A,L 1 ]=-a 12 L 2 -a 13 L 3 -a 14 L 4 -a 15 L 5 -a 16 L 6 -a 17 L 7 + (-a 16 -a 25 +a 34 )G 24 +(-a 17 +a 24 +a 35 )G 25
		+(a 14 +a 27 +a 36 )G 26 +(a 15 -a 26 +a 37 )G 27 +(a 17 -a 24 -a 35 )G 34 +(-a 16 -a 25 +a 34 )G 35
		+(a 15 -a 26 +a 37 )G 36 +(-a 14 -a 27 -a 36 )G 37 +(-a 12 +a 47 -a 56 )G 46 +(a 13 -a 46 +a 57 )G 47
		+(-a 13 +a 46 +a 57 )G 56 +(-a 12 +a 47 -a 56 )G 57 ,
	then [A, L 1 ]ϵ Vect{ } if and only if equalities (i), (ii), (iii), (v), (vi) and (vii) in (4) are
	satisfied. Operating similarly with [A, L 2 ], we find:
	[A,L 2 ]=a 12 L 1 -a 23 L 3 -a 24 L 4 -a 25 L 5 -a 26 L 6 -a 27 L 7 + (a 16+ a 25 -a 34 )G 14 +(a 17 -a 24 -a 35 )G 15
		+ (-a 14 -a 27 -a 36 )G 16 +(-a 15 +a 26 -a 37 )G 17 +(a 14 +a 27 +a 36 )G 34 +(a 15 -a 26 +a 37 )G 35
		+(a 16 +a 25 -a 34 )G 36 +(a 17 -a 24 -a 35 )G 37 +(-a 12 +a 47 -a 56 )G 45 +(a 23 -a 45 +a 67 )G 47
		+(-a 23 +a 45 -a 67 )G 56 +(a 12 -a 47 +a 56 )G 67 ,

then equality (iv): a 45 = a 23 +a 67 in (

  11 G 12 +a 10 G 13 +a 1 G 14 +a 2 G 15 +a 3 G 16 +a 4 G 17 +a 9 G 23 +a 5 G 24 +a 6 G 25 +a 7 G 26 -(a 1 +a 8 )G 27 +(a 3 +a 6 )G 34 +(a 4 +a 5 )G 35 +a 8 G 36 +(-a 2 +a 7 )G 37 +a 12 G 45 +a 13 G 46 +(a 11 +a 14 )G 47 +a 14 G 56 +(a 10 -a 13 )G 57 +(a 12 -a 9 )G 67 =0, but family {G 12 ,…,G 67 } is free, so: Assume L=VectR{E 1 ,…,E 6 }, E=Vect R {e 1 ,…,e 8 } and d ij =[e i ,e j ]=e i e j -e j e i , 1≤i<j≤8.

	a 11 =a 10 =a 1 =a 2 =a 3 =a 4 =a 9 =a 5 =a 6 =a 7 =0,
	a 1 +a 8 =0, a 3 +a 6 =0, a 4 -a 5 =0, -a 2 +a 7 =0, a 12 =0, a 13 =0,
	a 11 +a 14 =0, a 14 =0, a 10 -a 13 =0, a 12 =0,
	hence a i =0, i=1,…,14.
	Proposition 12.
	14 -G 27 e 2 =G 15 -G 37	e 3 =G 16 +G 34	e 4 =G 17 +G 35
	e 5 =G 24 -G 35 e 6 =G 25 +G 34 e 7 =G 26 +G 37	e 8 =-G 27 +G 36	(5)
	E 1 =G 23 -G 67 E 2 =G 13 +G 57 E 3 =G 12 +G 47	E 4 =G 45 +G 67 E 5 =G 46 -G 57 E 6 =G 47 +G 56
	Proof.

1. Relations (4) are visibly independent and dim so

[START_REF] Mal'cev | Analytic Loops[END_REF]

=21, so dim g 2 =14.

2. It suffices to prove that family { } ∪ { }

is free, since dim g 2 =14 and the number of matrixes is 14. Assume: e j+8 =E j , j=1,…6. So ∑ = 0, then using (

5

) we obtain:

a 1.

L is a subalgebra of algebra g 2 and dim E=6.

2. The pair (L,E

) is symmetric and g 2 = L⊕E. 3. L=Vect R {d 12 , d 13 , d 14 , d 16 , d 17 , d 23 }.

Table 2 :

 2 Multiplication in sub-algebra L relative to base E i .

	[-,-]	e 1	e 2	e 3	e 4	e 5	e 6	e 7	e 8
	e 1	0	-E 1

Table 3 :

 3 Multiplication in subspace E relative to base e i

	[-,-]	e 1	e 2	e 3	e 4	e 5	e 6	e 7	e 8
	E 1	e 7	e 8	e 4 +e 5	-e 3 +e 6	-e 6	e 5	-2e 8	2e 7
	E 2	-e 6	-2e 4	e 1 -e 8	2e 2	-e 2	e 1	e 4	e 3 -e 6
	E 3	-2(e 4 +e 5 )	-e 6	-e 7	e 1	e 1	e 2	e 3	-e 4 -e 5
	E 4	-(e 2 +e 7 )	e 1 -e 8	-e 4	e 3	-e 6	e 5	e 8	-e 7
	E 5	-e 3 +e 6	e 4	e 1 -e 8	-e 2	-e 7	-e 8	e 5	e 6
	E 6	-(e 4 +e 5 )	-e 3	e 2	e 1 -e 8	e 8	-e 7	e 6	-e 5

Table 4 :

 4 Mixed multiplication [L, E]. 1. According to table 2, L is stable for composition, so L is a subalgebra of g 2 . 2. According to tables 3 and 4, we have [L,E]⊆E, [E,E]⊆L, so the pair (L,E) is symmetric. It's obvious that g 2 =L⊕E (direct sum of vector spaces). 3. Matrixes d 12 , d 13 , d 14 , d 16 , d 17 and d 23 are linearly independent; effectively, according to relations (5), we have:

Table 5 :

 5 12 + λ 2 d 13 + λ 3 d 14 + λ 4 d 16 + λ 5 d 17 + λ 6 d 23 =0 ⇒ Multiplication in sub-algebra L relative to base d ij .

	(λ 5 -λ 1 )G 23 -(λ 2+ λ 4 )G 13 -λ 3 G 12 -λ 2 G 46 -(λ 2+ λ 6 )G 46 -λ 1 G 45 -λ 5 G 67 -λ 6 G 56 -λ 4 G 57 =0 ⇒ λ 1 =…=λ 6 =0.
	Then:
	Vect R {d 12 , d 13 , d 14 , d 16 , d 17 , d 23 } = L,
	and we also have:
	d 12 =-d 35 =-d 46 =½d 56 ,	d 13 =d 38 ,	d 14 =d 15 =d 26 =d 37 ,	d 16 =½d 24 =-d 25 =d 47,
	d 17 =d 28 =-½d 78 ,	d 23 =-d 58 =d 67 , d 18 =d 27 =d 36 =d 45 =0,	d 57 =d 68 =d 13 -d 16 ,	(7)
	d 34 =d 12 +d 17 ,	d 48 =d 23 -d 14 .
	[-,-]	d 12	d 13	d 14	d 16	d 17	d 23
	d 12	0	d 23 -d 14	d 16	-d 14	0	d 16 -d 13
	d 13	d 14 -d 23	0	d 17	0	-d 14	d 12 +d 17
	d 14	-d 16	-d 17	0	d 12	d 13	0
	d 16	d 14	0	-d 12	0	d 23 -d 14	-d 12 -d 17
	d 17	0	d 14	-d 13	d 14 -d 23	0	d 16 -d 13
	d 23	d 13 -d 16	-d 12 -d 17	0	d 12 +d 17	d 13 -d 16	0

  Algebras of g 2 /so(4) T (a 1 ,…,a 8 ) and = T (α 1 ,…,α 8 ). Similarly, we introduce matrixes D 13 , D 14 , D 16 , D 17 , D 23 that correspond, in the canonical basis of R 8 , respectively to matrixes d 13 , d 14 , d 16 , d 17 , d 23 ; for example, [d 12 , a]=(e 1 ,…,e 8 ).D 12 = ∑ Matrixes D 12 , D 13 , D 14 , D 16 , D 17 and D 23 can be written as follows:

	Let = ∑	an element of E. Suppose that [d 12 ,a]= ∑	, and let D 12 the square matrix
	(8×8) such that	= , where =

. Lemma 1.

Table 7 :

 7 and proposition 7, we have: General form of the Bol algebra binary law.where x 1 =e 1 .e 2 , x 2 =e 1 .e 3 , x 3 =e 1 .e 4 , x 4 =e 1 .e 6 , x 5 =e 1 .e 7 , x 6 =e 2 .e 3 .Similarly, let's designate by X i X j , 1≤i<j≤6, columns of coefficients of development of 15 elements x i .x j , 1≤i<j≤6, according to basis { } .

	.	e 1	e 2	e 3	e 4	e 5	e 6	e 7	e 8
	e 1	0	x 1	x 2	x 3	x 3	x 4	x 5	0
	e 2	-x 1	0	x 6	2x 4	-x 4	x 3	0	x 5
	e 3	-x 2	-x 6	0	x 1 +x 5	-x 1	0	x 3	x 2
	e 4	-x 3	-2x 4	-x 1 -x 5	0	0	-x 1	x 4	x 6 -x 3
	e 5	-x 3	x 4	x 1	0	0	2x 1	x 2 -x 4	-x 6
	e 6	-x 4	-x 3	0	x 1	-2x 1	0	x 6	x 2 -x 4
	e 7	-x 5	0	-x 3	-x 4	-x 2 +x 4	-x 6	0	-2x 5
	e 8	0	-x 5	-x 2	-x 6 +x 3	x 6	-x 2 +x 4	2x 5	0
	Let = ∑	and X i = T (x i1 ,…,x i8 ), i=1,…6.

  According to proposition 7, it exists a subalgebra K of g 2 =L⊕E such that g 2 =K⊕E, (K∩E={0})and (∀ , ∈ ) . = [ , ] (projection of [a,b] onto E parallelly to K). Then K isgenerated by a basis of the following from: {P 1 =d 12 +x 1 , P 2 =d 13 +x 2 , P 3 =d 14 +x 3 , P 4 =d 16 +x 4 , P 5 =d 17 +x 5 , P 6 =d 23 +x 6 }, where: dim K=6, x 1 =e 1 .e 2 , x 2 =e 1 .e 3 , x 3 =e 1 .e 4 , x 4 =e 1 .e 6 , x 5 =e 1 .e 7 , x 6 =e 2 .e 3 .

Summary

It appears to us that these algebras represent mathematical objects which require special studying. In this paper, we've addressed the issue of Bol algebras generated by the symmetric space g 2 /so(4) and verifying an additional identity of the form (x.y).(z.u) = 0, that we've introduced because it seems to us that this identity can model in some way the concept of "disparity" encountered in the theory of elementary particles. It is well known that g 2 is the Lie algebra of G 2 automorphisms group of octonions system frequently used in various fields of research. We've provide a list of 20 mono-parametric families of complex Bol algebras. But this list is not exhaustive of all possible algebras in the considered case.

Bol algebras generalize those of Lie and of Mal'cev; so based on information relative to the multiplicity of application domains for theories of Lie and Mal'cev (see for example [START_REF] Günaydin | Non-associativity, Malcev algebras and string theory[END_REF][START_REF] Silvestov | Generelized Lie theory in Mathematics, physics and Beyond[END_REF]), we can guess with large credibility that the obtained results are probably applicable in mechanics, quantic, elementary particle theories, relativist physics and in space-time theory.

Our future publications will be dedicated to the completion of the list of obtained algebras, as well as to the study of each element in this list.


Raphaël Couturier
email: raphael.couturier@univ-fcomte.fr

Stéphane Domas
email: stephane.domas@univ-fcomte.fr

Gwenhaël Goavec-Merou

Mélanie Favre
email: melanie.favre@csem.ch

Michel Lenczner
email: michel.lenczner@utbm.fr

André Meister
email: andre.meister@csem.ch

A cost effective AFM setup, combining interferometry and FPGA

Atomic force microscopes (AFM) provide high resolution images of surfaces. In this paper, we focus our attention on an interferometry method for the deflection estimation of cantilever arrays in quasi-static regime.

Here, we propose a novel complete solution with a least square based algorithm to determine interference fringe phase and its optimized FPGA implementation. Simulations and real tests show very good results and open perspectives for real-time estimation and control of cantilever arrays in the dynamic regime.

Introduction

Cantilevers are used in atomic force microscopes (AFM) which provide high resolution surface images. Several techniques have been reported in literature for cantilever displacement measurement. In [START_REF] Abedinov | Micromachined piezoresistive cantilever array with integrated resistive microheater for calorimetry and mass detection[END_REF], authors have shown how a piezoresistor can be integrated into a cantilever for deflection measurement. Nevertheless this approach suffers from the complexity of the microfabrication process needed to implement the sensor. In [START_REF] Baselt | Design and performance of a microcantilever-based hydrogen sensor[END_REF], authors have presented a cantilever mechanism based on capacitive sensing. These techniques require cantilever instrumentation resulting in complex fabrication processes.

In this paper our attention is focused on a method based on interferometry for cantilever displacement measurement in quasi-static regime. Cantilevers are illuminated by an optical source. Interferometry produces fringes enabling cantilever displacement computation. A high speed camera is used to analyze the fringes. In view of real time applications, images need to be processed quickly and then a fast estimation method is required to determine the displacement of each cantilever. In [START_REF] Favre | Parallel afm imaging and force spectroscopy using twodimensional probe arrays for applications in cell biology[END_REF], an algorithm based on spline has been introduced for cantilever position estimation. The overall process gives accurate results but computations are performed on a standard computer using LabView ® . Consequently, the main drawback of this implementation is that the computer is a bottleneck. In this paper we pose the problem of real-time cantilever position estimation and bring a hardware/software solution. It decomposes into two parts: a calibration phase that uses the algorithm based on splines presented in [START_REF] Favre | Parallel afm imaging and force spectroscopy using twodimensional probe arrays for applications in cell biology[END_REF], and an acquisition loop that relies on a fast method based on least squares and its FPGA implementation.

The remainder of the paper is organized as follows. Section 2 describes the goals we chose for our setup. Our solution based on the FPGA implementation of a least square method is presented in Section 3. Numerical experimentations are described in Section 4. Finally a conclusion and some perspectives are drawn.

Design goals and choices

In order to build simple, cost effective and user-friendly cantilever arrays, we use a system based on interferometry. The experimental setup is described in [4]. It is based on a Linnick interferometer [START_REF] Sinclair | Long-workingdistance incoherent-light interference microscope[END_REF] to produce interferometric fringes on the sample surface. The sample is itself placed on a nano-positioning table. A CMOS camera takes images of the surface, that are analyzed to recover the cantilever deflections.

Current experiments operate on arrays with up to 17 × 4 = 68 levers but it should increase in a near future. Thus, we chose a goal which consists in designing a computing unit able to estimate the deflections of at least 100 cantilevers, for an image rate of 1KHz. The geometry of the array of cantilevers is not fixed but our solution should manage a grid, for example 10 × 10, 7 × 15, 4 × 25, . . .

In addition, the result accuracy must be close to 1nm, the maximum precision reached in [START_REF] Favre | Parallel afm imaging and force spectroscopy using twodimensional probe arrays for applications in cell biology[END_REF]. Finally, the latency between the entrance of the first pixel of an image and the end of deflection computation must be as small as possible. All these requirements are stated in the perspective of implementing real-time active control for each cantilever (see [START_REF] Lenczner | NanoSystems & Systems on Chips, Modeling, Control and Estimation, chapter Modelling, Identification and Control of a Micro-cantilever Array[END_REF], [START_REF] Hui | Semi-decentralized approximation of a lqr-based controller for a one-dimensional cantilever array[END_REF]).

If we put aside other hardware issues like the speed of the link between the camera and the computation unit, the time to deserialize pixels and to store them in memory, the phase computation is the bottleneck of the whole process. For 100 cantilevers, our method implies to compute the phase of interferometric fringes located on 201 segments of pixels (i.e. profiles, see Section 3). Supposing the camera is able to pick images every milliseconds, each phase calculation (including the time to extract pixels) should take no more than 5µs.

In fact, this timing is a very hard constraint. A very simple test-bench that does cumulated sums on 20 values (the average profile size in our experiments) reaches an average of 155Mflops on an Intel Core 2 Duo E6650 at 2.33GHz. Obviously, some cache effects and optimizations on huge amount of computations can drastically increase these performances: peak efficiency is about 2.5Gflops for the considered CPU. But this is not the case for phase computation that is using only a few tenth of values. This test-bench implies that the phase computation algorithm should do less than 775 floating point instructions, which is very small. However, the most important point is the latency of the whole computation. Supposing that each profile must be treated one after the other in 5µs, the deflection of 100 cantilevers would take 1ms. It is totally inadequate for real-time requirements as for individual cantilever active control. An obvious solution is to parallelize the computations, for example on a GPU. Nevertheless, the cost of transferring profiles in GPU memory and of taking back results would be prohibitive compared to computation time. It is far more efficient to pipeline the computation. For example, supposing that 200 profiles of 20 pixels could be pushed sequentially in a pipelined unit clocked at a 100MHz (i.e. a pixel enters in the unit each 10ns), all profiles would be treated in 200 × 20 × 10.10 -9 = 40µs plus the latency of the pipeline. Such a solution would be meeting our requirements and would be accurate for real-time control. FPGAs are appropriate for such an implementation, so they turn out to be the computation units of choice to reach our goals.

Interferometric based cantilever deflection estimation

As shown in Figure 1, each cantilever is covered by several interferometric fringes. The fringes distort when cantilevers are deflected. For each cantilever, the method uses three segments of pixels, parallel to its section, to determine phase shifts. The first one (reference profile) is on the base of the array. It is common to all levers and provides a reference for noise suppression. The second is located just above the AFM tip (tip profile), it provides the phase shift modulo 2π. The third one is close to the base junction (base profile). It is used to determine the "real" tip profile base profile reference profile tip phase through an operation called unwrapping where it is assumed that the average deflections along the base and tip profiles are linearly dependent. Finally, deflections are simply derived from this unwrapped phase.

The pixel gray-level intensity I of each profile is modeled by

I(x) = A cos(2π f x + θ) + ax + b. (1)
where x denotes the position of a pixel in a segment, A, f and θ are the amplitude, the frequency and the phase of the light signal when the affine function ax + b corresponds to the cantilever array surface tilt with respect to the light source.

Our method consists in two main sequences: calibration and acquisition loop. The calibration does not require realtime computations. First, an image of the whole array is taken, without any forces applied to levers. From profile locations, we determine the frequency f of each profile using a spline interpolation, described in Section 3-A. Then, we take several images for different locations of the nano-positioning table in order to compute, for each lever, the coefficients of the linear relation between base and tip phases. And finally, we find the slope of the array compared to the horizontal plane.

The acquisition loop consists in moving the nanopositioning table and taking images at regular time steps. For each image, the phase θ of each profile is computed to obtain, after unwrapping, the cantilever deflection. The phase determination is achieved on the FGPA, with the least square method described in Section 3-B.

A. Frequency determination

As mentioned above, the phase needs to be computed for each image but f is computed only once during calibration. This is why the frequency determination can be done on a CPU with a time consuming method based on spline interpolation.

We denote by M the number of pixels in a segment (i.e. a profile) used for phase computation. For the sake of the simplicity of the notations, we consider the light intensity I a function on the interval [0, M -1] which itself is the range of a one-to-one mapping defined on the physical segment. The pixels are assumed to be regularly spaced and centered at coordinates x p ∈ {0, 1, . . . , M -1}. We use the simplest definition of a pixel, namely the value of I at its center. The pixel intensities are considered as prenormalized so that their minimum and maximum have been resized to -1 and 1.

The first step consists in computing the cubic spline interpolation of the intensities. This allows interpolating I at a larger number

L = 1 + k × (M -1) of points (typically k = 4 is sufficient) in the interval [0, M -1].
We denote these points x s i with i = 0, 1, . . . , L -1. The second step is to determine the affine part ax + b of I. It is found with an ordinary least square method, taking into account the L points. Values of I in x s i are used to compute its intersections with ax + b. The period of I (and thus its frequency) is deduced from the number of intersections and the distance between the first and the last.

The frequency could also be obtained using the derivative of spline functions, which only requires to solve quadratic equations but yields higher errors.

B. Phase determination

Since f and x are already known, Equation (1) has only 4 parameters: a, b, A, and θ. A least square method based on a Gauss-Newton algorithm can be used to determine these four parameters. This kind of iterative process ends with a convergence criterion, so it is not suited to our design goals. Fortunately, it is quite simple to reduce the number of parameters to θ only. Firstly, the affine part ax + b is estimated from the M values I(x p ) to determine the corrected intensities,

I corr (x p ) ≈ I(x p ) -a.x p -b. (2)
To find a and b we apply the least square method (as in SPL but on M points). Let X p be a vector containing the values of x p , then

a = covar(X p , I(X p )) var(X p ) and b = I(X p ) -a.X p . ( 3
)
where overlined symbols represent the average. Then the amplitude A is approximated by

A ≈ max(I corr ) -min(I corr ) 2 .
Finally, the problem of approximating θ is reduced to minimizing

min θ∈[-π,π] M-1 ∑ i=0 cos(2π f i + θ) - I corr (i) A 2 .
An optimal value θ * of the minimization problem is a zero of the first derivative of the above argument,

2 cosθ * M-1 ∑ i=0 I corr (i) sin(2π f i) +sinθ * M-1 ∑ i=0 I corr (i) cos(2π f i) - A cos2θ * M-1 ∑ i=0 sin(4π f i) + sin2θ * M-1 ∑ i=0 cos(4π f i) = 0.
(4) Several points can be noticed:

• If all profiles have the same fixed size, then X p and var(X p ) are constants. • The terms ∑ M-1 i=0 sin(4π f i) and ∑ M-1 i=0 cos(4π f i) are independent of θ, they can be precomputed.

• Lookup tables can be set with the 2.M values sin(2π f i) and cos(2π f i).

• A simple method to find a zero θ * of the optimality condition is to discretize the range [-π, π] with a large number nb s of points and to find which one is a minimizer in the absolute value sense. Hence, three other lookup tables can be set with the 3 × nb s values sinθ, cosθ, and cos2θ

M-1 ∑ i=0 sin(4π f i) + sin2θ M-1 ∑ i=0 cos(4π f i) .
• The search algorithm can be very fast using a dichotomous process namely in log 2 (nb s ).

Taking into account all these remarks, we obtain an algorithm (called LSQ in the following) that uses no complex operations (division, trigonometric functions, . . .) which is mandatory to be ported efficiently on an FPGA. Nevertheless, it should also be proved that it fits with our goals.

C. LSQ evaluation

We evaluated the algorithm over three criteria:

• precision of results on a cosines profile distorted by noise, • number of operations,

• complexity of FPGA implementation. For the first item, we produced a Matlab ® version, running in double precision. The profile was generated for about 34,000 different quadruplets of periods (∈ [3.1, 6.1], step = 0.1), phases (∈ [-3.1, 3.1], steps = 0.062) and slopes (∈ [-2, 2], step = 0.4). Obviously, the discretization of [-π, π] introduces an error in the phase estimation. It is at most equal to π nb s . In our last experiments on a 17 × 4 array, we noticed an average ratio of 50 between phase variation in radians and lever end position in nanometers. Assuming such a ratio and nb s = 1024, the maximum lever deflection error would be 0.15nm which is smaller than 1nm, the precision to reach.

Moreover, pixels have been paired and the paired intensities have been perturbed by addition of a random number uniformly picked in [-N, N]. Notice that we have observed that perturbing each pixel independently yields too weak profile distortions. We report percentages of errors between the reference and the computed phases out of 2π, The results show that the algorithm behave very well against noise. Assuming an average ratio of 50 (see above), an error of 1 percent on the phase corresponds to an error of 0.5nm on the lever deflection, which is still under the precision to reach.

err = 100 × |θ re f -θ comp | 2π .
It is very hard to predict which level of noise will be present in real experiments and how it will distort the profiles. Results on the 17 × 4 array mentioned above allowed us to compare experimental profiles to simulated ones. We can see on figure 2 the profile with N = 10 that leads to the biggest error. It is a bit distorted, with pikes and straight/rounded portions. In fact, it is very close to some of the worst experimental profiles. Figure 3 shows a sample of worst profile for N = 30. It is completely distorted, largely beyond any experimental ones. Obviously, these comparisons are a bit subjective and experimental profiles could also be more distorted on other experiments. Nevertheless, they give an idea of the possible error.

The second criterion is relatively easy to estimate. The number of operation is proportional to M the number of pixels. It also depends on nb s . We assume that M = 20, nb s = 1024 and k = 4, that all possible parts are already in lookup tables and that a limited set of operations (+, -, *, /, <, >) is taken into account. Translating LSQ algorithm in C code, we obtain about 430 operations, which is largely under the limit of 775 (see section2). Nevertheless, considering the total number of operations is not fully relevant for FPGA implementation for which time and space consumption depends not only on the type of operations but also on their ordering. The final evaluation is thus very much driven by the third criterion.

The Spartan 6 used in our architecture has a hard constraint since it has no built-in floating point units. Obviously, it is possible to use some existing "blackboxes" for double precision operations. But they require a lot of clock cycles to complete. It is much simpler to exclusively use integers, with a quantization of all double precision values. It should be chosen in a manner that does not alter result precision. Furthermore, it should not lead to a design with a huge latency because of operations that could not complete during a single or few clock cycles. Divisions fall into that category and, moreover, they need a varying number of clock cycles to complete. Even multiplications can be a problem since a DSP48 takes inputs of 18 bits maximum. So, for larger multiplications, several DSP must be combined which increases the overall latency.

Nevertheless, the hardest constraint does not come from the FPGA characteristics but from the algorithm itself. Its VHDL implementation can be efficient only if it can be fully (or near) pipelined. We observe that it is not a problem with LSQ since all parts, except the dichotomic search, work on the same data with a constant size: the profile.

VHDL implementation and experimental tests

A. The FPGA board

The architecture we use is designed by the Armadeus Systems company. It consists in a development board called APF27 ® , hosting a i.MX27 ARM processor (from Freescale) and a Spartan3A (from Xilinx). This board includes all classical connectors as USB and Ethernet for instance. A Flash memory contains a Linux kernel that can be launched after booting the board via u-Boot. The processor is directly connected to the Spartan3A via its special interface called WEIM. The Spartan3A is itself connected to an extension board called SP Vision ® , that hosts a Spartan6 FPGA. Thus, it is possible to develop programs that communicate between i.MX and Spartan6, using Spartan3 as a tunnel. A clock signal at 100MHz (by default) is delivered to dedicated FPGA pins. The Spartan6 of our board is an LX100 version. It has 15,822 slices, each slice containing 4 LUTs and 8 flip/flops. It is equivalent to 101,261 logic cells. There are 268 internal block RAM of 18Kbits, and 180 dedicated multiply-adders (named DSP48), which is largely enough for our project. Some I/O pins of Spartan6 are connected to two 2 × 17 headers that can be used for any purpose. In our setup, they are connected to an interface board that is bound to the camera and the nano-positioning table controller.

B. VHDL implementation

From the LSQ algorithm, we have written a C program that uses only integer values. We used a very simple quantization which consists in multiplying each double precision value by a factor power of two and by keeping the integer part. For an accurate evaluation of the division in the computation of a the slope coefficient, we also scaled the pixel intensities by another power of two. The main problem was to determine these factors. Most of the time, they are chosen to minimize the error induced by the quantization. But in our case, we also have some hardware constraints, for example the width and depth of RAMs or the input size of DSPs. Thus, having a maximum of values that fit in these sizes is a very important criterion to choose the scaling factors.

Consequently, we determined the maximum value of each variable as a function of the scale factors and the profile size involved in the algorithm. It gave us the maximum number of bits necessary to code them. We chose the scale factors so that any variable (except the covariance) fits in 18 bits, which is the maximum input size of DSPs. In this way, all multiplications (except one with covariance) could be done with a single DSP, in a single clock cycle. Moreover, assuming that nb s = 1024, all LUTs could fit in the 18Kbits RAMs. Finally, we compared the double and integer versions of LSQ and found a nearly perfect agreement between their results.

As mentioned above, some operations like divisions must be avoided. When the divisor is fixed, a division can be replaced by its multiplication/shift counterpart. This is always the case in LSQ. For example, assuming that M is fixed, var(X p ) is known and fixed. Thus, covar(X p ,I(X p )) var(X p ) can be replaced by

(covar(X p , I(X p )) × 2 n var(X p ) ) n
where is a right bit-shift and n depends on the desired precision (in our case n = 24).

Obviously, multiplications and divisions by a power of two can be replaced by left or right bit shifts. Finally, the code only contains shifts, additions, subtractions and multiplications of signed integers, which are perfectly adapted to FPGAs.

We built two versions of VHDL codes, namely one directly by hand coding and the other with Matlab using the Simulink HDL coder feature [START_REF][END_REF]. Although the approaches are completely different we obtained quite comparable VHDL codes. Each approach has advantages and drawbacks. Roughly speaking, hand coding provides beautiful and much better structured code while Simulink HDL coder allows fast code production. In terms of throughput and latency, simulations show that the two approaches yield close results with a slight advantage for hand coding.

C. Simulation

Before experimental tests on the FPGA board, we simulated our two VHDL codes with GHDL and GTKWave (two free tools with Linux). We built a test-bench based on experimental profiles and compared the results to values given by the C implementation. Both versions lead to correct results. Our first codes were highly optimized, indeed the pipeline could compute a new phase each 33 cycles and its latency was equal to 95 cycles. Since the Spartan6 is clocked at 100MHz, estimating the deflection of 100 cantilevers would take about (95 + 200 × 33).10 = 66.95µS, i.e. nearly 15,000 estimations by second.

D. Complete design

Figure 4 shows the complete processing chain, including FPGA components, the i.MX processor, and external devices. The main interface between the i.MX and the FPGA is a VHDL component called interconnector, that implements the wishbone protocol. It is in charge of relaying data from/to i.MX to/from other components. It is mainly used before the acquisition loop to fill the precomputed values LUTs, to send profile positions and identifiers to the profile extractor component, and to setup the sweep parameters to The table move component is directly connected to the nPoint controller that drives the nano-positioning table. It can be programmed to achieve two types of scan: a sequence of round trips in the x-y dimension or a simple round trip in the z dimension. The first one is mainly used to obtain topographic informations and the second one a force curve. For each type, the user can specify the size of the steps in space and time and their number.

The phase store component is connected to a specific bus on the board, called CSI bus. Usually, this bus is used to grab video frames from little CMOS camera at high rate (up to 60 MHz). We use it to flush the phases of all profiles, each time an incoming image has been totally processed. It is the most efficient way to send the phases to the CPU.

It should be noticed that unwrapping the tip phase is done on the CPU since it is not time consuming and quite complex to implement on the FPGA.

The whole source code represents 9,300 lines of VHDL (without comments) but nearly 3,800 were generated by ISE CoreGen ® to implement wrappers for RAMs and DSPs. The phase computer which is the heart of the design consists in 2,200 lines of code, highly optimized. It perfectly illustrates the complexity to transpose the 150 lines of LSQ written in C into VHDL.

E. Bitstream creation and tests

Unfortunately, the version of phase computer used during simulations led to a design that could not be placed and routed with ISE on the Spartan6 with a 100MHz clock. The main problems were encountered with series of arithmetic operations and more especially with RAM outputs used in DSPs. The distance between some RAMs and DSPs, combined to the time needed to achieve the multiplication led to a signal propagation that lasts longer than the clock cycle. We solve the problem by inserting a delay after the RAMs that were in this case.

Finally, we obtained a phase computer with a latency of 128 cycles and that can compute a new phase every 60 cycles. For 100 cantilevers, it would take (128 + 201 × 60) × 10ns = 121.88µs to compute their deflection. It corresponds to about 8,200 estimations per second, which is largely beyond our camera capacities and the possibility to extract a new profile from an image every 60 cycles. Nevertheless, it also largely fits our design goals.

Conclusion and perspectives

In this paper we have presented a full hardware and software solution for real-time cantilever deflection computation from interferometry images. Phases are computed thanks to a new algorithm based on the least square method. It has been quantized and pipelined to be mapped into a FPGA, the heart of our solution. Performances have been analyzed through simulations and real experiments on a Spartan6 FPGA. The results meet our initial requirements in terms of throughput (at least 100 deflection estimations every millisecond) and precision (1nm). The next step is to finalize the setup, integrating the camera and the nano-positioning table for the hardware part, and implementing components to drive them for the software part.

Future works will also address more general problems such as algorithm quantization and real-time filtering or control for AFM arrays in dynamic regime.

Figure 1 .

 1 Figure 1. Portion of a camera image showing moving interferometric fringes on a 17 × 4 array of cantilevers

Figure 2 .Figure 3 .

 23 Figure 2. Sample of worst profile for N=10

Figure 4 .

 4 Figure 4. Overall design

Table 1

 1

	gives the maximum and the average errors for
	both algorithms and for increasing values of N the noise
	parameter.
		LSQ
	noise (N) max. err.	aver. err.
	0	0.49	0.1
	2.5	1.16	0.22
	5	2.47	0.41
	7.5	3.33	0.62
	10	4.29	0.81
	15	6.35	1.21
	30	13.94	2.45

Table 1 .

 1 Error (in %) for cosines profiles, with noise.

Table move .

 move It also relays orders like to begin profile extraction.

	camera		CPU	CSI bus	nPoint controller
		clock 100MHz
			Interconnector
					Table move
	Frame grabber px_a px_b		pre-computed values LUTs prof_id values	Phase store
	extractor Profile	prof_id prof_pix	Phase computer cos x, sin x, LUTs cos 2x, sin 2x,	prof_phase prof_id	FPGA

Acknowledgements

This work is partially supported by the European Territorial Cooperation Programme INTERREG IV A France-Switzerland 2007-2013 and by the French National Programme LABEX ACTION.


Christophe Tournier
email: tournier@lurpa.ens-cachan.fr

Emmanuel Duc

Claire Lartigue

Alexandre Contri

The concept of the machining surface in 5-axis milling of free-form surfaces

The concept of the machining surface (MS) is a new approach to the process of design and manufacturing of free form surfaces. The machining surface is the surface representation of the tool path, integrating functional design specifications and machining constraints. By definition, the machining surface is a surface including all the information necessary for the driving of the tool, so that the envelope surface of the tool movement sweeping the MS gives the expected free-form. In this paper, we study the building of the MS for 5-axis end milling with usual cutting tools, ball, flat and filleted endmill. We make so that the design and manufacturing constraints taken into account by the machining surface are completely uncoupled within the MS.

Résumé : Le concept de la surface d'usinage apporte une évolution dans le processus de réalisation des pièces de forme gauche au niveau de la conception et de la fabrication. La surface d'usinage est une représentation surfacique du trajet de l'outil intégrant les contraintes fonctionnelles de conception ainsi que les contraintes technologiques de fabrication. Par définition, la surface d'usinage guide un point fixe de l'outil de telle sorte que la surface enveloppe du mouvement de l'outil soit la surface attendue. Nous présentons dans cet article comment se construit la surface d'usinage pour le fraisage à cinq axes en bout avec les outils de coupe couramment utilisés. Nous faisons en sorte que les aspects conception et fa-brication pris en compte par la surface d'usinage soient totalement découplés afin de conserver ces activités indépendantes.

Introduction :

The elaboration process of free-form surfaces must ensure the adequacy between the design intent and the produced part. The process consists in two main activities : the engineering and the manufacturing process (Fig. 1). The engineering process starts with styling and includes engineering constraints through the definition of high quality surfaces in the CAD database. The CAD model becomes the common support from the digital mock-up to the digital manufacturing. Then the CAM system computes the tool path to machine the part or its shape in a mould or a die. Finally, the machined part results from the envelope of the tool motion, i.e. the envelope of the calculated tool path. design intent. First of all there may be a deterioration of data when functional requirement and design intent are converted into tridimensionnal CAD data. In spite of the continuous improvement of CAD modeler, the techniques of surface construction remain limited. It is not always possible to obtain the forms expected by the designer as well as continuity connections between surfaces that are necessary to a precise machining. User's actions depend on the CAD software functionalities and the resulting shape does not fit with the user intent but is the closest shape the modeler can produce. Furthermore, styling or engineering specifications are lost, only the CAD model describes geometry for downstream applications. In the process, the tool path computation and the machining activities must guarantee a part that meets the geometry of the CAD model. But other errors are introduced during the tool path computation and during the machining because of the dynamic behaviour of the machine tool. The tool path generation for sculptured surfaces in 3 or 5-axis end milling relies on the choice of a tool driving direction and two discretization steps, the step length along the path (longitudinal step) and the cutter path interval (transversal step) (Fig. 2). The values of the discretization steps must be linked to the geometrical specifications of form deviation or roughness. They must also ensure the achievement of sharp edges and curvatures radii specified on the part. The concept of the machining surface has been developed in order to ensure the accura-cy between the machined part and the design intent and to optimize the tool path planning [START_REF] Duc | Usinages des formes gauches, contribution à l'amélioration de la qualité des trajectoires d'usinage[END_REF]. We present in this paper the result of our work concerning the use of the machining surface for the tool path planning in 5-axis milling. Our previous work on the adequacy between the machined part and the design intent has been presented in [START_REF] Duc | A new concept for the design and the manufacturing of free-form surfaces: the machining surface[END_REF].

The concept of the machining surface :

The machining surface (MS) is a surface including all the information necessary for the driving of the tool, so that the envelope surface of the tool movement sweeping the MS gives the expected free-form. (Fig. 3). The MS is built on geometrical elements so that the envelope surface respects the geometrical constraints of the design intent. The machining surface is the surface representation of all the cutter location, as the offset surface gathers centre point location of a ball endmill cutter. Then the tool path planning consists in the choice of curves on the machining surface (Fig. 4).

MS approach

In usual methods of free-form design and machining, the geometrical constraints are respected by the nominal surface. The tool path is planned on the nominal surface. This is the trajectory of the contact point between the surface and the tool, the C C point (cutter contact). The sampling of the path according to the step length criteria produces successive C C point locations. Then, the center point of the tool C L (cutter location), which is used by the numerical controller during machining, is computed regarding to the tool geometry (Fig. 5). The tool path computation based on C C points generally produces errors such as the error in the respect of the chordal deviation when using the linear interpolation [START_REF] Choi | Compound surface modelling and machining[END_REF] or oscillations when using Nurbs interpolation [START_REF] Duc | Usinages des formes gauches, contribution à l'amélioration de la qualité des trajectoires d'usinage[END_REF]. The sampling phase from the nominal surface to the set of discret C L points generates geometric deviations between the envelope of the tool movement and the expected surface [START_REF] Lartigue | Machining of free-form surfaces and geometrical specifications[END_REF].

The two-dimensional and continous approach suggested by the machining surface helps to avoid the problems previously mentioned. Thus the MS allows the planning of successive and adjacent C L points to create the tool path.

Our objective is to build a surface on which we can compute curves as tool paths, according to a machining strategy. The shape of the machining surface must lead to the respect of the design intent, whatever the machining strategy adopted. In 5-axis milling, the machining surface supports the positioning of the effective cutting area of the tool and the orientation of the tool axis.

5-axis end milling toolpath generation :

The toolpath generation in 5-axis milling consists in the computation of the cutter center location C L and the tool axis vector for each point of contact C C between the tool and the surface along the tool path [5][6].

To ensure the tangency between the tool and the machined surface and avoid gouging, the tool can be rotated around the two vectors and of the local coordinate frame defined by : (C C , , , ) where : is the tool feed vector, the vector normal to the surface and the vector tangent to the surface with Initially, the tool is positioned onto the surface at C C so that the axis vector is parallel to the normal vector . Then we apply the first rotation Ω t around the vector and second rotation Ω n around the vector (Fig. 6) [START_REF] Choi | Cutter location data optimization in 5-axis surface machining[END_REF]. Nevertheless, the movement of rotation is not centered at the same point in function of the tool geometry. For the flat endmill, the rotation Ω t is applied around the line (C C , ) and the rotation Ω n around the line (C C , ). On the other hand, for the filleted endmill the rotation Ω t must be applied arround the line (K, ) to prevent the tool from rolling on the surface and keep it tangent to the surface at C C . The second rotation Ω n is applied around the line (C C , ) passing though the point K. So, K is considered as the instantaneous rotation center of the two rotations. This remark remains valid with the ball endmill that can be considered as a filleted endmill with a principal radius R equal to zero. --------------- Creation of the machining surface : Our objective is to determine the machining surface according to the geometry of the tool and the number of axes used. We remind that the machining surface is the locus of points belonging to the tool, allowing its setting in position for each moment and in a unique way whatever the machined point. The machining surface may consist of one or more different surfaces. First of all, we show that the couple (C L , ) used conventionally to locate the tool in 5-axis is not appropriate to conceive the machined surface in the case of the filleted and the flat tools. Indeed, the orientation of the tool axis is defined in a local coordinate system related to the normal of the surface and the cutter feed direction . That means that the cutter feed direction, therefore the machining strategy, is known during the generation of the successive tool positions. The resulting machined surface, defined as the locus of C L and P so that , would then be a particular case adapted to the adopted machining strategy. Therefore, it becomes not possible to uncouple the design and manufacture phases. The choice of the couple (C L , ) is then not appropriate for the filleted and flat endmills. On the other hand for the ball endmill, the position of the center point C L is independent of the tool axis orientation. Thus, we preserve the couple (C L , ) to locate the ball endmill tool. We seek for another way of positioning the flat and the filleted endmills. In order to deal with a general case, let us consider the 5-axis milling with a filleted endmill then we will extrapolate the results to the other tool geometries. Rather than take the tool center C L and its axis to position the tool, we suggest to use the point K and the vector (Fig. 6). K is defined as the offset point of C C with an offset distance equal to the corner radius r of the tool. The point K plays a particular role because it belongs to the central axis of the torsor associated to the movement of the tool relatively to the nominal surface. Thus, K remains fixed during the rotational movements of the tool when the tool is set in position. There remains a possible rotation around the vector . However, it should be noticed that the tool axis vector , the vector and the normal vector passing through C C remain always coplanar during the two rotations Ω t and Ω n . Indeed, they are coplanar since the beginning of the setting in position because at any point C C , the normal to the surface passes by the axis of the torus (cf Appendix). Then, the two rotations around and leave the vectors , , coplanar. Knowing points K, C L and the normal vector is sufficient to position the tool in the 3D space. The tool axis vector is then defined by : with The points K and C L make it possible to define a unique tool position because they are located in the symmetry plane of the tool. The machining surface is thus composed of two surfaces S 1 and S 2 , loci of the points K and C L (Fig. 7). The normal vector is embedded in the equation of S 1 . We call the surface S 1 the guiding surface and surface S 2 the orientation surface. The guiding surface S 1 is the offset surface of the nominal surface with magnitude equal to the corner radius r of the tool. It is thus independent of the machining strategy. The orientation surface S 2 is the surface which gives the orientation of the tool axis according to the considered machining strategy.

C C C L r u n C C C L R n f u C E C C C L k u n f f R r C L C C r n ⋅ R v ⋅ + + = v u n ∧ u n ∧ -
- u ∧ = C L C C R v ⋅ + = v u n ∧ u n ∧ ----------------- u ∧ = C L C C r n ⋅ + = u t n f n t f n t t f n ∧ = u n t n t n t n
C C C L u n K C C f t f Ω t Ω n C C C L u n C C f t f Ω t Ω n v v u u n f C L P u = u u u v KC L = v u v n t n u v n n u v n v ∧ n v ∧ ---------------- ∧ = v KC L =

Conditions :

The orientation surface S 2 is located between two limit surfaces S inf and S sup . From the parametric equation of the normal surface S n , we can write :

The upper limit corresponds to the case for which the tool axis orientation is parallel to the tool feed direction . Moreover, for a given tool path (C 1 ) on surface S 1 , the associated curve (C 2 ) on surface S 2 is included in the pipe surface of radius R and of spine curve (C 1 ). This condition materializes the fixed distance between K and C L .

The lower limit corresponds to the case for which the tool axis orientation is parallel to the normal vector . This lower limit is a condition necessary but not sufficient to avoid gouging.

Other tool geometries :

The results obtained in the case of 5-axis milling with a filleted endmill can be extended to the other tool geometries. The flat endmill can be regarded as a filleted endmill with a radius of corner r null. The point K coincides then with the cutter contact point C C and the surface S 1 , locus of the points K is the nominal surface to be machined. In this case, the machining strategy controls the cutter contact point. As previous-ly exposed, the ball endmill can be considered as a filleted endmill with a principal radius R equal to zero. The point K coincides then with the point C L . The adopted solution that uses the points K and C L is not valid for this type of tool. Thus, we use the original configuration with the parameters C L and . According to the tool geometry, the machining surface breaks up into two distinct surfaces : the guiding surface S 1 which is the offset surface of the nominal surface, and the surface of orientation S 2 whose shape depends on the machining strategy.

We propose to build the guiding and orientation surfaces according to the method described in [START_REF] Farouki | The approximation of non degenerate offset surfaces[END_REF] because S 1 and S 2 are generalised offset surfaces. S 1 and S 2 are modeled by a multi-patch surface. Patches are bi-cubic interpolants connected in tangency. Each patch is expressed as a Ferguson tensor product surface :

with C the matrix of blending function (cubic Hermite basis) and Q the Coons matrix [START_REF] Faux | Computional Geometry for Design and Manufacture[END_REF]:

where Φ(ξ 1 ,ξ 2 ) is the implicit equation of the guiding or orientation surface. In order to keep the consistency of the surface representation in the CAD system, we use a Bezier (UNISURF) representation for patches : with M the cubic Bernstein basis matrix and B the matrix of the Characteristic Polyhedron vertices expressed as :

The precision obtained on surfaces S 1 and S 2 is proportional to the number of patches. From a point K on S 1 one finds the corresponding point C L on S 2 with the assumption that parameter setting of S 1 and S 2 are identical. Thus the method generates approximations. The errors on the guiding surface S 1 must be controlled because they cause local gouging between the tool and the nominal surface at the C C point. We have to use a large number of patches in the offset surface approximation to perform a precise machining. On the other hand, errors on the orientation surface S 2 present fewer disadvantages because the variations of orientation of the tool axis do not generate machining errors. Indeed, the controlled point is the point K which is the instantaneous center of rotation during two rotations of the tool. The orientation of does not influence the position of the active part of the tool. Moreover the tool radius R reduces the amplitude of the variations of S 2 on the orientation of the axis tool (Fig. 8). The maximum angle variation is given by : In conventional generation of tool path with a filleted endmill, the rotation Ω t is done around (C C , ) [START_REF] Lee | Admissible tool orientation control of gouging avoidance for 5-axis complex surface machining[END_REF]. The C C point is then the instantaneous center of rotation. Since C C is the contact point between the tool and the surface, the tool is rolling on the surface at C C . If there is an error in the calculation of the orientation of the tool axis, a collision appears at the C C point.

Example :

The treated example consists in machining a surface (a Bezier patch of degree 5) with a filleted endmill (R = 10, r = 4) and )

UCQC T V T = Q 00 Q 01 Q 02 Q 03 Q 10 Q 11 Q 12 Q 13 Q 20 Q 21 Q 22 Q 23 Q 30 Q 31 Q 32 Q 33

Figure 1 :

 1 Figure 1 : Elaboration process of free-form surfaces

Figure 2 :

 2 Figure 2 : Tool path generation

Figure 3 :

 3 Figure 3 : The machining surface

Figure 4 :

 4 Figure 4 : Evolution of the process

Figure 5 :

 5 Figure 5 : Tools geometry

Figure 6 :

 6 Figure 6 : Tool positioning in 5-axis milling

Figure 7 :

 7 Figure 7 : MS in 5-axis milling with a filleted endmill

Figure 8 :

 8 Figure 8 : Variation of tool axis orientation

Table 1 : Various machining surfaces 3-axis 5-axis Ball endmill

 1

		S 1 :	F rn +	S 1 :	F rn +
				S 2 :	F rn u + +
	Flat endmill	S 1 :	F Rv +	S 1 :	F
				S 2 :	F Rv +
	Filleted endmill	S 1 :	F rn Rv + +	S 1 :	F rn +
				S 2 :	F rn Rv + +
	r u v , (

Construction of the guiding and orientation surfaces :

Let us consider the nominal surface S n of R 3 and F the map which transforms an interval of the parametric plane (O,ξ 1 ,ξ 2 ) into S n . From nominal surface S n described by one can determine the map of the guiding surface: :

The orientation surface is built according to the orientation we wish to give to the tool along the tool path.

The orientation of the tool axis is described by . One can evaluate the map of the orientation surface followed by the center of various types of tools : for the ball end mill of radius r :

for the flat end mill of radius R :

for the filleted end mill of radii R and r : with

The following table gathers surfaces to be regarded as machining surface according to the type of tool and the number of axes used for machining.

R r S sup

with the following strategy: 5-axes milling, tool center guiding along parallel planes to yoz and Ω t = 20°, Ω n = 0°. S 1 is the offset surface of S n with an offset distance equal to 4 mm. S 2 is the generalised offset surface (

) with offset distance equal to R = 10 and r = 4. S 1 and S 2 are free from loops. The modeling of the kinematics of the displacement of the tool on both surfaces S 1 and S 2 made it possible to simulate the machining along the curve C 1 (Fig. 9), intersection of S 1 with the guiding plane. C is the contact curve followed by the C C point on the nominal surface and C 2 is the curve followed by C L on the orientation surface. The objective is now to use the machining surface to generate successive tool paths on a compound surface. To achieve this task, we will have to introduce technical surfaces in the machining surface framework to be able to add approach, retract and linking macros. We are also working on another method to build the orientation and guiding surface. The method would be based on the two fundamental forms to evaluate the local characteristics of the orientation and guiding surfaces. Indeed, the current approach is difficult to implement. The encountered difficulties come from several factors : the loops resulting from the offset operation, the need for synchronizing the parameter settings, the number of patches required to achieve hight quality machining. Let D 1 and D 2 be the two lines passing through the normal vector and the tool axis vector :

The distance between the two lines is d :

If M 1 is the origin of the coordinate system, we find : whatever the location of the point M 0 on the torus. The two lines D1 and D2 intersect. --------------------------------------------------------

x 0 i y 0 j z 0 k + + (

)