LaTeX: Notación relacionada con los conjuntos

Objetivo: aprender a generar en LaTeX la simbología relacionada con los conjuntos matemáticos.

Hace tan sólo dos días escribía un artículo sobre programación en Python relacionado con los conjuntos y caí en la cuenta de que aún no había mencionado nada sobre ellos en \LaTeX. No es la primera vez que aprovecho una misma temática para enfocarla bajo la luz de distintas disciplinas (como las listas en Python, en LaTeX o en HTML). De modo que quiero compartir hoy contigo lo que sé sobre notación de conjuntos en LaTeX, es decir, mostrarte cómo pintar esos simbolitos de unión, intersección, pertenencia, etc.

Comencemos describiendo los elementos que definen un conjunto:

La única pega que tiene esto es la generación de las llaves, pues sabes que son un símbolo reservado de \LaTeX.

Para poder escribir las llaves, debes escaparlas con \{ y \}, de modo que el código que genera la imagen de la figura es el siguiente:

\[
A=\{1, 2, 3, 4\}
\]

Pero esto puede suponer un problema, al igual que sucedía con los paréntesis: si el contenido presenta varias alturas, las llaves se quedarán pequeñas. Obsérvalo en la siguiente imagen:

De modo que toma nota del comando inteligente para generar llaves: \left\{ para la llave de apertura y \right\} para la de cierre. Ahora está mucho mejor:

\[
A=\left\{\frac{1}{2}, 2, 3, 4\right\}
\]

Comprendido esto, continuemos con la pertenencia:

Los comandos para indicar pertenencia o no pertenencia son \in y \notin, respectivamente:

\[
4 \in A
\]

\[
5 \notin A
\]

Voy a explicarte otra forma más de generar el símbolo de no pertenencia y que aplicaremos después para la forma negada del operador de inclusión. Basta con que precedas el operador a negar con el comando \not. Obsérvalo:

\[
5 \not \in A
\]

El resultado es exactamente el mismo.

Para la unión e intersección disponemos de los comandos \cup y \cap, respectivamente. La elección de estos términos no es arbitraria: cup significa taza en inglés, que es como la U de la unión. En cambio, cap significa gorro, un objeto que podemos asimilar fácilmente a la U invertida de la intersección.

\[
A \cup B
\]

\[
A \cap B
\]

Si te gusta indicar el complementario de un conjunto con una barra horizontal, toma nota del comando \overline, que dibujará una línea horizontal sobre aquello que facilites como argumento entre llaves. Por ejemplo, para generar la siguiente ley de Morgan

habría que escribir el siguiente código:

\[
\overline{A \cup B}=\overline{A} \cap \overline{B}
\]

El símbolo de inclusión, contenido en, lo creamos a través del comando \subset (subconjunto). Su variante, contiene a, se logra con \supset (superconjunto).

\[
A \subset B
\]

\[
B \supset A
\]

Si agregas eq, de equal, al final de estos comandos, obtienes la versión con igualdad:

\[
A \subseteq B
\]

\[
B \supseteq A
\]

Para el no incluido y el no contiene, precedemos el comando con \not, de igual modo que hicimos con la no pertenencia. Observa estos dos ejemplos:

\[
A \not \subset B
\]

\[
B \not \supseteq A
\]

Lo he soltado, ya me he quedado más a gusto…

Javier Montero Gabarró


LaTeX: Notación relacionada con los conjuntos


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Índice completo de artículos relacionados con \LaTeX.

Python: Unión, intersección y diferencia de conjuntos

Objetivo: aprender a realizar operaciones como la unión, intersección y diferencia de conjuntos en Python.

Continuamos nuestro repaso al tipo set en Python aprendiendo, por fin. a realizar las operaciones clásicas por antonomasia.

Definamos antes algunos conjuntos sobre los que practicar:

>>> c1 = {1, 2, 3, 4, 5, 6}
>>> c2 = {2, 4, 6, 8, 10}
>>> c3 = {1, 2, 3}
>>> c4 = {4, 5, 6}

Empecemos por la unión de dos conjuntos, definida como el conjunto de elementos que están en uno o en otro (o en ambos).

>>> c1 | c2
{1, 2, 3, 4, 5, 6, 8, 10}

Podemos incluir más de dos operandos:

>>> c1 | c2 | c3
{1, 2, 3, 4, 5, 6, 8, 10}

Y seguimos con la intersección: el conjunto de elementos que estan en ambos.

>>> c1 & c2
{2, 4, 6}

>>> c1 & c2 & c3 & c4
set()       # El conjunto vacío

Estos operadores también tienen variantes como métodos del objeto set. Observa su uso autoexplicativo:

>>> c1.union(c2)
{1, 2, 3, 4, 5, 6, 8, 10}

>>> c1.intersection(c2, c3)
{2}

La diferencia de dos conjuntos A y B, A – B, es el conjunto de elementos que están en A pero no en B. En Python se implementa con un operador de resta simple (-):

>>> c1 - c2
{1, 3, 5}

La unión exclusiva, también conocida como diferencia simétrica, es el conjunto de elementos que están en A o B, pero no en ambos:

>>> c1 ^ c2
{1, 3, 5, 8, 10}

Compara este resultado con la unión, calculada anteriormente.

También existe versión método para estos operadores:

>>> c1.difference(c2)
{1, 3, 5}

>>> c1.symmetric_difference(c2)
{1, 3, 5, 8, 10}

Más adelante conoceremos situaciones en las que será más interesante usar los métodos que los operadores, aunque ahora quizás te resulte redundante.

Aún nos quedan algunos métodos por conocer relacionados con los conjuntos, pero no dispongo de más tiempo por hoy, de modo que los dejaremos para la siguiente ocasión.

Para finalizar, un pequeño consejito: conoce bien las estructuras de datos y el tipo de operaciones que puedes realizar con ellas. Con frecuencia, resolver elegantemente un problema de programación no se reduce a otra cosa sino a elegir la estructura de datos más adecuada.

Javier Montero Gabarró


http://elclubdelautodidacta.es/wp/2012/07/python-union-interseccion-y-diferencia-de-conjuntos/


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Consulta el índice completo de artículos relacionados con Python.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies