You are on page 1of 21

N-Dimensional Berlekamp-Massey Algorithm for Hultiple Arrays and Construction of Multivariate Polynomials with Preassigned Zeros

Shojiro SAKATA Toyohashi University of Technology Dep. of Production Systems Engineering Tempaku, 440 Toyohashi, JAPAN

Abstract: arrays.

In this paper we propose an algorithm of finding a minimal set This algorithm is an n-dimensional extension of the BerlekampOur algorithm

of linear recurring relations for a given f i n i t e set of n-dimensional Massey algorithm for multisequences as well as an extension of the ndimensional Berlekamp-Massey algorithm for a single array. is used to obtain Groebner bases of ideals defined by preassigned 2eros. The latter problem is an extension of that treated by Moeller and Buchberger in the sense that the zeros can be over any f i n i t e extension K of the base field K. Our approach gives an efficient method of obtaining In case that the dimension n is small, the Groebner bases of ideals defined by zeros to construct n-dimensional cyclic codes (i.e. Abelian codes). computational complexity is of order O((ILd)2), where I, L and d are the degree of the extension of Kover K, the number of the zeros and the size of the independent point set for the Groebner basis, respectively.

1.

Introduction
The Berlekamp-Massey algorithm [ i ] , [6] is used in decoding B H codes C

and also i t yields a shortest linear feedback shift register (LFSR) capable of generating a given sequence. The problem of finding a shortest LFSR which will generate a given f i n i t e set of sequences has been treated by

357 several authors [3], [4]. Among them, Feng and Tzeng [4] gave an Euclidean

method and Dai [3] gave an i~erative method in which one proceeds to examine component by component for the given set of sequences. Recently we [10], [12] gave an algorithm of finding a minimal set of linear recurring relations for a given n-dimensional (nD) array. the Berlekamp-Massey algorithm, That is an extension of In general an nD i.e. a synthesis algorithm of nD LFSR's to

generate nD cyclic codes ( i . e . Abelian codes) [11].

cyclic code is characterized by a f i n i t e number of (representative) codewords, i.e. nD arrays, and thus our previous algorithm for a single nD array does not always suffice. In this paper we propose an nD Berlekamp-Massey algorithm for multiple nD arrays which has computational complexity of O((ms)2), i.e. an iterative algorithm of finding a minimal set of linear recurring relations for a given f i n i t e set of nD arrays, where m and s are the number and the size of the given nD arrays, respectively. This algorithm is an extension not only of the ID Berlekamp-Massey algorithm for multisequences by Dai [3] w.r.t. the dimension n but also of the nD Berlekamp-Massey algorithm for a single nD array [10], [12] w . r . t , the number m of arrays. In both ways this is not a straightforward extension of them because several d i f f i c u l t i e s are contained in extending an algorithm pertinent to the univariate polynomial ring to that applicable to the multivariate pol~nomial ring as in extending the classical Euclidean algorithm to the Groebner basis algorithm [2]. The set-up realized in our algorithm is useful for obtaining Groebner bases where ideals are given by properties and not by bases. In particular, our algorithm can also be used to find a Groebner basis of the ideal of polynomials in the n-variate polynomial ring K [ z ] : = K [ Z l , . . . , 2 n] which vanish at a preassigned set of points in ~n, where K is any f i e l d and K is a f i n i t e extension of K. by Moeller and Buchberger [ ? ] . The problem is an extension of that treated They gave an algorithm for constructing a

Groebner basis of the ideal of K[z] defined by preassigned zeros in Kn, where any f i e l d extension is not considered, i.e. K=K. Let I be the degree of the extension of K over K. points V={a(1) . . . . , a ( L ) } For a given set of

in ~ n we inquire how to find a Groebner basis

