On Isometries for Convolutional Codes

In this paper we will discuss isometries and strong isometries for convolutional codes. Isometries are weight-preserving module isomorphisms whereas strong isometries are, in addition, degree-preserving. Special cases of these maps are certain types of monomial transformations. We will show a form of MacWilliams Equivalence Theorem, that is, each isometry between convolutional codes is given by a monomial transformation. Examples show that strong isometries cannot be characterized this way, but special attention paid to the weight adjacency matrices allows for further descriptions. Various distance parameters appearing in the literature on convolutional codes will be discussed as well.


Introduction and Basic Notions
One of the most famous results in the theory of linear block codes is MacWilliams' Equivalence Theorem [13,14]; see also [10,Sec. 7.9]. It tells us that two block codes are isometric if and only if they are monomially equivalent. Stated more precisely, weight-preserving isomorphisms between codes are given by a permutation and rescaling of the coordinates. Hence the intrinsic notion of isometry coincides with the extrinsic notion of monomial equivalence and this settles the question of a classification of block codes over fields with respect to their error-corrrecting properties. Since the discovery of the importance of linear block codes over Z 4 for nonlinear binary codes, the result has enjoyed various generalizations to block codes over certain finite rings, see for instance the articles [19,20,8,1].
For convolutional code such a result is not yet known. In other words, a classification taking all relevant parameters of the codes into account has not yet been established and it is not yet clear as to when two such codes may be declared the same with respect to their errorcorrecting performance. In this paper, we will make a step in this direction by studying isometries, that is, weight-preserving F[z]-module isomorphisms between convolutional codes in F[z] n . It is immediate that the notion of isometry is too weak in order to give a meaningful classification of convolutional codes. Indeed, one can readily present convolutional codes of positive degree that are isometric to certain block codes. For this reason we will also consider degree-preserving isometries, in other words, isometries that also preserve the length of the codeword sequence. They will be called strong isometries throughout this paper.
In the next section we will recall various distance parameters known for convolutional codes, see, e. g., [11,9,12], and in Section 3 we will discuss which of them are preserved under (strong) isometries. In Section 2 we will also introduce a crucial invariant of convolutional codes, the weight adjacency matrix (WAM, for short). This matrix has been studied in detail in the literature [16,3,5]. It is indexed by the states of a chosen state transition diagram and contains, for each pair of states, the weight enumerator polynomial of the set of outputs corresponding to the respective state transition. Factoring out the group of state space isomorphisms the WAM turns into an invariant that contains an abundance of information about the code. Indeed, all the distance parameters mentioned above can be deduced from the WAM. However, the WAM is an even more detailed invariant of the code. Indeed, in Section 3 we will present an example showing that (strongly isometric) codes sharing all those distance parameters do not necessarily have the same WAM. Further proof of the strength of the WAM is provided by the MacWilliams Duality Theorem which tells us that the WAM of the dual code can be computed directly from the WAM of the primary code without having to compute weights of branches in the state transition diagram of the dual code [6,7].
In Section 4 we will show that, similar to the MacWilliams Equivalence Theorem for block codes, two convolutional codes are isometric if and only if they differ only by a z-monomial transformation, that is, by a permutation of the codeword coordinates and a rescaling with monomials of the form αz s , α ∈ F * , s ∈ Z. However, even though this result is very useful due to its explicit description of all isometries, it is not quite the answer one is looking for because isometries are too weak of a notion in order to classify convolutional codes in a meaningful way. But the characterization just mentioned is the best one can hope for because, as we will see in Section 3, no such result can be expected for strong isometries. Indeed, there exist strongly isometric codes that are not necessarily monomially equivalent in the classical sense (allowing, besides permutations, only rescaling by nonzero constants) -even if the codes share the same WAM. Fortunately, there are two positive results concerning strongly isometric codes. Firstly, codes with only positive Forney indices and sharing the same WAM are even monomially equivalent and no a priori knowledge about a strong isometry is needed; this has been proven earlier in [5]. Secondly, strongly isometric encoders sharing the same WAM with respect to the same fixed basis of their common state space are monomially equivalent. Stated in other words, two strongly isometric codes for which there exists a pair of strongly isometric bases sharing the same state transitions and the same WAM are monomially equivalent.
All the above shows that a classification of convolutional codes is not as straightforward as for block codes. Due to the abundance of information about the performance of a code stored in its WAM, we think it is worthwhile to investigate those strong isometries that also preserve the WAM of a code. An explicit characterization of those maps would enable us to tell whether two codes may be regarded completely the same with respect to their error-correcting capabilities. We have to leave this as an open question to future research.
Finally, in the last section of this paper we will discuss generalizations of our results in two different directions. Firstly, we will briefly consider weight-preserving F-linear (but not necessarily F[z]-linear) isomorphisms between convolutional codes. This much weaker notion of isometry raises plenty of interesting questions, which, again, we have to leave open to future research. First answers can be found in the monograph [17]. Secondly, we will discuss (strong) isometries for convolutional codes defined in the setting of rational functions and Laurent series. We will see that the results from the polynomial setting extend in an expected way to this larger context.
Let us now close the introduction with recalling the basic notions of convolutional coding theory as needed throughout the paper. From now on let F = F q be a finite field with q elements. (1.1) We will need the weight enumerator of sets S ⊆ F n . It is given as where, of course, wt(v) denotes the Hamming weight of v ∈ F n . The weight enumerator we(C) of a block code C ⊆ F n has been investigated intensively in the block coding literature. For instance, the famous MacWilliams Identity Theorem [14] tells us how to completely derive we(C ⊥ ) from we(C), where C ⊥ is the dual of C with respect to the standard inner product on F n .
Throughout the main part of this article a convolutional code will be defined in the polynomial setting. Only in Section 5 we will briefly address a broader context. Thus, a convolutional code of length n is a submodule C of F[z] n of the form with F being an algebraic closure of F. We call such a matrix G an encoder, and the number is said to be the degree of the encoder G or of the code C. It is clear that for two basic matrices G, ). For each basic matrix the sum of its row degrees is at least deg(G), where the degree of a polynomial row vector is defined as the maximal degree of its entries. A matrix G ∈ F[z] k×n is said to be reduced if the sum of its row degrees equals deg(G). Among the many characterizations of reducedness that can be found in, e. g., [2,Main Thm.] It is well known that if C is a k-dimensional code of degree δ, then C ⊥ is a code of dimension n − k and degree δ.
Besides these algebraic notions the main concept in error-control coding is the weight. For a vector In convolutional coding theory several other distance parameters have been introduced. They all give detailed information about the performance of the code under various decoding algorithms. We will present some of those parameters below in Definition 2.2.

