29 votos

¿Símbolo 'mod' o 'resto' válido en matemáticas?

Estoy tratando de escribir el algoritmo euclidiano de la siguiente manera:

$A = \lfloor A \div B \rfloor \times B + (\text{remainder of}) \: A \div B $

Ahora bien, ¿hay algún símbolo que pueda utilizar para decir "resto de A $\div$ B"? Sé que en el lenguaje de programación C existe el operador % para el módulo; ¿es un símbolo válido en matemáticas? ¿Puedo escribir A % B? ¿O hay alguna otra forma?

4 votos

Siempre puedes hacer $A - (\lfloor A \div B\rfloor \times B)$

13 votos

Se puede escribir el resto como $\ A{\rm\ mod\ }B.$

0 votos

@BillDubuque ¿Es válido "mod" en una expresión matemática?

38voto

David HAust Puntos 2696

A petición de los interesados, pongo mi(s) comentario(s) como respuesta, y añado algunas observaciones adicionales.

La notación $\, a\bmod b\, $ denota el resto al dividir $\,a\,$ por $\,b\,$ utilizando el algoritmo de la división, por ejemplo $\, a\bmod 2 = 1\,$ significa $\,a = 2n+1\,$ para un número entero $\,n,\,$ es decir $\,a\,$ es impar. $\,a\,\%\,b\, :=\, a\bmod b\,$ es una notación que a veces se encuentra en los lenguajes de programación (véase más adelante).

La misma notación se utiliza en otros anillos que tienen un Algoritmo de División (euclidiano) análogo, por ejemplo, polinomios con coeficientes sobre un campo, como el Teorema del Resto de Polinomios: $\,f(a) = f(x)\bmod x\!-\!a,\,$ o de grado superior formas como $\,f(i) = (f(x)\bmod x^2\!+\!1)\bmod x\!-\!i$ .

También $\!\bmod\!$ se utiliza como una relación ternaria (frente a la operación binaria anterior) cuando se trata de congruencias, es decir $\ a\equiv b\pmod{\! n}\iff n\mid a-b\,$ (an relación de equivalencia para un módulo fijo $\,n).$

Estas dos denotaciones de $\!\bmod\!$ son relacionados como sigue

$$ a\equiv b\!\!\!\pmod{\!n}\iff a\bmod n\, =\, b\bmod n$$

así que $\,a\bmod n\,$ sirve como forma normal o representante canónico para toda la clase de equivalencia $\,[a]_n = a + n\Bbb Z\,$ de todos los enteros $\,\equiv a\pmod{\!n}$ . Así que la equivalencia mostrada arriba significa que probar la congruencia de los enteros se reduce a probar igualdad de sus formas normales (= restos $\!\bmod n),\,$ al igual que podemos comprobar la equivalencia de las fracciones comprobando la igualdad de sus formas normales de mínimos. Del mismo modo, podemos ver el resto como un rep de "mínimos términos": es el menor entero no negativo de la clase $[a]_n.\,$

El operativo El uso del mod suele ser más conveniente en computacional contextos, mientras que el relacional uso a menudo produce más flexibilidad en teórico contextos. La diferencia estriba en si es más conveniente trabajar con clases de equivalencia generales que con representantes canónicos/normales ("reps") de las mismas. Por ejemplo, sería bastante engorroso enunciar las leyes de la aritmética de fracciones si exigiéramos que todas las fracciones estuvieran en forma normal (reducida), es decir, en términos mínimos. En cambio, resulta más conveniente tener la flexibilidad de trabajar con fracciones equivalentes arbitrarias. Por ejemplo, esto nos permite enunciar la regla de adición de fracciones de forma muy sencilla eligiendo primero conveniente los representantes que tienen un denominador común.