358 of the radical ideal of K[z] t(V):={f~KEz]lf(a)=O, a~V}, where any n-variate polynomial f ( z l , . . . , z n) is simply written as f ( z ) or f= a ~ F f f a za, where D f : = { a ~ o l f a ( ~ K ) ~ O } is a f i n i t e subset of the nD l a t t i c e which is identified with the set ~O=ZOn of all n-tuples a = ( a l , . . . , a n) of nonnegative integers a l , . . . , a n, and za denotes the power product Zlal...Znan; ~n =(al,'",an )~K . f(a)=f(al,..., a n ) and a a = a l a l . . . a n a n ~ f o r a It is easy to see that a ~ n is a zero i f f the linear

recurring (LR) relation: f [ U ] p : = ~ a ~ F f faUa+p=0, (la) is valid at every p ~ O for the nD array u=!u p) over Kwhich has the components Up:=~PEK. If we express each UpEK by an l-tuple ( u p ( O ) , . . . , Up( I ' I ) ) of Up( k)EK, O ~ k $ 1 - ] , every nD array u~k)=(Up " ( k ) ) over K, O ~ k ~ l - l , must s a t i s f y the same LR relation ( l a ) . Consequently, we need the nD Berlekamp-Massey algorithm for multiple arrays, or more exactly, an algorithm of finding a Groebner basis of the ideal ]=I(U) which is composed of all f e K[z] satisfying the identity ( l a ) for every array u=u ( i ) over K in a prescribed set U = { u ( i ) l i e M : = { O , l , . . . , m - l } } , extension, i.e. in general m~Ll. where the fixed integer m depends on the number L of preassisned zeros and the degree I of the

The extended version of the Noeller-Buchberger problem has been treated also by Imai [5] and Poll [8] to construct semisimple nD cyclic codes defined by preassigned zeros. At any way, we are required to. obtain Our approach certain linear dependencies among the powers of the zeros.

gives an e f f i c i e n t method which has computational complexity of O((ILd)2), where I, L and d are the degree of the f i e l d extension, the number of the zeros and the size of the independent point set corresponding to the Groebher basis, respectively. Furthermore, our approach is different from their methods also in the sense that the problem is f i r s t converted to a problem for multiple nD arrays and then solved by applying our algorithm to the arrays. This s i t u a t i o n is similar with the case of Fast Fourier Transform, where the original problem given in the time domain is f i r s t converted to the corresponding problem in the frequency domain, and then the solution is obtained in the l a t t e r domain. In this context, polynomials and arrays correspond to time functions and frequency functions, respectively.

359 The following is the structure of the present paper. statement of our problem, our problem and we verify In Section 2, we

introduce several preliminary concepts b r i e f l y and present the formal in Section 3, we give an algorithm for solving i t in Section 4. In Section 5, we show a simple In

example of application of our algorithm to the extended version of the Moeller-Buchberger problem. Concluding remarks appear in Section 6. the following descriptions, we confine ourselves to the 2D case (n=2), which can be extended to any h{gher dimensions except some complications in more than two dimensions [t2].

2. Preliminaries Over the 2D integral l a t t i c e Eo:=Zo 2, we have the ordinary partial ordering ~ defined as follows: p=(pl,P2)~q=(ql,q 2) i f f P l ~ q l and p2~q2 , where p<q i f f p~q and pCq. On the other hand, to design an iterative algorithm, we f i x a total ordering <T over ~ 0 , e.g. the total degree ordering as follows: (O,O)<T(I,O)<T(O,I)<T(2,0)<T(I,I)<T(O,2)<T(3,0)<T... Besides, p~T q i f f p<Tq or p=q. For a ' p o i n t ' p=(pl,P2 ) E E O , we have the 'next point'

p+l:=(Pl-l,P2+l) if Pl>O; :=(P2+l,O) if Pl=O, according to the total order <T" Furthermore, to treat a set U={u(i) l i e
M:={O,l,...,m-l}} of m 2D arrays u( i ) , we also introduce a total ordering <<T over XoM:=ZOXM which is defined as follows:

((O,O),O)<<T((O,O),I)<<T...<<T((O,O),m-I)<<T((I,O),O)<<T...<< T

((I,O),m-I)<<T((O,t),O)<<T...<<T((O,1),m-1)<<T((2,0),O)<<T...
Besides, (q,l)<__<T(P,k) i f f (q,1)<<T(P,k) or ( q , l ) = ( p , k ) . The order implies that, at each point p of ZO, we stop to examine the components Up(i) of all given arrays u ( i ) , O~i~m-l, respectively, and then go to the next Thus, for ( p , k ) e ~ O M, we define the point p+l of p in the order of <T"

next point ( p , k ) + l e Z o M of (p,k) according to the total order <<T:

(p,k)+l:=(p,k+l) if k<m-1;
::(p+l,O) if k=m-1.

360 We assume that each element (2D array) u of U is defined on Z0 or a f i n i t e subset of ~0: 0P:={qE~01q<Tp} which is specified by a point p ~ E 0 . In the former case we call such an array u a perfect ( i n f i n i t e ) array, and in the latter case we denote u as uP and call the cardinality I Z0Pl the 'size' of the f i n i t e array u. For an array u, let uq denote the restriction (truncation) of u within Z0 q. We must inquire any linear recurring (LR) relations which are satisfied by every array u of U. For a bivariate polynomial f over K, i.e. an element f = Z a ~ F f f a za of KEz]:=K[zl,z 2] ( F f e Z 0 ) , we call the maximum element ( w . r . t . <T) of F f the 'degree' of f and denote i t as Deg(f) or s=sf, which specifies the 'head term' fs s of f ( f s 0 ) . Instead of the form of the identity ( l a ) , we consider a LR relation at a point xE ~ s : = { x e E0 I s ~ x } (or E ZsP:={E Z 0 1 s ~ < T p } ) v . r . t , form: an array u (or uP) in the following

(Ib) aE F f where s is specified implicitly by f in the left-hand expression. For a prescribed set U={u(i)l iEM} of m arrays u(i) which are defined at least on Z0P, qE E0 p and I~M, let z0(q,l):={(a,i)E ZOMI 0~'i<l, aE ~0 q+l} U{(a,i)~ZOMI l ~ i ~ m - l , a~Z0q}, (2a) ~s(q,1):={(a,i)~Zo(q,l)la~s}, (2b) u(q,I):={Ua(i)l(a,i)E ~o(q,l)}, (3) VALPOL(U(q,I)):={f ~ K[z]If[u(i)]x=0, (x,i) E Zs(q,l) , s:Deg(f)}.

flU]x:= ~ faUa+x.s=0,

(8)
Vhile an element f of VALPOL(U (q,l)) is said to be 'valid' up to qEE0 w.r.t, u(I), it is also said to be 'valid' up to (q,I)EZ0 M (w.r.t. U). W define the 'order' 0rd(f)=(q,l)~ZOM of a polynomial f (v.r.t. U) by e the condition: f ~ VALPOL(U( q , I ) ) and f [ u ( I ) ] q O . (5) For any set U of perfect arrays, VALPOL(U)={f~K[z]If[u]x=0, uEU, xE Zs, s=Deg(f)} is an ideal I(U) of K[z], but VALPOL(U (q,l)) is not necessarily an ideal of K[z]. Although our goal is to get a Groebner basis of I(U) for a set U of perfect arrays, we begin by exploring a subset F of

361
VALPOL(U (q,l)) each element f of which has a minimal degree w.r.t, the partial order <. Now we have the main definition:

Definition I: U(q,l) (l) (2) s,teS

FcKEz] is said to be a 'minimal polynomial set' for

