Una función aplica elementos de su dominio a elementos en su codominio. A los conjuntos e 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 con los elementos (sin repetidos) de dominio y codominio, y una lista de listas que aplica de valores de en valores de , devuelva la clase de función en que cae . Se asegura que 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) ''