The Weight Adjacency Matrix and Distance Parameters
Let C = im G be a convolutional code of degree δ and with reduced encoder G ∈ F[z] k×n . It is well-known that the encoding process can be described in terms of a minimal state space system, that is, there exist matrices (A, B, C, D) ∈ F δ×δ+k×δ+δ×n+k×n such that n , see also [3,Thm. 2.3] and [16].
A particular realization will be introduced in Proposition 2.1 below. We call the space F δ , where the states x t assume their values, the state space of the code, and the matrix quadruple (A, B, C, D) is called a minimal state space realization. In the sequel we will review a few basic properties of minimal state space realizations, for details see, e. g., [3,Sec. 2]. In general a code has many state space realizations. Each realization uniquely determines the encoder G satisfying (2.1) via G = B(z −1 I − A) −1 C + D. The dynamical system given by the state space realization (2.1) can be visualized by a state transition diagram, which is defined as the directed and labeled graph with the vertices given by the states in F δ and the labeled edges given by the set of degree N with the path of length N + 1 through the state transition diagram given by Here the state x = N t=0 x t z t ∈ F[z] δ can either be computed from (2.1) or via We call the codeword v ∈ C of degree N atomic if x t = 0 for all t = 1, . . . , N in the associated path (2.2). Alternatively, v is atomic if and only if its constant coefficient is nonzero and v cannot be written as the sum of two nonzero codewordsv,ṽ ∈ C such that degv ≤ L and v ∈ z L+1 F[z] n for some L ∈ N 0 . Thus, being atomic is a codeword property that does not depend on the choice of the realization.
For the purpose of this paper it will be sufficient to consider one particular form of state space realization, the controller canonical form. This realization is standard in systems and coding theory. Since the precise form will play an important role later on, we think it is worthwhile to present it explicitly; see also [5,Prop. 2.3].
k×n be a basic and reduced matrix with row degrees ν 1 , . . . , ν k .
Then the controller canonical form (CCF) of G is defined as the matrix quadruple (A, B, C, D) In the case where ν i = 0 the ith block is missing and in B a zero row occurs. The CCF forms a minimal state space realization of the code C = im G, that is, (2.1) is satisfied.
Now we are in a position to summarize various distance parameters for convolutional codes.
The following parameters are, in different ways, closely related to the error-correcting performance of C and are studied intensively in the engineering-oriented literature, see, e. g., [12,9] and [11,Sec. 3.2]. For instance, the weight enumerator, defined below, may be used to derive an upper bound for the burst error probability of the code used on a binary symmetric channel with maximum-likelihood decoding, see [18] and [11,Thm. 4.2].
n be a convolutional code of degree δ with reduced encoder G and minimal state space realization (A, B, C, D), which need not be the CCF of G. Let ν 1 , . . . , ν k be the Forney indices of C and let m := max{ν 1 , . . . , ν k } be its memory.
where, as usual, x ∈ F[z] δ denotes the state sequence associated with the codeword v ∈ C. and for j ≥ min{1, ν 1 , . . . , ν k } define jth active burst distance: The weight enumerator of C is defined as with ω l,α := {v ∈ C | v atomic, deg v = l − 1, wt(v) = α} for all α, l ∈ N. Thus, Ω l is the weight enumerator of the set of atomic codewords of degree l.
A few comments are in order. First of all observe that the sets S j consists of those codewords for which the according path through the state transition diagram does not contain edges of the form In particular, the path diverges immediately from the zero state, that is, u 0 = 0. Secondly, notice that for the active row distance deg(u) = j implies deg(uG) ≤ m + j and thus v = v [0,m+j] is a codeword. Likewise for the active burst distance the requirement x j+1 = 0 implies that v [0,j] is a codeword, see (2.2). This in turn implies that j is not smaller than the smallest Forney index of the code for such a codeword to exist, see (1.5). Since, by definition, {v ∈ S 0 | x 1 = 0} = ∅ all this leads to the restriction on j as given in (a) above for the active burst distances.
It should be noted that the column distances satisfy d c 0 ≤ d c 1 ≤ . . . ≤ dist(C) and d c j = dist(C) for sufficiently large j. Likewise, the extended row distances satisfyd r j = dist(C) for sufficiently large j. Thus, the sequences (d c j ) j∈N 0 and (d r j ) j∈N 0 are stationary. This is not the case for the active distances: due to the restriction on the state sequence enforced by the sets S j these distance parameters "stay active" for all j ∈ N 0 . In the following remark we discuss which of the parameters introduced above are invariants of the code.
. Since x t = 0 ⇐⇒ x t T = 0 this proves that S j does not depend on the choice of the realization. (2) All distance parameters defined in Definition 2.2, with the exception of the active row distances, are invariants of the code and do not depend on the choice of the realization. This is obvious for the column distances, the extended row distances as well as the weight enumerator and follows from (1) for the active distances. (3) The active row distances are invariants of the reduced encoder and do not depend on the choice of the realization. This follows directly from the definition and (1). But, due to the degree constraint on the message polynomial u, they are not invariants of the code. Indeed, this is due to the trivial fact that for a given codeword the degree of the associated message depends on the choice of the reduced encoder. For example, consider Using the CCF's of G and G ′ it is easy to see that the first active row distances are given by a r 1 (G) = wt (1, z)G = 3 and a r 1 (G ′ ) = wt (1, z)G ′ = wt (1, 0)G = 2.
As we will show next, the extended row distances and the active burst distances can be retrieved, at least in theory, from the weight enumerator.
define the delay to be del (a) := min{i | a i = 0} and put del (0) = ∞. Then the extended row distances and the active burst distances are given bŷ Proof: The statement for the extended row distances is clear from Definition 2.2. For the active burst distances we show first that Since the rightmost matrix has full row rank [5,Thm. 2.4] and x j = 0 due to the definition of the set S j , we obtain v j = 0 and thus v [0,j] is in the set on the right hand side. This proves "⊆". In terms of paths the set {v ∈ S j | deg v = j} consists exactly of all paths as in (2.2) of length j + 1 that do not pass through the zero state at consecutive time instants and for which v j = 0. Consider such a path and suppose it passes through the zero state exactly at the time instants t 0 = 0, t 1 , . . . , t r = j + 1. Then each subpath between x t i−1 = 0 and x t i = 0 represents an atomic  Examples later on will show that the other distance parameters can, in general, not be retrieved from the weight enumerator. However, all the distance parameters introduced above, except for the active row distances, can be computed from one parameter, the weight adjacency matrix. This matrix is defined via the state space system is the CCF of a reduced encoder. For each pair of states (X, Y ) ∈ F δ × F δ it counts all the weights of the outputs v = XC + uD corresponding to inputs u that realize a state transition from x t = X to x t+1 = Y , that is, satisfy the identity Y = XA + uB. This leads to the following definition, see also [16,Sec. 2] and [3,Def. 3.4]. Note that, due to (1.1), the system may assume q δ different states X. Recall the weight enumerator defined in (1.2).
k×n be a reduced encoder such that deg(G) = δ and let (A, B, C, D) be the CCF of G. The weight adjacency matrix (WAM) of G is defined to be the matrix Λ(G) ∈ C[W ] q δ ×q δ that is indexed by the state pairs (X, Y ) ∈ F δ × F δ and has the entries If δ = 0 the matrices A, B, C do not exist and D = G. As a consequence, By definition, the WAM of a given encoder is the adjacency matrix of the weighted state transition diagram as considered in [11,Sec. 3.10] and [16,Sec. 2]. Its properties have been studied in detail in the papers [3,6,7]. In a slightly different form the weight adjacency matrix appears also in other papers on convolutional coding theory, see, e. g., [11,Sec. 3.10]. In the papers [6,7] a MacWilliams Identity for convolutional codes and their duals is established. The latter makes sense only because the weight adjacency matrix can be turned into an invariant of the code. Indeed, we have the following result, see [3,Sec. 4].
n be a code of degree δ and let G andḠ be any two reduced encoders of C. Then there exists a state space isomorphism T ∈ GL δ (F) such that The orbit is called the weight adjacency matrix (WAM) of the code C.
It is worth being stressed that one can, of course, define the WAM with respect to any minimal realization rather than the CCF. In that case one obtains the same result as in Theorem 2.6 for the WAM's of a code, which in turn leads to the same invariant as in that theorem; for details consult [3].
In the sequel we will show that WAM(C) is the most detailed weight enumerating object for a given code in the sense that all distance parameters introduced earlier can be derived from it. Again, this does not include the active row distances because they depend on the chosen encoder whereas WAM(C) does not.
n be a code of degree δ with reduced encoder G. Furthermore, let (A, B, C, D) be the CCF of G and let Λ = Λ(G). Define the following reduced WAM's The matrixΛ is the weight adjacency matrix of the state transition diagram associated with . As a consequence, the extended row distances and the active burst distances can be retrieved from WAM(C) as well. (c) The active column distances and the active segment distances can be computed from WAM(C) as follows: for j ∈ N 0 (and j ≥ 1 and not smaller than the smallest Forney index in the case of the active burst distances). Moreover, the active burst distances satisfy a b j = del (Λ j+1 0,0 ). As a consequence, codes C and C satisfying WAM(C) = WAM(C) share all the distance parameters discussed in (a) - (c).
Proof: As for the consequence, note that, due to Theorem 2.6, none of the formulas given in (a) -(c) depends on the choice of the encoder matrix G. Thus all these parameters depend only on the invariant WAM(C). (a) This follows from the fact that d c j is the minimum weight of the codewords associated with paths of length j + 1 starting at zero and where the first edge is not the trivial edge This has been shown in [16,Thm. 3.1], see also [3,Thm. 3.8]. It is easy to see that Φ does not depend on the choice of G. In fact, Φ is the weight enumerator for the molecular codewords, see [16] or [3, Proof of Thm. 3.8]. The rest of (b) follows from Proposition 2.4. (c) This can be seen using similar arguments as in (a). As for the active segment distance defined in Definition 2.2(a) one should have in mind that v [m,m+j] corresponds to the coefficient sequence over the time interval [m, m + j], where m is the largest Forney index. Since one can reach every state X ∈ F δ from the zero state via suitable inputs u 0 , . . . , u m−1 ∈ F k within m steps (see the CCF) this does not put any restriction on the states in the identity above for a s j . 2

