Skip to content
Mahrud Sayrafi edited this page Mar 12, 2021 · 1 revision

title: Bugs WF2012 permalink: wiki/Bugs_WF2012/ layout: wiki

install page

Please update the install page and make it as streamlined as possible, removing all distractors like fink.

I've done it, on the trunk, at svn://svn.macaulay2.com/Macaulay2/trunk/M2/INSTALL

-Dan

bug in pdim

  • pdim may not give the right answer when the input is not pruned:

 R = QQ[t];
 M = image map(R^1,R^2,matrix{ {1,t} });
 pdim M -- yields value 1
 pdim(prune M) -- yields value 0 (which is the correct one)

-Claudiu

Thanks, I've fixed this on the trunk.
-Dan.

documentation

  • Not a bug, but a request for better documentation:

One of my undergrads wanted to compute something like 13 mod 6, and naturally looked up the mod function, which did not give him the 1 he expected. Can we get a link to % on the documentation page for mod? Is that something the community of M2 developers can do without bugging Mike and Dan?

--Dave Swinarski

Thanks, I've added a link this on the trunk.

Why not get rid of "mod"?

-Dan.

Partition

  • Partition =!= class conjugate new Partition from {} -- zach

Thanks, I've fixed this on the trunk. -Dan.

Inverse of pruningMap

The map phi below is an isomorphism, but M2 won't construct its inverse. --Brett

 R = ZZ/101[x,y,z];
 f = matrix{{x*y+x*z+y*z-1,x^2+y^2,y^2+z^2,z^2}};
 K = ker f;
 MP = minimalPresentation K;
 phi = MP.cache.pruningMap;
 isIsomorphism phi;
 phi^-1; -- error: matrix not invertible

This is a bug, thanks. I think the problem lies in quotientRemainder(Matrix,Matrix) in the case when the target of the map is an image or a subquotient, but should work when the target is free or a cokernel.

Wiki front page

The Wiki's front page says "coming soon." Could there be a link or automatic forwarding to the "real" front page?

  • zach

Exponentiation in prime characteristic

It seems as if exponentiation does not use the fact that Frobenius is a homomorphism. This could easily be fixed by using the base p expansion of an integer.

 basePExp = (N,p) ->
   (
   e:=1; while p^e<=N do e = e+1;
   e = e-1;
   E:=new MutableList;
   a:=1; while e>=0 do 
     (
       while a*p^e<=N do a=a+1;
       E#e = a-1;
       N = N - (a-1)*p^e;
       a=1;
       e=e-1;
     );
   new List from E
   )

 fastExp = (f,N) ->
 (
    p:=char ring f;
    E:=basePExp(N,p);
    product(apply(#E, e -> (sum(apply(terms f, g->g^(p^e))))^(E#e)))
 )

Bottom of page

Return to the main WF2012 page

Clone this wiki locally