commit - 3d9c1f1ea896917b2b05f0ca3c045f7c7008c280
commit + 0278705e39df9d1c5374f824d1fee5b16bfce87f
blob - 16f06cb4c5776ccbe7f7cbf8b7e9b9bad4745bc3 (mode 644)
blob + /dev/null
--- sage/notebooks/Solucion_EV01.ipynb
+++ /dev/null
-{
- "cells": [
- {
- "cell_type": "markdown",
- "id": "0b2a74a3",
- "metadata": {},
- "source": [
- "# Resolución de Evaluación: Espacios Vectoriales\n",
- "\n",
- "Este notebook contiene la resolución detallada de los problemas presentados en el archivo `EspaciosVectoriales★_2.pdf`. Cada problema incluye una explicación teórica, el desarrollo paso a paso y verificaciones mediante código usando **SageMath** (en vez de sympy)."
- ]
- },
- {
- "cell_type": "markdown",
- "id": "6d52991c",
- "metadata": {},
- "source": [
- "## Problema 1: Análisis de un Sistema de Ecuaciones Lineales\n",
- "\n",
- "**Enunciado:**\n",
- "Considere el sistema:\n",
- "$$\\begin{cases} x + y + z = 2 \\\\ x + 2y + kz = 3 \\\\ 2x + 3y + 3z = k + 3 \\end{cases}$$\n",
- "Determine para qué valores de $k$ el sistema tiene: (a) solución única, (b) infinitas soluciones, o (c) ninguna solución. Para el caso (b), describa el conjunto solución como el span de un vector.\n",
- "\n",
- "### Resolución Paso a Paso\n",
- "\n",
- "1. **Matriz Aumentada:**\n",
- " $$\\begin{pmatrix} 1 & 1 & 1 & | & 2 \\\\ 1 & 2 & k & | & 3 \\\\ 2 & 3 & 3 & | & k+3 \\end{pmatrix}$$\n",
- "\n",
- "2. **Eliminación de Gauss:**\n",
- " - $R_2 \\to R_2 - R_1$: \n",
- " $$\\begin{pmatrix} 1 & 1 & 1 & | & 2 \\\\ 0 & 1 & k-1 & | & 1 \\\\ 2 & 3 & 3 & | & k+3 \\end{pmatrix}$$\n",
- " - $R_3 \\to R_3 - 2R_1$: \n",
- " $$\\begin{pmatrix} 1 & 1 & 1 & | & 2 \\\\ 0 & 1 & k-1 & | & 1 \\\\ 0 & 1 & 1 & | & k-1 \\end{pmatrix}$$\n",
- " - $R_3 \\to R_3 - R_2$: \n",
- " $$\\begin{pmatrix} 1 & 1 & 1 & | & 2 \\\\ 0 & 1 & k-1 & | & 1 \\\\ 0 & 0 & 2-k & | & k-2 \\end{pmatrix}$$\n",
- "\n",
- "3. **Análisis de Casos:**\n",
- " - **Caso 1: $2-k \\neq 0 \\implies k \\neq 2$.** El sistema tiene **solución única** porque hay un pivote en cada columna de la matriz de coeficientes.\n",
- " - **Caso 2: $2-k = 0 \\implies k = 2$.** La última fila se convierte en $(0, 0, 0 | 0)$. El sistema es consistente y tiene **infinitas soluciones** (una variable libre).\n",
- " - **Caso 3: Ninguna solución.** No existe ningún valor de $k$ que haga que el sistema sea inconsistente, ya que si el lado izquierdo es 0 ($k=2$), el lado derecho también es 0 ($2-2=0$).\n",
- "\n",
- "4. **Conjunto Solución para $k=2$:**\n",
- " Sustituyendo $k=2$ en la matriz reducida:\n",
- " $$\\begin{cases} x + y + z = 2 \\\\ y + z = 1 \\end{cases}$$\n",
- " Sea $z = t$ (variable libre):\n",
- " $y = 1 - t$\n",
- " $x + (1-t) + t = 2 \\implies x = 1$\n",
- " Solución: $(x, y, z) = (1, 1-t, t) = (1, 1, 0) + t(0, -1, 1)$.\n",
- " El conjunto solución es el **span{(0, -1, 1)}** desplazado por el punto $(1, 1, 0)$."
- ]
- },
- {
- "cell_type": "code",
- "id": "7cb201f8",
- "metadata": {
- "ExecuteTime": {
- "end_time": "2026-07-28T05:40:11.876196592Z",
- "start_time": "2026-07-28T05:40:11.780046765Z"
- }
- },
- "source": [
- "k = var('k')\n",
- "x, y, z = var('x y z')\n",
- "\n",
- "eq1 = x + y + z == 2\n",
- "eq2 = x + 2*y + k*z == 3\n",
- "eq3 = 2*x + 3*y + 3*z == k + 3\n",
- "\n",
- "# Verificación para k=2\n",
- "sol_k2 = solve([eq1.subs(k=2), eq2.subs(k=2), eq3.subs(k=2)], x, y, z)\n",
- "print(\"Solución para k=2:\", sol_k2)"
- ],
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Solución para k=2: [\n",
- "[x == 1, y == -r4 + 1, z == r4]\n",
- "]\n"
- ]
- }
- ],
- "execution_count": 5
- },
- {
- "cell_type": "markdown",
- "id": "e28dd27b",
- "metadata": {},
- "source": [
- "## Problema 2: Condiciones para pertenecer al Span\n",
- "\n",
- "**Enunciado:**\n",
- "Dados $\\vec{v}_1 = (1, 0, -1, 2)$ y $\\vec{v}_2 = (2, 3, 1, 1)$, encuentre las condiciones algebraicas para que $\\vec{b} = (b_1, b_2, b_3, b_4) \\in \\text{span}\\{\\vec{v}_1, \\vec{v}_2\\}$.\n",
- "\n",
- "### Resolución Paso a Paso\n",
- "\n",
- "Para que $\\vec{b}$ esté en el span, deben existir escalares $\\alpha, \\beta$ tales que $\\alpha \\vec{v}_1 + \\beta \\vec{v}_2 = \\vec{b}$. Esto genera el sistema:\n",
- "$$\\begin{cases} \\alpha + 2\\beta = b_1 \\\\ 3\\beta = b_2 \\\\ -\\alpha + \\beta = b_3 \\\\ 2\\alpha + \\beta = b_4 \\end{cases}$$\n",
- "\n",
- "1. De la segunda ecuación: $\\beta = \\frac{b_2}{3}$.\n",
- "2. Sustituyendo en la primera: $\\alpha = b_1 - 2(\\frac{b_2}{3}) = b_1 - \\frac{2b_2}{3}$.\n",
- "3. Sustituyendo $\\alpha$ y $\\beta$ en la tercera ecuación:\n",
- " $-(b_1 - \\frac{2b_2}{3}) + \\frac{b_2}{3} = b_3 \\implies -b_1 + \\frac{2b_2}{3} + \\frac{b_2}{3} = b_3 \\implies -b_1 + b_2 = b_3 \\implies \\mathbf{b_1 - b_2 + b_3 = 0}$.\n",
- "4. Sustituyendo en la cuarta ecuación:\n",
- " $2(b_1 - \\frac{2b_2}{3}) + \\frac{b_2}{3} = b_4 \\implies 2b_1 - \\frac{4b_2}{3} + \\frac{b_2}{3} = b_4 \\implies 2b_1 - b_2 = b_4 \\implies \\mathbf{2b_1 - b_2 - b_4 = 0}$.\n",
- "\n",
- "**Conclusión:** Un vector $\\vec{b}$ pertenece al span si sus componentes cumplen:\n",
- "$$\\begin{cases} b_1 - b_2 + b_3 = 0 \\\\ 2b_1 - b_2 - b_4 = 0 \\end{cases}$$"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "b918a1c6",
- "metadata": {},
- "source": [
- "## Problema 3: Potencias de una Matriz e Inducción\n",
- "\n",
- "**Enunciado:**\n",
- "Sea $A = \\begin{pmatrix} 1 & 1 & 0 \\\\ 0 & 1 & 1 \\\\ 0 & 0 & 1 \\end{pmatrix}$. Calcule $A^2, A^3, A^4$ y conjeture una fórmula para $A^n$.\n",
- "\n",
- "### Resolución Paso a Paso\n",
- "\n",
- "1. **Cálculo de potencias:**\n",
- " - $A^2 = \\begin{pmatrix} 1 & 2 & 1 \\\\ 0 & 1 & 2 \\\\ 0 & 0 & 1 \\end{pmatrix}$\n",
- " - $A^3 = \\begin{pmatrix} 1 & 3 & 3 \\\\ 0 & 1 & 3 \\\\ 0 & 0 & 1 \\end{pmatrix}$\n",
- " - $A^4 = \\begin{pmatrix} 1 & 4 & 6 \\\\ 0 & 1 & 4 \\\\ 0 & 0 & 1 \\end{pmatrix}$\n",
- "\n",
- "2. **Patrón observado:**\n",
- " La diagonal siempre es 1. La segunda diagonal superior es $n$. El elemento $(1,3)$ sigue la secuencia $0, 1, 3, 6, \\dots$, que corresponde a los números triangulares $\\frac{n(n-1)}{2}$ o $\\binom{n}{2}$.\n",
- "\n",
- "3. **Fórmula General:**\n",
- " $$A^n = \\begin{pmatrix} 1 & n & \\frac{n(n-1)}{2} \\\\ 0 & 1 & n \\\\ 0 & 0 & 1 \\end{pmatrix}$$\n",
- "\n",
- "4. **Justificación mediante Descomposición:**\n",
- " Sea $A = I + N$, donde $N = \\begin{pmatrix} 0 & 1 & 0 \\\\ 0 & 0 & 1 \\\\ 0 & 0 & 0 \\end{pmatrix}$.\n",
- " Notamos que $N^2 = \\begin{pmatrix} 0 & 0 & 1 \\\\ 0 & 0 & 0 \\\\ 0 & 0 & 0 \\end{pmatrix}$ y $N^3 = 0$.\n",
- " Por el Binomio de Newton (ya que $I$ y $N$ conmutan):\n",
- " $A^n = (I+N)^n = I + nN + \\frac{n(n-1)}{2}N^2 + 0 = \\begin{pmatrix} 1 & n & \\frac{n(n-1)}{2} \\\\ 0 & 1 & n \\\\ 0 & 0 & 1 \\end{pmatrix}$."
- ]
- },
- {
- "cell_type": "code",
- "id": "bccb05bc",
- "metadata": {
- "ExecuteTime": {
- "end_time": "2026-07-28T05:40:11.936218463Z",
- "start_time": "2026-07-28T05:40:11.881453054Z"
- }
- },
- "source": [
- "A = matrix(QQ, [[1, 1, 0], [0, 1, 1], [0, 0, 1]])\n",
- "print(\"A^4 calculada con Sage:\")\n",
- "show(A^4)"
- ],
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "A^4 calculada con Sage:\n"
- ]
- },
- {
- "data": {
- "text/html": [
- "<html>\\(\\displaystyle \\left(\\begin{array}{rrr}\n",
- "1 & 4 & 6 \\\\\n",
- "0 & 1 & 4 \\\\\n",
- "0 & 0 & 1\n",
- "\\end{array}\\right)\\)</html>"
- ],
- "text/plain": [
- "[1 4 6]\n",
- "[0 1 4]\n",
- "[0 0 1]"
- ],
- "text/latex": "$\\displaystyle \\left(\\begin{array}{rrr}\n1 & 4 & 6 \\\\\n0 & 1 & 4 \\\\\n0 & 0 & 1\n\\end{array}\\right)$"
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "execution_count": 6
- },
- {
- "cell_type": "markdown",
- "id": "424c0de8",
- "metadata": {},
- "source": [
- "## Problema 4: Conmutador de Matrices de Pauli\n",
- "\n",
- "**Enunciado:**\n",
- "Demuestre que $[\\sigma_x, \\sigma_y] = 2i\\sigma_z$.\n",
- "\n",
- "### Resolución Paso a Paso\n",
- "\n",
- "1. **Definiciones:**\n",
- " $\\sigma_x = \\begin{pmatrix} 0 & 1 \\\\ 1 & 0 \\end{pmatrix}, \\sigma_y = \\begin{pmatrix} 0 & -i \\\\ i & 0 \\end{pmatrix}, \\sigma_z = \\begin{pmatrix} 1 & 0 \\\\ 0 & -1 \\end{pmatrix}$.\n",
- "\n",
- "2. **Cálculo de productos:**\n",
- " - $\\sigma_x \\sigma_y = \\begin{pmatrix} 0 & 1 \\\\ 1 & 0 \\end{pmatrix} \\begin{pmatrix} 0 & -i \\\\ i & 0 \\end{pmatrix} = \\begin{pmatrix} i & 0 \\\\ 0 & -i \\end{pmatrix} = i\\sigma_z$.\n",
- " - $\\sigma_y \\sigma_x = \\begin{pmatrix} 0 & -i \\\\ i & 0 \\end{pmatrix} \\begin{pmatrix} 0 & 1 \\\\ 1 & 0 \\end{pmatrix} = \\begin{pmatrix} -i & 0 \\\\ 0 & i \\end{pmatrix} = -i\\sigma_z$.\n",
- "\n",
- "3. **Conmutador:**\n",
- " $[\\sigma_x, \\sigma_y] = \\sigma_x \\sigma_y - \\sigma_y \\sigma_x = i\\sigma_z - (-i\\sigma_z) = 2i\\sigma_z$.\n",
- "\n",
- "**Implicación física:** Los observables asociados no son compatibles; no se pueden medir simultáneamente con precisión infinita."
- ]
- },
- {
- "cell_type": "markdown",
- "id": "85fb873a",
- "metadata": {},
- "source": [
- "## Problema 5: Matriz Nilpotente\n",
- "\n",
- "**Enunciado:**\n",
- "Demuestre que $A = \\begin{pmatrix} 0 & a & b \\\\ 0 & 0 & c \\\\ 0 & 0 & 0 \\end{pmatrix}$ es nilpotente y encuentre su índice.\n",
- "\n",
- "### Resolución Paso a Paso\n",
- "\n",
- "1. **Cálculo de potencias:**\n",
- " - $A^2 = \\begin{pmatrix} 0 & 0 & ac \\\\ 0 & 0 & 0 \\\\ 0 & 0 & 0 \\end{pmatrix}$\n",
- " - $A^3 = \\begin{pmatrix} 0 & 0 & 0 \\\\ 0 & 0 & 0 \\\\ 0 & 0 & 0 \\end{pmatrix} = 0$\n",
- "\n",
- "2. **Índice de nilpotencia:**\n",
- " Si $a, c \\neq 0$, entonces $ac \\neq 0$, lo que implica $A^2 \\neq 0$. Como $A^3 = 0$, el índice exacto es **3**."
- ]
- },
- {
- "cell_type": "markdown",
- "id": "1b6f96ac",
- "metadata": {},
- "source": [
- "## Problema 6: Matriz de Adyacencia y Caminos\n",
- "\n",
- "**Enunciado:**\n",
- "Sea $M = \\begin{pmatrix} 0 & 1 & 1 \\\\ 1 & 0 & 0 \\\\ 1 & 0 & 0 \\end{pmatrix}$. Calcule $M^2$ e interprete.\n",
- "\n",
- "### Resolución Paso a Paso\n",
- "\n",
- "1. **Cálculo:**\n",
- " $M^2 = \\begin{pmatrix} 2 & 0 & 0 \\\\ 0 & 1 & 1 \\\\ 0 & 1 & 1 \\end{pmatrix}$.\n",
- "\n",
- "2. **Interpretación:**\n",
- " La entrada $(M^2)_{ij}$ indica el número de caminos de longitud 2 entre el nodo $i$ y el nodo $j$.\n",
- " - $(M^2)_{11} = 2$: Hay dos caminos para ir del nodo 1 al 1 en dos pasos (1-2-1 y 1-3-1).\n",
- " - $(M^2)_{23} = 1$: Hay un camino del nodo 2 al 3 en dos pasos (2-1-3)."
- ]
- },
- {
- "cell_type": "markdown",
- "id": "64483f99",
- "metadata": {},
- "source": [
- "## Problema 7: Interpolación Polinómica\n",
- "\n",
- "**Enunciado:**\n",
- "Encuentre $p(x) = ax^2 + bx + c$ que pasa por $(-1, 9), (1, 3), (2, 6)$.\n",
- "\n",
- "### Resolución Paso a Paso\n",
- "\n",
- "1. **Sistema de Ecuaciones:**\n",
- " - $a(-1)^2 + b(-1) + c = 9 \\implies a - b + c = 9$\n",
- " - $a(1)^2 + b(1) + c = 3 \\implies a + b + c = 3$\n",
- " - $a(2)^2 + b(2) + c = 6 \\implies 4a + 2b + c = 6$\n",
- "\n",
- "2. **Resolución:**\n",
- " Restando (2) - (1): $2b = -6 \\implies b = -3$.\n",
- " Sustituyendo $b$ en (1) y (3):\n",
- " - $a + 3 + c = 9 \\implies a + c = 6$\n",
- " - $4a - 6 + c = 6 \\implies 4a + c = 12$\n",
- " Restando estas dos: $3a = 6 \\implies a = 2$.\n",
- " Finalmente: $2 + c = 6 \\implies c = 4$.\n",
- "\n",
- "**Resultado:** $p(x) = 2x^2 - 3x + 4$."
- ]
- },
- {
- "cell_type": "markdown",
- "id": "4a1d96c2",
- "metadata": {},
- "source": [
- "## Problema 8: Matrices por Bloques\n",
- "\n",
- "**Enunciado:**\n",
- "Demuestre que si $M = \\begin{pmatrix} A & 0 \\\\ 0 & B \\end{pmatrix}$, entonces $M^k = \\begin{pmatrix} A^k & 0 \\\\ 0 & B^k \\end{pmatrix}$.\n",
- "\n",
- "### Resolución Paso a Paso\n",
- "\n",
- "La multiplicación de matrices por bloques sigue las mismas reglas que la multiplicación escalar si los bloques son compatibles.\n",
- "$M^2 = \\begin{pmatrix} A & 0 \\\\ 0 & B \\end{pmatrix} \\begin{pmatrix} A & 0 \\\\ 0 & B \\end{pmatrix} = \\begin{pmatrix} A^2 + 0 & 0 + 0 \\\\ 0 + 0 & 0 + B^2 \\end{pmatrix} = \\begin{pmatrix} A^2 & 0 \\\\ 0 & B^2 \\end{pmatrix}$.\n",
- "Por inducción, se cumple para cualquier $k \\in \\mathbb{N}$."
- ]
- },
- {
- "cell_type": "markdown",
- "id": "eb9e2135",
- "metadata": {},
- "source": [
- "## Problema 9: Propiedad Cíclica de la Traza\n",
- "\n",
- "**Enunciado:**\n",
- "Demuestre que $\\text{tr}(AB) = \\text{tr}(BA)$.\n",
- "\n",
- "### Resolución Paso a Paso\n",
- "\n",
- "1. Sea $A = (a_{ij})$ y $B = (b_{ij})$.\n",
- "2. La entrada diagonal $(i,i)$ de $AB$ es $(AB)_{ii} = \\sum_{k=1}^n a_{ik}b_{ki}$.\n",
- "3. La traza es $\\text{tr}(AB) = \\sum_{i=1}^n (AB)_{ii} = \\sum_{i=1}^n \\sum_{k=1}^n a_{ik}b_{ki}$.\n",
- "4. La entrada diagonal $(k,k)$ de $BA$ es $(BA)_{kk} = \\sum_{i=1}^n b_{ki}a_{ik}$.\n",
- "5. La traza es $\\text{tr}(BA) = \\sum_{k=1}^n (BA)_{kk} = \\sum_{k=1}^n \\sum_{i=1}^n b_{ki}a_{ik}$.\n",
- "6. Como el orden de la suma no altera el resultado en sumas finitas, las expresiones son idénticas."
- ]
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "SageMath 10.9",
- "language": "sage",
- "name": "sagemath"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.13.14"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 5
-}
blob - 9de0e8da2119eb842c4e59dedc7bd1cf210739ca (mode 644)
blob + /dev/null
--- sage/tests/sage_test.sage
+++ /dev/null
-# Prueba rápida de Sage -- usa a propósito sintaxis que SOLO el preparser de
-# Sage entiende (R.<x> = ..., ^ como potencia), para confirmar que se está
-# corriendo con `sage archivo.sage` y no con un intérprete Python plano.
-
-print("2^10 =", 2^10) # ^ es potencia en Sage, no XOR como en Python puro
-
-R.<x> = QQ[]
-p = x^3 - 1
-print("factor(x^3 - 1) =", factor(p))
-
-print("primeros 10 primos:", list(primes(30)))
-
-print("integral simbólica de x^2:", integral(x^2, x))
blob - 8b83004427fbf3858fa39a9a8ae6cf0a00790654 (mode 644)
blob + /dev/null
--- sage/tests/sage_test.sage.py
+++ /dev/null
-
-
-# This file was *autogenerated* from the file /home/ale/IdeaProjects/Jupyter_Notebooks/sage/tests/sage_test.sage
-from sage.all_cmdline import * # import sage library
-
-_sage_const_2 = Integer(2); _sage_const_10 = Integer(10); _sage_const_3 = Integer(3); _sage_const_1 = Integer(1); _sage_const_30 = Integer(30)# Prueba rápida de Sage -- usa a propósito sintaxis que SOLO el preparser de
-# Sage entiende (R.<x> = ..., ^ como potencia), para confirmar que se está
-# corriendo con `sage archivo.sage` y no con un intérprete Python plano.
-
-print("2^10 =", _sage_const_2 **_sage_const_10 ) # ^ es potencia en Sage, no XOR como en Python puro
-
-R = QQ['x']; (x,) = R._first_ngens(1)
-p = x**_sage_const_3 - _sage_const_1
-print("factor(x^3 - 1) =", factor(p))
-
-print("primeros 10 primos:", list(primes(_sage_const_30 )))
-
-print("integral simbólica de x^2:", integral(x**_sage_const_2 , x))
-