Isometries and Monomial Equivalence
In this section we will introduce and discuss various notions of equivalence for convolutional codes.
Definition 3.1 (a) Let C, C ⊆ F[z] n be two convolutional codes. We call C and C isometric if there there exists a weight-preserving for all v ∈ C, we call ϕ a strong isometry and C and C are called strongly isometric. (b) Two encoder matrices G,Ḡ ∈ F[z] k×n are called isometric (respectively, strongly isometric) if the F[z]-isomorphism im G −→ imḠ, uG −→ uḠ is an isometry (respectively, strong isometry).
Despite the obvious fact that isometric codes have the same distance the notion of isometry is too weak in order to classify convolutional codes in a meaningful way. Indeed, the codes im (1, 1) and im (1, z) in F 2 [z] 2 are isometric in the sense above (in fact, the two given encoders are isometric), but the first code is a block code whereas the second one is not. This shows that isometric codes do not even share the most basic algebraic parameters. Due to this weakness it seems to be more reasonable to investigate strongly isometric codes.
Just like in block code theory monomial equivalence will play a central role for our considerations. For convolutional codes this notion may be defined in various ways. Consider the following matrix groups It is obvious that ME implies being strongly isometric and zME implies being isometric. Moreover, it is obvious that the only isometries on F[z] n are given by monomial matrices and thus are even strong isometries. Furthermore, the following properties are trivial. (1) The following are equivalent: (i) C and C are ME (zME, respectively).
(ii) There exist matrices U ∈ GL k (F[z]) and M ∈ M n (M n,z , respectively) such that G = U GM .
(3) Suppose G,Ḡ are zME and both are reduced encoders with the same row degrees. Then G,Ḡ are strongly isometric. Indeed, G,Ḡ are isometric due to their z-monomial equivalence and the map uG −→ uḠ is degree-preserving due to (1.5).
Obviously, monomial equivalence and z-monomial equivalence are equivalence relations. However, whereas monomial equivalence can be described in an obvious way by a group action this is not the case for z-monomial equivalence. This is due to the fact that a matrix product GM need not be polynomial (and basic) for a given basic polynomial matrix G and a given M ∈ M n,z .
We are now in a position to quote two important results that will be particularly helpful to us later on. Due to the last part, this result also came to be known as the MacWilliams Extension Theorem. Using this classical result one can establish the following result on a particular class of convolutional codes. The only-if part of the first statement is obvious and was mentioned already in Remark 3.3 (2). The converse is the non-trivial implication and has been proven in [5,Thm. 3.7]. That proof also implies the consequence for the codes C and C. Notice that the result in Theorem 3.5 applies in particular to all codes of dimension one. One should also observe that, for general dimension, the if-part is not true for block codes, see [10, Exa. 1.61], and indeed, due to the positivity of the Forney indices, block codes are excluded from the result.
Let us now turn to investigating basic properties of (strong) isometries.

