### 1.49.4 Ορθοκανονικοποίηση Gramschmidt : gramschmidt

gramschmidt παίρνει ένα ή δύο ορίσματα :

- έναν πίνακα που αναπαρίσταται σαν μια λίστα διανυσμάτων (γραμμών), όπου από προεπιλογή ως εσωτερικό γινόμενο θεωρείται το κανονικό εσωτερικό γινόμενο, ή
- μια λίστα στοιχείων που είναι η βάση ενός διανυσματικού υποχώρου, και μια συνάρτηση που ορίζει ένα εσωτερικό γινόμενο σε αυτόν τον διανυσματικό χώρο.

gramschmidt επιστρέφει την ορθοκανονική βάση ως προς αυτό το εσωτερικό γινόμενο.
Είσοδος :

normal(gramschmidt([[1,1,1],[0,0,1],[0,1,0]]))

ή εισάγετε :

normal(gramschmidt([[1,1,1],[0,0,1],[0,1,0]],dot))

Έξοδος :

[[(sqrt(3))/3,(sqrt(3))/3,(sqrt(3))/3],
[(-(sqrt(6)))/6,(-(sqrt(6)))/6,(sqrt(6))/3],
[(-(sqrt(2)))/2,(sqrt(2))/2,0]]

Παράδειγμα
Ορίζουμε ένα εσωτερικό γινόμενο στον διανυσματικό χώρο των πολυωνύμων με:

P.Q=

∫

1
−1

P(x).Q(x)dx

Είσοδος :

gramschmidt([1,1+x],(p,q)->integrate(p*q,x,-1,1))

ή ορίζουμε την συνάρτηση p_scal, και εισάγουμε :
p_scal(p,q):=integrate(p*q,x,-1,1)
και μετά εισάγουμε :

gramschmidt([1,1+x],p_scal)

Έξοδος :

[1/(sqrt(2)),(1+x-1)/sqrt(2/3)]