Residue Classes and Operations
This section focuses on working with equivalence classes of numbers under a modulus, as well as related mathematical concepts.
Functions Overview
Residue Classes
-
isCoprime(a: number, b: number): boolean
Checks ifaandbare coprime (i.e., their greatest common divisor (GCD) is 1). -
findResidue(a: number, mod: number): number
Mapsato its residue class modulomod. -
totient(n: number): number
Computes Euler’s Totient Function, which gives the count of integers less thannthat are coprime ton.
Detailed Documentation
isCoprime
Description:
Determines if two integers a and b are coprime by checking if their GCD is equal to 1.
Example:
console.log(isCoprime(8, 15)); // Output: true (GCD(8, 15) = 1)
console.log(isCoprime(12, 18)); // Output: false (GCD(12, 18) = 6)
findResidue
Description:
Maps the integer a to its residue class modulo mod. This ensures the result is a non-negative integer in the range [0, mod).
Example:
console.log(findResidue(-10, 3)); // Output: 2 (since -10 ≡ 2 (mod 3))
console.log(findResidue(10, 4)); // Output: 2 (since 10 ≡ 2 (mod 4))
totient
Description:
Calculates Euler’s Totient Function, which counts the number of integers less than n that are coprime to n.
Example:
console.log(totient(9)); // Output: 6 (1, 2, 4, 5, 7, 8 are coprime to 9)
console.log(totient(10)); // Output: 4 (1, 3, 7, 9 are coprime to 10)
Additional Notes
Applications of findResidue
The findResidue function is useful for preprocessing numbers into their modular equivalence classes, ensuring they fall within the expected range for subsequent operations.
Example:
const residue = findResidue(-20, 7); // Maps -20 to its residue class modulo 7
console.log(residue); // Output: 1
Combining totient with Other Modular Operations
Euler’s Totient Function is fundamental in modular arithmetic and number theory, particularly in applications like RSA encryption or finding modular inverses.