Les dejo la función que he echo para que tambien pueda usarse con arrays normales (:
import numpy as np
def f(x):
if type(x) != type(np.array([])):
x = np.array(x)
return x.sum()
if __name__ == '__main__':
print(f([2, 3]))
¿Qué son las funciones lineales y cómo transforman vectores en escalares?
Las funciones lineales son una herramienta fundamental en el análisis matemático y el álgebra lineal. Nos permiten transformar vectores en escalares, facilitando la manipulación y análisis de datos en espacios multidimensionales. Al comprender cómo estas funciones operan, podemos aplicar sus principios en diversas áreas como la programación, la estadística, o cualquier campo que implique el uso de vectores y matrices.
Una función f, que va de Rⁿ a R, se denota como f: Rⁿ → R. Esto significa que toma un vector de n dimensiones y lo transforma en un escalar. Un buen ejemplo de esto es el producto interno, una operación común que ya hemos visto anteriormente. Para trabajar efectivamente con funciones lineales, es crucial que estas estén explícitamente definidas. Sin una definición clara, las funciones no pueden ser utilizadas adecuadamente en cálculos o programaciones.
¿Cómo se representa una función lineal de manera computacional?
Para representar las funciones lineales de manera computacional utilizamos bibliotecas como NumPy en Python. Aquí vamos a ver un ejemplo de cómo se puede implementar una función que suma los componentes de un vector.
import numpy as np def f(x): return np.sum(x) # Evaluamos la función f en diferentes vectores print(f(np.array([0, 0, 0, 0]))) # Salida: 0 print(f(np.array([1, 0, 0, 0]))) # Salida: 1 print(f(np.array([1, 1, 1, 1]))) # Salida: 4
En este código, definimos una función f que utiliza np.sum(x) para devolver la suma de las componentes del vector x. Esta implementación no está limitada a vectores de tamaño 4, pero en este ejemplo, estamos trabajando con vectores de cuatro dimensiones para ilustrar el concepto.
¿Qué son las funciones de proyección y cómo se implementan?
Las funciones de proyección toman un vector y devuelven uno de sus componentes. Veamos cómo se implementa una función de proyección que devuelve solo la primera entrada de un vector.
def g(x): return x[0] # Evaluamos la función g en diferentes vectores print(g(np.array([0, 0, 0]))) # Salida: 0 print(g(np.array([0, 0, 1]))) # Salida: 0 print(g(np.array([1, 0, 4]))) # Salida: 1
En esta función g, simplemente se retorna la primera componente del vector x. En un espacio tridimensional, podríamos definir tres funciones de proyección distintas: una sobre la coordenada x₀, otra sobre x₁, y finalmente sobre x₂. La función de proyección que quieras utilizar dependerá del análisis que desees realizar y las características específicas del vector que sean de tu interés.
Las funciones lineales, como la suma (función f en el primer ejemplo) o la proyección (función g en el segundo ejemplo), son herramientas poderosas para manipular vectores y comprender los datos en un contexto matemático y computacional. Este conocimiento básico es esencial para trabajar eficazmente en cualquier disciplina que requiera un manejo avanzado de datos y cálculos vectoriales. ¡Sigue explorando y practicando para afinar tus habilidades!
Las funciones lineales son una herramienta fundamental en el análisis matemático y el álgebra lineal. Nos permiten transformar vectores en escalares, facilitando la manipulación y análisis de datos en espacios multidimensionales. Al comprender cómo estas funciones operan, podemos aplicar sus principios en diversas áreas como la programación, la estadística, o cualquier campo que implique el uso de vectores y matrices.
Una función f, que va de Rⁿ a R, se denota como f: Rⁿ → R. Esto significa que toma un vector de n dimensiones y lo transforma en un escalar. Un buen ejemplo de esto es el producto interno, una operación común que ya hemos visto anteriormente. Para trabajar efectivamente con funciones lineales, es crucial que estas estén explícitamente definidas. Sin una definición clara, las funciones no pueden ser utilizadas adecuadamente en cálculos o programaciones.
Para representar las funciones lineales de manera computacional utilizamos bibliotecas como NumPy en Python. Aquí vamos a ver un ejemplo de cómo se puede implementar una función que suma los componentes de un vector.
import numpy as np
def f(x):
return np.sum(x)
# Evaluamos la función f en diferentes vectores
print(f(np.array([0, 0, 0, 0]))) # Salida: 0
print(f(np.array([1, 0, 0, 0]))) # Salida: 1
print(f(np.array([1, 1, 1, 1]))) # Salida: 4
En este código, definimos una función f que utiliza np.sum(x) para devolver la suma de las componentes del vector x. Esta implementación no está limitada a vectores de tamaño 4, pero en este ejemplo, estamos trabajando con vectores de cuatro dimensiones para ilustrar el concepto.
Las funciones de proyección toman un vector y devuelven uno de sus componentes. Veamos cómo se implementa una función de proyección que devuelve solo la primera entrada de un vector.
def g(x):
return x[0]
# Evaluamos la función g en diferentes vectores
print(g(np.array([0, 0, 0]))) # Salida: 0
print(g(np.array([0, 0, 1]))) # Salida: 0
print(g(np.array([1, 0, 4]))) # Salida: 1
En esta función g, simplemente se retorna la primera componente del vector x. En un espacio tridimensional, podríamos definir tres funciones de proyección distintas: una sobre la coordenada x₀, otra sobre x₁, y finalmente sobre x₂. La función de proyección que quieras utilizar dependerá del análisis que desees realizar y las características específicas del vector que sean de tu interés.
Las funciones lineales, como la suma (función f en el primer ejemplo) o la proyección (función g en el segundo ejemplo), son herramientas poderosas para manipular vectores y comprender los datos en un contexto matemático y computacional. Este conocimiento básico es esencial para trabajar eficazmente en cualquier disciplina que requiera un manejo avanzado de datos y cálculos vectoriales. ¡Sigue explorando y practicando para afinar tus habilidades!
Les dejo la función que he echo para que tambien pueda usarse con arrays normales (:
import numpy as np
def f(x):
if type(x) != type(np.array([])):
x = np.array(x)
return x.sum()
if __name__ == '__main__':
print(f([2, 3]))
Las funciones van a tomar vectores y los convertirán en escalares
Funciones biyectivas : 1 a 1
import numpy as np
def f(x):
return np.sum(x) # sumar todas las componentes del vector
# función suma
def g(x):
return x[0] #regresa solamente la primera posición
#proyección sobre x0
"Este elemento del dominio va a dar un elemento de la imagen al cual ningún otro elemento de la imagen va a dar".
Eso no es necesariamente cierto. La parábola básica por ejemplo. f(x) = x^2. x y su opuesto dan siempre el mismo valor de salida.
Es perfectamente normal que 2 elementos del dominio se relacionen con un mismo elemento del codominio, o siguiente la analogía de los círculos y triángulos, 2 círculos distintos pueden apuntar al mismo triángulo
Les dejo mi comprobador de linealidad

def funcion_lineal(x):
A = np.array([[2, 3], [4, 1]]) # Matriz de coeficientes
b = np.array([1, -1]) # Vector de términos constantes
y = np.dot(A, x) + b # Aplicar la transformación lineal
return y
x = np.array([2, 1]) # Vector de entrada
y = funcion_lineal(x) # Aplicar la función lineal
print(y) # Imprimir el resultado
El ejemplo de f(X) por temas de comodidad lo podríamos definir como la sumatoria de cada componente del vector, no cambia en nada solo que es mas corto de escribir en el caso de que el vector fuera muy largo.