Vektory a matice sú základnými stavebnými prvkami lineárnej algebry, ktorá tvorí nevyhnutný základ pre množstvo vedných oblastí. Ich pochopenie je kľúčové pre prácu v oblastiach ako napríklad:
📊 Dátová analýza – ukladanie a spracovanie veľkých súborov čísel
🤖 Strojové učenie – reprezentácia modelov, parametrov a váh
🛰 Geoinformatika a geodézia – transformácie súradníc a priestorové výpočty, riešenie sústav rovníc popisujúcich rôzne systémy
V tejto kapitole si ukážeme:
Základné operácie s vektormi a maticami
Pokročilejšie maticové operácie
Riešenie sústav lineárnych rovníc
❕ Všetky príklady budeme realizovať v jazyku Python pomocou knižnice NumPy, ktorá je optimalizovaná pre rýchle a efektívne výpočty.
🧮 Vektory – základné operácie
Vektor je usporiadaná postupnosť čísel (1D pole). Najčastejšie reprezentuje súradnice bodu alebo hodnoty veličín.
Import knižnice a vytvorenie vektorov
Kód
import numpy as np# Vytvorenie vektorovv = np.array([1, 2, 3])u = np.array([4, 5, 6])print("v =", v)print("u =", u)
v = [1 2 3]
u = [4 5 6]
Sčítanie a odčítanie
Kód
print("v + u =", v + u) # Sčítanieprint("v - u =", v - u) # Odčítanie
v + u = [5 7 9]
v - u = [-3 -3 -3]
Skalárne operácie (po prvkoch)
Kód
print("2 * v =", 2* v)print("v / 2 =", v /2)
2 * v = [2 4 6]
v / 2 = [0.5 1. 1.5]
Skalárny súčin (Dot product)
Kód
dot_product = np.dot(v, u) # alebo v @ uprint("v · u =", dot_product)
v · u = 32
💡 Alternatívnym zápisom skalárneho súčinu je operátor @ pre maticové násobenie, pri vektroch však funguje aj ako skalárny súčin.
Vektorový súčin (Cross product)
Kód
cross_product = np.cross(v, u)print("v x u =", cross_product)
💡 Všimnite si, že funkcia np.diag() mení svoju funckionalitu v závislosti od vstupných argumentov. V prípade, že vstupom je vektor vytvorí štvorcovú maticu s hodnotami tohto vektora na diagonále. V prípade, že argumetom je matica, funkcia vráti hodnoty na hlavnej diagonále matice.