i f f the following conditions are satisfied: FcVALPOL(U(q,I)); For S:={Deg(f) l f e F } , there exists no couple of distinct elements s.t. s ~ t ; S is said to be a 'non-degenerate' subset of Z0 and by

it a subset of ~0 is defined as follows:

Zs:=Uses ~s; (6) (3) For &(F):=EO/ES, there exists no polynomial 8 s.t. 8e VALPOL(U (q,1)) and #eg(8)e&(F), where / denotes the set difference operator.
The class of all minimal polynomial sets F for u(q,1) is denoted as FF(U(q,I)). While FeFF(U(q,1)) is not unique for U(q,1), but S and A(F) is unique for U( q , l ) . Thus, &(F) is written as & ( u ( q , l ) ) , which is called the 'independent point set' of U (q,1). Trivially, if (q,I)<__<T(p,k), then & ( u ( q , I ) ) c & ( u ( P , k ) ) . In general A(U ( q , l ) ) is a f i n i t e subset of Z 0. all maximal points (w.r.t. <) in A(u(q,1)). Let C be the set of

Then, we can write

A (U(q, I ))= IF"C:=Uc e C!r" c, (7"a) where F c : = { a e Z 0 1 a _ c } for ceC. For later convenience, we allow C to contain two infinite points (o~,-1), (-1,oo) outside of Z0, i.e. Coo:={(oo,-l), (-l,oo)} co. Thus, F c : = U c e c { a e Z 2 1 a ~ c } c Z 2 and A (u(q, I))=F CA Z O, (Tb) where Z2 is the set of all pairs of (non-negative and negative) integers. For each seS and i e { 1 , 2 } , there exists ceC s.t. si=ci+l, sj_~cj, j ( i ) e { I , 2 } . Such relationship is denoted as sFc and s is said to be 'adjoined' to c.

In the previous paper [10], we have proven that, for an array u=uP,. &(uP) = U Aq- t, (8) t,qe ZoP

362 where A q - t :=Fq-t, if there exists a po]ynomial g having Deg(g)=t and 0rd(g)=q; :=, otherwise.

In the above, 0 r d ( g ) e ~ 0 is defined w.r.t, the single array u. Thus, we have m distinct subsets A(u (i)p) for u( i ) e U , which are defined independent of each other by the above identity. We must distinguish between 0 r d ( i ) ( f ) e ~ 0 and 0 r d ( f ) e ~ 0 M, where 0 r d ( i ) ( f ) is defined w.r.t the array u( i ) and 0rd(f) is defined w . r . t . U . T r i v i a l l y , we have ( U A(u(i)q+l))u( U A(u(i)q)) c A(u(q,])), (9) 0~i<l l<i<m-l= = where the equality does not always hold. Example t: For the seL U={u(0),u (1)} of arrays over K=GF(2) shown in Pig. I a, b and q=(2,1), we can verify that /x (u(q'0))=P (2 0 ) U P ( 0 ,); A<u(0)q):F(t,'0), z ~ ( u ( l } q ) : r ( 1 , o ) U r ( o . 1 ), and so we have the gap between A(U (q,0)) and A ( u ( 0 ) q ) U A ( u ( 1 ) q ) = D ( t , 0 )

UF(0,]).
0 I 0 0 0 1 1 1 1 0 0 0 0 0 ~ l 0 0 1 0 1 0 0 0 I 1 1 1 1 0 0 I 1
0

a Fis. t'

b 2D arrays u(0), u(1) over" GF(2).

