Orthogonal Functions and

University of Texas at Austin CS384G - Computer Graphics Spring 2010 Don Fussell Vector Spaces

Set of vectors Closed under the following operations

Vector addition: v1 + v2 = v3

Scalar multiplication: s v1 = v2 n Linear combinations: a v v ! i i = i=1 Scalars come from some field F e.g. real or complex numbers Linear independence Dimension

University of Texas at Austin CS384G - Computer Graphics Spring 2010 Don Fussell Axioms

Vector addition is associative and commutative Vector addition has a (unique) identity element (the 0 vector) Each vector has an additive inverse So we can define vector subtraction as adding an inverse Scalar multiplication has an identity element (1) Scalar multiplication distributes over vector addition and field addition Multiplications are compatible (a(bv)=(ab)v)

University of Texas at Austin CS384G - Computer Graphics Spring 2010 Don Fussell Coordinate Representation

Pick a basis, order the vectors in it, then all vectors in the space can be represented as sequences of coordinates, i.e. coefficients of the basis vectors, in order. Example: Cartesian 3-space Basis: [i j k] Linear combination: xi + yj + zk Coordinate representation: [x y z] a[x1 y1 z1]+ b[x2 y2 z2 ] = [ax1 + bx2 ay1 + by2 az1 + bz2 ] University of Texas at Austin CS384G - Computer Graphics Spring 2010 Don Fussell Functions as vectors

Need a set of functions closed under linear combination, where Function addition is defined Scalar multiplication is defined Example: Quadratic polynomials Monomial (power) basis: [x2 x 1] Linear combination: ax2 + bx + c Coordinate representation: [a b c]

University of Texas at Austin CS384G - Computer Graphics Spring 2010 Don Fussell Metric spaces

Define a (distance) metric d( v 1 , v 2 ) ! R s.t.

d is nonnegative #vi , v j " V : d(vi , v j ) ! 0

d is symmetric "vi , v j ! V : d(vi , v j ) = d(v j , vi ) Indiscernibles are identical

#vi , v j " V : d(vi , v j ) = 0 ! vi = v j The triangle inequality holds

#vi , v j , vk " V : d(vi , v j ) + d(v j , vk ) ! d(vi , vk )

University of Texas at Austin CS384G - Computer Graphics Spring 2010 Don Fussell Normed spaces

Define the length or norm of a vector v Nonnegative #v " V : v ! 0 Positive definite v = 0 ! v = 0 Symmetric "v ! V,a ! F : a v = a v The triangle inequality holds

#vi , v j " V : vi + v j ! vi + v j Banach spaces – normed spaces that are complete (no holes or missing points) Real numbers form a Banach space, but not rational numbers Euclidean n-space is Banach

University of Texas at Austin CS384G - Computer Graphics Spring 2010 Don Fussell Norms and metrics

Examples of norms: 1 & D p # p p norm: $ x ! p=1 manhattan norm $' i ! i=1 p=2 euclidean norm % "

Metric from norm d(v1 , v2 ) = v1 ! v2 Norm from metric if d is homogeneous

"vi , v j ! V,a ! F : d(a vi ,a v j ) = a d(vi , v j ) d is translation invariant

"vi ,v j,t # V : d(vi ,v j ) = d(vi + t,v j + t) then v = d(v,0)

University! of Texas at Austin CS384G - Computer Graphics Spring 2010 Don Fussell Inner product spaces

Define [inner, scalar, dot] product v i , v j ! R (for real spaces) s.t.

vi + v j , vk = vi , vk + v j , vk

a vi , v j = a vi , v j

vi , v j = v j , vi

v, v ! 0

v, v = 0 ! v = 0

For complex spaces: vi , v j = v j , vi vi ,a v j = a vi , v j

Induces a norm: v = v, v

University of Texas at Austin CS384G - Computer Graphics Spring 2010 Don Fussell Some inner products

Multiplication in R Dot product in Euclidean n-space D v , v v v 1 2 = ! 1,i 2,i i=1 For real functions over domain [a,b] b f , g = ! f (x)g(x)dx For complex functionsa over domain [a,b] b f , g = ! f (x)g(x) dx Can add nonnegativea weight function b f , g = f (x)g(x)w(x)dx w ! a

University of Texas at Austin CS384G - Computer Graphics Spring 2010 Don Fussell

An inner product space that is complete wrt the induced norm is called a Hilbert space Infinite dimensional Euclidean space Inner product defines distances and angles Subset of Banach spaces

University of Texas at Austin CS384G - Computer Graphics Spring 2010 Don Fussell

Two vectors v1 and v2 are orthogonal if

v1 , v2 = 0 v1 and v2 are orthonormal if they are orthogonal and v1 , v1 = v2 , v2 =1

Orthonormal set of vectors

v i , v j = ! i, j (Kronecker delta)

University of Texas at Austin CS384G - Computer Graphics Spring 2010 Don Fussell Examples

Linear polynomials over [-1,1] (orthogonal)

1 B (x) = 1, B (x) = x x dx 0 0 1 ! = "1 Is x2 orthogonal to these? Is 3 x 2 + 1 orthogonal to them? (Legendre) 2

University of Texas at Austin CS384G - Computer Graphics Spring 2010 Don Fussell Fourier series

# Cosine series f (") = $aiCi (") i= 0

C0(") =1, C1(") = cos("), Cn (") = cos(n") 2# Cm,Cn = $ cos(m")cos(n")d" 0! ! 2# 1 = $ (cos[(m + n)"]+ cos[(m % n)"]) 0 2 2# & 1 1 ) = ( sin[(m + n)"]+ sin[(m % n)"]+ = 0 ' 2(m + n) 2(m % n) * 0 for m , n , 0

University of Texas at Austin CS384G - Computer Graphics Spring 2010 Don Fussell

! Fourier series

2) 2) # 1 1& # 1 " & = * % cos(2n") + ( d" = % sin(2n") + ( = ) for m = n + 0 0 $ 2 2' $ 4n 2' 0 2# 1 = $ 2cos(0)d" = 2# for m = n = 0 0 2 ! # Sine series f (") = $biSi (") i= 0 ! S0(") = 0, S1(") = sin("), Sn (") = sin(n") 2# Sm,Sn = $ sin(m")sin(n")d" = 0 for m % n or m = n = 0 0! ! = # for m = n % 0

University of Texas at Austin CS384G - Computer Graphics Spring 2010 Don Fussell

! Fourier series

# Complete series f (") = $an cos(n") + bn sin(n") n= 0 2# Cm,Sn = $ cos(m")sin(n")d" = 0 0 Basis functions! are orthogonal but not orthonormal ! Can obtain an and bn by projection 2# 2# % f ,Ck = $ f (")cos(k")d" = $ cos(k")d"&ai cos(n") + bi sin(n") 0 0 n= 0 2# 2 = $ ak cos (k")d" = # ak (or 2# ak for k = 0) 0 University of Texas at Austin CS384G - Computer Graphics Spring 2010 Don Fussell

! Fourier series

1 2" ak = $ f (#)cos(k#)d# " 0 1 2" a0 = $ f (#)d# 2" 0

Similarly for bk ! 1 2" bk = $ f (#)sin(k#)d# " 0

University of Texas at Austin CS384G - Computer Graphics Spring 2010 Don Fussell !