1 Úvod

1.1 Základné definície

    Báza vektorového priestoru V[3] je množina lineárne nezávislých vektorov, ktorých lineárnym obalom je priestor V. Každý vektor z V sa dá jednoznačne vyjadriť ako lineárna kombinácia bázových vektorov. Teda voľba bázy súčasne každému vektoru priraďuje súradnice - koeficienty takejto lineárnej kombinácie.
    Gramov-Schmidtov ortogonalizačný proces je proces, ktorým z množiny lineárne nezávislých vektorov priestoru vytvárame jeho ortonormálnu bázu. Ortonormálna báza sa vyznačuje vlastnosťou, že jej vektory majú normovanú jednotkovú dĺžku a navzájom sú ortogonálne. Vektorový priestor dimenzie n môže byť všeobecne generovaný ľubovoľnou n-ticou lineárne nezávislých vektorov. Tieto však majú rôznu orientáciu a nejednotnú dĺžku (normu). Na odstránenie respektíve normalizáciu sa využíva práve spomínaný Gram-Schimdtov ortogonalizačný proces.

1.2 Postup ortonormalizácie pre trojrozmerný priestor[1]:

\[ \phi=\left\{{\phi_1,\phi_2,\phi_3}\right\} \tag{1.1} \] kde \(\phi\) — vami zvolena báza, ktorú ortonormalizujete

\[ \begin{split} \psi_1 & ={\frac{\phi_1}{|\phi_1|}}\\ g_2 &=\phi_2-<\phi_2,\psi_1>\psi_1\\ \psi_2 &= {\frac{g_2}{|g_2|}}\\ g_3 &=\phi_3-<\phi_3,\psi_1>\psi_1-<\phi_3,\psi_2>\psi_2\\ \psi_3 &= {\frac{g_3}{|g_3|}}\\ \end{split} \] \[ \psi=\left\{{\psi_1,\psi_2,\psi_3}\right\} \] kde:
\(\psi\) — ortonormalizovana báza - všetky vektory sú na seba kolme a maju jednitkovy dlžky
g — ortogonálna báza — všetky vektory sú na seba kolme
<U,V> — skalárny sučin
|U| - norma vektora

2 Vypočet v R

Skúsme ortonormalizovať bázy (1.1) v R. (Napriklad \(\phi\)={ (3,-1,0), (1,2,0), (0,1,2) })
Bacigál ukázal, že v R môžeme pracovať s vektormi. (pozri [2], str. 9)

Zapíšem bázu \(\phi\) do tabuĺky:

Baza tabulka
Vektor x y z
ϕ1 3 -1 0
ϕ2 1 2 0
ϕ3 0 1 2

Vypočet v R: (postup v kapitole 1.2)

  ϕ1 <- c(3, -1, 0)
  ϕ2 <- c(1, 2, 0)
  ϕ3 <- c(0, 1, 2)
  ψ1 <- ϕ1/sqrt(ϕ1[1]^2+ϕ1[2]^2+ϕ1[3]^2)
  g2 <- ϕ2-(ϕ2[1]*ψ1[1]+ϕ2[2]*ψ1[2]+ϕ2[3]*ψ1[3])*ψ1
  ψ2 <- g2/sqrt(g2[1]^2+g2[2]^2+g2[3]^2)
  g3 <- ϕ3-(ϕ3[1]*ψ1[1]+ϕ3[2]*ψ1[2]+ϕ3[3]*ψ1[3])*ψ1-(ϕ3[1]*ψ2[1]+ϕ3[2]*ψ2[2]+ϕ3[3]*ψ2[3])*ψ2
  ψ3 <- g3/sqrt(g3[1]^2+g3[2]^2+g3[3]^2)
  ψ <- c(ψ1, ψ2, ψ3)
  ψ
## [1]  9.486833e-01 -3.162278e-01  0.000000e+00  3.162278e-01  9.486833e-01
## [6]  0.000000e+00 -2.775558e-17 -5.551115e-17  1.000000e+00
  xϕ <- c(0,ϕ1[1],0,ϕ2[1],0,ϕ3[1])
  yϕ <- c(0,ϕ1[2],0,ϕ2[2],0,ϕ3[2])
  zϕ <- c(0,ϕ1[3],0,ϕ2[3],0,ϕ3[3])
  xψ <- c(0,ψ1[1],0,ψ2[1],0,ψ3[1])
  yψ <- c(0,ψ1[2],0,ψ2[2],0,ψ3[2])
  zψ <- c(0,ψ1[3],0,ψ2[3],0,ψ3[3])
  bazaϕ <- data.frame(xϕ,yϕ,zϕ)
  bazaψ <- data.frame(xψ,yψ,zψ)
  bazaϕ
##   xϕ yϕ zϕ
## 1  0  0  0
## 2  3 -1  0
## 3  0  0  0
## 4  1  2  0
## 5  0  0  0
## 6  0  1  2
  bazaψ
##              xψ            yψ zψ
## 1  0.000000e+00  0.000000e+00  0
## 2  9.486833e-01 -3.162278e-01  0
## 3  0.000000e+00  0.000000e+00  0
## 4  3.162278e-01  9.486833e-01  0
## 5  0.000000e+00  0.000000e+00  0
## 6 -2.775558e-17 -5.551115e-17  1

3 Kreslenie grafov báz v R

Vyreskime grafy báz: (alternativne v Wolfram Mathematics)

  g1<-plot_ly(data = bazaϕ, 
        x = ~xϕ, y = ~yϕ, z= ~zϕ,
        type = "scatter3d", mode = "lines+markers") |>  
  layout(
    title = "Zvolena báza, ktorú ortonormalizujete (ϕ)") 
  g1 
  g2<-plot_ly(data = bazaψ, 
        x = ~xψ, y = ~yψ, z= ~zψ,
        type = "scatter3d", mode = "lines+markers") |>  
  layout(
    title = "Ortonormalizovana báza ψ") 
  g2

4 Porovnanie s Wolfram Mathematics

Pred niekoľkými týždňami som urobil rovnakú úlohu vo Wolfram Mathematics a vyzeralo to takto:

Vypočet
Vypočet
Grafy
Grafy

5 Zaver

Pri porovnaní procesu programovania ortonormalizácie bázy vo Wolfram Mathematics a R môžem poznamenať, že výpočty sú jednoduchšie a pohodlnejšie vo Wolfram Mathematics a vykresľovanie grafov je oveľa rýchlejšie a pohodlnejšie v R. Celkovo, Gram-Schmidtov ortogonalizačný proces je dôležity nastroj pre pracu s vektormi a zohrava velku rolu v efektivnom rieseni roznych matematickych problemov.

Literatúra

[1]  [online].[s.l.]: Harvey Mudd College, 2016. Dostupné na internete: <https://web.archive.org/web/20160402140129/https://www.math.hmc.edu/calculus/tutorials/gramschmidt/gramschmidt.pdf>.
[2] BACIGÁL, T. Úvod do analýzy údajov pomocou R [online]. [s.l.]: Spektrum STU, 2022.
[3] DOC. RNDR. ŠTEFAN PEŠKO, CSC. [online].[s.l.]: Katedra matematických metód, FRI ŽU, 2015. Dostupné na internete: <https://invimath.fri.uniza.sk/images/slides/algebra/sAlgebra_2.pdf>.
[4] WIKIPEDIA [online]. Dostupné na internete: <https://sk.wikipedia.org/wiki/Gramov-Schmidtov_ortogonaliza%C4%8Dn%C3%BD_proces>.