Saltar al contenido

Diario de clases

Clases de Jesús Soto

Menú
  • Home
  • Equation Editor
  • Generador de tablas
Menú

Navegación de entradas

MathBio: Autovectores y autovalores ←

MathBio: Sistemas, mínimos cuadrados, autovalores, autovectores y funciones reales

Posted on 19 de octubre de 2026

Sistemas de ecuaciones

En pasados días vimos cómo resolvíamos sistemas de ecuaciones y, en particular, el problema de mínimos cuadrados mediante matrices. Hoy abordaremos estos problemas utilizando maxima.

  • linsolve(\([eq_1, …, eq_m], [x_1, …, x_n]\)): Solves the list of simultaneous linear equations for the list of variables. The expressions must each be polynomials in the variables and may be equations.

Ejemplo: Resolver el sistema de ecuaciones \[\begin{matrix}2x+y-z=1 \\x-3y+2z=1 \\ -x+2y-4z=2\end{matrix}\]


El sistema puede tener infinitas soluciones, en cuyo caso estas se dan en forma paramétrica:

Ejemplo: Resolver el sistema de ecuaciones \[\begin{matrix}3x-y-z+t=2 \\ x+y-2z-5t=1 \end{matrix}\]

(%i3) eq1:3·x−y−z+t=2$
eq2:x+y−2·z−5·t=1$
sol:linsolve([eq1,eq2],[x,y,z,t]);

\[\operatorname{ }\left[ x=\frac{3 {\mathrm{\% r2}}+4 {\mathrm{\% r1}}+3}{4}\operatorname{,}y=\frac{5 {\mathrm{\% r2}}+16 {\mathrm{\% r1}}+1}{4}\operatorname{,}z={\mathrm{\% r2}}\operatorname{,}t={\mathrm{\% r1}}\right] \]

El punto vendrá dado con los parámetros %r1=0 y %r2=0

(%i4) P:[3/4,1/4,0,0]$

Ahora, separamos los parámetros %r1 y %r2. Para %r1, tenemos los coeficientes que multiplican a %r1:

(%i5) v:[4/4,16/4,0,1]$

Para %r2, tenemos los coeficientes que multiplican a %r2:

(%i6) u:[3/4,5/4,1,0]$

Así pues, los vectores directores serán v y u, y las ecuaciones paramétricas son

(%i7) print(matrix([x],[y],[z],[t]),"=",transpose(matrix(P)),"+ λ",
  transpose(matrix(v)),"+ μ",
  transpose(matrix(u)))$

\[\begin{bmatrix}x\\y\\z\\t\end{bmatrix}=\begin{bmatrix}\frac{3}{4}\\\frac{1}{4}\\0\\0\end{bmatrix}+ \lambda \begin{bmatrix}1\\4\\0\\1\end{bmatrix}+ \mu \begin{bmatrix}\frac{3}{4}\\\frac{5}{4}\\1\\0\end{bmatrix}\]


Mínimos cuadrados

La determinación del cero absoluto proviene del trabajo del físico francés Jacques Charles (1746-1823), quien descubrió que el volumen de un gas a presión constante crece de manera lineal con respecto a la temperatura.

\[\begin{array}{l|cccc}
T & -40 & -20 & 0 & \\ \hline
V & 19.1482 & 20.7908 & 22.4334 \\ \hline
T & 20 & 40& 60& 80 \\ \hline
V & 24.0760 & 25.7186 & 27.3612 & 29.0038 \\ \hline
\end{array}\]

En la tabla se observa la relación entre volumen y temperatura. Para crear los valores que aparecen en la tabla, una mol de hidrógeno se mantiene a una presión constante de una atmósfera. El volumen V es aproximado y se mide en litros, y la temperatura T se mide en grados Celsius.

Empleando dichos puntos, se puede determinar que \(T\) y \(V\) se relacionan a través de la ecuación lineal. Veamos cómo lo hizo.

Tratamos de buscar una relación \(V=aT+b\) y para ello consideramos el sistema:
\[\begin{align*}
-40a+b&= 19.1482 \\
-20a+b&= 20.7908\\
0a+b&= 22.4334\\
20a+b&= 24.0760\\
40a+b&= 25.7186\\
60a+b&= 27.3612\\
80a+b&= 29.0038
\end{align*}\]

Es fácil observar que el sistema no tiene solución, pero podemos encontrar la solución por mínimos cuadrados, que sería la más cercana a una posible solución.

Te toca: ¿cómo la calcularías?

(%i2) A:matrix([−40,1],[−20,1],[0,1],
[20,1],[40,1],[60,1],[80,1])$
b:[19.1482,20.7908,22.4334,
24.0760,25.7186,27.3612,29.0038]$

