u-bases and bernstein polynomials reporter: zhu ping 2008.09.17

36
u-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

Upload: mara-cocker

Post on 14-Jan-2016

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

u-bases and Bernstein polynomials

reporter: zhu ping

2008.09.17

Page 2: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

1. u-bases for polynomial systems in one variable

Ning Song,Ron Goldman

CAGD, in press

2. Division algorithms for Bernstein polynomials

Laurent Buse, Ron Goldman

CAGD, in press

Page 3: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

U-bases for polynomial systems in one variable

Ning Song, Ron Goldman

Rice University, CS, Houston,USA

History:

Sederberg, Cox, Chen, Zheng

Sederberg, Implicitization using moving

curves and surfaces.Siggraph 95

Cox, The moving line ideal basis of planar rational curves.

CAGD,1998

Zheng, A direct approach to computing the u-basis of planar rational

curves, J.Symbolic Compute,2001

Page 4: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

Domestic

USTC:

Chen and Wang, The u-basis of a planar rational curve-properties and computation. Graphical Models, 2003

Chen and Sederberg, A new implicit representation of a planar rational curve with high order singularity. CAGD,2002

Wang and Chen. Implicitization and parametrization of quadratic surfaces with one simple base point, ISSAC'2008.

Chen and Wang, Computing singular points of plane rational curves, Journal of Symbolic Computation, 2008

Page 5: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

Contents:

1. Definition

2. Properties

3. Generalized algorithm

4. With common factors

5. Rational space curve

Page 6: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

syzygy module

syzygy modele {f1,…,fk}

f(t)=(f1(t),…, fk(t))

Vector polynomials p(t)=(p(t),…,pk(t)) such that

p.f=p1f1+…+pkfk≡0

syzygy modele space k-1 generators (Cox, 98)

LV(p) denotes the leading coefficient and deg(p)=n

Page 7: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

Definition

A set of k-1 vector polynomials u1,…,uk-1 is called a u-basis of the polynomial f1,…,fk or a u-basis of the syzygy module syz(f1,…,fk),if

1. u1,…,uk-1 are a basis of syz(f1,…,fk). That is any l syz(f1,…,fk),∈

can be expressed uniquely by

l=h1u1+…+hk-1uk-1

where hi are polynomials in t;

2. LV(u1),…,LV(uk-1) are linearly independent.

Page 8: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

Properties of u-bases

Theorem 1 u1,…,uk-1 are u-basis for f=(f1,…,fk) with deg(u1) ≤deg(u2) ≤…≤deg(uk-1) and GCD(f1,…,fk)=1.

We have:

1. Every l syz(f1,…,fk) can be expressed by (1) with deg(hiui) ≤deg(l)∈

2. If v1,…vk-1 is a set of vector polynomials in syz(f1,…,fk) that are linearly independent with deg(v1) ≤deg(v2) ≤…≤deg(vk), then

deg(ui) ≤deg(vi) for i=1,2,…,k-1.

3. If v1,…,vk-1 is another u-basis for f1,…,fk with deg(v1) ≤deg(v2) ≤

…≤deg(vk), then deg(ui)=deg(vi) for i=1,2,…,k-1.

Page 9: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

4. ui(t0) ≠0 for every parameter value t0.

5. u1(t0),…,uk(t0) are linearly independent for every parameter

value t0.

6. The out product of u1,…,uk-1 is equal to c(f1,…,fk) for some non-zero constant c.

7. f(t0)=cS for some constant c and for S=(s1,…,sk) if and only if

u1(t0).S=…=uk-1(t0).S=0.

8.

Page 10: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

Equivalent definition

Let u1,…,uk be k-1 polynomials in syz(f1…,fk) with deg(u1) ≤…≤deg(uk-1) and GCD(f1,…,fk)=1. Then u1,…,uk-1 form a u-basis for syz(f1,…,fk) if and only if one of the conditions holds:

1. Every element l syz(f1,…,fk) can be expressed as in (1) and u1,∈…,uk-1 are of the lowest degree.

2. Every element l syz(f1,…,fk) can be expressed as in (1) with ∈

deg(hiui) ≤deg(l) for i=1,…,k-1.

3. Every element l syz(f1,…,fk) can be expressed as in (1) and ∈deg(u1)+…+deg(uk-1)=deg(f1,…,fk).

4. The outer product of u1,…,uk-1 is equal to c(f1,…,fk) where c is a constant not equal to zero, and deg(u1)+…+deg(uk-1)=deg(f1,…,fk).

Page 11: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

An algorithm to calculate u-bases

Algorithm:

Input: f=(f1(t),…,fk(t)) with GCD=1

Output: k-1 polynomial for u-bases

Step 1: Create the set of vector polynomials {ua,b}:

ua,b=(0,…,0, -fb(t),…, fa(t),…,0);

Sort {ua,b} by a,b and rename the set {ui} i=1,2,…,s.

Step 2: Set mi=LV(ui) and ni=deg(ui), i=1,2,…,s.

Step 3: Sort ni so that n1≥n2≥…≥ns and re-index ui,mi.

Step 4: Find real numbers a1,a2,…as such that

a1m1+a2m2+…+asms=0;

and at least two of the terms aimi are not zero.

Page 12: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

Step 5: Choose the lowest integer j such that aj≠0 , update uj by

setting

If uj≡0, discard uj and set s=s-1; otherwise set mj=LV(uj)

and nj=deg(uj).

Step 6: If s=k-1, then output the k-1 non-zero polynomials u1,…,uk-1

and stop; otherwise, go to step 3.