Thus, our problem is how Lo find A(t.i ( q , l ) ) and FeFF(U ( q ' l ) ) at ever:y ( q , 1 ) e 2 0 ( P , k) iteratively in the increasing order w.r.t. <<T"

363 3. Findin8 a minimal polynomial set for U(p,k)

Before attacking our problem, we have the following observations which follow from the lemmas in the previous paper [I0], [12]: ( 1 ) Let FeFF(U(q,1)). If every polynomial feF satisfies f[u(I)]q=O, then Fe FF(U(q',I')), where ( q ' , l ' ) = ( q , I ) + l ~ EOM. (2) Let FE FF(U(q,1)) and, for some f e F with Deg(f)=s, df:=f[u(1)]q~O, (i0) where df is called the 'discrepancy' of f. If there exists g E K[z] with Deg(g)=t s.t. 0rd(g)=(a,l) for some aE E0 q and c:=a-t= q-s, then the polynomial +^ h:=h(f,g):=f.(df/dg)zs-q cg (lla) has Deg(h)=s=Deg(f) and heVALPOL(U(q',I')) for (q',l')=(q,I)+1, where dg is the discrepancy of g, i.e. dg:=g[u(i)]a(#0), and ~ is called the 'span' of g and denoted as Span(g). These observations lead us to introduce the following iterative algorithm, which we wilt verify in the next section. During the process of the algorithm, we keep or update at the j-th iteration (j=0,1,2,...) the
data:

( q , I ) = ( q j , l j ) e Zo(P,k); Uj:=u(q,]); r j e r r ( U j ) ; Sj'={Deg(f) l f e F j } ; Cj s.t. A(Uj)=FCjA~O, i.e. %Si=EO/FCj; Fj:={feFj^ I Ord(f)=(q,I), i.e. f[u(l)]q~O; Deg(f)~q- for soee eSj}; Sj:={Deg(f) I f E Fj}; Gj:={gEK[z]IgEFi, Ord(g)=(qi,li) , l i = l j , q i e ~ O q for some i<j} Cj::{Span(g) I geGj}~Coo, where let (oo,-1), (-1,oo)ECoo be Span(g) for two polynomials 8=0, respectively; Sj s.t. ~ j = Z O / F C ~ . In the following, for f e F j with Deg(f)=s, gGj with Span(g)=~ and q=qj, let r :=max(s,q-C), where, for a=(a],a2), b=(bl,b2)eZ0, max(a,b):=(max(al,bl),max(a2,b2)) e E O" Then, the polynomial h:=h(f,g)'=zr'sf-(df/dg)zr'q+~g (llb) ^< has Deg(h)=r, which is identical with the formula (lla) iff q-c=s.
A

U{0, 0};

364 Algorithm: Step I: j:=O; (q,]):=((O,O),O); FO:={I}; SO:={(O,O)}; C:=C~; G0,...,Gm.I::{0, 0}, C0,...,Cm.I:=Co~, S .... ,Sm.I ={(0,0)}, O Step 2: Vj:={feFj I 0rd(f)-(q,l), Deg(f)__.q-~ for some @eSj}; Sj ::{s=Deg(f) I f EFj}(c Sj); if Fj=~, then begi n Fj+l:=(FjU{h=h(f,g) I f e Fj with Deg(f)=s s.t. Ord(f)=(q,l), q - s ~ for some geGj with Span(g)=~e~j}) / { f e Fj I Ord(f)=(q,l)}; sj+1::sj; q+1::q; ^ Gj+m:=Gj; Cj+m:=Cj; Sj+m'=S j, end,
A .

else

beg i n Fj+l:=(FjU{h=h(f,g) I fEF j with Deg(f)=s s.t. Ord(f)=(q,1), q-s_c for some geGj with Span(g)=cECj} U{h=h(f,g) I f E F j with Deg(f)=s, geGj with
span(g)= e s.t.

U{h=h(f,8) I feFj with Deg(f)=s, gEGj with Span(g)=eeCj s.t. q-c=c, q-s~_s, sFc, ~F~ for some ceCj and some .~ESj}) /{f E Fj I Ord(f)=(q,I)}; Sj+I:=(SjU{q-~" t ~ECj s.t. s<q-~" for some s e Sj} U{max(s,q-~':) I seSj, ~;ECj s.t. q-c=c, q-s__s, s ~-c, $ ~-~ for some c ~ Cj and some e Sj} l{s=Deg(f) I f EFj s.t. 0rd(f)=(q,I)}; Cj+l:=(CjU{q-s I ~eSj s.t. s=q-s for some s~Sj}) /{ceCj I c<q-~ for some ~eS:j satisfying s~q-~ for some seSj}; Gj+m:=(GjU{f e Fj}) /{SeCj I Span(8)<q-Des(f) for some f e ~ j } ; ~j+m:=(CjU{Span(f)=q-s I s=Des(f), f e F j } ) /{~EC'j I ~<q-Deg(f) for some f e P j } ;
^ < ^

365 Sj+m:=(SjU{q-c i c~Cj s.t. s<q-c for some s~Sj satisfying s~q-s for some s~Sj} U{max(q-c,~) I c~Cj, ~ S j s.t. q-c_~, ~ q - s , sl-c, ~ - ~ for some se~j and some ~ e ~ j } ) /{~ESj I s+s_q for some s ~ S j } ; end; Step 3: j:=j+l; (q,l):=(q,])+1; if (q,l)=(p,k) then stop; else go to Step 2. In Step 2, the cases of s'".=q-cESj+ 1 and s'.=max(s,q-c)~Sj+ 1 are i l ^ " ^ lustrated in Fig. 2 a and b, respectively. Similarly, the case of c':=q-~ Cj+ t is illustrated in Fig. 3. Furthermore, the cases of ~':=q-c~Sj+m, ~':=max(q-c,~) ~Sj+m and ~':=q-s~j+m are illustrated in Fig. 4 a, b and 5, respectively.
A A

1
S

I I
q-s~t
^i

Vq:
I

~TI

I
i
Fig. 2a: s':=q-~eSj+ 1 Fig. 2b:

1
s':=max(s,q-~)eSj+ 1

cll,
Fig. 3: c " .=q-s~ Cj+~o ^ .

366

q-SJ

! 1 I
q-c
C,

#~

''

q-c

Fig. 4a: ~':=q-c~Sj+m

Fig. 4b:

~' :=max(q-c,s) ^

^ E Sj+ m

I
s I I i

Fig. 5:

~':=q-seCj+m

Remark' For each i eM, the sequences of subsets Ci, Ci+ m, Ci+2m, ... and Si, Si+m, Si+2m, "'" are pertinent ~o the i-th array u( i ) . Thus, during the
process, we

have m+t non-decreasing sequences of subsets:

A(Uo)C_ A(UI)C_ A(U2)c_...; P~'0c_F Cm-F C2m-. " " ^ c ^ c

r ~ _ t c r c ~rn-x- r C ,^ m - 1 .... .c ~ Every s t r i c t inclusion c in the f i r s t sequence corresponds to a s t r i c t inclusion in one of the other sequences.
-

367
Example 2: For the same set U={u(O),u( I ) } of arrays over K=GF(2) as

in Example I, we have the computation by the algorithm shown in Table I, where, for clarity, the columns of (q,I), Gj and Cj are divided into two parts which correspond to u(0) and u( I ) , respectively.

4. Verification of Algorithm In this section, we verify the algorithm, i.e. we prove Theorem i" Then, Fj ~ FF(UJ), j=O,1,2,... Since FO={1}EFF(UO), we have only to prove that, if FjEFF(UJ) for any j e ZO, then Fj+ 1 e FF(UJ+I), where Fj+! is determined by the procedure of Step 2 in the algorithm. In particular, if ~j=@, then either we have Fj+I=F j or we can find each polynomial f in Fj+! by the formula (11a), where Sj+1=SJ for either case. (For details, see Theorem I in the previous paper [12].) If F j ~ , then there exists s~Sj s.t. s=q-s for f E F j with Deg(f)=s, where q=qj. Therefore, we have only to show that there exists no polynomia] hEVALPOL(Uj + l ) s.t. Deg(h)=r~q-~, where we remark that SiC Sj+ I (i.e. A(UJ)cA(UJ+I))iff Sj~Sj+m (i.e. F ~ j c F Cj,~)" ~ Let Ord(1) be ( q j ( o ) , l j ( O ) ) for the polynomial f=IEF O. Thert~ it is easy to see that there exists no polynomial h~VALPOL(UJ(0)+I) s.t. Deg(h) ~ q j ( o ) "s =qj(o), where s:(O,O)eSo=Sj(o). j<O)<j. Now, let J:=(ieZ Thus, we can assume that Let Fj, j=O,l,2 . . . . . be determined by the algorithm.

OI O_~i<j,

S i * S i + I}

={i~z o ~ o_-<i<j, ~i~i+m}


= { j ( i ) e Z Ol O - i ~ T , j(O)<j(1)<...<j(~)<j}, where O ~ ? ( ~ Z o ) . Any polynomial h with Deg(h)=r s.t. s---r___q-~ can be expressed in the following form: h= hsrzr'sf + ~ hs,r,zr'-S'fs, ( s ' , r ' ) ~ TI' + ~ ( ~. ho~ (i)/3 (j)z/3 ( i ) " c~( i ) f ~ ( i ) ) , (12) O~ i_~ ~r (c~ (i),/3 ( i ) ) ~ 1-1(i)

388
Table 1"

Computation for the arrays u(0), u(I) shown in Fig. la, b (x:=z I, y:=z2; The data Coo={(oo,-l), (-I,oo)} is omitted.)
#,

j
I

q, ]l
1

F
1 1
X

0 io,o o
2 1.0 0
31
tt 0 , 1 0
I

G 0

C/Co~

Y 1 x2 Y x2

(o,o) (0,0) (o,o) (o,o) (o,o) (o,o) (o,o) (o,o) (o,o) (o,o)

Y 5 1 2 t y+x I 6 12,0 0 [. x2 I y+x+I x2 7

t'

y++l

8 fl,llo I
9

x2+l

y+x+l t: x2+l

y+x+l 1010,2 0 : x2+l y+x+l 11 1 x2+l


12 3,0 0 y+x+l x2+l xy+x+l

y2+y+x 13 1 x3 y+x+l y2+y+x 14 2,1 0 x3 xy+x+l y2+y+x

y+x+l

(o,1)

x2+l

(t,o)

369 3
xy+x+l y2+y+x x3 xy+x+l y2+y+x x3 xy+x+1 y++1

(o,1)

2+i

(1,o)

y+x+1

(o,1)

y2+x2+y+x+l x3 xy+x+l y2+x2+y+x+l x3


x~+x+l y2+x2+y+x+l

x2+I

(1,o)

y+x+l

(0,1)

3
xy+x+l y2+x2 x3 xy+x+l y2+x2 x3 xy+x+l y2+x2 3 xy+x+l ~2+x2

x2+I

(1,o)

y+x+l

(0,1)

x2+l

(1,o)

y+x+l

(0,1)

x3+y+x+1
xy+x+l y2+x2

2+1

(1,o)

x3+y+x+l
xy+x+l y2+x2

x2+l

(i,0)

370

where feF'j, Deg(f)=s, s-<r~q-~, hsr(eK)O; fs, eFj, Deg(fs,)=s', s'~_r'<Tr, hs,r, eK; 1 - I ' : = { ( s " , r ' ) e E o x E o I s'=Deg(f') , f ' e F j , s'___r'<Tr}; f a ( i ) e F j ( i ) , h a ( i ) # ( i ) eK,
I-i(i):={(a,/3)e a=Deg(g), g ~ F j ( i ) , a _ ~ / 3 _ - < q j ( i ) - s^ for some (i )} , o ~ i - T " , -

EoXEol

~j

(For 1-I(i), see Fig. 6.) Ve remark that Ord(f)=(q, ] ):=(q.i, I j); Ord(f')>_>_>_>=>T(q,1) f ' eFj. , O r d ( f a ( i ) ) = ( q . i ( i ) , l j ( i ) ) , f a ( i ) e ~ j ( i ) , O--<i= <~'; Now, we require Ord(h)>>T(q,I) on the assumption that Deg(h)=r, i.e. hsr# in O. To investigate the order of each term the expression (12), we define the order of a polynomial f as a polynomial with (virtual) degree r_Deg(f) as follows: Ordrf=(p,k) i f f fEu(i)]xr=o, ( x , i ) e E r (p,k) and fru(k)]pr~O, where, for an array u and _r,

ha(i)f3(i)z~(i)'a(i)fa(i)

f[u]xr:=

aePf

faUa+x.r,

qjci)- S

