### The Maxima on-line user's manual

Algebra Calculator

#### Modulus

-- Option variable: modulus Default value: `false`

When `modulus` is a positive number <p>, operations on rational numbers (as returned by `rat` and related functions) are carried out modulo <p>, using the so-called "balanced" modulus system in which `<n> modulo <p>` is defined as an integer <k> in `[-(<p>-1)/2, ..., 0, ..., (<p>-1)/2]` when <p> is odd, or `[-(<p>/2 - 1), ..., 0, ...., <p>/2]` when <p> is even, such that `<a> <p> + <k>` equals <n> for some integer <a>.

If <expr> is already in canonical rational expression (CRE) form when `modulus` is reset, then you may need to re-rat <expr>, e.g., `expr: rat (ratdisrep (expr))`, in order to get correct results.

Typically `modulus` is set to a prime number. If `modulus` is set to a positive non-prime integer, this setting is accepted, but a warning message is displayed. Maxima will allow zero or a negative integer to be assigned to `modulus`, although it is not clear if that has any useful consequences.

```(%o1)                                true
(%i2) ```

### Related Examples

##### modulus-print

modulus: 114573516752...

(x*65537) = 1;

print(x);

Calculate

##### modulus

modulus:2;

z = 3 * x + 2 * y;

z;

Calculate

##### modulus-solve

modulus:5;

solve([3=(3-b)*a,(1-b...

Calculate

##### modulus-print

modulus: 114573516752...

(x*65537) = 1;

print(x);

Calculate

##### modulus-remainder

modulus:5;

remainder((x+2)^10,x^...

Calculate

modulus:5;

p=[[a,b],[c,d]];

pt=transpose(p);

Calculate

##### modulus-solve

modulus:5;

solve([2*y+3*x^2 = 1,...

Calculate

##### modulus-print

modulus:2;

z = 3 * x + 2 * y;

print(z);

Calculate

##### modulus-solve

/* Число букв в алфав...

/* шифрованные символ...

y2: 1;

Calculate

x = 21 ^ 21;

modulus:43;

y = x;

Calculate