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

From ApCoCoAWiki
m
m (Bot: Replacing category HowTo with HowTo Old)
 
(13 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== Modular Numbers ==
+
== Question ==
=== Question ===
+
How can one compute with modular numbers?  What's wrong in this?
 
   Use R::=Z/(5)[x];
 
   Use R::=Z/(5)[x];
 
   5x+2y;
 
   5x+2y;
 
  2y
 
  2y
  ---
+
  -------------------------------
 
   5=0;
 
   5=0;
  FALSE :-((
+
  FALSE
  ---
+
  -------------------------------
 +
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 e' un intero, e gli interi non dipendono dall'anello corrente (puoi
 
immaginarti cosa succederebbe a un ciclo For?)
 
  
per vedere 5 come modulare devi fare:
+
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
-------------------------------
+
-------------------------------
(analogo al C) oppure immergerlo nell'anello di polinomi
+
or embed your integer into the polynomial ring
  Use R::=Z/(5)[x];
+
  Use R::=Z/(5)[x];
  Poly(5);
+
  Poly(5);
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 Old]]
 +
[[Category:CoCoA4]]

Latest revision as of 09:44, 29 October 2020

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)