22
$\begingroup$

Throughout my education in computer science, I feel like I've heard the terms "modulo" and "modulus" used interchangeably. It looks like even Wikipedia claims that "modulo" is "sometimes called 'modulus'" (see the first sentence of the page on 'modulo').

I've looked into this issue a little and it seems that "modulo" finds singular use in modular arithmetic (e.g. "19 and 64 are congruent modulo 5"). In addition, I've seen the symbol % be referred to as "modulo."

Meanwhile, "modulus" appears to have several definitions, including "absolute value" and "constant factor" as well as referring to the "5" in "modulo 5."

Is it ever correct to use these terms interchangeably in the context of computer science? Are they simply different types of words that represent the same idea (such as "run" and "runner")? Are there important differences in other disciplines?

Bonus: Etymologically, what gave rise to these two terms?

$\endgroup$
2
  • 1
    $\begingroup$ It's the other number that's "sometimes called 'modulus.'" ​ ​ $\endgroup$
    – user12859
    Commented Feb 13, 2016 at 3:19
  • $\begingroup$ @D.W. I believe what Ricky addressed this—the wording in the first paragraph is slightly ambiguous but "sometimes called 'modulus'" refers to some concept in the first paragraph which I now believe I mistakenly thought was modulo. $\endgroup$
    – intcreator
    Commented Feb 13, 2016 at 3:55

2 Answers 2

26
$\begingroup$

"modulo" is an operator. For instance, we might say "19 and 64 are congruent modulo 5".

"modulus" is a noun. It describes the 5 in "modulo 5". We might say "the modulus is 5".

No, the two should not be used interchangeably. It would be incorrect to say "19 and 64 are congruent modulus 5". It would also be incorrect to "the modulo is 5".

See also https://en.wikipedia.org/wiki/Modular_arithmetic and https://en.wikipedia.org/wiki/Modulo_operation. Both define the word "modulus", and as far as I can see they use it correctly.

$\endgroup$
7
  • 4
    $\begingroup$ So, is "10 % 3" should be read "10 modulo 3" or "10 modulus 3"? $\endgroup$ Commented Apr 2, 2021 at 10:16
  • $\begingroup$ @MichaelHaddad • 10 % 3 in most programming languages calculates the remainder, not the modulus. The modulus would be calculated by (((a % b) + b) % b). $\endgroup$
    – Eljay
    Commented Apr 12, 2023 at 11:33
  • $\begingroup$ @Eljay so how should "10 % 3" be read? $\endgroup$ Commented Apr 13, 2023 at 10:06
  • $\begingroup$ @MichaelHaddad • 10 % 3 should be read as remainder. $\endgroup$
    – Eljay
    Commented Apr 13, 2023 at 11:04
  • 2
    $\begingroup$ @MichaelHaddad, "10 % 3" should be read as "10 modulo 3". The operator ("%") is called modulo. You'll often just hear "10 mod 3". In this example, 10 is the dividend and 3 is the divisor, but since this is a modulo operation, we don't call it the divisor, we call it the modulus (a noun) for this type of expression. The result of integer division would be 3 (the quotient), but the result of this modulo operation is 1 (the remainder). $\endgroup$
    – Subfuzion
    Commented Jun 14, 2023 at 19:40
2
$\begingroup$

My knowledge in Latin and etymology is very limited, but, 'modulus' is a Latin word, and the form 'modulus' is singular, nominative. 'moduli' is its plural form, again in the nominative case. Finally, 'modulo' is its ablative case. I believe that 'a is congruent to b modulo m' literally means something like 'a is congruent to b in the modulus m'.

English declension is very simple, but it wasn't always like that. And, it seems that in old times, when you import a foreign word into English, you import not only the standard, singular nominative form, but also all other forms. Some of Latin or Greek plural forms are remaining in modern English, although their uses seem to be declining. But in older times, not only plural forms, but also other cases were sometimes used. I think the word 'modulo' in math is a very rare remaining active usage of the Latin ablative case in English.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.