On Monday, October 30, 2023 at 12:28:18 PM UTC-7 Dima Pasechnik wrote:

On Mon, Oct 30, 2023 at 5:04 PM John H Palmieri <jhpalm...@gmail.com> 
wrote: 
> 
> Are endomorphisms better to work with? I might be able to extend my map 
to an endomorphism of the larger ring, if that would make the computation 
easier. Probably just send xi1 -> xi1, xi2 -> xi2, etc. 

these are "already there", as if phi is an endomorphism then ker(phi) 
is generated by a-phi(a) - so 
whenever phi(a)=a this reduces to 0. 



I don't understand this. Define phi: k[x,y,z] -> k[x,y,z] by

x -> y
y -> z
z -> 0

Then x - phi(x) = x - y  is not in the kernel. What do you mean by 
"ker(phi) is generated by a-phi(a)"?



> 
> On Monday, October 30, 2023 at 7:14:16 AM UTC-7 Dima Pasechnik wrote: 
>> 
>> On Mon, Oct 30, 2023 at 12:54 PM Kwankyu <ekwa...@gmail.com> wrote: 
>> > 
>> > Isn't this what you want? 
>> > 
>> > sage: R.<x,y> = QQ[] 
>> > sage: phi = R.hom([x,x]) 
>> > sage: phi 
>> > Ring endomorphism of Multivariate Polynomial Ring in x, y over 
Rational Field 
>> > Defn: x |--> x 
>> > y |--> x 
>> > sage: phi.kernel() 
>> > Ideal (x - y) of Multivariate Polynomial Ring in x, y over Rational 
Field 
>> 
>> that's the kernel of the endomorphism phi of R. 
>> John's question is a bit different, and it will require 
>> finding the intersection of such an ideal with the domain of his map. 
>> His R=F_2[h20,...,h50,xi1,...,xi5] and phi induces an endomorphism of 
>> R with the kernel <h_ij-phi(h_ij) I i,j in [(2,0),..,(5,0)]>. 
>> Then phi is injective iff the intersection of this ideal with 
>> F_2[h20,...,h50]={0}. 
>> And this needs a Grobner basis computation. 
>> 
>> By the way, using 
>> h30 |--> h20*xi1^4 + h21*xi1 + h30 
>> h31 |--> h21*xi1^8 + h31 
>> 
>> one can split the problem into cases 
>> 1) xi1=0 
>> 2) h21=h20=0 
>> (but perhaps it's only specific to this particular example) 
>> 
>> > 
>> > On Monday, October 30, 2023 at 6:08:16 PM UTC+9 Dima Pasechnik wrote: 
>> >> 
>> >> 
>> >> 
>> >> On Mon, 30 Oct 2023, 05:57 John H Palmieri, <jhpalm...@gmail.com> 
wrote: 
>> >>> 
>> >>> Does anyone have any tips for how to compute the kernel of a map 
between polynomial algebras, or for checking whether the map is injective? 
I have families of such maps involving algebras with many generators. I'm 
working over GF(2), if that matters. In one example I defined the map phi: 
R -> S where R has 12 generators, S has 19 generators, and did 
>> >>> 
>> >>> sage: phi.is_injective() 
>> >>> 
>> >>> After about 30 hours, Sage quit on me, perhaps running out of memory 
("Killed: 9"). An example of the sort of map I'm interested in: 
>> >>> 
>> >>> sage: phi 
>> >>> Ring morphism: 
>> >>> From: Multivariate Polynomial Ring in h20, h21, h30, h31, h40, h41, 
h50 over Finite Field of size 2 
>> >>> To: Multivariate Polynomial Ring in h20, h21, h30, h31, h40, h41, 
h50, xi1, xi2, xi3, xi4, xi5 over Finite Field of size 2 
>> >>> Defn: h20 |--> h20 
>> >>> h21 |--> h21 
>> >>> h30 |--> h20*xi1^4 + h21*xi1 + h30 
>> >>> h31 |--> h21*xi1^8 + h31 
>> >>> h40 |--> h21*xi1^9 + h30*xi1^8 + h20*xi2^4 + h31*xi1 
>> >>> h41 |--> h31*xi1^16 + h21*xi2^8 
>> >>> h50 |--> h31*xi1^17 + h21*xi1*xi2^8 + h30*xi2^8 + h20*xi3^4 
>> >>> 
>> >>> Any suggestions? 
>> >> 
>> >> 
>> >> The standard way to find the kernel of a map 
>> >> phi: A->B is to take the 
>> >> ring R generated by the gens of A and B and compute the Gröbner basis 
of the ideal I generated by {a-phi(a)|a in gens(A)}, and then 
>> >> take the intersection of I with A. 
>> >> (for the latter you have to take R with an appropriate order) 
>> >> 
>> >> The Gröbner basis would be done by Singular. 
>> >> Better Gröbner basis routines are available in the msolve spkg. 
>> >> 
>> >> I'd try using msolve. There are also options such as computing I 
w.r.t. to an "easier" order and then chaniging the order (so-called Gröbner 
walk), they might work better here (it's all more of art than science here) 
>> >> 
>> >> 
>> >> 
>> >> HTH 
>> >> Dima 
>> >> 
>> >>> 
>> >>> -- 
>> >>> John 
>> >>> 
>> >>> 
>> >>> -- 
>> >>> You received this message because you are subscribed to the Google 
Groups "sage-support" group. 
>> >>> To unsubscribe from this group and stop receiving emails from it, 
send an email to sage-support...@googlegroups.com. 
>> >>> To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-support/97318b8e-f4c9-4af3-a8ff-b901a4f2c971n%40googlegroups.com.
 

>> > 
>> > -- 
>> > You received this message because you are subscribed to the Google 
Groups "sage-support" group. 
>> > To unsubscribe from this group and stop receiving emails from it, send 
an email to sage-support...@googlegroups.com. 
>> > To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-support/487bf189-fce6-4b6b-9752-178602ff9808n%40googlegroups.com.
 

> 
> -- 
> You received this message because you are subscribed to the Google Groups 
"sage-support" group. 
> To unsubscribe from this group and stop receiving emails from it, send an 
email to sage-support...@googlegroups.com. 
> To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-support/0ddf54b3-1778-4fca-932c-bb5521963db2n%40googlegroups.com.
 


-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-support/e301dc26-c7b5-4f82-a74a-57eaf0769d0dn%40googlegroups.com.

Reply via email to