Gram-Schmidt-kalkylator

Gram-Schmidt-kalkylator

Ange 2 till 4 vektorer med 2 till 4 tal vardera, åtskilda med kommatecken. Alla vektorer måste ha lika många komponenter. Använd punkt som decimaltecken.

Gram-Schmidts metod gör om en lista vektorer till en lista med vinkelräta vektorer som spänner upp samma rum. Ange 2 till 4 vektorer med 2 till 4 tal vardera, välj ortogonal eller ortonormerad, så visar kalkylatorn varje projektionskoefficient, vektorn u_k som byggs av den, dess längd och enhetsvektorn e_k. Beräkningen är exakt, så en vektor som inte tillför någon ny riktning rapporteras som linjärt beroende i stället för att försvinna i avrundning.

Så använder du Gram-Schmidt-kalkylatorn

  1. 1

    Skriv in dina vektorer

    Skriv en vektor per rad med talen avskilda med kommatecken, till exempel 1, 1, 0. Använd 2 till 4 vektorer som alla har lika många tal (2 till 4). Använd punkt som decimaltecken, med högst fyra decimaler.

  2. 2

    Välj resultat

    Välj ortonormerade vektorer (enhetslängd, decimaler) eller ortogonala vektorer (decimaler plus exakta bråk när de är tillräckligt korta).

  3. 3

    Läs stegen

    Resultatsidan visar först basen och därefter varje steg: projektionskoefficienterna, u_k, dess kvadrerade längd och längd samt e_k. En vektor som hoppas över markeras som linjärt beroende.

Så fungerar Gram-Schmidts metod

Givet vektorerna v_1, v_2, …, v_n bygger metoden ortogonala vektorer u_1, u_2, … en i taget:

  • u_1 = v_1
  • u_k = v_k - c_k1 u_1 - c_k2 u_2 - ... - c_k,k-1 u_k-1
  • varje projektionskoefficient är c_kj = (v_k · u_j) / (u_j · u_j)

När du subtraherar projektionen tar du bort allt i v_k som pekar längs de tidigare u_j, så att u_k blir vinkelrät mot dem alla. Om du delar varje u_k med dess längd |u_k| = √(u_k · u_k) får du den ortonormerade vektorn e_k, som har längden 1.

Räkneexempel

Låt v_1 = (1, 1, 0), v_2 = (1, 0, 1) och v_3 = (0, 1, 1).

Steg Beräkning Resultat
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 och 1/3 1/2, 1/3
u_3 v_3 - 1/2 u_1 - 1/3 u_2 (-2/3, 2/3, 2/3)

De ortonormerade vektorerna är e_1 ≈ (0,7071; 0,7071; 0), e_2 ≈ (0,4082; -0,4082; 0,8165) och e_3 ≈ (-0,5774; 0,5774; 0,5774).

Linjärt beroende

Om v_k redan ligger i det linjära höljet av de tidigare vektorerna blir resultatet nollvektorn när projektionerna dras bort. Kalkylatorn upptäcker det exakt, eftersom varje tal hanteras som ett bråk och ingen tolerans används. Vektorn markeras som beroende och hoppas över, och de följande vektorerna ortogonaliseras mot de oberoende vektorer som hittats hittills. Med fler vektorer än dimensioner (till exempel tre vektorer i planet) är minst en vektor alltid beroende.

Vad kalkylatorn klarar

  • 2 till 4 vektorer med 2 till 4 tal, alla lika långa, med tal upp till 1 000 000 i absolutbelopp och högst fyra decimaler.
  • Ortogonala vektorer visas som decimaltal och som exakta bråk när bråket är kort. Enhetsvektorer visas som decimaltal eftersom de kräver en kvadratrot.
  • Den räknar med standardskalärprodukten på reella tal. Komplexa vektorer, andra inre produkter och större storlekar stöds inte.

Vanliga frågor

Ortogonala vektorer är vinkelräta, så varje par har skalärprodukten 0. Ortonormerade vektorer är ortogonala och har dessutom längden 1. Du får den ortonormerade mängden genom att dela varje ortogonal vektor u_k med dess längd.

Kalkylatorn markerar den beroende vektorn, förklarar att resten u_k är nollvektorn och hoppar över den. Vektorerna efter den ortogonaliseras mot de oberoende. Resultatsidan visar också hur många av dina vektorer som tillför en ny riktning.

Ja. Gram-Schmidt behåller den första vektorns riktning och anpassar de andra efter den, så en annan ordning ger en annan ortogonal mängd. Alla mängder spänner upp samma rum.

Indata omvandlas till exakta bråk och projektionerna räknas ut utan avrundning, vilket är varför beroende upptäcks pålitligt. Ortogonala vektorer visas med exakta bråk när de är tillräckligt korta för att vara läsbara. Enhetsvektorer kräver en kvadratrot och visas därför som decimaltal avrundade till fyra decimaler.

Vektorerna du skriver in skickas till servern för att beräkna resultatet och läggs till i sidans länk när du går mellan stegen, så att en beräkning kan bokmärkas eller delas. De sparas inte i något konto eller någon profil.

Relaterade verktyg

Verktyget finns på andra språk