Jak działa numpy eye w języku Python? Przykład zastosowania

Jak działa numpy eye w języku Python? Przykład zastosowania

Gdy pracuję z biblioteką NumPy w języku Python, często muszę generować różne macierze i tablice numeryczne. Jedną z przydatnych funkcji, na którą warto zwrócić uwagę, jest numpy.eye(). To bardzo prosty, ale niezwykle użyteczny sposób na tworzenie macierzy jednostkowej. Jak działa numpy eye w języku Python? Prześledźmy to krok po kroku.

Co to jest numpy.eye()?

Funkcja numpy.eye() służy do generowania macierzy jednostkowej, czyli takiej, która ma jedynki na głównej przekątnej oraz zera w pozostałych komórkach. Jest to funkcja niezwykle przydatna w algebrze liniowej i operacjach macierzowych.

Podstawowa składnia numpy.eye()

Oto jak wygląda składnia tej funkcji:

numpy.eye(N, M=None, k=0, dtype=float, order='C')

Poszczególne argumenty oznaczają:

  • N – liczba wierszy macierzy.
  • M – (opcjonalnie) liczba kolumn. Jeśli nie zostanie podana, macierz będzie kwadratowa (N x N).
  • k – określa, na której przekątnej mają znajdować się jedynki. Domyślnie wartość to 0 (główna przekątna), ale można użyć wartości dodatnich i ujemnych.
  • dtype – typ danych w macierzy (domyślnie float).
  • order – sposób rozmieszczania danych w pamięci ('C' dla C-contiguous, 'F' dla Fortran-contiguous).

Praktyczne przykłady numpy.eye()

Aby lepiej zrozumieć jak działa numpy eye w języku Python, zobaczmy kilka przykładów.

Tworzenie macierzy jednostkowej 3×3

import numpy as np
I = np.eye(3)
print(I)

Wynik:

[[1. 0. 0.]
 [0. 1. 0.]
 [0. 0. 1.]]

Macierz z różną liczbą wierszy i kolumn

Jeśli chcę utworzyć macierz 3×5, przekazuję dwa argumenty:

I = np.eye(3, 5)
print(I)

Rezultat:

[[1. 0. 0. 0. 0.]
 [0. 1. 0. 0. 0.]
 [0. 0. 1. 0. 0.]]

Przesunięcie przekątnej

Jeżeli chcę przesunąć przekątną o jedno miejsce do góry (k=1):

I = np.eye(4, 4, k=1)
print(I)

Wyjście:

[[0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]
 [0. 0. 0. 0.]]

Zmiana typu danych

I = np.eye(4, dtype=int)
print(I)

Wynik:

[[1 0 0 0]
 [0 1 0 0]
 [0 0 1 0]
 [0 0 0 1]]

Zastosowania numpy.eye()

Funkcja numpy.eye() znajduje zastosowanie w wielu dziedzinach:

  1. W algebrze liniowej – jako macierz tożsamościowa.
  2. W systemach równań liniowych – przy różnych przekształceniach macierzowych.
  3. W grafice komputerowej – przy transformacjach macierzowych.
  4. W analizie numerycznej – jako inicjalizacja macierzy w różnych algorytmach.

Porównanie numpy.eye() z numpy.identity()

W NumPy istnieje również funkcja numpy.identity(), która może wydawać się podobna. Oto porównanie:

Funkcja Opis Obsługa macierzy niekwadratowych Obsługa przesunięcia przekątnej
numpy.eye() Tworzy macierz z jedynkami na przekątnej Tak Tak
numpy.identity() Tworzy macierz jednostkową Nie Nie

Podsumowując, jeśli potrzebuję macierzy tożsamościowej i chcę mieć możliwość zmiany liczby kolumn lub przesunięcia przekątnej, wybieram numpy.eye(). Jeśli wystarczy mi prosta macierz kwadratowa bez dodatkowych opcji, mogę użyć numpy.identity().

Podsumowanie

Funkcja numpy.eye() to świetny sposób na szybkie generowanie macierzy jednostkowych w Pythonie. Dzięki niej mogę łatwo manipulować przekątną, określać rozmiary i zmieniać typ danych w macierzy. To jedno z tych narzędzi, które wydają się proste, ale w praktyce okazują się niezwykle przydatne.

 

Inny ciekawy artykuł:

Jak działa numpy full w języku Python? Przykład zastosowania

KajoDataSpace