z I

Fig. 6: (a,[3)EI-I(i)

37t In particular, Ords(f)=Ord(f) for s=Deg(f). Then, we have

Lemma i: For any polynomial f with Deg(f)~r, Ordr(f)=(r,O)+Ord(f)-(Deg(f),O). (tts proof is in Appendix.)

By the way, we remark that Ord(2if)=Ord(f), and that, for r~Deg(f)+i, Ordr(zif)=(r-i,O)+Ord(f)-(Deg(f),O). Now we have the key Lemma 2" For ( a , / 3 ) e H ( i ) , we have (a',l?')e!rI(i'), O-<__i,i'_~v, s.t.

(e,/3)(a',/3'),

Ordr(z/3 - a fa)Ordr(Z/3 '" a ' f a ')" (The proof is in Appendix.) Furthermore, for ( a , # ) e H ( i ) ,
(s',r') e ~

05i$T,

Ordr(Z#'afa)(q,I)

and, for

',

Ordr(zr' -s' fs,)=(r-r ,O)+Ord(fs,)>>TOrd(fs,)&>TOrd(f)=(q,I). From the above considerations, we can rearrange the terms of the expression (12) in the increasing order of Ordr(). Among them, every term having Ordr()<<T(q,I) must vanish, i.e. h aft=O, since h[u(i)]xr=O for ( x , i ) e E r (q,1), and O r d r ( z # L a f a ) are distinct not only from each other but also from Ordr(zr'sf). Therefore, the term hs~2r'sf must also vanish, i.e. hsr=O, which is a contradiction. Consequently, we have completed the proof of Theorem 1. Example 3: we have For the same set of arrays as in Example 1, let the com-

ha~z#-afa

ponent u(4,,1)(l)=l be appended, Then, for j=32,

(x:=zl, y:=z2)

(q,1)=(qj,lj)=((4,1),l),

a={((O,O),l), ((1,0),0), ((0,2),1), ((3,0),0)}, T=3; Fj(O)={1}, ~j(1)={x}, Fj(2)={Y+x+I}; Fj(3)={x2+l};

Fj={3+y~+l, xy+x+l}, ~j={(l,O),(0,2)}.

For ~=(I,O)ESj, let r=q-~=(3,1). The values of O r d r ( z # ' a f a ) for f e ( U o ~ i ~ 3 [ j ( i ) ) U [ j which are arranged in the increasing order of <<T are shown in Table 2. From the table, it is easy to see that we cannot

372

have hEVALPOL(Uj+1) s.t. Deg(h)=r:(3,1) for tile appended data u(4,1)(1)=l.

Table 2: O r d r ( z # - a f a )
0rdr( )
..... ((3i"1),0)

zl3 - a f a
X

((3,1),I) ((4.t),0) ((4,1),I) ((3,2),I) ((5,1),1) ((~,2),1) ((~,1),I)

x2+1 y(x3+y+x+l) (or x2(xy+x+l))


y+x+l

x(xy+x+l) x3+y+x+l
xy+x+1

By the way, we have the uniqueness theorem ( i t s proof is similar as in the case of a single array [11]):

Theorem 2"
U
sESj

Let qj=q and Ij=0.

If

U (s+F~ji))cZOq,
i EM m unique up to scalar factor in K, where s + FC].~ "={s+ala

then

Fj~FF(UJ) is
J

The theorem assures that, after applying our algorithm in a f i n i t e number of iterations, we can get the desired unique solution, and so that we can solve the extended version of Moeller-Buchberger problem by our method.

5.

Application of Algorithm Now we apply our algorithm to the extended version of the Moeller-

Buchberger problem.
Let K=GF(2) and a be a root of the irreducible polynomial 3 over K" x3+x+|, i.e. a E ~ K:=GF(2 ). For V={(a, a 2 ) } , we have an array uij= a i+2j over ~, which can be represented by the set U={u(0), u( I ) , u(2)} Example 4:

373

of arrays over K.

While the exponents i of values a i are shown in FiB. Applying the

7a, the components of arrays over K are shown in Fig. ?b-d. algorithm to U, we have at (q,1)=((3,0),O) F={x2+y, xy+x+], y2+y+x} e FF(U((3,0),O)), where x:=z I, y:=z 2. (7,0)

Since the arrays of U are doubly periodic with the

fundamental period parallelogram: (5,l):={(i,O)EZolO~i<7}U{(i,l)eEol5~i<12}, In fact, the suluwe can stop the computation at p=(4,0) or much e a r l i e r . J=l(v).

tion F obtained at ((3,0),0) just constitutes the reduced Groebner basis of

0 1 2 3 4 5 6 0

2 3 4 5 6 0 1

4 5 6 0 1 2

6 0 1 2 3

I "2 3 4

3 4 5

5 6

1 0 0 I 0 l 1 1

0 1 0 1 1 1 0

0 I 1 1 0 0

I 1 0 0 1

0 0 1 0

1 0 I

1 1

Fig. 7a: 2D array of exponents i+2j

Fig. 7b" component 2D array u(0)

0 l 0 1 1 1 0 0

0 1 I 1 0 0 1

1 1 0 0 1 0

0 0 1 0 I

1 0 l 0

1 1 1

1 0

0 0 1 0 1 1 1 0

1 0 1 I 1 0 0

1 1 1 0 0 1

l 0 0 I 0

0.,0 1 0 1 I 1

I I

Fig. 7c" component 2D array u( I )

Fig. ?d: component 2D array u (2)

374 6. Concluding remarks


W have given the nD Berlekamp-Massey algorithm for multiple nD arrays e which is a generalization not only of the nD Berlekamp-Massey algorithm for a single nD array [10], [12] but also of the (one-dimensional) Berlekamp-Massey algorithm for multiple sequences (one-dimensional arrays) [3]. Our algorithm has computational complexity of O((ms)2), where m and s In our alare the number and the size of the given arrays, respectively.

gorithm we f i x the order among the arrays, i.e. at each point q of the nD lattice ZO, we stop to examine the components Uq(0), Uq(1), . . . , Uq(m-1) of all the given arrays u( i ) , O~i~m-l, in this order. I t is necessary to f i x the order of arrays as described above, for our algorithm does not work well in an indefinite order of arrays, e.g., in case of m=2, . . . , (q,O), ( q , l ) , (q+l,1), (q+1,0), . . . By our method we can also obtain multivariate polynomials with preassigned zeros. The latter problem is an extension of the Moeller-Buchberger problem [7] in the sense that the zeros can be elements of any extension field of the base field. In this case, our algoritfim has computational complexity of order O((ILd)2), where I, L and d are the degree of field extension, the number of the given zeros and the size of the independent point set corresponding to the Groebner basis, respectively. Imai [5] and Poll [8] treated a similar problem to construct nD cyclic codes (Abelian codes). Our approach can be an alternative and more efficient method. Over a field K having characteristic O, we cannot have any periodicity of arrays. Even in such cases, we can get the solution in a f i n i t e number of iterations in view of the uniqueness theorem.

REFERENCES

[i]

Berlekamp, E. R., Binary BCH codes for correcting multiple errors: The Gorenstein-Zierler generalized nonbinary BCH codes for the Hamming metric, in "Algebraic Coding Theory," Chapters ? and 10, pp.176-199, 218-240, McGraw-Hill Book Comp., New York, 1968.

[2]

Buchberger, B.B, Groebner bases: An algorithmic method in polynomial

375 ideal theory, in "Multidimensional Systems Theory," (Ed.N.K.Bose), Chapter 6, pp.184-232, D. Reidel Publishing Comp., Dordrecht, 1985.

[3]

Dai, Z. D, An iterative algorithm for synthesizing multi-sequences, preprint.

[43 Feng, G. L. and T2eng, K. K., A genelari2ed Euclidean Algorithm for


multiseqence shift-register synthesis, the Fourth Carribean Conference on Combinatorics and Computing, Puerto Rico, 1985. [5] Imai, B., A theory of two-dimensional cyclic codes, information and Control, vol. 34 (1977), pp.1-21. [6] Massey, J. L., Shift-register synthesis and BCH decoding, IEEE Trans. Information Theory, vol.tT-15 (1969), no.l, pp.122-I27.

[7] Moeller, H. M. and Buchberger, B., The construction of multivariaLe


polynomials with preassigned zeros, in "Computer Algebra: EUROCAM'82 European Computer Algebra Conference, Marseille, France, April 1982," (Ed. G. Goos and J. Bartmanis), pp.24-31, Springer-Verlag, Berlin, I982.

[8] Poli, A., Some algebraic Lools for error-correcting codes,


in "Algebraic Algorithms and Error-Correcting Codes: AEECC-3, Grenoble, France, July 1985," (Lecture Notes in Computer Science, No.229; gd G. Goos and J. Hartmanis), pp.43-60, Springer-Verlag, Berlin, 1986.

[9] Sakata, S., On determining the independent point seL for doubly
periodic arrays and encoding two-dimensional cyclic codes and their duals, tEEE Trans. Information Theory, vo].IT-2? (1981), no.5, pp.556565.

[Io] Sakata, S., Finding a minimal set of linear recurring relations


capable of generating a given f i n i t e two-dimensional array, J. of Symbolic Computation, vol. 5 (]988), no. 3, pp.321-338.

376 [i1] Sakata, S., Synthesis of two-dimensional linear feedback shift registers, in "Proceedings of AAECC-5, Menorca, Spain, June, 1987," (to appear), Springer-Verlag. [12] Sakata, S., Extension of the Berlekamp-Nassey algorithm to n dimensions (submitted for publication in 'Information and Computation').

APPENDICES
Proof of Lemma I"

f[u(i)]xr=

2
ae F f

fau(i)a+x_r = 2
ae F f

fau(i)a+(x.r+Deg(f))_Deg(f).

Therefore, f[u(t)]xr=O, if (x-r+Deg(f),i)<<TOrd(f):=(p,k), and f[u(k)]xr. O, if x-r+Deg(f)=p. Thus, Ordr(f)=(r,O)+Ord(f)-(Deg(f),O). Q.E.D.

Proof of Lemma2: First, let / 3 / 3 ' , ( a , / 3 ) , ( a ' , / 3 ' ) e T I ( i ) , i.e. Ord(fa)=Ord(fa,). Then, Ordr(z/3-afa)=(r,O)+Ord(fa)-(/3,0) is not equal to Ordr(z/3 ' - a ' f a ')=(r,O)+Ord(f a ,)-(/3 ',0). Second, let ( a , # ) e [ 1 ( i ) , (a',/3')el1(i'), l j ( i ) = l j ( i , ), i<i' Then, Ord(f~)-(/3,0) and Ord(f a ,)-(/3 ',O) are distinct from each other, since, in view of the definition of Cj+m, Sj+m from Cj, Sj in Step 2, O r d ( f a ) = ( q j ( i ) , l j ( i ) ) , q j ( i ) ' / 3 - ~ q j ( i ) "a ~ for some ~e~j(i+1), i + l ~ i ' , O r d ( f c z , ) = ( q j ( i , ) , l j ( i , ) ) , q(i,)-/3'_~qj(i,)-(qj(i,)-)=~ for some ~e Sj( i ,), i.e. qj(i ')-/3 ' e ~Sj(i'), q j ( i ) "/3 e F C j ( i , t ), and

F~j(i.l.)C~2~j~i, ) =Third, let ( a , 1 3 ) e T I ( i ) , ( a ' , / 3 ' ) E T I ( i ' ) , l j ( i ) # l j ( i , ). Then, obviousl:y, Ord(z/3-~fa)=(*,lj(i)) and O r d ( z ~ ' - a ' ' f a )=($' lj(i ')) are distinct. Q.E.D.

You might also like