Page 13: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

With common factors

Page 14: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

Example:

Page 15: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

Comparison

Page 16: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

Application to non-planar curves

Four questions:

1. Point on curve: Given a point P0=(x0,y0,z0,w0) in homogeneous coordinates, determine if the point P lies on the curve P(t)

2. Inversion: Given a point P0=(x0,y0,z0,w0) in homogeneous coordinates on the curve P(t), find the corresponding parameter value to such that P(t0)=cP0 for some constant c.

3. Implicitization: Given a rational space curve P(t), find a low degree implicit representation for this curve.

4. Intersection: Given two rational space curves P(t), ,find

the intersection points of P(t) and

( )P t

( )P s

( )P s

Page 17: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

Example:

1. (Cubic curve).

P0=(3,0,2,1) t=1

P1=(0,0,0,1)

2. (Quartic curve)

P0=(2,0,-1,1)

P1=(0,1,1,1)

2 3( ) (3 , 3 - 3 , +1,1)P t = t t t t

2 4 3 2( ) = (6 - 4 ,4 - 4 , - ,1)P t t t t t t

Page 18: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

Implicitization:

u-bases for P(t):

p=(p1(t),p2(t),p3(t),p4(t)); q=(q1(t),q2(t),q3(t),q4(t)); r=(r1(t),r2(t),r3(t),r4(t));

p=p.(x,y,z,w);q=q.(x,y,z,w),r=r.(x,y,z,w);

S1(x,y,z,w)=Res(p,q;t); S2(x,y,z,w)=Res(q,r;t);

S3(x,y,z,w)=Res(p,r;t)

Example:

3 4 2 2 2 2( ) = (- 2( -1) ( +1), -( -1) ,( -1) , -2( +1) )P t t t t t t

2 3 2 3 2 2( ) = ((1- )(1+ ), ,(1- )(1+ ) , (1+ ))P t t t t t t t t t

Page 19: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17
Page 20: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

Example

1. (Cubic curve)

P0=(3,0,2,1)

2. (Sextic curve)

2 3( ) = (3 ,3 - 3 , +1,1)P t t t t t

2 6 2 6 3( ) = ( + , + +1, - , +1)P t t t t t t t t

Page 21: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

Future work:

How to eleminate these extraneous points

How to generate the lowest degree representation using u-bases?

Page 22: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

Division algorithms for Bernstein polynomials

Authors:

Laurent Buse, INRIA Sophia Antipolis , France

Ron Goldman, Rice University, USA

Problem:

operator of Bernstein polynomials.

Reason:

advantage of Bernstein basis

Page 23: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

Contents

Three algorithms:

1. an algorithm for dividing two univariate polynomials

2. an algorithm for calculating the GCD of an arbitrary collection

of univariate polynomials

3. an algorithm for computing u-basis for the syzygy module of an

arbitrary collection of univariate polynomials.

then extended to three or more Bernstein polynomials

Page 24: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

Bernstein bases basics

Bernstein polynomial:

1. Multiplication by powers of

2. Multiplication by powers of

=0

( ) = ( )n

n nk k

k

P t c B t

d -1

n+d n nk k -d k -d

i=0

n

k - d k - ic = c = c

n+ d n+ d - i

k

d -1

n+d n nk k k

i=0

n

k n+ d - k - ic = c = c

n+ d n+ d - i

k

dt

(1- )dt

Page 25: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

3. Removing common powers of

4. Removing common powers of

5. Degree elevation

jt

j -1

n- j n nk k+ j k+ j

i=0

n

k + j n - ic = c = c

n - j k + j - i

k

(1- ) jt

j -1

n- j n nk k k

i=0

n

k n - ic = c = c

n - j n - k - i

k

1

1 1n+1 n nk k k -1

n+ - k kc = c + c

n+ n+

Page 26: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

Conversion between monomial and Bernstein bases

monomial polynomials ↔ Bernstein bases

( ) ( )

n k n-kk

nB t,s = t s - t

k

[ ] [ ]Φ : R t,s →R t,s

t→t

s →s-t

[ ] [ ]Ψ : R t,s R t,s

s s t

t t

d d

d i d -ii i i

i=0 i=0

dΨ( a B (t, s) ) = a t s

i

d d

jj d - j dj i

j=0 j=0

bΦ( b t s ) = B (t, s)

d

j

Page 27: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

Division algorithm for two Bernstein polynomials

=0

( ) = ( )n

n nk k

k

g t c B t 0( ) = [ , , ]n nng t c c

Given two univariate polynomials f(t) ,g(t) such that degt(t)≤degt(g)

How to solve q(t) and r(t) such that g=q.f+r.

Page 28: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17
Page 29: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17
Page 30: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

Example:

g(t)=[2,3/4,1/2,1/4,0]=t4+t, f(t)=[1,0,0,0]=t3.

Page 31: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

GCD algorithm

Example:

g(t)=[0,0,1,0,0,0]=10t3-20t4+10t5, f(t)=[0,3/4,1/2,1/4,0]=t-t4

Page 32: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

A u-basis algorithm for an arbirary collection of Bernstein polynomials

We will denote the homogenization of any polynomial P(t) R[t] by∈

We denote by the homogenization of fi(t) of degree

We set

Page 33: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17
Page 34: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

Example:

f1(t)=[1]=1,f2(t)=[1.0]=t, f3(t)=[1,0,0]=t2

Remove common powers of 1-t and get

U-basis for f1,f2,f3

Page 35: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

GCD algorithm for three or more Bernstein polynomials

Page 36: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17

Thanks !