Análogamente, en la aritmética modular el canónico resto $\,a\ {\rm mod}\ m\,$ puede no ser la elección más conveniente de representante de la clase de equivalencia $\,[a]_n =\, a + n\,\Bbb Z.\,$ Por ejemplo, echando a los once explota que $\ {\rm mod}\ 11\!:\ 10\equiv -1\,\Rightarrow\,10^{\large k}\equiv (-1)^{\large k}\equiv \pm1,\,$ que implica la elección de un representante de menor magnitud $\,\color{#c00}{\bf -1}\,$ contra. $\,\color{#0a0}{10}\in [10]_{11}\! = \{\ldots,\, -23,-12,\color{#c00}{\bf -1},\color{#0a0}{10},21,\,\ldots\}.\,$ O, como aquí podemos elegir las repeticiones que convenientemente hacen que un cociente sea exactamente al calcular fracciones modulares, por ejemplo $\!\bmod 11\!:\,\ 9/13\equiv -2/2\equiv -1.\,$ Por lo tanto, de forma análoga a la suma de fracciones, elegimos las repeticiones que simplificado aritmética. El uso de las repeticiones de menor magnitud a menudo simplifica también otros cálculos, por ejemplo, puede reducir a la mitad el número de pasos en el algoritmo euclidiano. Así, el uso de la congruencia clases (frente a las repeticiones canónicas) proporciona una flexibilidad mucho mayor, lo que puede suponer grandes simplificaciones, no sólo desde el punto de vista computacional, sino también teórico, lo que queda más claro cuando se estudia anillos de cociente que dan como resultado (algebraico) estructura reificaciones de la reglas de congruencia \= compatibilidad de las congruencias con la suma y la multiplicación).

Cuidado con que algunos autores omiten los paréntesis en $\, a\equiv b\pmod{\!n}$ en lugar de escribirlos como sigue $\,a\equiv b\mod n\ $ o $\ a = b\mod n,\ $ utilizando \mod contra. \pmod en $\TeX$ . Estos pueden ser fácilmente confundidos con $\,a = b\bmod n\,$ es decir $\,a = (b\bmod n),\,$ por lo que hay que tener en cuenta esas posibles ambigüedades en contextos en los que ambas formas de $\!\bmod\!$ están en uso. Véase aquí para saber más sobre esto.

El nombre "%" para la forma normal $\!\bmod\!$ (como en el lenguaje de programación C) no ha llegado a la comunidad matemática, hasta donde yo sé. Recuerdo muchas preguntas en sci.math sobre el significado de $\rm\, a\,\%\, b.\, $ Por ello, si se utiliza esta notación en un foro de matemáticas, recomiendo que se especifique su significado. Esto no sería necesario para $\!\bmod\!$ ya que esa notación es omnipresente en las matemáticas (actualmente más para la congruencia que para la forma del operador). Sin embargo, hay que tener en cuenta que algunos matemáticos desprecian el uso operativo de mod en el caso de que sea más natural utilizar la forma de congruencia. Al parecer, los dioses matemáticos también lo hacen, ya que hacerlo puede dificultar bastante algunas pruebas (mucho más que el caso simple de la suma de fracciones mencionado anteriormente).

1 votos

Es necesario añadir, si se desea utilizar a\%b en LaTeX para denotar el resto, debe escribir a \mathbin{\%} b o mejor definirlo por \renewcommand*{\bmod}{\mathbin{\%}} y entonces es a \bmod b .

2 votos

El operador de porcentaje en lenguajes similares a C es un operador de resto no es un operador modulo . El motivo por el que Kernighan y Ritchie tomaron esta decisión se pierde en la noche de los tiempos, pero es lamentable. Aquí hay un artículo sobre la diferencia escrito por uno de los expertos en C# del mundo: blogs.msdn.com/b/ericlippert/archive/2011/12/05/

0 votos

@Pieter No me queda claro a qué te refieres con "operador resto vs. operador módulo". Más arriba distingo entre mod/resto como una operación que produce una elección particular (canónica) de una clase de equivalencia, frente al uso de mod como relación ternaria $a\equiv b \pmod R \iff (a,b)\in R.\,$ No me ocupo de ninguna opción que tenga que ver con la implementación de las operaciones de resto (o el algoritmo de división asociado).

14voto

Hurkyl Puntos 57397

Está bien usar $A \% B$ para el resto de $A$ cuando se divide por $B$ , siempre que explique el significado del símbolo del porcentaje .

Es bastante común en matemáticas tener que introducir un símbolo para expresar convenientemente algo que se va a utilizar: es inviable y no deseable tener una notación estandarizada para absolutamente todo .

Y como este operador se utiliza con poca frecuencia en las matemáticas, no ha habido estandarizado notación para ello. $A \bmod B$ es probablemente la notación más común que he visto para ello, aunque es ligeramente abusiva y posiblemente un poco confusa, ya que el $\bmod$ El símbolo se utiliza también de otras maneras.

Eso sí, no te inventes una notación sin explicar su significado. Haciendo que no se acepta. Además, deberías señalar claramente cómo estás normalizando el resto: por ejemplo, que estás insistiendo en que sea un entero en el intervalo $[0, |B| - 1]$ .

0 votos

+1. Pero, ¿cómo podría explicar el significado de mi anotación? ¿Sólo una declaración en inglés? ¿Algo como "Donde A % B denota el resto cuando A se divide por B"?

3 votos

@ApprenticeHacker: Creo que eso debería estar bien en la mayoría de los contextos -- asumiendo que dices cómo estás normalizando el resto. Hay varias opciones reales: por ejemplo, usted podría elegir el representante con menor valor absoluto: $5\% 3 = -1$ . O puede elegir que el resto tenga el mismo signo que el primer argumento, pero que sea de menor magnitud que el segundo: $-5 \% 3 = -2$ . O puede elegir que tenga el mismo signo que el segundo argumento: $-5 \% 3 = 1$ pero $5 \% -3 = -1$ .

0 votos

+1, en particular para es indeseable . Estoy completamente de acuerdo.

8voto

Drew Jolesch Puntos 11

Se puede escribir el resto, matemáticamente, como $A\; \text{mod}\; B$ que se entiende como el resto de $A \div B$ .

AÑADIDO: En la programación, tienes razón, $A\,\%\,B$ en muchos idiomas, es la operación que devuelve el resto al dividir $A$ por $B$ . Dentro de las matemáticas, el % no es una notación aceptada para este propósito.

0 votos

+1 gracias por el apéndice que menciona la parte de programación.

0 votos

De nada. He visto que, al principio, no había respondido a todas tus preguntas ;-)

