Gram-Schmidt-calculator

Gram-Schmidt-calculator

Voer 2 tot 4 vectoren in met elk 2 tot 4 getallen, gescheiden door komma's. Alle vectoren moeten evenveel getallen hebben. Gebruik een punt voor decimalen.

Het Gram-Schmidt-proces maakt van een lijst vectoren een lijst onderling loodrechte vectoren die dezelfde ruimte opspannen. Voer 2 tot 4 vectoren in met elk 2 tot 4 getallen, kies orthogonaal of orthonormaal, en de calculator toont elke projectiecoëfficiënt, de daaruit opgebouwde vector u_k, de lengte ervan en de eenheidsvector e_k. Er wordt exact gerekend, dus een vector die geen nieuwe richting toevoegt, wordt als lineair afhankelijk gemeld in plaats van in afrondingsfouten te verdwijnen.

Zo gebruik je de Gram-Schmidt-calculator

  1. 1

    Typ je vectoren

    Schrijf één vector per regel, met de getallen gescheiden door komma's, bijvoorbeeld 1, 1, 0. Gebruik 2 tot 4 vectoren die allemaal evenveel getallen hebben (2 tot 4). Gebruik een punt voor decimalen, tot vier cijfers achter de komma.

  2. 2

    Kies het resultaat

    Kies orthonormale vectoren (lengte 1, in decimalen) of orthogonale vectoren (in decimalen en in exacte breuken wanneer die kort genoeg zijn).

  3. 3

    Lees de stappen

    De resultaatpagina toont eerst de basis en daarna elke stap: de projectiecoëfficiënten, u_k, het kwadraat van de lengte en de lengte, en e_k. Een overgeslagen vector is gemarkeerd als lineair afhankelijk.

Zo werkt het Gram-Schmidt-proces

Bij de vectoren v_1, v_2, …, v_n bouwt het proces één voor één orthogonale vectoren u_1, u_2, … op:

  • u_1 = v_1
  • u_k = v_k - c_k1 u_1 - c_k2 u_2 - ... - c_k,k-1 u_k-1
  • elke projectiecoëfficiënt is c_kj = (v_k · u_j) / (u_j · u_j)

Door de projectie af te trekken, haal je uit v_k alles weg wat in de richting van de eerdere u_j wijst, zodat u_k loodrecht staat op al die vectoren. Deel je elke u_k door zijn lengte |u_k| = √(u_k · u_k), dan krijg je de orthonormale vector e_k met lengte 1.

Uitgewerkt voorbeeld

Neem v_1 = (1, 1, 0), v_2 = (1, 0, 1) en v_3 = (0, 1, 1).

Stap Berekening Resultaat
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 en 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 orthonormale vectoren zijn e_1 ≈ (0,7071; 0,7071; 0), e_2 ≈ (0,4082; -0,4082; 0,8165) en e_3 ≈ (-0,5774; 0,5774; 0,5774).

Lineaire afhankelijkheid

Ligt v_k al in de opspanning van de eerdere vectoren, dan blijft na het aftrekken van de projecties de nulvector over. De calculator ziet dit exact, omdat elk getal als breuk wordt behandeld en er geen tolerantie aan te pas komt. Zo’n vector wordt als afhankelijk gemarkeerd en overgeslagen, en de volgende vectoren worden georthogonaliseerd ten opzichte van de tot dan toe gevonden onafhankelijke vectoren. Bij meer vectoren dan dimensies (bijvoorbeeld drie vectoren in het vlak) is er altijd minstens één afhankelijke vector.

Wat deze calculator dekt

  • 2 tot 4 vectoren met 2 tot 4 getallen, allemaal even lang, met getallen tot 1.000.000 in absolute waarde en tot vier cijfers achter de komma.
  • Orthogonale vectoren worden getoond als decimalen en, als de breuk kort is, als exacte breuken. Eenheidsvectoren zijn decimalen, omdat ze een wortel nodig hebben.
  • Hij gebruikt het standaard inproduct op de reële getallen. Complexe vectoren, andere inproducten en grotere afmetingen worden niet ondersteund.

Veelgestelde vragen

Orthogonale vectoren staan loodrecht op elkaar, dus elk paar heeft inproduct 0. Orthonormale vectoren zijn orthogonaal en hebben bovendien lengte 1. Je krijgt de orthonormale verzameling door elke orthogonale vector u_k te delen door zijn lengte.

De calculator markeert de afhankelijke vector, legt uit dat zijn restvector u_k de nulvector is en slaat hem over. De vectoren daarna worden georthogonaliseerd ten opzichte van de onafhankelijke vectoren. De resultaatpagina vertelt ook hoeveel van je vectoren een nieuwe richting toevoegen.

Ja. Gram-Schmidt houdt de richting van de eerste vector aan en past de andere daaraan aan, dus een andere volgorde geeft een andere orthogonale verzameling. Elke verzameling spant dezelfde ruimte op.

Invoer wordt omgezet in exacte breuken en de projecties worden zonder afronding berekend, waardoor afhankelijkheid betrouwbaar wordt opgemerkt. Orthogonale vectoren worden met exacte breuken getoond wanneer die kort genoeg zijn om te lezen. Eenheidsvectoren hebben een wortel nodig en verschijnen daarom als decimalen, afgerond op vier cijfers.

De vectoren die je typt worden naar de server gestuurd om het resultaat te berekenen en aan de paginalink toegevoegd terwijl je tussen de stappen wisselt, zodat je een berekening kunt bookmarken of delen. Ze worden niet opgeslagen in een account of profiel.

Gerelateerde tools

Tool beschikbaar in andere talen