Difference between revisions of "CoCoA:HowTo:Use Modular Numbers"

From ApCoCoAWiki
m
m
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Modular Numbers ==
+
== Question ==
=== Question ===
+
How can one compute with modular numbers?  What's wrong in this?
What's wrong in this?
 
 
   Use R::=Z/(5)[x];
 
   Use R::=Z/(5)[x];
 
   5x+2y;
 
   5x+2y;
Line 9: Line 8:
 
  FALSE
 
  FALSE
 
  -------------------------------
 
  -------------------------------
Moreover this 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 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;
 
  0 % 5
 
  0 % 5
Line 25: Line 26:
 
  0
 
  0
 
  -------------------------------
 
  -------------------------------
 +
The creation of a polynomial ring with no indeterminates has been disabled to highlight this (unexpected?) behaviour.
 +
 +
by [[User:Bigatti|Bigatti]] 17:26, 29 Nov 2005 (CET)
 +
 +
[[Category:HowTo|{{PAGENAME}}]][[Category:CoCoA4]]

Revision as of 18:27, 22 October 2007

Question

How can one compute with modular numbers? 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 indeterminates has been disabled to highlight this (unexpected?) behaviour.

by Bigatti 17:26, 29 Nov 2005 (CET)