MATH 414 Lecture 5
« previous | Friday, January 24, 2014 | next »
Hyperbolic Trigonometric Functions
Gram-Schmidt Process
INPUT: basis vectors for a vector space .
OUTPUT: orthonormal basis for
- for from to
Python Implementation
def gram_schmidt(basis):
on_basis = [ normalize(basis[0]) ]
for i in xrange(1, len(basis)):
p = sum(inner_product(basis[i], e) * e for e in on_basis)
next_e = normalize(basis[i] - p)
on_basis.append(next_e)
return on_basis
Trick
Calculating ; in space, ; can be a long and cumbersome process, but we can compute this length using values we already know:
Theorem.
Proof. Observe that and are orthogonal by construction, so , , and form a right triangle.
Therefore , in particular, , by the Pythagorean theorem.
By definition, . By generalizing the pythagorean theorem into multiple dimensions, we have because all are orthogonal.
Factoring out the scalar value from the length of each component in the sum leaves just , and of course the length of is . Therefore,
Plugging this definition into the pythagorean identity above yields the desired equation for .