Saltar a contenido

Producto Interno

Sean \(\mathbf{u}, \mathbf{v} \in \mathbb{R}^n\) dos vectores definidos como:

\[ \mathbf{u} = \left(u_1, u_2, \dots, u_n\right)^{\top}, \quad \mathbf{v} = \left(v_1, v_2, \dots, v_n\right)^{\top}. \]

El producto interno, escalar o punto se calcula de la siguiente forma:

\[ \mathbf{u}\cdot\mathbf{v} = u_1\,v_1 + u_2\,v_2 + \cdots + u_n\,v_n = \sum_{i=1}^nu_i\,v_i. \]

Desarrolle la función producto_interno(u, v) que recibe dos listas que representan los vectores \(\mathbf{u}\) y \(\mathbf{v}\), y calcule el producto interno.

Ejemplos

>>> producto_interno([1, 0], [0, 1])
0
>>> producto_interno([1, 2, 3], [4, 5, 6])
32
>>> producto_interno([0, -1, 2.3, 4, 99], [-1, 0, 0, 2, 2])
206.0
Solución
def producto_interno(u, v):
    n = len(u) # u y v tienen el mismo tamaño
    productos = [] # Lista para guardar los productos
    for i in range(n): # Recorremos los elementos de u y v
        productos.append(u[i] * v[i]) # Guardamos el producto
    return sum(productos) # Sumamos los productos