Saltar al contenido principal
LibreTexts Español

4.2: Ecuaciones Lineales

  • Page ID
    125229
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    En física, a menudo se nos llama a resolver ecuaciones lineales de la forma

    \[\mathbf{A} \vec{x} = \vec{b},\]

    donde\(\mathbf{A}\) hay alguna\(N\times N\) matriz, y ambas\(\vec{x}\) y\(\vec{b}\) son vectores de longitud\(N\). Dado\(\mathbf{A}\) y\(\vec{b}\), el objetivo es resolver para\(\vec{x}\).

    Es una habilidad importante y útil reconocer sistemas lineales de ecuaciones cuando surgen en problemas de física. Tales ecuaciones pueden surgir en muchos contextos diversos; a continuación daremos un par de ejemplos simples.

    Ejemplo\(\PageIndex{1}\)

    Supongamos que hay un conjunto de partículas puntuales cargadas\(N\) eléctricamente en las posiciones\(\{\vec{R}_0, \vec{R}_1, \dots, \vec{R}_{N-1}\}\). Desconocemos el valor de las cargas eléctricas, pero somos capaces de medir el potencial eléctrico en cualquier momento\(\vec{r}\). El potencial eléctrico viene dado por

    \[\phi(\vec{r}) = \sum_{j=0}^{N-1} \frac{q_j}{|\vec{r}-\vec{R}_j|}.\]

    Si medimos el potencial en\(N\) las posiciones\(\{\vec{r}_0, \vec{r}_1, \dots, \vec{r}_{N-1}\}\), ¿cómo se\(\{q_0,\dots,q_{N-1}\}\) pueden deducir los cargos?

    Solución

    Para ello, escribamos la ecuación para el potencial eléctrico en el punto\(\vec{r}_i\) como:

    \[\phi(\vec{r}_i) = \sum_{j=0}^{N-1} \left[\frac{1}{|\vec{r}_i-\vec{R}_j|}\right] \, q_j.\]

    Esto tiene la forma\(\mathbf{A} \vec{x} = \vec{b}\), dónde\(\mathbf{A}_{ij} \equiv \frac{1}{|\vec{r}_i-\vec{R}_j|}\),\(\vec{b}_i \equiv \phi(\vec{r}_i)\), y las incógnitas son\(\vec{x}_j = q_j\).

    Ejemplo\(\PageIndex{2}\)

    Los sistemas lineales de ecuaciones aparecen comúnmente en la teoría de circuitos. Por ejemplo, considere el siguiente circuito paralelo de fuentes de\(N\) alimentación y resistencias:

    clipboard_eed50e5556844af65a0b0863f068a4b99.png
    Figura\(\PageIndex{1}\)

    Supongamos que el voltaje en el lado derecho del circuito es\(V_{0}=0\). Dadas las resistencias\(\{R_0, \dots, R_{N-1}\}\) y los EMF\(\{\mathcal{E}_0, \dots, \mathcal{E}_{N-1}\}\), ¿cómo encontramos el voltaje de la izquierda\(V\) y las corrientes\(\{\mathcal{I}_0, \dots, \mathcal{I}_{N-1}\}\)?

    Solución

    Seguimos las leyes habituales de la teoría de circuitos. Cada rama del circuito paralelo obedece a la ley de Ohm,

    \[\mathcal{I}_j R_j + V = \mathcal{E}_j.\]

    Además, las corrientes obedecen a la ley de Kirchoff (conservación de la corriente), por lo que

    \[\sum_{j=0}^{N-1} \mathcal{I}_j = 0.\]

    Podemos combinar estas\(N+1\) ecuaciones en una ecuación matricial de la forma\(\mathcal{A}\,\vec{x} = \vec{b}\)

    \[\begin{bmatrix}R_0 & 0 & \cdots & 0 & 1 \\ 0 & R_1 & \cdots & 0 & 1 \\ \vdots & \vdots &\ddots & \vdots & \vdots \\ 0& 0& \cdots & R_{N-1} & 1 \\ 1& 1& \cdots & 1& 0\end{bmatrix} \begin{bmatrix}\mathcal{I}_0 \\ \mathcal{I}_1 \\ \vdots \\ \mathcal{I}_{N-1} \\ V\end{bmatrix} = \begin{bmatrix}\mathcal{E}_0 \\ \mathcal{E}_1 \\ \vdots \\ \mathcal{E}_{N-1} \\ 0\end{bmatrix}\]

    Aquí, el vector desconocido\(\vec{x}\) consiste en las\(N\) corrientes que pasan por las ramas del circuito, y el potencial\(V\).

    4.2.1 Solución Directa

    Ante un sistema de ecuaciones lineales, el primer instinto de uno suele ser resolver\(\vec{x}\) invirtiendo la matriz\(\mathbf{A}\):

    \[\mathbf{A} \vec{x} = \vec{b} \quad\Rightarrow\quad \vec{x} = \mathbf{A}^{-1}\, \vec{b}.\]

    No hagas esto. Es matemáticamente correcto, pero numéricamente ineficiente. Como veremos, calcular la matriz inversa\(\mathbf{A}^{-1}\), y luego multiplicar a la derecha por\(\vec{b}\), implica más pasos que simplemente resolver la ecuación directamente

    Para resolver un sistema de ecuaciones lineales, utilice la función solve del módulo scipy.linalg. (Deberá importar scipy.linalg explícitamente, porque es un submódulo de scipy y no se importa por nuestra declaración habitual de scipy import *.) Aquí hay un ejemplo:

    >>> A = array([[1., 2., 3.], [2., 4., 0.], [1., 3., 9.]])
    >>> b = array([6., 6., 9.])
    >>>
    >>> import scipy.linalg as lin
    >>> x = lin.solve(A, b)
    >>> x
    array([ 9., -3.,  1.])
    

    Podemos verificar que esta es efectivamente la solución:

    >>> dot(A, x)              # This should equal b.
    array([ 6.,  6.,  9.])
    

    El solucionador directo utiliza un algoritmo conocido como eliminación gaussiana, del que discutiremos en el próximo artículo. El tiempo de ejecución de la eliminación gaussiana es\(O(N^{3})\), donde\(N\) está el tamaño del problema del álgebra lineal.

    ¡La razón por la que evitamos resolver ecuaciones lineales invirtiendo la matriz\(\mathbf{A}\) es que la matriz inversa se calcula en sí misma usando el algoritmo de eliminación gaussiana! Si vas a usar la eliminación gaussiana de todos modos, es mucho mejor aplicar el algoritmo directamente sobre el deseado\(\mathbf{A}\) y\(b\). Resolver calculando\(\mathbf{A}^{-1}\) implica aproximadamente el doble de pasos computacionales.


    This page titled 4.2: Ecuaciones Lineales is shared under a CC BY-SA 4.0 license and was authored, remixed, and/or curated by Y. D. Chong via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.