u-bases and bernstein polynomials reporter: zhu ping 2008.09.17
TRANSCRIPT
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
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
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
Contents:
1. Definition
2. Properties
3. Generalized algorithm
4. With common factors
5. Rational space curve
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
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.
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.
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.
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).
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.
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.
With common factors
Example:
Comparison
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
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
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
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
Future work:
How to eleminate these extraneous points
How to generate the lowest degree representation using u-bases?
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
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
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
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+
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
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.
Example:
g(t)=[2,3/4,1/2,1/4,0]=t4+t, f(t)=[1,0,0,0]=t3.
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
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
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
GCD algorithm for three or more Bernstein polynomials
Thanks !