2017/01/23

Obliczanie wartości własnych

Obliczanie wartości własnych i wektorów własnych macierzy w Python

Jednym z pierwszych zastosowań, do których wykorzystywałem języka Python, była praca z dużymi macierzami opisującymi konfiguracje elektronów. Python posiada doskonałą bibliotekę do obliczeń numerycznych - numpy. Praca z macierzami staje się wyjątkowo prosta:) Poniższy program pokazuje, jak obliczyć wartości własne macierzy (numpy.linalg.eigvals) oraz jak obliczyć wartości i wektory własne macierzy (eig).
'''programik oblicza wartosci wlasne (i ewentualnie wektory wlasne) macierzy'''

import numpy as np
#przykladowa macierz (o losowych elementach)
mtx = np.random.rand(1000,1000)

#z bedzie zawieralo wartosci wlasne
z=np.linalg.eigvals(mtx)
#z=np.linalg.eig(mtx)

Jak widać programik jest wyjątkowo prosty i łatwy w zrozumieniu. To, co dzieje się pod spodem wcale nie jest już takie proste.
Uwaga - obliczanie wektorow wlasnych wymaga dodatkowych obliczeń i dostepnej pamieci. Jeśli interesują Cię szczegóły, to zobacz dokumentację silnika numpy, czyli lapacka.

Brak komentarzy:

Prześlij komentarz