commit 0278705e39df9d1c5374f824d1fee5b16bfce87f from: ale date: Wed Jul 29 01:51:05 2026 UTC Elimina notebooks/scripts de Sage sin usar (rama de Sage/IDEA descartada) commit - 3d9c1f1ea896917b2b05f0ca3c045f7c7008c280 commit + 0278705e39df9d1c5374f824d1fee5b16bfce87f blob - 16f06cb4c5776ccbe7f7cbf8b7e9b9bad4745bc3 (mode 644) blob + /dev/null --- sage/notebooks/Solucion_EV01.ipynb +++ /dev/null @@ -1,340 +0,0 @@ -{ - "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": [ - "\\(\\displaystyle \\left(\\begin{array}{rrr}\n", - "1 & 4 & 6 \\\\\n", - "0 & 1 & 4 \\\\\n", - "0 & 0 & 1\n", - "\\end{array}\\right)\\)" - ], - "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 @@ -1,13 +0,0 @@ -# Prueba rápida de Sage -- usa a propósito sintaxis que SOLO el preparser de -# Sage entiende (R. = ..., ^ 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. = 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 @@ -1,19 +0,0 @@ - - -# 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. = ..., ^ 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)) -