This paper provides intrinsic characterizations of neural rings and their homomorphisms, introduces basic monomial code maps, and characterizes monomial isomorphisms between neural codes, advancing the algebraic understanding of neural code structures.
Contribution
It introduces the notion of basic monomial code maps and characterizes monomial code maps and isomorphisms, building on prior algebraic frameworks for neural codes.
Findings
01
Characterization of neural rings and homomorphisms
02
Introduction of basic monomial code maps
03
Complete characterization of monomial isomorphisms
Abstract
We give intrinsic characterizations of neural rings and homomorphisms between them. Also we introduce the notion of a basic monomial code map and characterize monomial code maps as compositions of basic monomial code maps. Finally, we characterize monomial isomorphisms between neural codes. Our work is based on the 2015 paper by C.~Curto and N.~Youngs about neural ring homomorphisms and maps between neural codes and on the 2018 paper by R.~Amzi Jeffs about morphisms of neural rings.
Equations91
I(C)={f∈F2[X1,…,Xn]:f(w)=0 for all w∈C}.
I(C)={f∈F2[X1,…,Xn]:f(w)=0 for all w∈C}.
Lw=wi=1∏Xiwj=0∏(1−Xj).
Lw=wi=1∏Xiwj=0∏(1−Xj).
I(C)=({Lw:w∈/C}∪{Xi2−Xi:i=1,…,n}).
I(C)=({Lw:w∈/C}∪{Xi2−Xi:i=1,…,n}).
RC=I(C)F2[X1,…,Xn]=F2[x1,…,xn],
RC=I(C)F2[X1,…,Xn]=F2[x1,…,xn],
LA↦A,
LA↦A,
TkαC={w=w1w2…wn∈C∣wi=1 for all i∈α}
TkαC={w=w1w2…wn∈C∣wi=1 for all i∈α}
S(x)
S(x)
W(x)
S(x+y)=S(x)△S(y)
S(x+y)=S(x)△S(y)
S(xy)=S(x)∩S(y)
S(xy)=S(x)∩S(y)
W(x+y)
W(x+y)
W(xy)
W(0)=∅,
W(0)=∅,
W(1)=C.
W(1)=C.
ϕ(sj)={wj} for every j∈[n].
ϕ(sj)={wj} for every j∈[n].
tisjμ=sjμ(μ=1,2,…,p).
tisjμ=sjμ(μ=1,2,…,p).
tisj=0 for any sj∈S∖{sj1,…,sjp}.
tisj=0 for any sj∈S∖{sj1,…,sjp}.
ϕ(ti)={wj1,…,wjp},
ϕ(ti)={wj1,…,wjp},
ϕ(ti)=TkiC for all i∈[n].\qed
ϕ(ti)=TkiC for all i∈[n].\qed
∅
∅
=ϕ({v1}∩{v2})
=ϕ({v1})∩ϕ({v2}).
ϕ(B)
ϕ(B)
=ϕ(B′△{w})
=ϕ(B′)△ϕ({w})
=(∪v′∈B′ϕ({v′})△ϕ({w})
=(∪v′∈B′ϕ({v′})∪ϕ({w})(by (H1))
=∪v∈Bϕ({v}).
ϕ(B1△B2)
ϕ(B1△B2)
=∪v∈B1ϕ({v})△∪v∈B2ϕ({v})
=ϕ(B1)△ϕ(B2).
q−1({v})
q−1({v})
={u:u∈ϕ({v})}
=ϕ({v}).
ϕ(B)
ϕ(B)
=∪v∈Bq−1(v)
=q−1(B)
NRings={(P(C),△,∩)∣C∈Codes}
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Full text
Some remarks about trunks and morphisms of neural codes
We give intrinsic characterizations of neural rings and homomorphisms between them. Also we introduce the notion of a basic monomial code map and characterize monomial code maps as compositions of basic monomial code maps. Finally, we characterize monomial isomorphisms between neural codes. Our work is based on the 2015 paper by C. Curto and N. Youngs about neural ring homomorphisms and maps between neural codes and on the 2018 paper by R. Amzi Jeffs about morphisms of neural rings.
Key words and phrases:
Neural code; Neural ring; Morphisms between neural codes and rings; Isomorphisms between neural codes and rings; Trunk; Monomial map; Linear monomial map.
The neural rings and ideals as an algebraic tool for analyzing the intrinsic structure of neural codes were introduced by C. Curto et al. in 2013 in the pioneering paper [3]. In order to make our paper self-contained, we will give in this section some definitions and facts from [3]. All other notions and facts, that we assume to be known, can be found either in [3] or [4], or in the standard references [1] and [2]. The notions from the theory of categories, that we use in this paper, can be found either in [6], or in the standard reference [5].
An element w=w1…wn of F2n is called a code word, shortly word, of length n.
A set C⊆F2n is called a neural code, shortly code, of length n, or on n neurons.
Here n≥0. In the case n=0 we have only one code on [math] neurons. We denote it by C\textvisiblespace. Its only element is the empty word, denoted by ␣ . (We assume that F20={\textvisiblespace}.) We need this code so that the deletion of neurons, that we are going to consider later, is well-defined.
For a code C⊆F2n we define the ideal of C, I(C)⊆F2[X1,…,Xn], in the following way:
[TABLE]
Note that for any code C in F2n we have I(C)⊇B, where B=(X12−X1,…,Xn2−Xn) is the Boolean ideal of F2[X1,…,Xn]. Moreover, for C⊆F2n we have I(C)=B if and only if C is the full code on n neurons, i.e., C=F2n.
For any w=w1w2…wn∈F2n we define the Lagrange polynomial of w, Lw∈F2[X1,…,Xn], in the following way:
[TABLE]
Note that Lw(w)=1 and Lw(v)=0 for any v=w from F2n. We have
[TABLE]
The neural ring of C⊆F2n is defined to be the ring
[TABLE]
where xi=Xi+I(C) for i=1,2,…,n.
For any f∈F2[X1,…,Xn] we will denote f=f+I(C)=f(x1,…,xn), but we will also use f=f(x1,…,xn).
In particular, the image of the Lagrange polynomial Lw is denoted by Lw or Lw(x1,…,xn).
For A⊆C we denote by LA the polynomial ∑w∈ALw. It turns out that RC consists of all LA, A⊆C, and that they are all distinct. Moreover, if we denote by P(C) the power set of C, then the bijection RC→(P(C),△,∩), given by
[TABLE]
is a ring isomorphism. For the purpose of this paper we call the ring (P(C),△,∩) as well the neural ring of C. It will always be clear from the context which version of the neural ring of C we are using.
2. An intrinsic characterization of neural rings and morphisms between them
Let C⊆F2n be a code of length n and α⊆[n]. Then the subset of C
[TABLE]
is called the trunk of C determined by α. In particular, Tk∅C=C. If ∣α∣=1, TkαC is called a simple trunk of C.
We will usually write TkiC instead of Tk{i}C.
In the next theorem we give an intrinsic characterization of neural rings. The inspiration for this theorem is coming from [4, Theorem 1.2], where neural rings on n neurons (as modules) were characterized in terms of the actions of the neural ring of the full code on n neurons on them. The part of our proof in which we construct the code C follows the proof of Theorem 1.2 from [4].
Theorem 2.2**.**
A non-zero commutative ring R is isomorphic to the neural ring of some neural code C if and only if there is a subset S={s1,s2,…,sr}(r≥1) of R and a sequence T=t1,t2,…,tn(n≥1) of elements of R such that the following conditions hold:
(N1) Every element x∈R can be uniquely written as a sum x=sj1+sj2+⋯+sjp(p≥0) of distinct elements of S.
(N2) For any ti from T and any sj∈S, tisj∈{0,sj}.
(N3) For any two distinct elements sj,sk∈S there is at least one element ti from T such that exactly one of the elements tisj, tisk is equal to [math].
Moreover, given a non-zero commutative ring R with the properties (N1), (N2), (N3) satisfied by its subset S and a sequence of its elements T, the code C and the isomorphism ϕ:R→P(C) can be selected in such a way that the elements of S correspond to the words of C (as singletons) and the elements of T to the simple trunks of C.
Proof.
Let C be a neural code on n neurons, consisting of r codewords w1,w2,…,wr, and let (P(C),△,∩) be its neural ring. Let sj={wj}(j=1,2,…,r), S={s1,s2,…,sr}, ti=TkiC(i=1,2,…,n), T=t1,t2,…,tn. Then for each X={wj1,wj2,…,wjp}∈P(C) the unique way to write X as a “sum” (i.e., symmetric difference) of elements sj is X={wj1}△{wj2}△…△{wjp}. Thus the condition (N1) holds for P(C). Also for each i∈[n] and j∈[r] we have TkiC∩{wj}∈{∅,{wj}}, so that the condition (N2) holds for P(C). Finally, let {wj}, {wk} be two distinct elements of S. Let i be a coordinate on which one of wj, wk has [math] and the other one 1. Then exactly one of TkiC∩{wj}, TkiC∩{wk} is ∅. Thus the condition (N3) holds for P(C).
Conversely, suppose that we have a non-zero commutative ring R which has a subset S and a sequence of its elements T satisfying the conditions (N1), (N2), and (N3).
Claim 1. No element of S is equal to [math].
Proof. Suppose 0∈S. If S={0}, then, by (N1), R={0}, a contradiction. Suppose S={0} and let s=0 be a non-zero element of S. Then s and s+0 are two different ways to write an element of R as a sum of distinct elements of S, a contradiction. Claim 1 is proved.
Claim 2. If 1∈S, then S={1}.
Proof. Suppose 1∈S and S={1}. Let s∈S, s=1. Then, by (N3), there is a t from the sequence T such that exactly one t1, ts is equal to [math]. If t1=0, then, by (N2) and (N3), ts=s. However, t1=0 implies t=0, hence ts=0. Hence s=0, contradicting Claim 1. The other option is that ts=0. Then, by (N2) and (N3), t1=1, hence t=1, hence 0=ts=s, again contradicting Claim 1. Claim 2 is proved.
Proof for the case S={1}. Suppose S={1}. Then R={0,1}. Hence each ti is either [math] or 1. We form a codeword w=w1w2…wn∈F2n in the following way: if ti=0, we put wi=0, and if ti=1, we put wi=1. Let C={w}. Then P(C)={∅,{w}=C}. The map ϕ:R→P(C), defined by ϕ(0)=∅, ϕ(1)=C, is a ring isomorphism. We also have ϕ(ti)=∅=TkiC if ti=0, and ϕ(ti)=C=TkiC if ti=1. The proof for the case S={1} is finished.
From now on we assume that 1∈/S. Equivalently, ∣S∣≥2 (due to Claim 2 and the fact that 1 is representable as a sum of distinct elements of S).
Claim 3. For any two distinct elements sj,sk∈S, sjsk=0.
Proof. Let sj,sk be two distinct elements of S. By (N3) there is an element ti from T such that exactly one of the elements tisj, tisk is [math]. Say tisj=0. Then, by (N2) and (N3), tisk=sk. Now tisjsk=(tisj)sk=0sk=0, and tisjsk=sj(tisk)=sjsk. Hence sjsk=0. Claim 3 is proved.
Claim 4. For any element sj∈S, sjsj=sj.
Proof. Let 1=sj1+⋯+sjp(p≥2) be the unique representation of 1 as a sum of distinct elements of S. If p<∣S∣, then there is an sj∈S not participating in the representation of 1. Multiplying the representation of 1 by sj and using Claim 3, we get sj=0, contradicting to Claim 1. Hence p=∣S∣, i.e., 1=s1+s2+⋯+sr. Now for any j∈[r], when we multiply this representation of 1 by sj, we get (using Claim 3) that sj=sjsj. Claim 4 is proved.
Claim 5. For any element sj∈S, sj+sj=0.
Proof. Note that sj+sj=sj, otherwise, by cancellation, sj=0, contradicting Claim 1. Suppose that sj+sj=sj+sj1+⋯+sjp with p≥1 and all sjμ(μ=1,2,…,p) different than sj. Cancelling sj we get sj=sj1+⋯+sjp, contradicting to (N1). Suppose now that sj+sj=sj1+⋯+sjp with p≥1 and all sjμ(μ=1,2,…,p) different than sj. If we multiply this equality by sj1 and use the claims 3 and 4, we get sj1=0, contradicting Claim 1. The only remaining option is sj+sj=0. Claim 5 is proved.
Proof for the case S={1} (i.e., ∣S∣≥2). For every element s∈S we construct a word w=w1w2…wn∈F2n in the following way: for i=1,2,…,n, if tis=0 we put wi=0, otherwise (if tis=s) we put wi=1. In that way we get r words w1,w2,…,wr from F2n, corresponding, respectively, to s1,s2,…,sr. Let C={w1,w2,…,wr}.
For every x∈R, if x=sj1+⋯+sjp is the unique representation of x as a sum of distinct elements of S, we define
[TABLE]
Note that for any x,y∈R we have
[TABLE]
due to Claim 5, and
[TABLE]
due to the claims 3 and 4. Hence
[TABLE]
Note also that if x=0, S(x)=∅, hence
[TABLE]
and if x=1, S(x)=S by the proof of Claim 4, hence
[TABLE]
Now we define a map ϕ:R→C as ϕ(x)=W(x) for any x∈R. The relations (1), (2), and (3) show that ϕ is a ring homomorphism. Also
[TABLE]
It remains to find ϕ(ti) for each i∈[n]. Fix an i∈[n]. Let ti=sj1+sj2+⋯+sjp(p≥0) be the unique representation of the element ti as a sum of distinct element of S. Multiplying this representation by sjμ(μ∈[p]) and using the claims 3 and 4 we conclude that
[TABLE]
We claim that
[TABLE]
Suppose to the contrary, i.e., tisj=sj for some sj∈S∖{sj1,…,sjp}. Then, by Claim 3,
sj=tisj=(sj1+sj2+⋯+sjp)sj=0,
a contradiction. Thus
[TABLE]
which is precisely the set of all the words from C that have the i-th coordinate equal to 1 (due to (4), (5), and the way the code C is constructed). Thus
[TABLE]
Next we give an intrinsic characterization of homomorphisms between neural rings.
Theorem 2.3**.**
Let C,D be two codes and let ϕ:(P(D),△,∩)→(P(C),△,∩) be a map between these two rings. The following are equivalent:
(i) ϕ is a ring homomorphism;
(ii) ϕ satisfies the following three conditions:
(H1) ϕ({v1})∩ϕ({v2})=∅ for any v1,v2∈D;
(H2) (∀B⊆D)ϕ(B)=∪v∈Bϕ({v});
(H3) ϕ(D)=C;
(iii) ϕ=q−1 for some map q:C→D.
Proof.
(i) ⇒ (ii): Suppose that ϕ:(P(D),△,∩)→(P(C),△,∩) is a ring homomorphism. Then for two distinct elements v1,v2 of D we have:
[TABLE]
Thus (H1) holds.
We show (H2) by induction on ∣B∣. For ∣B∣=1 the statement is true. Suppose that (H2) holds when ∣B∣=k and suppose that ∣B∣=k+1. Let B=B′∪{w}, where ∣B′∣=k. Then
[TABLE]
Thus (H2) holds.
Finally ϕ(D)=C as the identity element has to be mapped to the identity element. Thus (H3) holds.
(ii) ⇒ (i): Suppose that ϕ:(P(D),△,∩)→(P(C),△,∩) is a map satisfying the conditions (H1), (H2), and (H3). Let B1,B2∈P(D). We have:
[TABLE]
We used here the conditions (H1) nd (H2). In the same way we get h(B1∩B2)=ϕ(B1)∩ϕ(B2). Finally the condition ϕ(D)=C is postulated. Thus ϕ is a ring homomorphism.
(ii) ⇒ (iii): Suppose (ii) holds. Let u∈C. Then u∈ϕ(D) by (H3), hence u∈∪v∈Dϕ(v) by (H2), hence u∈ϕ(v) for some v∈D. Such a v is unique by (H1). Thus for every u∈C there is a unique v(u)∈D such that u∈ϕ(v(u)). Define q:C→D by putting q(u)=v(u).
Now for every v∈D we have
Let C,D be two codes. There is a bijective correspondence between the set of maps q:C→D and the set of ring homomorphisms ϕ:(P(D),△,∩)→(P(C),△,∩). It is given by associating to each map q:C→D the homomorphism q−1:P(D)→P(C) and, conversely, by associating to each ring homomorphism ϕ:P(D)→P(C) the unique map qϕ:C→D such that ϕ=qϕ−1.
Proof.
For any map q:C→D, the map q−1:(P(D),△,∩)→(P(C),△,∩) is a ring homomorphism by Theorem 2.3, and if q=q′, then q−1=q′−1. Also, if ϕ:(P(D),△,∩)→(P(C),△,∩) is a ring homomorphism, then (by the proof of Theorem 2.3)
the map qϕ:C→D, defined by putting qϕ(u)=v if u∈ϕ({v}),
satisfies ϕ=qϕ−1. It is a unique map from C to D with that property as two different maps from C to D give rise to different inverse maps from P(D) to P(C). Also, if ϕ=ϕ′, then qϕ=qϕ′.
∎
Definition 2.5**.**
A code map is any map q:C→D, where C,D are two codes.
Definition 2.6**.**
A neural ring homomorphism is any ring homomorphism ϕ:(P(D),△,∩)→(P(C),△,∩), where C,D are two codes.
Definition 2.7**.**
We say that a code map q:C→D and the neural ring homomorphism q−1:P(D)→P(C) are associated to each other. Equivalently, we say that a neural ring homomorphism ϕ:(P(D),△,∩)→(P(C),△,∩) and the unique code map qϕ:C→D such that ϕ=qϕ−1, are associated to each other.
3. Monomial and linear monomial maps and homomorphisms
Definition 3.1**.**
We denote by Codes the set of all neural codes C⊆F2n of all lengths n≥0. The set Codes, together with code maps as morphisms, forms a small category, which we denote by Code.
Definition 3.2**.**
We denote
[TABLE]
and call this set the set of all neural rings.
The set NRings, together with ring homomorphisms as morphisms, forms a small category, which we denote by NRing.
Theorem 3.3**.**
Consider the categories Code and NRing. If to each code C∈Codes we associate its neural ring F(C)=(P(C),△,∩) and to each code map q:C→D the homomorphism of neural rings F(q)=q−1:P(D)→P(C), then in this way we obtain a contravariant functor F:Code→NRing, which is an isomorphism of these categories.
Proof.
It is easy to verify that F is a functor between these categories. The fact that F is an isomorphism follows from Proposition 2.4.
∎
The following code maps are called basic linear monomial maps:
(1) aczC:C→C′=aczC(C), “adding constant zero”, defined by w↦w0 for all w∈C, where C∈Codes;
(2) acoC:C→C′=acoC(C), “adding constant one”, defined by w↦w1 for all w∈C, where C∈Codes;
(3) delC,i:C→C′=delC,i(C), “deleting the i-th neuron”, defined by w↦w1…wi…wn for all w=w1w2…wn∈C, where C∈Codes and i∈[n]; here the notation wi means that the i-th component of w is omitted;
(4) repC,i:C→C′=repC,i(C), “repeating the i-th neuron”, defined by w↦wwi for all w=w1w2…wn∈C, where C∈Codes and i∈[n];
(5) perC,σ:C→C′=perC,σ(C), “permuting the indices”, defined by w↦wσ(1)wσ(2)…wσ(n) for all w=w1w2…wn∈C, where C∈Codes and σ∈Sn;
(6) injC′,C:C→C′, “injecting the code into a bigger code”, defined by w↦w for all w∈C, where C,C′∈Codes with C⊆C′.
We extend the previous definition and introduce the notion of basic monomial maps by including all the basic linear monomial maps and adding one new code map that we call adding a trunk neuron.
Definition 3.5**.**
The code maps (1) - (6) and the following code map (7) are called basic monomial maps:
(7) atnC,α:C→C′=atnC,α(C), “adding a trunk neuron”, defined by
[TABLE]
for all w∈C, where C∈Codes and α⊆[n].
Remark 3.6**.**
We will usually write atnC,i instead of atnC,{i}. Note that
A map q:C→D, where C,D∈Codes, is called a linear monomial map if the inverse image under q of every simple trunk of D is either a simple trunk of C, or the empty set, or C.
Proposition 3.8**.**
(a) Every basic linear monomial map is a linear monomial map.
(b) A composition of two linear monomial maps is a linear monomial map.
(c) For any code C the identity map IdC:C→C is a linear monomial map.
Proof.
(a) Basic linear monomial maps are linear monomial maps by [4].
A map q:C→D, where C,D∈Codes, is called a monomial map if the inverse image under q of every simple trunk of D is either a trunk of C, or the empty set.
Proposition 3.11**.**
(a) Every linear monomial map is a monomial map.
(b) Every basic monomial map is a monomial map.
(c) A composition of two monomial maps is a monomial map.
(d) For any code C the identity map IdC:C→C is a monomial map.
Proof.
(a) Follows from the definitions and the fact that C is a trunk, namely C=Tk∅C.
(b) Basic linear monomial maps are linear monomial maps by [4], hence monomial maps. Consider the map f=atnC,α:C→D=atnC,α(C), where C is a code on n neurons. We have f−1(TkiD)=TkiC for i=1,…,n. Also f−1(Tkn+1D)=TkαC.
(c) and (d): Easy.
∎
We now extend Theorem 3.9 to the case of monomial maps. Our proof follows the proof of Theorem 1.4 from [4].
Theorem 3.12**.**
A map q:C→D, where C,D∈Codes, is a monomial map if and only if it is the a composition of finitely many basic monomial maps.
⇒) Let C be a code of length m, D a code of length n, and let q:C→D be a monomial map. We introduce the codes C0,C1,…,Cn in the following way: we put C0=C and, for i∈[n],
[TABLE]
We also introduce the code maps qi:Ci−1→Ci(i=1,2,…,n) in the following way:
[TABLE]
where u∈C and v=v1v2…vn=q(u). Since q−1(TkiD) for i=1,2,…,n is either TkαC (with α⊆[i]), or ∅, or C, we have that qi is, respectively, either atnCi−1,α, or aczCi−1, or acoCi−1=atnCi−1,∅. We also introduce the code Cn+1 in the following way:
[TABLE]
Let σ∈Sm+n be the permutation defined by σ(i)=i+n for i=1,2,…,m, and σ(i)=i−m for i=m+1,m+2,…,m+n. Let qn+1:Cn→Cn+1 be defined as
[TABLE]
Now for i=1,2,…,m we introduce the codes Cn+1+i in the following way:
[TABLE]
We also introduce the code maps qn+1+i:Cn+i→Cn+1+i(i=1,2,…,m) in the following way:
[TABLE]
Finally, we denote Cn+m+2=D and introduce the code map qn+m+2:Cn+m+1→Cn+m+2 as
[TABLE]
We have that
[TABLE]
and each of the maps q1,q2,…,qn+m+2 is a basic monomial map.
∎
Proposition 3.13**.**
(a) ([6]) The set Codes, together with monomial maps as morphisms, forms a small category (which we denote Code_m).
(b) The set Codes, together with linear monomial maps as morphisms, forms a small category (which we denote Code_lm).
Proof.
The proof of (a) given in [6] works for (b) in a similar way.
∎
Definition 3.14**.**
Let C,D be two neural codes. A homomorphism ϕ:P(D)→P(C) is called a monomial homomorphism (resp. linear monomial homomorphism) if the associated code map qϕ:C→D is a monomial map (resp. linear monomial map).
Proposition 3.15**.**
(a) ([6]) The set NRings, together with monomial homomorphisms as morphisms, forms a small category (which we denote NRing_m).
(b) The set NRings, together with linear monomial homomorphisms as morphisms, forms a small category (which we denote NRing_lm).
Proof.
The proof of (a) given in [6] works for (b) in a similar way.
∎
Theorem 3.16**.**
(a) ([6]) Consider the categories Code_m and NRing_m. If to each code C∈Codes we associate its neural ring F(C)=(P(C),△,∩) and to each monomial map q:C→D the monomial homomorphism of neural rings F(q)=q−1:P(D)→P(C), then in that way we obtain a contravariant functor F:Code_m→NRing_m, which is an isomorphism of these categories.
(b) Consider the categories Code_lm and NRing_lm. If to each code C∈Codes we associate its neural ring F(C)=(P(C),△,∩) and to each linear monomial map q:C→D the linear monomial homomorphism of neural rings F(q)=q−1:P(D)→P(C), then in that way we obtain a contravariant functor F:Code_lm→NRing_lm, which is an isomorphism of these categories.
Proof.
The proof of (a) given in [6] works for (b) in a similar way.
∎
Remark 3.17**.**
Let C, D be neural codes on m and n neurons respectively. Under the ring isomorphism A→LA between (P(C),△,∩) and RC and between (P(D),△,∩) and RD, the relations q−1(TkiD)∈{TkjC:j∈[m]}∪{∅,C} and q−1(TkiD)∈{TkαC:α⊆[m]}∪{∅} become
q−1(xiD)∈{xjC:j∈[m]}∪{0,1} and
q−1(xiD)∈{xαC=∏j∈αxjC:α⊆[m]}∪{0}, respectively, which justifies the names “linear monomial map”, “monomial map” “linear monomial morphism”, and “monomial morphism” used in this section, as well as the names “linear monomial isomorphism” and “monomial isomorphism” that are going to be used in the next section. Here xjC (resp. xiD) denotes Xj+I(C) in RC (resp. Xi+I(D) in RD).
Summary 3.18**.**
In the categories Code, Code_m, and Code_lm the set of objects is the same, namely the set Codes of all neural codes. The morphisms are: code maps in Code, monomial maps in Code_m, and linear monomial maps in Code_lm.
In the categories NRing, NRing_m, and NRing_lm the set of objects is the same, namely the set NRings of all neural rings. The morphisms are: neural ring homomorphisms in NRing, monomial homomorphisms in NRing_m, and linear monomial homomorphisms in NRing_lm.
The categories Code and NRing, Code_m and NRing_m, and Code_lm and NRing_lm are isomorphic.
Let C be a category. A map f:A→B between two objects of C is said to be an isomorphism if it is a bijective morphism such that f−1:B→A is also a morphism.
The isomorphisms in the category Code are bijective maps between codes. The isomorphisms in the category NRing are the maps q−1:P(D)→P(C), where C and D are codes, such that q:C→D is a bijection.
Proof.
For the category Code the statement folllows Definition 3.1 and Definition 4.1.
For the category NRing the statement then follows from Theorem 3.3.
∎
The isomorphisms in the category Code_lm are precisely the maps perC,σ:C→C′=perC,σ(C) which permute the indices of neurons. The isomorphisms in the category NRing_lm are the maps q−1:P(D)→P(C), where C and D are codes, such that the associated maps q:C→D are isomorphisms in the category Code_lm.
Definition 4.4**.**
We call the isomorphisms in the categories Code_m and NRing_m (resp. Code_lm and NRing_lm) monomial (resp. linear monomial) isomorphisms.
Let C⊆F2m be a neural code. A finite array S=[T1,T2,…,Tn], n≥1, of subsets Ti of C is called a vector of subsets of C.
Proposition 4.6**.**
Let C⊆F2m be a neural code and let S=[T1,T2,…,Tn] be a vector of subsets of C. There is one and only one code map qS:C→F2n such that qS−1(TkiF2n)=Ti for i=1,2,…,n.
Proof.
We define qS in the following way: for every u∈C let v=qS(u) be the element of F2n whose i-th component vi is equal 1 if u∈Ti and [math] if u∈/Ti. It is clear that then qS−1(TkiF2n)=Ti for i=1,2,…,n and that qS is the only map from C to F2n with this property.
∎
Examples 4.7**.**
(1) Let C={001,110,101,111}⊆F23, T1={101,001}, T2={101,111}, S=[T1,T2,T2,T1]. Then qS:C→F24 is given by qS(001)=1001, qS(110)=0000, qS(101)=1111, qS(111)=0110.
(2) Let C={001,110,101,111} and S=[C,∅,∅,C,C]. Then qS:C→F25 is the constant map qS(u)=10011 for everu u∈C.
(3) Let C={00,10,01}⊆F22 and S=[Tk1C,Tk2C,C]. Then qS=acoC:C→F23.
(4) Let C={00,10,01}⊆F22 and S=[Tk1C,Tk2C,∅]. Then qS=aczC:C→F23.
(5) Let C={000,101,011}⊆F23 and S=[Tk!C,Tk3C]. Then qS=delC,2:C→F22.
(6) Let C={100,010,001,110}⊆F23 and S=[Tk3C,Tk2C,Tk1C]. Then qS=perC,σ:C→F23, where σ=(13)∈S3.
(7) Let C={100,010,001,110}⊆F23 and S=[Tk1C,Tk2C,Tk3C,Tk2C]. Then qS=repC,2:C→F24.
(8) Let C={100,010,001,110}⊆F23 and S=[Tk1C,Tk2C,Tk3C]. Then qS=injC,F23:C→F23.
(9) Let C={100,011,101,111}⊆F23 and S=[Tk1C,Tk2C,Tk3C,Tk{1,3}C]. Then qS=atnC,{1,3}:C→F24.
Definition 4.8**.**
Let C⊆F2m and D⊆F2n be two codes and q:C→D a code map. Then the vector Sq=[q−1(Tk1D),…,q−1(TknD)] of subsets of C is called the vector associated to q or the defining vector of q.
Note that the maps q and qSq have the same domain and range, however the codomain of q is D and the codomain of qSq is F2n.
Definition 4.9**.**
Let C⊆F2m be a code, α⊆[m], i∈[m]∖{α}. We say that the neuron i is redundant to α if it is not constant zero and TkiC=TkαC. We say that the neuron i∈[m] is redundant if it is redundant to some α⊆[m].
Proposition 4.10**.**
Let C⊆F2m be a neural code, i∈[m], and consider the code map q=delC,i:C→D=q(C). The following are equivalent:
(a) the neuron i is redundant or constant zero;
(b) q is a monomial isomorphism.
Proof.
(a) ⇒ (b): Suppose that i is redundant to some α⊆[m]. The map q is a linear monomial map whose defining vector is
[TABLE]
If for u=u1…um and v=v1…vm from C we have u1…ui…um=v1…vi…vm, then uα=vα (since i∈/α), hence ui=vi (since i is redundant to α), hence u=v. Thus q is injective, hence bijective. For the inverse map q−1:D→C the defining vector is
[TABLE]
Hence q−1 is a monomial map, hence q is a monomial isomorphism..
When i is constant zero, the proof goes along the same lines.
(b) ⇒ (a): Suppose that q=delC,i:C→D=q(C) is a monomial isomorphism. Since q is bijective, we have the inverse map q−1:D→C. Its defining vector is
[TABLE]
where T⊆D. Since q−1 is a monomial map, T=TkβD for some set β={j1,j2,…,jt}⊆[m−1] with j1<j2<⋯<jt, t≥0, or T=∅. Hence if T=∅, the elements of C that have 1 on the i-th coordinate are precisely the elements of the trunk TkαC, where
α={j1,j2,…,js−1,js+1,js+1+1,…,jt+1}, with t≥0, 0≤s≤t, js−1<i<js+1. Thus i is redundant to α or constant zero.
∎
Theorem 4.11**.**
A code map q:C→D is a monomial isomorphism if and only if it is a composition of finitely many bijective code maps each of which is of one of the following types:
(i) permutation of indices of neurons;
(ii) addition of a redundant neuron;
(iii) deletion of a redundant neuron;
(iv) addition of a constant zero neuron;
(v) deletion of a constant zero neuron.
Proof.
It is easy to see that the bijective code maps of types (i), (ii), and (iv) are monomial isomorphisms. Also it follows from Proposition 4.10 that bijective code maps of types (iii) and (v) are monomial isomorphisms. Hence a composition of finitely many bijective maps, each of one of the types (i)-(v), is a monomial isomorphism.
Conversely, let q:C→D be a monomial isomorphism, where C⊆F2m and D⊆F2n. We decompose q into a composition of finitely many code maps in the same way in which a code map q was decomposed in the proof of Theorem 3.12. All the maps that appear in the decomposition from the proof of Theorem 3.12 will appear here, in the decomposition of the monomial isomorphism q that we are considering, except the last map, qn+m+2, since here q is a bijection. Moreover, all of the maps q1,q2,…,qn+m+1 are bijections. The maps qi, 1≤i≤n, are of types (ii) or (iv), as in the proof of Theorem 3.12. The map qn+1 is of type (i). Since the map q−1:D→C is a monomial isomorphism, the map vu1u2…um−i↦vu1u2…um−1um−i+1 from Cn+1+i to Cn+i is of type (ii) or (iv) (in the same way in which the maps qi, 1≤i≤n, were of types (ii) or (iv)), so that the map
qn+1+i=delCn+i,n+m+1−i:vu1u2…um−ium−i+1↦vu1u2…um−i
from Cn+i to Cn+1+i is of type (iii) or (v) (for 1≤i≤m). Thus q is a composition of finitely many code maps that are of types (i)-(v).
∎
Corollary 4.12**.**
The monomial isomorphisms in the category Nring_m are the maps q−1:P(D)→P(C), where C and D are codes, such that the associated maps q:C→D are isomorphisms in the category Code_m (characterized by theorem 4.11).
Summary 4.13**.**
The isomorphisms in the category Code (resp. Code_m; Code_lm) are the bijective code maps (resp. the maps that are finite compositions of code maps of the five types listed in Theorem 4.11; the maps that permute the indices of neurons).
The isomorphisms in the categories NRing (resp. NRing_m; NRing_lm) are the maps q−1:P(D)→P(C), where C and D are codes, such that the associated maps q:C→D are isomorphisms in the category Code (resp. Code_m; Code_lm).
Bibliography6
The reference list from the paper itself. Each links out to its DOI / PubMed record.
1[1] M. F. ATIYAH, I. G. MACDONALD, Introduction to Commutative Algebra , Westview Press, 1969.
2[2] D. COX, J. LITTLE, D. O’SHEA, Ideals, varietes, and algorithms , Second Edition, Springer-Verlag, New York, NY, 1997.
3[3] C. CURTO, V. ITSKOV, A. VELIZ-CUBA, N. YOUNGS, The neural rings: an algebraic tool for analyzing the intrinsic structure of neural codes , Bull. Math. Biol. 75 (2013), 1571-1611.
4[4] C. CURTO, N. YOUNGS, Neural ring homomorphisms and maps between neural codes , ar Xiv:1511.00255 v 1[q-bio.NC] 1 Nov 2015.
5[5] N. JACOBSON, Basic Algebra II , W. H. Freeman and Company, New York, NY, 1989.
6[6] R. AMZI JEFFS, Morphisms of neural codes , ar Xiv:1806.02014 v 2[math.CO] 31 Jul 2018.