Tenemos las matrices del sistema. Como la matriz A tiene rango dos, planteamos \(A^tA\)

(%i3) AtA:transpose(A).A;

\[\operatorname{ }\begin{bmatrix}14000 & 140\\140 & 7\end{bmatrix}\]

Esta es una matriz regular:

(%i4) invAtA:invert(AtA);

\[\operatorname{ }\begin{bmatrix}\frac{1}{11200} & -\frac{1}{560}\\-\frac{1}{560} & \frac{5}{28}\end{bmatrix}\]

La solución que buscamos vendrá dada mediante

(%i5) xs:invAtA.transpose(A).b;

\[\operatorname{ }\begin{bmatrix}0.08213000000000009\\22.4334\end{bmatrix}\]

Así pues, la ecuación que buscamos es

(%i6) fpprintprec:6$   /* Total number of significant digits to print */

(%i7) print("V=",xs[1,1],"T+",xs[2,1])$

\[\]\[\mbox{}\\V=0.08213T+22.4334\]


Una vez calculada la función lineal, solo resta saber cuánto nos equivocamos con nuestra solución aproximada por mínimos cuadrados. De nuevo, te toca resolverlo.

Autovectores y autovalores

Ejercicio: Determinar los autovalores de la matriz \[\begin{bmatrix}1 & 1 & 0\\
2 & 0 & 2\\ -3 & -2 & -1\end{bmatrix}\]

(%i3) A:matrix([1,1,0],[2,0,2],[–3,–2,–1])$
ecu_caract:expand(determinant(A–x*ident(3)))=0;
solve(ecu_caract,[x]);

(ecu_caract) − x 3−x=0 (%o3) [x=−%i,x=%i,x=0]


Ejercicio: Determinar los autovalores de la matriz \[\begin{bmatrix}4 & 3 & 0\\
-6 & -5 & 0\\ 3 & 3 & 1\end{bmatrix}\]

(%i3) A:matrix([4,3,0],[–6,–5,0],[3,3,1])$
ecu_caract:expand(determinant(A–x*ident(3)))=0;
solve(ecu_caract,[x]);

(ecu_caract) − x 3+3⁢x−2=0 (%o3) [x=−2,x=1]


Ejercicio: Determinar los autovectores de la matriz \[\begin{bmatrix}4 & 0 & -3\\
3 & -1 & 3\\
6 & 0 & 5\end{bmatrix}\] correspondientes a su autovalor real.

(%i3) A:matrix([4,0,−3],[3,−1,3],[6,0,5])$
ecu_caract:expand(determinant(A−x·ident(3)))=0;
solve(ecu_caract,[x]);

\[{ }-{{x}^{3}}+8 {{x}^{2}}-29 x-38=0\]

\[{ }\left[ x=-\frac{\sqrt{71} \% i-9}{2}{,}x=\frac{\sqrt{71} \% i+9}{2}{,}x=-1\right] \]

Como solo hay un autovalor real:

(%i4) eq:(A−(−1)·ident(3)).matrix([x],[y],[z]);

\[{ }\begin{bmatrix}5 x-3 z\\3 z+3 x\\6 z+6 x\end{bmatrix}\]

(%i5) linsolve([eq[1,1],eq[2,1],eq[3,1]],[x,y,z]);

\[solve: dependent equations eliminated: (3)\]

\[{ }\left[ x=0{,}y={\mathrm{\% r1}}{,}z=0\right] \]

Esto nos proporciona el vector

(%i6) v:[0,1,0];

\[{ }\left[ 0{,}1{,}0\right] \]


Ejercicio: Dados los autovectores de la matriz \[\begin{bmatrix}-4 & 0 & -3\\
3 & -1 & 3\\
6 & 0 & 5\end{bmatrix}\] del mayor autovalor real, ¿cuál es el producto escalar de [1,1,1] por uno de dichos vectores unitarios?.

(%i3) A:matrix([−4,0,−3],[3,−1,3],[6,0,5])$
ecu_caract:expand(determinant(A−x·ident(3)))=0;
solve(ecu_caract,[x]);

\[{ }-{{x}^{3}}+3 x+2=0\]

\[{ }\left[ x=2{,}x=-1\right] \]

El autovalor real mayor es 2

(%i4) eq:(A−(2)·ident(3)).matrix([x],[y],[z]);

\[{ }\begin{pmatrix}-3 z-6 x\\3 z-3 y+3 x\\3 z+6 x\end{pmatrix}\]

(%i5) linsolve([eq[1,1],eq[2,1],eq[3,1]],[x,y,z]);

\[\]\[solve: dependent equations eliminated: (3)\]

\[{ }\left[ x=-\frac{{\mathrm{\% r1}}}{2}{,}y=\frac{{\mathrm{\% r1}}}{2}{,}z={\mathrm{\% r1}}\right] \]

