Una función f:X→ Y aplica elementos de su dominio a elementos en su codominio. A los conjuntos X e Y los llamamos dominio y codominio, respectivamente, de f.
La inyectividad, sobreyectividad y biyectividad dan información acerca de cómo se relacionan los elementos del dominio con el codominio.
La función f es inyectiva si cada elemento del codominio tiene un único elemento del dominio al que le corresponde. Es decir, no pueden haber más de un valor de X que tenga la misma imagen Y.
Una función f es sobreyectiva (o suprayectiva) si todos los elementos del codominio tienen al menos un elemento del dominio al que le corresponde.
Una función f es biyectiva si es al mismo tiempo inyectiva y sobreyectiva. Es decir, si todo elemento del codominio tiene al menos un elemento del dominio al que le corresponde (condición de función sobreyectiva) y todos los elementos del dominio tiene una única imagen en el codominio (condición de función inyectiva).
En resumen, se pueden presentar los siguientes casos de funciones:
Ser inyectiva pero no sobreyectiva
Ser sobreyectiva aunque no inyectiva
Ser biyectiva (inyectiva y sobreyectiva)
No ser ni inyectiva ni sobreyectiva
Diseña una función clase_funcion(f, X, Y) que, dadas dos listas X, Y con los elementos (sin repetidos) de dominio y codominio, y una lista de listas f que aplica de valores de X en valores de Y, devuelva la clase de función en que cae f. Se asegura que f es una función.
>>> X = [1, 2, 3] >>> Y = [4, 5, 6] >>> f = [[1, 4], [2, 5], [3, 6]] >>> clase_funcion(f, X, Y) 'biyectiva' >>> f = [[1, 4], [2, 4], [3, 4]] >>> clase_funcion(f, X, Y) '' >>> Y = [4, 5] >>> f = [[1, 4], [2, 5], [3, 5]] >>> clase_funcion(f, X, Y) 'sobreyectiva' >>> Y = [4, 5, 6, 7] >>> f = [[1, 4], [2, 5], [3, 6]] >>> clase_funcion(f, X, Y) 'inyectiva' >>> f = [[1, 4], [2, 4], [3, 4]] >>> clase_funcion(f, X, Y) ''