Proposition 3.6 For a nonzero polynomial vector
Proof: Assume C = im G for some basic matrix G ∈ F[z] k×n . Each vector v ∈ C such that del (v) = α ∈ N 0 can be written as v = z αv wherev ∈ F[z] n and del (v) = 0. Due to (1.3) the matrix G(0) ∈ F k×n has full row rank and thus v = z αv = uG implies u = z αû for someû ∈ F[z] k . Hencev =ûG ∈ C. Now we have ϕ(v) = z α ϕ(v) and thus del (ϕ(v)) = α + del (ϕ(v)) ≥ α = del (v). Since this is true for all v ∈ C and ϕ is an isomorphism, symmetry between C and C ′ implies del (v) = del (ϕ(v)) for all v ∈ C. 2 The result above is not true if we replace the codes by arbitrary F[z]-submodules of F[z] n . Indeed, the map v −→ zv is an isomorphism between im (1, 1) and im (z, z) that is not delay-preserving.  (b) if ϕ is degree-preserving and G is reduced, then the matrixḠ in part (a) is reduced and therefore C and C share the same Forney indices and the same degree.
As a consequence, strongly isometric codes have strongly isometric reduced encoders.
Proof: (a) This is a simple consequence of Linear Algebra. Indeed, let f : F[z] k −→ C, u −→ uG be the encoder map corresponding to G.
LetḠ be the standard basis representation of g, that is, g(u) = uḠ for all u ∈ F[z] k . Since g is an isomorphism the matrixḠ is indeed an encoder of C and ϕ(uG) = g(u) = uḠ for all u ∈ F[z] k . (b) Denote the rows of G andḠ by g 1 , . . . , g k andḡ 1 , . . . ,ḡ k , respectively. Let δ andδ be the degrees of C and C, respectively. Then the degree-preserving property of ϕ along with the reducedness of G yields where the last inequality follows from the definition of the degree, see [2, p. 495]. Now symmetry between C and C yields δ =δ. This in turn implies equality in the previous step and thusḠ is reduced by the very definition of reducedness. Thus, C has the same Forney indices as C. 2 This last result enables us to derive some first coding theoretic properties for isometries. Proof: (a) Let ϕ : C −→ C ′ be a strong isometry. By Proposition 3.7(b) there exist reduced encoders G and G ′ such that ϕ(uG) = uG ′ for all messages u. Let v = uG ∈ C be atomic.
Then v 0 = 0 and thus the same is true for ϕ(v) = uG ′ due to Proposition 3.6. Suppose that uG ′ is not atomic. Then uG ′ =ũG ′ +ûG ′ whereũ,û ∈ F[z] k \{0} and deg(ũG ′ ) < del (ûG ′ ). Since ϕ is degree-and delay-preserving this implies deg(ũG) < del (ûG). Now, ϕ(ũG +ûG) = uG ′ +ûG ′ = ϕ(v) along with bijectivity yields v =ũG +ûG, contradicting atomicity of v. 3) shows that each pair of codewords uG and uG ′ corresponding to the same message u ∈ F[z] k share the same state sequence. All this implies that the strong isometry uG −→ uG ′ induces weight-and degree-preserving bijections S j −→ S ′ j between the sets S j , j ∈ N 0 , defined in Definition 2.2 and their counterparts S ′ j for the code C ′ . Now the statement about the active row distances follows directly from Definition 2.2(a) because v [0,m+j] is a codeword. 2 The rest of this section is devoted to examples showing the limitations of (strong) isometries. Whereas according to the last result strongly isometric convolutional codes share the same weight enumerator and many distance parameters they, in general, do not share the same column distances, active column and active segment distances. This is, of course, not surprising because the latter are based on truncated rather than complete codewords. As a consequence, there is no MacWilliams Equivalence Theorem for strong isometries on the class of convolutional codes, that is, strongly isometric codes need not be ME.
Example 3.9 Let G = (1, z, z, 1 + z) and G ′ = (1, 1, 1, 1 + z) ∈ F 2 [z] 1×4 . Both matrices are basic and reduced. Obviously, the two given encoders are strongly isometric and hence so are C := im G and C ′ := im G ′ in F 2 [z] 4 . As a consequence, Corollary 3.8 yields that the codes share the same weight enumerator and the same extended row distances, active burst distances, and active row distances (the latter are, in this case, invariants of the code due to the uniqueness of the reduced encoder for one-dimensional binary codes). The remaining families of distance parameters do not coincide. This can be seen as follows. The WAM's associated with the given encoders are Here we order the states in F 2 as X 1 = 0, X 2 = 1 so that Λ i,j = Λ X i ,X j in the sense of Definition 2.5 and likewise for Λ ′ . Since there are no state space isomorphisms to take into account this shows that WAM(C) = WAM(C ′ ), see Theorem 2.6. From Proposition 2.7(a) we see that d c 0 = 2 whereas d ′c 0 = 4 (which is also obvious from the constant coefficient matrices of G and G ′ ). All other column distances of both codes are equal to 5 (which is the distance of both codes). It remains to show that C and C ′ do not share the same active column distances and active segment distances. Consider the reduced WAM'sΛ andΛ ′ in the sense of (2.6).
Hence the first entry in Λ and Λ ′ is replaced by 0. Define the matrices of the delays of the entries ofΛ j andΛ ′ j as M j = del ( Λ j X,Y ) X,Y ∈F 2 and M ′ j = del ( Λ ′ j X,Y ) X,Y ∈F 2 , respectively. Hence M 1 = ∞ 2 3 3 and M ′ 1 = ∞ 4 1 3 . It is easy to see by induction that With the aid of Proposition 2.7(a) and (c) this shows that the codes have different active column distances for even j ∈ N 0 and different active segment distances for all j ∈ N 0 .
The following two examples show that even if a strong isometry preserves all distance parameters it need not be a monomial equivalence. More precisely, the first example shows that strongly isometric codes that share all distance parameters introduced in Definition 2.2 need not have the same WAM, and thus need not be ME. This also tells us that the WAM contains much more detailed information about the code than the list of distance parameters. The second example even shows that strong isometries that do preserve the WAM need not be monomial equivalences.
Obviously, the matrices are zME and reduced with the same row degrees. Hence they are strongly isometric by Remark 3.3(3). As a consequence, the two codes C = im G and C ′ = im G ′ ⊆ F[z] 7 are strongly isometric and thus, due to Corollary 3.8, share the same weight enumerator, extended row distances and active burst distances, and G and G ′ have the same active row distances. Furthermore, for u = (0, 0, 1) we have uG = uG ′ = (1, 0, 0, 0, 0, 0, 0) and therefore Definition 2.2(a) shows that both codes have all column distances equal to 1 = dist(C) = dist(C ′ ). As for the remaining distance parameters consider the WAM's associated with G and G ′ . They are given by (3.1) where we order the states in F 2 as Thus, Λ i,j = Λ X i ,X j for all i, j = 1, . . . , 4 in the sense of Definition 2.5 and likewise for Λ ′ . Since the entry W 5 + W 6 appears three times in Λ but only twice in Λ ′ we conclude that WAM(C) = WAM(C ′ ), see Theorem 2.6, and thus the codes are not ME due to Remark 3.3(2). Using Proposition 2.7(c) and the same methods as in the previous example one can show by lengthy, but straightforward computations that the two codes share the same active column distances and active segment distances. The details are given in the appendix. It is easy to see that both matrices are basic and reduced and obviously have the same row degrees. Moreover, G andḠ are obviously zME and therefore the codes C = im G and C = imḠ ⊆ F[z] 8 are strongly isometric, see Remark 3.3(3). It is straightforward to show that the WAM's Λ := Λ(G) andΛ := Λ(Ḡ) are given by respectively, where the states in F 2 are ordered as in (3.2). It is immediate to see that the WAM's are related asΛ = P ΛP −1 , where P is the permutation matrix That means, reordering the states in (3.2) asX 1 = (0, 0),X 2 = (0, 1),X 3 = (1, 1),X 4 = (1, 0) the WAM associated with G takes the formΛ. Obviously, this reordering can be achieved by the state space isomorphism T = 1 1 0 1 , that is, X i T =X i for i = 1, . . . , 4. Hence Λ XT,Y T =Λ X,Y for all X, Y ∈ F 2 and Theorem 2.6 shows that WAM(C) = WAM(C). As a consequence, the codes also share the same weight enumerator and all distance parameters and G andḠ share the same active row distances, see Proposition 2.7 and Corollary 3.8. But the codes are not ME, as we will show by contradiction. Suppose C and C are ME. Then there exists a matrix U ∈ GL 3 (F[z]) such that U G andḠ are ME. That means in particular, that U G has to be reduced with row degrees 1, 1, 0. Hence, according to (1.5) the matrix U has to satisfy But then the third rows of G and U G coincide and the last two columns of G andḠ show that V = T = 1 1 0 1 . Using all possibilities for u ∈ {a + bz | a, b ∈ F 2×1 } results in 16 options for the matrix U . Checking all those options shows that none of them leads to a matrix U G that is ME toḠ.
In Theorem 4.5 we will see that strongly isometric reduced encoders G andḠ with the same WAM, that is, Λ(G) = Λ(Ḡ), are ME. Therefore, the example above had to be constructed using a non-trivial state space isomorphism T ∈ GL 2 (F).
The last example of this section shows that if C and C are isometric, but not strongly isometric, then the corresponding consequence given in Proposition 3.7 is not true anymore. More precisely, in that case there need not exist reduced encoders G andḠ of C and C, respectively, such that wt(uG) = wt(uḠ) for all u ∈ F[z] k .
where the matrix K 1 ∈ F[z] k×l contains exactly the columns of G of degree ν while K 2 ∈ F[z] k×m consists of the remaining nonzero columns of G and the last n − l − m columns are zero. Notice that l, m, or n − l − m might be zero. LikewiseḠ is partitioned such that K 1 ∈ F[z] k×l contains all columns ofḠ of degree ν andK 2 ∈ F[z] k×m contains the remaining nonzero columns ofḠ. Define the sliding generator matrix For any message u = ν t=0 u t z t ∈ F[z] k of degree at most ν we have uG = 2ν t=0 v t z t , where (v 0 , . . . , v 2ν ) = (u 0 , . . . , u ν )S ν (G).
Hence the MacWilliams Equivalence Theorem 3.4 for block codes implies that S ν (G) and S ν (Ḡ) are ME. In other words, the columns of these two matrices are identical up to permutation and rescaling by a nonzero constant factor. The specification of the columns in (4.1)tells us that S ν (G) contains exactly (2ν + 1)(n − l − m) zero columns and exactly l columns of the form a ν a ν−1 . . . a 1 a 0 T , where a 0 , . . . , a ν ∈ F k and a 0 = 0 = a ν . These are the compound coefficient vectors of the columns of K 1 . Likewise, the matrix S ν (Ḡ) contains exactly (2ν + 1)(n −l −m) zero columns andl columns as in (4.2). But then the monomial equivalence of S ν (G) and S ν (Ḡ) yields l =l and m =m and the submatrices consisting of the l columns in S ν (G) and S ν (Ḡ) of the form (4.2) are ME. This shows that K 1 andK 1 are ME and thus wt(uK 1 ) = wt(uK 1 ) for all u ∈ F[z] k . Since wt(uG) = wt(uK 1 ) + wt(uK 2 ) and likewise forḠ the assumption on G,Ḡ implies wt(uK 2 ) = wt(uK 2 ) for all u ∈ F[z] k . Now induction on ν establishes that K 2 andK 2 are ME as well. This proves the desired result. 2 Notice that in the proof above we actually only used that the map uG −→ uḠ is weightpreserving for all u ∈ F[z] k of degree not exceeding ν. An immediate consequence of the previous result is obtained when restricting to codes that are delay-free in every component in the following sense.
are not isometric. Indeed, it is straightforward to show that the codes are not ME, see [6,Exa 3.8(b)], and thus we may apply Corollary 4.2. It is worth noting that the codes have the same WAM, see, again, [6, Exa 3.8 (b)].
Using Corollary 4.2 we can provide an example showing that the duals of strongly isometric codes need not even be isometric. It also shows that the property of being zME is not preserved under taking duals.
Example 4.4 Let F = F 2 and G = (1, z, 1 + z) andḠ = (z, z, 1 + z). Then the codes C = im G and C = imḠ are obviously strongly isometric (but not ME). The dual codes are given by C ⊥ = im H and C ⊥ = imH, where The codes C ⊥ and C ⊥ are not isometric because if they were then C ⊥ and C := im 1 1 0 z 1 1 would have to be ME due to Corollary 4.2. But that is impossible because their only nonzero constant codewords have weight 3 and 2, respectively. As a consequence, C ⊥ and C ⊥ are not isometric. Along the same line of arguments one can show that the duals of the codes in Example 3.11 are not isometric even though the primary codes are strongly isometric and even have the same WAM. These examples are due to the fact that zME is not a group action on the set of codes in F[z] n . We will come back to this in Section 5 when discussing convolutional codes over rings where zME is a group action.
Finally we want to turn to codes that are strongly isometric and share the same WAM. Recall from Example 3.11 that such codes are, in general, not ME. This is due to the fact that the WAM of a code is an equivalence class rather than a single matrix. Indeed, in that example we had Λ(G) = Λ(Ḡ), but WAM(C) = WAM(C). If, however, we restrict to the WAM's of the encoders themselves then we obtain the following stronger result.
Theorem 4.5 Let G,Ḡ ∈ F[z] k×n be two reduced and strongly isometric encoders of degree δ and suppose that Λ(G) X,Y = Λ(Ḡ) X,Y for all X, Y ∈ F δ for the WAM's associated with G andḠ. Then G andḠ are ME.
The assumption Λ(G) = Λ(Ḡ) expresses the fact that if we fix the same basis on the common state space of C and C the associated minimal state space realizations share the same WAM.
Proof: By assumption G,Ḡ have the same row degrees in the same ordering. If all row degrees are positive then we know from Theorem 3.5 that G,Ḡ are ME. Thus, let us assume that, for some r < k, the first r row degrees of G,Ḡ are positive while the last k − r degrees are zero. Theorem 4.1 implies that the matrices G andḠ are zME. After applying a suitable column permutation we may assume without loss of generality that Hence we may assume without loss of generality that G 1 =Ḡ 1 and D 1 =D 1 and it remains to show that G 2 andḠ 2 are ME. One should bear in mind that Λ(G) and Λ(Ḡ) do not change after applying a monomial equivalence. Let us turn to the CCF's of G andḠ and the associated WAM's. By the very definition in Proposition 2.1 the CCF's of G andḠ are given by matrix quadruples (A, B, C, D) and (Ā,B,C,D), where A =Ā, B =B = B 0 with B ∈ F r×δ being a matrix of full row rank and where the remaining matrices are of the form where in each of those four matrices the first block contains l columns and the remaining matrices are accordingly. Notice that G i0 andḠ i0 are the constant coefficient matrices of G i andḠ i , respectively, for i = 1, 2. For brevity, write Λ := Λ(G) andΛ := Λ(Ḡ). By the very definition of the WAM, see 2.5, we have Λ X,Y =Λ X,Y = 0 iff Y = XA + uB for some u ∈ F k . The latter is the case iff Y = XA +ũB for a (unique)ũ ∈ F r . As a consequence, the nonzero entries of Λ are given by and likewiseΛ X,XA+ũB = we(XC 1 +ũG 10 + im D 1 )W wt(XC 2 +ũḠ 20 ) for all (X,ũ) ∈ F δ+r . Hence Λ =Λ implies wt (X,ũ) for all (X,ũ) ∈ F δ+r , and the MacWilliams Equivalence Theorem 3.4 for block codes yields that C 2 G 20 and are ME. Since the columns of these matrices consist exactly of the (appropriately stacked) coefficient vectors of the columns of G 2 andḠ 2 , respectively, this means that G 2 andḠ 2 are ME. Together with (4.4) this shows the desired result. (i) C, C ′ are strongly isometric and WAM(C) = WAM(C ′ ).
(ii) C, C ′ are ME.
In particular, the equivalence is true for all codes of degree at most 1.
Recall that, in general, neither of the conditions in part (i) implies the other one of that part. For instance, the codes in Example 4.3 have the same WAM (see [6,Exa. 3.8(b)], but are not strongly isometric, while Example 3.9 provides us with strongly isometric codes that do not share the same WAM. One should also observe that the result extends Theorem 3.4 as well as Theorem 3.5. In fact, if all Forney indices are zero, then this is just the MacWilliams Equivalence Theorem for block codes and the second condition in (i) may be omitted. If all Forney indices are positive, the result is simply Theorem 3.5 and the first condition in (i) may be omitted. On the other hand, Example 3.11 shows that the result above is not true if the codes have more than one positive Forney index and at least one zero Forney index.
Proof: The implication (ii) ⇒ (i) is obvious. Thus let us assume (i). Then Proposition 3.7 implies that there exist reduced encoder matrices G, G ′ of C, C ′ , respectively, such that uG −→ uG ′ is a strong isometry. Consequently, G and G ′ have the same Forney indices. If all Forney indices of G and G ′ are zero, the codes are block codes and the result follows from Theorem 3.4. Thus, let us assume that the first row of G and G ′ each has degree δ > 0, while all other rows are constant. Consider the WAM's Λ(G) and Λ(G ′ ) of G and G ′ , respectively.
The assumption WAM(C) = WAM(C ′ ) implies the existence of a matrix T ∈ GL δ (F) such that see Theorem 2.6. In particular, In order to exploit this equivalence, we need the CCF's (A, B, C, D) and (A, B, C ′ , D ′ ) of G and G ′ , respectively. Notice that the first two matrices of the CCF's of G and G ′ are both of the form Using the definition of Λ(G) X,Y in (2.4) we may rewrite (4.6) as which in turn yields But then V = 0 and S = T −1 as well as Using the form of the matrices A and B given in (4.7) it is straightforward to show that the existence of matrices R ∈ F k×δ and W ∈ F k×k such that (4.8) is satisfied implies that T = αI δ for some α ∈ F * . Since Y = XA + uB iff αY = αXA + αuB and wt(XC + uD) = wt(αXC + αuD) we obtain from the very definition of the WAM in Definition 2.5 that Hence (4.5) leads to Λ(G) = Λ(G ′ ) and Theorem 4.5 yields the desired result. 2

Other Notions of Isometries
The isometries considered in the previous sections were based on the fact that, firstly, codes are defined as F[z]-modules and, secondly, isometries are expected to respect the module structure. In this section we will briefly address modifications of both the notion of isometry and the definition of a convolutional code. Let us begin with the first option. If, in Definition 3.1, we require isomorphisms to be just F-linear rather than F[z]-linear, then isometry becomes a weaker concept and, as we will see next, does not imply z-monomial equivalence anymore.
Example 5.1 Let F = F 4 = {0, 1, α, α 2 = α + 1} and consider the matrices G = 1 + z + z 2 1 + αz + α 2 z 2 1 + α 2 z + αz 2 , Both matrices are basic and thus define codes C := im G and C : Notice that M t ∈ M 3 for all t ∈ N 0 . Obviously, the map is a degree-and weight-preserving F-automorphism of F[z] 3 . It is straightforward to show that ϕ(z t G) = α 2 z tḠ , if t ∈ 3Z + 2, Hence, F-linearity implies ϕ(uG) =ūḠ, where for u = t≥0 u t z t ∈ F[z] one definesū = t≥0ū t z t ∈ F[z] viaū t := α 2 u t if t ∈ 3Z + 2 andū t := u t else. As a consequence, ϕ(C) = C and these codes are strongly F-isometric in the sense that there is a degree-and weightpreserving F-isomorphism between them. It is obvious that the codes are not zME, and thus not ME. Hence Theorem 4.1 and Corollary 4.2 do not remain valid for F-isometries. From Theorem 3.5 we conclude that WAM(C) = WAM(C). On the other hand, it is easy to verify that the codes have identical weight enumerators.
It should be noted that, in general the image of a code under an F-isometry need not be an F[z]-submodule and thus not a code. Indeed, it is straightforward to show, see also [17,Thm. 8.2], that, for an F-isomorphism ϕ, the image ϕ(C) of a code C is a code only if z −1 ϕ −1 zϕ is an F-automorphism of C. Obviously, if this automorphism is the identity then ϕ is F[z]-linear and we arrive at the situation of the previous sections. The example above has been constructed using the theory of cyclic convolutional codes. Such codes provide us with at least one non-trivial F-automorphism and thus allows for the construction of Example 5.1. Both codes in that example are σ-cyclic convolutional codes in the sense of [4,Def. 2.8], where the F-automorphism σ on A = F[x]/ x 3 −1 ∼ = F 3 is defined by σ(x) = αx. Thus, by definition, these codes are left ideals in the skew-polynomial ring A[z; σ] ∼ = F[z] 3 defined by az = zσ(a) for all a ∈ A. Translated back into the setting of F[z] 3 this means that ψ(C) = C where ψ(v) = t≥0 α t v t Sz t for all v = t≥0 v t z t ∈ F[z] 3 . The map ϕ in (5.1) has been constructed such that it satisfies z −1 ϕ −1 zϕ = ψ. It has to remain open to future research if one can characterize F-isometries (or degree-preserving F-isometries) of convolutional codes explicitly. The work in [17,Ch. 8] should provide an excellent starting point for this.
Next we turn to the situation where convolutional codes are defined based on rational functions or Laurent polynomials (or series) rather than polynomials. In the sequel let R be either of the two rings F(z) ⊆ F((z)), (5.3) where F((z)) := { ∞ t=l v t z t | l ∈ Z, v t ∈ F for all t} is the field of Laurent series over F. For any matrix G ∈ F(z) k×n we define C := im R G := {uG | u ∈ R k } ⊆ R n (5.4) to be the R-(convolutional) code generated by G (remember that it is not common to consider convolutional codes that do not possess a rational encoder). Since the nonzero polynomials are units in R for either of the rings in (5.3) it is clear that each R-code possesses a basic encoder matrix G, that is, a polynomial encoder satisfying (1.3). Moreover, two basic encoders G, G ′ ∈ F[z] k×n satisfy im R G = im R G ′ if and only if U G = G ′ for some U ∈ GL k (F[z]). Therefore, we have the same notion of reduced encoders and Forney indices as in the polynomial setting. The dual of an R-code C is defined, as usual, as C ⊥ := {w ∈ R n | vw T = 0 for all v ∈ C}. Finally, we define C pol := C ∩ F[z] n (5.5) to be the space of polynomial codewords. It is easy to see that if C = im R (G) for some basic encoder G ∈ F[z] k×n then thus C pol is a convolutional code as defined in the previous sections. Conversely, one can determine the R-code C from C pol via From this it follows immediately that (C ⊥ ) pol = (C pol ) ⊥ in F[z] n for each R-code C. In other words, the notions of duality for the polynomial and the R-setting are consistent. Defining ME and zME just like in Definition 3.2 it is obvious that R-codes C and C are ME if and only if C pol and C pol are. For zME, however, the situation is different. Indeed, the group M n,z of z-monomial matrices is a subgroup of GL n (R) for any choice of R, but not of GL n (F[z]). The impact of this becomes most apparent by the following example. In general, since transformation by a z-monomial matrix becomes a group action on the set of all R-codes in R n , we have just like in the block code case C, C ⊆ R n zME =⇒ C ⊥ , C ⊥ zME. Let us now turn to general isometries. First of all, any vector in R n can be written as ∞ t≥l v t z t , where v t ∈ F n , and thus we may define the weight of v as wt(v) = t≥l wt(v t ) ∈