CoCoA:HowTo:Use Modular Numbers: Difference between revisions

From ApCoCoAWiki
Bigatti (talk | contribs)
mNo edit summary
Bigatti (talk | contribs)
Strange behaviour of modular numbers
Line 1: Line 1:
== Modular Numbers ==
== Question ==
=== Question ===
What's wrong in this?
What's wrong in this?
   Use R::=Z/(5)[x];
   Use R::=Z/(5)[x];
Line 11: Line 10:
Moreover this command throws an error
Moreover this command throws an error
   Use R::=Z/(5);
   Use R::=Z/(5);
=== Answer ===
 
== Answer ==
   Type(5);
   Type(5);
  INT
  INT
  -------------------------------
  -------------------------------
5 is an integer, and integers do not depend on the current ring: could you imagine what would happen to a For cycle over Z/(2)?  ;-)
5 is an integer, and integers do not depend on the current ring: could you imagine what would happen to a For cycle over Z/(2)?  ;-)
If you want to use 5 as a modular number you should either use this syntax (similar to C/C++)
If you want to use 5 as a modular number you should either use this syntax (similar to C/C++)
   5 % 5;
   5 % 5;

Revision as of 14:50, 29 November 2005

Question

What's wrong in this?

  Use R::=Z/(5)[x];
  5x+2y;
2y
-------------------------------
  5=0;
FALSE
-------------------------------

Moreover this command throws an error

  Use R::=Z/(5);

Answer

  Type(5);
INT
-------------------------------

5 is an integer, and integers do not depend on the current ring: could you imagine what would happen to a For cycle over Z/(2)?  ;-)

If you want to use 5 as a modular number you should either use this syntax (similar to C/C++)

  5 % 5;
0 % 5
-------------------------------

or embed your integer into the polynomial ring

  Use R::=Z/(5)[x];
  Poly(5);
0
-------------------------------

The creation of a polynomial ring with no indeterminated has been disabled to highlight this (unexpected?) behaviour.