u-bases and bernstein polynomials reporter: zhu ping 2008.09.17
TRANSCRIPT
![Page 1: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/1.jpg)
u-bases and Bernstein polynomials
reporter: zhu ping
2008.09.17
![Page 2: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/13.jpg)
With common factors
![Page 14: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/14.jpg)
Example:
![Page 15: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/15.jpg)
Comparison
![Page 16: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/19.jpg)
![Page 20: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/28.jpg)
![Page 29: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/29.jpg)
![Page 30: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/31.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/33.jpg)
![Page 34: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/35.jpg)
GCD algorithm for three or more Bernstein polynomials
![Page 36: U-bases and Bernstein polynomials reporter: zhu ping 2008.09.17](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649c7d5503460f94932443/html5/thumbnails/36.jpg)
Thanks !