Kalkulator Grama-Schmidta

Kalkulator Grama-Schmidta

Wpisz od 2 do 4 wektorów, każdy z 2 do 4 liczbami oddzielonymi przecinkami. Wszystkie wektory muszą mieć tyle samo współrzędnych. Ułamki dziesiętne zapisuj z kropką.

Proces ortogonalizacji Grama-Schmidta zamienia listę wektorów na listę wektorów wzajemnie prostopadłych, które rozpinają tę samą przestrzeń. Wpisz od 2 do 4 wektorów po 2 do 4 liczby każdy, wybierz wynik ortogonalny lub ortonormalny, a kalkulator pokaże każdy współczynnik rzutu, zbudowany z niego wektor u_k, jego długość oraz wektor jednostkowy e_k. Obliczenia są dokładne, więc wektor, który nie wnosi nowego kierunku, zostaje zgłoszony jako liniowo zależny, zamiast zniknąć w zaokrągleniach.

Jak korzystać z kalkulatora Grama-Schmidta

  1. 1

    Wpisz wektory

    Wpisz jeden wektor w każdym wierszu, a jego współrzędne oddziel przecinkami, na przykład 1, 1, 0. Użyj od 2 do 4 wektorów o tej samej liczbie współrzędnych (od 2 do 4). Jako separator dziesiętny użyj kropki, maksymalnie do czterech miejsc po kropce.

  2. 2

    Wybierz wynik

    Wybierz wektory ortonormalne (długość 1, wartości dziesiętne) albo ortogonalne (wartości dziesiętne oraz dokładne ułamki, gdy są dostatecznie krótkie).

  3. 3

    Przeczytaj kroki

    Strona wyniku pokazuje najpierw bazę, a potem każdy krok: współczynniki rzutu, u_k, kwadrat jego długości i długość oraz e_k. Pominięty wektor jest oznaczony jako liniowo zależny.

Jak działa proces Grama-Schmidta

Dla wektorów v_1, v_2, …, v_n proces buduje wektory ortogonalne u_1, u_2, … jeden po drugim:

  • u_1 = v_1
  • u_k = v_k - c_k1 u_1 - c_k2 u_2 - ... - c_k,k-1 u_k-1
  • każdy współczynnik rzutu to c_kj = (v_k · u_j) / (u_j · u_j)

Odjęcie rzutu usuwa z v_k wszystko, co biegnie wzdłuż wcześniejszych u_j, więc u_k jest prostopadły do każdego z nich. Po podzieleniu każdego u_k przez jego długość |u_k| = √(u_k · u_k) otrzymujesz wektor ortonormalny e_k o długości 1.

Przykład krok po kroku

Weźmy v_1 = (1, 1, 0), v_2 = (1, 0, 1) i v_3 = (0, 1, 1).

Krok Obliczenie Wynik
u_1 v_1 (1, 1, 0)
c_21 (v_2 · u_1) / (u_1 · u_1) = 1/2 1/2
u_2 v_2 - 1/2 u_1 (1/2, -1/2, 1)
c_31, c_32 1/2 i 1/3 1/2, 1/3
u_3 v_3 - 1/2 u_1 - 1/3 u_2 (-2/3, 2/3, 2/3)

Wektory ortonormalne to e_1 ≈ (0,7071; 0,7071; 0), e_2 ≈ (0,4082; -0,4082; 0,8165) oraz e_3 ≈ (-0,5774; 0,5774; 0,5774).

Zależność liniowa

Jeśli v_k leży już w powłoce liniowej wcześniejszych wektorów, po odjęciu rzutów zostaje wektor zerowy. Kalkulator wykrywa to dokładnie, ponieważ każda liczba jest traktowana jako ułamek i nie ma żadnej tolerancji. Taki wektor zostaje oznaczony jako zależny i pominięty, a kolejne wektory są ortogonalizowane względem dotychczas znalezionych wektorów niezależnych. Gdy wektorów jest więcej niż wymiarów (na przykład trzy wektory na płaszczyźnie), co najmniej jeden z nich zawsze jest zależny.

Co obejmuje ten kalkulator

  • Od 2 do 4 wektorów o 2 do 4 współrzędnych, wszystkie tej samej długości, ze współrzędnymi do 1 000 000 co do wartości bezwzględnej i z maksymalnie czterema miejscami po przecinku.
  • Wektory ortogonalne są pokazane jako liczby dziesiętne oraz jako dokładne ułamki, gdy ułamek jest krótki. Wektory jednostkowe są podane dziesiętnie, bo wymagają pierwiastka kwadratowego.
  • Kalkulator korzysta ze standardowego iloczynu skalarnego na liczbach rzeczywistych. Nie obsługuje wektorów zespolonych, innych iloczynów skalarnych ani większych rozmiarów.

Najczęściej zadawane pytania

Wektory ortogonalne są prostopadłe, więc iloczyn skalarny każdej pary wynosi 0. Wektory ortonormalne są ortogonalne i dodatkowo mają długość 1. Zbiór ortonormalny otrzymasz, dzieląc każdy wektor ortogonalny u_k przez jego długość.

Kalkulator oznaczy wektor zależny, wyjaśni, że jego reszta u_k jest wektorem zerowym, i go pominie. Kolejne wektory są ortogonalizowane względem niezależnych. Strona wyniku podaje też, ile z Twoich wektorów wnosi nowy kierunek.

Tak. Metoda Grama-Schmidta zachowuje kierunek pierwszego wektora i dopasowuje do niego pozostałe, więc inna kolejność daje inny zbiór ortogonalny. Każdy z tych zbiorów rozpina tę samą przestrzeń.

Dane wejściowe są zamieniane na dokładne ułamki, a rzuty liczone bez zaokrągleń, dzięki czemu zależność jest wykrywana niezawodnie. Wektory ortogonalne są pokazane jako dokładne ułamki, gdy są dość krótkie, by dało się je czytać. Wektory jednostkowe wymagają pierwiastka kwadratowego, więc pojawiają się jako liczby dziesiętne zaokrąglone do czterech miejsc.

Wpisane wektory są wysyłane na serwer, aby obliczyć wynik, i są dodawane do adresu strony przy przechodzeniu między krokami, dzięki czemu obliczenie można zapisać w zakładkach lub udostępnić. Nie są zapisywane na koncie ani w profilu.

Powiązane narzędzia

Narzędzie jest dostępne w innych językach