La funzione linalg solve di python

Per risolvere un sistema di equazioni con il linguaggio python, utilizzo al funzione matematica linalg.solve() della libreria numpy.

linalg.solve(x,b)

Dove il primo argomento x è la matrice dei coefficienti del sistema, mentre il secondo argomento b è il vettore dei termini noti.

E' uno strumento di python utile per cercare le soluzioni di un problema di algebra lineare.

Attenzione. La funzione linalg.solve risolve soltanto i sistemi lineari quadrati. Sono i sistemi in cui il numero delle incognite eguaglia il numero delle equazioni. Per risolvere sistemi non quadrati (not square matrix) si può usare la funzione linalg.lstsq().

    Un esempio pratico

    Apro python e carico in memoria il modulo numpy.

    import numpy as np

    Dato un sistema di equazioni generico a tre incognite:

    un esempio di sistema di equazioni

    La matrice dei coefficienti e la matrice dei termini noti del sistema sono le seguenti:a

    $$ A = \begin{pmatrix} 2 & 1 & 0 \\ 1 & 5 & 2 \\ 0 & 0 & 1 \end{pmatrix} $$

    $$ B = \begin{pmatrix} 3\\ 1 \\ 4 \end{pmatrix} $$

    Definisco la matrice e il vettore su python tramite la funzione array().

    Le associo alle variabili A e B

    A=np.array([[2,1,0],[1,5,2],[0,0,1]])
    B=np.array([3,1,4])

    Per trovare le soluzioni del sistema uso la funzione linalg.solve().

    np.linalg.solve(A,B)

    La funzione restituisce in output questo risultato

    array([ 2.44444444, -1.88888889, 4.])

    La lista contiene le soluzioni delle incognite del sistema.

    $$ \begin{pmatrix} x=2.44 \\ y=-1.88 \\ z=4 \end{pmatrix} $$

    E così via.

     


     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    Numpy

    I metodi e le funzioni