Ejercicio 1: Producto Escalar y Norma de un Vector
Objetivo: Implementar funciones para calcular el producto escalar de dos vectores y la norma de un vector.
- Producto Escalar: Escribe una función
producto_escalar(u, v)
que tome dos vectoresu
yv
como listas de números reales y devuelva su producto escalar. - Norma de un Vector: Escribe una función
norma_vector(v)
que tome un vectorv
y devuelva su norma (longitud).
Ejercicio 2: Ortogonalidad y Bases Ortogonales
Objetivo: Verificar si dos vectores son ortogonales y generar una base ortogonal a partir de un conjunto de vectores.
- Verificar Ortogonalidad: Escribe una función
es_ortogonal(u, v)
que verifique si dos vectores son ortogonales. - Base Ortogonal: Utilizando el método de Gram-Schmidt, escribe una función
gram_schmidt(vectores)
que tome una lista de vectores y devuelva una base ortogonal.
Isometrías Vectoriales (Capítulo 9)
Ejercicio 3: Clasificación de Isometrías
Objetivo: Clasificar isometrías en el plano y el espacio tridimensional, determinando elementos geométricos clave.
- Isometría en el Plano: Escribe una función que tome una matriz y determine si representa una rotación o reflexión en el plano, identificando el ángulo de rotación o el eje de reflexión.
- Isometría en el Espacio: Similar al ejercicio anterior, pero para el espacio tridimensional, identificando el eje de giro o el plano/eje de simetría.
Implementación Sugerida en Python
A continuación, se proporcionan las implementaciones sugeridas para los primeros dos ejercicios:
import numpy as np
# Ejercicio 1
def producto_escalar(u, v):
return np.dot(u, v)
def norma_vector(v):
return np.sqrt(producto_escalar(v, v))
# Ejercicio 2
def es_ortogonal(u, v):
return producto_escalar(u, v) == 0
def gram_schmidt(vectores):
base_ortogonal = []
for v in vectores:
for u in base_ortogonal:
v -= np.dot(np.dot(u, v), u) / np.dot(u, u)
base_ortogonal.append(v / np.linalg.norm(v))
return base_ortogonal
Para los ejercicios sobre isometrías, te recomendaría primero definir qué significa una matriz de rotación o reflexión en términos matemáticos, cómo identificar sus componentes y, basado en ello, proceder a la implementación.
Estos ejercicios te permitirán aplicar conceptos teóricos de álgebra lineal a problemas concretos, reforzando tu comprensión y habilidades de programación en Python.
… … …
¡Coméntanos que te ha parecido este artículo al final de la página!
TÚ OPINIÓN IMPORTA
NUESTRAS ÚLTIMAS PUBLICACIONES
- La vida nos aguarda triunfos importantes. Sé resiliente.
- Creación de una Calculadora de Ecuación de Segundo Grado con HTML, CSS y JavaScript
- Comunicado a nuestros amigos, alumnos y compañeros de Valencia.
- Artículo: Funciones esenciales de C para la manipulación de cadenas: fgets, strlen, stdin, y más
- Uso de la Clase DAO sin Interfaces en Java: Ejemplo de Gestión de Trabajadores
- Uso de DAO en Java: Simplificando el Acceso a Datos con el Patrón DAO
- Guía Completa para la Creación de Gramáticas en JFLAP: Ejercicios y Soluciones
- Generación de Lenguajes en JFLAP con Gramáticas: Ejercicios y Estrategias
- Máquinas de Turing y Enumeración de Números Binarios: Diseño y Funcionamiento en JFLAP
Contenido restringido
Comments are closed