Esto nos proporciona el vector

(%i6) v:[−1/2,1/2,1];

\[{ }\left[ -\frac{1}{2}{,}\frac{1}{2}{,}1\right] \]

Ahora solo tenemos que calcular

(%i7) [1,1,1].v/sqrt(v.v),numer;

\[{ }0.8164965809277262\]


Ejercicio: Sea \(v\) el autovector de mayor norma de los autovectores de los autovalores reales de la matriz \[\begin{bmatrix}1 & 1 & 0\\ 2 & 0 & 2\\ -3 & -2 & -1\end{bmatrix}.\] ¿Cuál es el valor de \([1,5,6].v/\| v\|\)?

(%i3) A:matrix([1,1,0],[2,0,2],[−3,−2,−1])$
ecu_caract:expand(determinant(A−x·ident(3)))=0;
solve(ecu_caract,[x]);

\[{ }-{{x}^{3}}-x=0\]

\[{ }\left[ x=-\% i{,}x=\% i{,}x=0\right] \]

Como solo hay un autovalor real y dos complejos, solo habrá un autovector para el autovalor real:

(%i5) eq:(A−(0)·ident(3)).matrix([x],[y],[z]);
linsolve(makelist(eq[i,1],i,1,3),[x,y,z]);

\[{ }\begin{bmatrix}y+x\\2 z+2 x\\-z-2 y-3 x\end{bmatrix}\]\[solve: dependent equations eliminated: (3)\]

\[{ }\left[ x=-{\mathrm{\% r1}}{,}y={\mathrm{\% r1}}{,}z={\mathrm{\% r1}}\right] \]

(%i7) v:[−1,1,1]$
[1,5,6].v/sqrt(v.v),numer;

\[ 5.773502 \]


Funciones

Una función ordinaria es aquella que ha sido construida mediante cualquiera de los métodos define o := y que es invocada utilizando paréntesis.

Ejemplo: Determina la suma de los valores de la función \(f(x)=x\,e^{1-x^2}\) para \(x_i=\frac{i}{4}\) para \(i\in\{1,\ldots,5\}\)

(%i3) f(x):=x*%e^(1–x^2)$
val:makelist(f(i/4),i,1,5);
sum(val[i],i,1,5),numer;

(val) [ %e 1516 4, %e 34 2, 3 ⁢ %e716 4,1, 5 ⁢ %e− 9 16 4] (%o3) 4.570748627711323


  • define(\(f(x_1,\ldots, x_n)\), expr): Define una función de nombre \(f\) con argumentos \(x_1,\ldots, x_n\) y cuerpo expr. define evalúa siempre su segundo argumento, a menos que se indique lo contrario con el operador de comilla simple.

Esta función la utilizaremos más adelante.

Gráfica de una función

  • wxplot2d(expresión, [variable,mínimo,máximo],opciones): La función wxplot2d representa uno o más gráficos en dos dimensiones. Las expresiones o nombres de funciones que se utilicen para definir curvas deben depender todas ellas de una única variable var, siendo obligatorio utilizar x_range para nombrar la variable y darle sus valores mínimo y máximo usando la siguiente sintaxis: [variable, min, max].

Ejemplo: Dibuja la función \(f(x)=x\,e^{1-x^2}\) para \(x\in[-3,3]\)

(%i2) f(x):=x*%e^(1–x^2)$
wxplot2d(f(x),[x,–3,3]);

(%t2)  (Gráficos)
(%o2)


Navegación de entradas

ALG: Determinantes, factorización LU y espacios vectoriales con maxima

Novela

La Loba, la lucha fraticida por un reino

La Loba, la lucha fratricida por un reino.

Urraca, señora de Zamora, acusada de instigar la muerte de su hermano, el rey Sancho de Castilla, deberá defenderse de la acusación, al tiempo que luchará por mantener la cohesión entre los hermanos y los reinos cristianos: una lobera de fieros lobeznos.

👉 En amazon

Entradas recientes

  • MathBio: Sistemas, mínimos cuadrados, autovalores, autovectores y funciones reales
  • ALG: Determinantes, factorización LU y espacios vectoriales con maxima
  • ALG: Subespacios vectoriales
  • MathBio: Autovectores y autovalores
  • ALG: Espacios vectoriales
octubre 2026
L M X J V S D
 1234
567891011
12131415161718
19202122232425
262728293031  
« Sep    
  • álgebra
  • bioestadistica
  • matematica discreta
  • mathbio

Prácticas mathbio Prácticas álgebra

Meta

  • Acceder
  • Feed de entradas
  • Feed de comentarios
  • WordPress.org
©2026 Diario de clases | Diseño: Tema de WordPress Newspaperly