5 votos

Creo que puede ser un poco peligroso creer que " $A\mod B$ " se entiende el resto (por no hablar de la pregunta sobre la normalización del resto. Mejor explicarlo en el montaje, para evitar malentendidos.

3voto

Jean-Claude Arbaut Puntos 9403

En algún momento, el uso de "mod" en matemáticas se limitó a las congruencias:

$$a\equiv b \pmod n \iff n \, | \, a - b$$

De esta manera, siempre tienes, cuando $r$ es el resto de la división $a/b$ :

$$a \equiv r \pmod b$$

Sin embargo, la notación " $a \;\mathrm{mod}\; b$ " está ahora bastante extendido, probablemente con la ayuda de las notaciones de los lenguajes de programación (se escribe exactamente así en Pascal, por ejemplo). También se ha utilizado en libros de informática muy conocidos, como " Matemáticas concretas ", donde demostró ser muy útil también en las fórmulas matemáticas.

0 votos

Creo que formalmente se selecciona un elemento canónico de cada clase de congruencia y la operación mod asigna un elemento al elemento canónico de su clase de congruencia. Para algunos dominios esto podría requerir el axioma de elección.

0 votos

@Tim: Desgraciadamente, en muchos lenguajes informáticos el operador que se conoce comúnmente como operador "mod" [a menudo denotado como % ] no asigna cada clase de equivalencia a un único elemento canónico, sino que asignará todas las clases menos una a dos elementos cada una. Por ejemplo, en los dialectos actuales de C, C++, C# y Java, aunque 41 (mod 3), y -51 mod 3, 4%3 producirá 1 y (-5) mod 3 producirá -2.

0 votos

@supercat sí, de hecho soy consciente de ello. Y creo que la mayoría de las veces cuando los matemáticos hablan de la operación hablan de la proyección canónica, y reservan modulo para referirse a la relación de equivalencia.

0voto

G Cab Puntos 51

También se puede utilizar la notación "simétrica" $$ A = \left\lfloor {A/B} \right\rfloor B + \left\{ {A/B} \right\}B $$ donde $\left\{ x \right\} = x - \left\lfloor x \right\rfloor $ denota la parte fraccionaria, como se adopta en el libro Matemáticas concretas pero desgraciadamente tampoco es una notación "estándar".

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X