Change

of

Basis

Algorithms

for

Surfaces

in

CAGD

Suresh

Lodha

Department

of

Computer

and

Information

Sciences

University

of

California

Santa

Cruz

CA

Ron

Goldman

Department

of

Computer

Science

Rice

University

Houston

TX

Abstract

The

computational

complexity

of

general

change

of

basis

algorithms

from

one

bivariate

polynomial

basis

of

degree

n

to

another

bivariate

polynomial

basis

of

degree

n

using

matrix

multiplication

is

O

-LRB-

-RRB-

Applying

blossoming

and

duality

we

derive

change

of

basis

algorithms

with

computational

complexity

O

-LRB-

-RRB-

between

two

important

classes

of

polynomial

bases

used

for

representing

surfaces

in

CAGD

B

bases

and

L-bases

Change

of

basis

algorithms

for

B-bases

follow

from

their

blossoming

property

change

of

basis

algorithms

for

L-bases

follow

from

the

duality

between

L-bases

and

B-bases

The

B?ezier

and

multinomial

bases

are

special

cases

of

both

B-bases

and

L-bases

so

these

algorithms

can

be

used

to

convert

between

the

B?ezier

and

multinomial

forms

We

also

show

that

the

bivariate

Horner

evaluation

algorithm

for

the

multinomial

basis

is

dual

to

the

bivariate

de

Boor

evaluation

algorithm

for

B-patches

Introduction

The

purpose

of

this

paper

is

to

derive

efficient

change

of

basis

algorithms

for

surfaces

represented

in

terms

of

B-bases

or

L-bases

This

work

extends

similar

results

by

Goldman

and

Barry

-LSB-

-RSB-

on

change

of

basis

algorithms

for

curves

represented

in

terms

of

univariate

B-splines

or

polya

bases

Our

work

easily

generalizes

to

higher

dimensions

Nevertheless

for

the

sake

of

simplicity

the

results

are

presented

and

derived

here

only

for

surfaces

B-bases

are

blending

functions

for

B-patches

which

were

introduced

by

Seidel

-LSB-

-RSB-

and

shown

to

agree

with

certain

multivariate

B-splines

on

a

special

region

of

the

parameter

domain

-LSB-

-RSB-

B-bases

are

multivariate

generalizations

of

univariate

B-splines

We

shall

show

that

change

of

basis

algorithms

for

B-bases

follow

from

the

blossoming

property

of

B-bases

Lineal

bases

or

L-bases

that

is

multivariate

polynomial

bases

formed

from

products

of

linear

polynomials

were

studied

by

Cavaretta

and

Micchelli

and

shown

to

be

dual

to

B-bases

using

a

multivariate

polynomial

identity

-LSB-

-RSB-

Similar

results

can

be

obtained

by

generalizing

the

de

Boor-Fix

dual

functionals

-LSB-

-RSB-

from

curves

to

surfaces

-LSB-

-RSB-

Here

we

show

how

to

apply

this

duality

to

derive

change

of

basis

algorithms

for

L-bases

This

paper

is

organized

in

the

following

manner

Sections

to

review

the

definition

and

blossoming

property

of

B-bases

describe

Ramshaw

's

blossoming

recurrence

diagram

and

explain

how

to

express

the

B?ezier

and

multinomial

bases

as

special

cases

of

B-bases

Section

discusses

the

general

change

of

basis

algorithms

with

computational

complexity

O

-LRB-

-RRB-

for

B-bases

that

follow

from

their

blossoming

property

In

Section

we

also

show

that

many

important

algorithms

including

the

de

Boor

evaluation

algorithm

the

de

Casteljau

evaluation

algorithm

and

the

synthetic

division

algorithm

can

be

derived

as

special

cases

of

this

general

change

of

basis

algorithm

Section

reviews

the

definition

and

symmetry

property

of

L-bases

describes

a

related

recurrence

diagram

and

explains

how

to

express

the

B?ezier

and

multinomial

bases

as

special

cases

of

L-bases

Section

focuses

on

the

duality

between

B-bases

and

L-bases

from

several

different

perspectives

Sections

to

describe

de

Boor-Fix

duality

recurrence

diagram

duality

and

change

of

basis

duality

In

Section

the

recurrence

diagram

duality

is

used

to

derive

the

Cavaretta-Micchelli

identity

In

Section

the

change

of

basis

duality

is

applied

to

derive

a

general

change

of

basis

algorithm

with

computational

complexity

O

-LRB-

-RRB-

between

any

two

L-bases

Section

specializes

this

general

change

of

basis

algorithm

to

derive

the

dual

de

Boor

evaluation

algorithm

dual

de

Casteljau

evaluation

algorithm

and

dual

synthetic

division

algorithm

Section

describes

change

of

basis

algorithms

between

B-bases

and

L-bases

Finally

Section

concludes

with

some

discussion

of

future

research

Throughout

this

paper

we

shall

adopt

the

following

notation

A

multi-index

ff

is

a

of

nonnegative

integers

If

ff

-LRB-

-RRB-

then

jffj

and

ff

Other

multi-indices

will

be

denoted

by

and

A

unit

multi-index

ek

is

a

with

in

k-th

position

and

everywhere

else

Scalar

indices

will

be

denoted

by

i

j

k

l.

Finally

given

a

homogeneous

polynomial

f

-LRB-

x

y

z

-RRB-

Dfff

denotes

@jffjf

B-bases

A

collection

U

of

sequences

jg

jg

jg

j

n

of

vectors

in

is

called

a

knot-net

of

vectors

if

-LRB-

-RRB-

are

linearly

independent

vectors

in

for

jffj

n

One

can

write

any

vector

u

in

in

terms

of

the

basis

-LRB-

-RRB-

so

that

u

X

k

hk

ff

-LRB-

u

-RRB-

uk

ffk

The

functions

hk

ff

are

trivariate

linear

homogeneous

polynomials

and

can

be

computed

by

solving

a

system

of

linear

equations

A

B-patch

of

degree

n

over

the

knot-net

U

is

a

homogeneous

trivariate

polynomial

B

Rm

defined

by

the

following

recurrence

The

initial

conditions

for

the

recurrence

are

given

by

setting

-LRB-

u

-RRB-

Cff

fflRm

for

jffj

n

The

recurrence

is

defined

for

jffj

n

l

l

n

by

Clff

-LRB-

u

-RRB-

X

k

hk

ff

-LRB-

u

-RRB-

Cl

ff

ek

-LRB-

u

-RRB-

-LRB-

-RRB-

The

B-patch

is

then

given

by

B

-LRB-

u

-RRB-

-LRB-

u

-RRB-

This

algorithm

is

known

as

the

up

recurrence

it

generalizes

the

de

Boor

evaluation

algorithm

for

B-spline

curves

-LSB-

-RSB-

A

B-basis

fbnff

jffj

ng

is

a

collection

of

n

homogeneous

trivariate

polynomials

from

to

R

defined

by

choosing

the

constants

C

fflR

as

follows

C

if

ff

otherwise

It

has

been

shown

that

fbnff

jffj

ng

is

in

fact

a

basis

for

the

space

of

homogeneous

polynomials

in

-LSB-

-RSB-

Moreover

an

arbitrary

B-patch

of

degree

n

can

be

represented

in

terms

of

a

B-basis

as

follows

B

-LRB-

u

-RRB-

X

jffj

n

Cffbnff

-LRB-

u

-RRB-

The

up

recurrence

also

generates

a

recurrence

relation

between

B-basis

polynomials

of

different

degrees

by

reversing

the

recurrence

-LSB-

-RSB-

If

fbkffg

are

the

B-basis

functions

of

degree

k

over

the

knot-net

of

vectors

f

-LRB-

j

j

j

-RRB-

j

kg

then

the

following

recurrence

is

obtained

for

l

n

where

blff

-LRB-

u

-RRB-

X

k

hk

ff?ek

-LRB-

u

-RRB-

bl

ff?ek

-LRB-

u

-RRB-

-LRB-

-RRB-

This

down

recurrence

is

a

generalization

of

the

Cox-de

Boor-Mansfield

recurrence

for

the

univariate

B-spline

basis

functions

Recurrence

Diagram

We

now

describe

a

schematic

blossoming

recurrence

diagram

that

presents

clearly

the

role

the

independence

condition

on

the

vectors

-LRB-

-RRB-

plays

in

the

definition

of

a

B-patch

Ramshaw

's

blossoming

recurrence

diagram

-LSB-

-RSB-

for

the

cubic

case

is

shown

in

Figure

Appropriate

multisets

of

three

vectors

from

the

knot-net

lie

at

the

base

of

the

pyramid

We

shall

interpret

the

meaning

of

these

multisets

shortly

in

Section

as

the

value

of

the

blossom

of

a

B-patch

evaluated

at

these

multisets

Also

note

that

Figure

Recurrence

diagram

for

B-bases

the

central

node

at

the

base

of

the

pyramid

is

not

drawn

since

it

is

occluded

by

the

node

at

the

apex

of

the

pyramid

The

multiset

associated

with

this

hidden

node

is

The

arrows

coming

out

of

this

hidden

node

are

shown

as

very

thin

arrows

in

Figure

Moreover

nodes

at

the

same

level

of

the

pyramid

are

shaded

in

the

same

way

for

example

all

the

nodes

at

the

base

are

shown

as

empty

circles

and

all

the

nodes

at

the

next

level

are

cross-hatched

Let

ti

i

be

three

arbitrary

vectors

Recall

that

the

linear

independence

condition

on

the

vectors

-LRB-

-RRB-

implies

that

any

vector

ti

can

always

be

expressed

as

a

linear

combination

of

-LRB-

-RRB-

that

is

ti

X

k

hik

ffuk

ffk

-LRB-

-RRB-

In

the

recurrence

diagram

the

vector

ti

is

introduced

at

level

i

The

constants

hik

ff

that

should

appear

along

the

edges

at

level

i

are

not

shown

to

avoid

cluttering

the

figure

For

every

node

of

the

pyramid

there

are

three

multisets

of

vectors

one

level

below

from

which

the

multisets

of

vectors

at

the

node

is

computed

The

three

multisets

have

all

common

elements

except

for

precisely

one

element

Thus

using

this

recurrence

one

can

represent

any

multiset

of

vectors

at

the

apex

as

a

linear

combination

of

multisets

from

the

knot-net

of

a

B-patch

Blossoming

Property

Let

Bf

-LRB-

un

-RRB-

denote

the

blossom

-LSB-

-RSB-

of

the

polynomial

f

evaluated

at

the

vectors

un

The

schematic

recurrence

diagram

of

the

previous

section

can

also

be

viewed

as

the

blossoming

recurrence

for

a

B-patch

simply

by

interpreting

each

multiset

of

vectors

as

the

value

of

the

blossom

of

the

B-patch

evaluated

at

that

multiset

-LSB-

-RSB-

Given

a

knot-net

of

vectors

ui

j

for

i

j

n

and

any

ff

-LRB-

-RRB-

with

jffj

n

we

shall

make

the

following

judicious

choice

of

the

vectors

ui

i

for

i

ui

for

i

and

ui

for

i

n.

Denote

this

multiset

of

vectors

by

Uff

and

the

blossom

of

a

polynomial

f

evaluated

at

this

multiset

by

Bf

-LRB-

Uff

-RRB-

The

following

lemma

describes

the

blossoming

property

of

B-bases

-LSB-

-RSB-

Lemma

Bbn

-LRB-

Uff

-RRB-

ffifffi

-LRB-

-RRB-

Corollary

BB

-LRB-

u

-RRB-

-LRB-

Uff

-RRB-

Cff

-LRB-

-RRB-

Examples

We

now

give

some

examples

of

B-basis

functions

by

choosing

specific

knot-nets

U

of

vectors

in

B?ezier

Basis

Let

-LRB-

-RRB-

-LRB-

-RRB-

and

-LRB-

-RRB-

be

three

linearly

independent

vectors

in

such

that

ci

for

i

Let

us

choose

the

knot-net

of

vectors

ui

j

ui

j

n

The

corresponding

B-basis

is

then

referred

to

as

a

homogeneous

B?ezier

basis

For

example

if

-LRB-

-RRB-

-LRB-

-RRB-

and

-LRB-

-RRB-

then

it

can

readily

be

verified

that

the

B-basis

functions

are

indeed

the

homogeneous

B?ezier

basis

functions

bnff

-LRB-

x

y

z

-RRB-

n

ff

-LRB-

z

x

y

-RRB-

Multinomial

Basis

Let

-LRB-

-RRB-

-LRB-

-RRB-

and

-LRB-

-RRB-

be

three

linearly

independent

vectors

in

such

that

Observe

that

by

the

linear

independence

condition

Let

us

again

choose

the

knot-net

of

vectors

ui

j

ui

j

n

The

corresponding

B-basis

is

then

referred

to

as

a

homogeneous

multinomial

basis

up

to

constant

multiples

For

example

if

-LRB-

-RRB-

-LRB-

-RRB-

and

-LRB-

-RRB-

then

it

can

readily

be

verified

that

the

B-basis

functions

are

indeed

the

homogeneous

multinomial

basis

functions

bnff

-LRB-

x

y

z

-RRB-

n

ff

Sometimes

the

terminology

Taylor

basis

or

power

basis

is

also

used

for

this

basis

However

we

shall

refer

to

this

basis

as

the

multinomial

basis

in

accordance

with

-LSB-

-RSB-

If

a

homogeneous

polynomial

B

-LRB-

u

-RRB-

has

coefficients

Cff

with

respect

to

the

standard

multinomial

B-basis

then

B

-LRB-

u

-RRB-

X

jffj

n

n

ff

and

the

coefficients

Cff

represent

up

to

constant

multiples

the

partial

derivatives

of

the

polynomial

B

-LRB-

u

-RRB-

more

precisely

DffB

-LRB-

u

-RRB-

n!Cff

Change

of

Basis

Algorithms

This

section

describes

the

change

of

basis

algorithms

for

B-bases

that

follow

from

the

blossoming

property

of

B-bases

Bivariate

Generalization

of

the

Oslo

Algorithm

Suppose

we

are

given

the

coefficients

Cff

of

a

degree

n

polynomial

B

with

respect

to

a

B-basis

fbnffg

defined

by

the

knot-net

U

j

ng

and

we

want

to

compute

the

coefficients

Eff

of

this

polynomial

B

with

respect

to

another

B-basis

fdnffg

defined

by

the

knot-net

T

j

ng

By

examining

the

blossoming

recurrence

illustrated

in

Figure

and

applying

Corollary

it

follows

that

if

the

coefficients

Cff

are

placed

at

the

base

of

the

tetrahedron

and

is

introduced

at

the

jth

level

of

the

pyramid

as

the

computation

is

performed

then

the

terms

on

a

lateral

side

say

on

the

dark

side

of

the

first

diagram

in

Figure

are

the

coefficients

of

the

given

polynomial

B

with

respect

to

the

B-basis

defined

by

the

new

intermediate

knot-net

jg

jg

jg

j

ng

For

this

technique

to

work

we

must

assume

that

this

intermediate

collection

of

vectors

does

indeed

form

a

knot-net

that

is

the

collection

satisfies

the

linear

independence

condition

so

that

the

B-basis

functions

do

indeed

form

a

basis

Assuming

the

linear

independence

of

every

triple

encountered

in

the

algorithm

it

is

now

clear

that

one

can

get

from

any

knot-net

of

vectors

to

any

other

knot-net

by

running

the

tetrahedron

three

times

This

algorithm

is

illustrated

schematically

in

Figure

Observe

that

this

general

change

of

basis

algorithm

is

actually

a

knot

insertion

algorithm

In

fact

this

general

change

of

basis

algorithm

between

any

two

B-bases

is

a

bivariate

generalization

of

the

Oslo

knot

insertion

algorithm

for

univariate

B-spline

curves

-LSB-

-RSB-

It

is

also

a

generalization

of

Boehm

's

knot

insertion

algorithm

for

B-spline

curves

-LSB-

-RSB-

Boehm

introduces

only

one

knot

at

a

time

this

corresponds

to

introducing

only

one

vector

say

by

running

just

one

level

of

one

tetrahedron

Figure

Change

of

basis

algorithms

between

B-bases

Since

this

algorithm

is

of

some

practical

interest

we

shall

count

the

number

of

multiplications

and

additions

needed

for

the

general

change

of

basis

algorithm

Moreover

we

shall

keep

track

of

the

exact

number

of

multiplications

and

additions

needed

wherever

possible

in

order

to

-LRB-

i

-RRB-

establish

that

the

algorithms

presented

in

this

work

have

very

reasonable

constant

factors

for

practical

implementations

-LRB-

ii

-RRB-

compare

two

different

algorithms

performing

the

same

task

with

same

computational

complexity

for

example

synthetic

division

algorithm

presented

in

Section

and

dual

synthetic

division

algorithm

discussed

in

Section

and

-LRB-

iii

-RRB-

discuss

further

improvements

in

the

efficiency

of

an

algorithm

when

it

is

specialized

for

example

dual

multinomial

evaluation

algorithm

discussed

in

Section

First

the

labels

hik

ff

along

the

edges

can

be

computed

using

Equation

which

is

a

system

of

linear

equations

Suppose

M

units

of

computation

are

required

to

solve

a

system

of

linear

equations

Since

the

labels

must

be

computed

for

n

-LRB-

n

-RRB-

-LRB-

n

-RRB-

nodes

the

computation

required

for

computing

the

labels

is

n

-LRB-

n

-RRB-

-LRB-

n

-RRB-

Second

the

computation

is

to

be

carried

out

along

the

tetrahedron

At

each

incoming

node

that

is

a

node

at

any

level

except

at

the

base

level

the

number

of

multiplications

is

and

the

number

of

additions

is

Since

there

are

n

-LRB-

n

-RRB-

-LRB-

n

-RRB-

incoming

nodes

in

each

tetrahedron

and

tetrahedrons

are

required

for

a

general

change

of

basis

algorithm

the

number

of

multiplications

is

n

-LRB-

n

-RRB-

-LRB-

n

-RRB-

and

the

number

of

additions

is

n

-LRB-

n

-RRB-

-LRB-

n

-RRB-

Thus

this

general

change

of

basis

algorithm

is

O

-LRB-

-RRB-

This

general

change

of

basis

algorithm

for

a

polynomial

can

readily

be

extended

to

a

change

of

basis

algorithm

for

a

polynomial

map

that

is

represented

with

respect

to

some

B-basis

with

coefficients

Cff

ffl

Rm

by

carrying

out

this

change

of

basis

procedure

component-wise

Since

there

are

m

components

of

a

coefficient

Cff

the

computation

required

is

m

times

the

computation

required

in

the

scalar

case

In

particular

if

the

polynomial

map

represents

a

surface

in

that

is

m

the

computation

required

is

times

the

computation

required

in

the

scalar

case

The

de

Boor

Evaluation

Algorithms

As

we

shall

soon

see

many

important

evaluation

algorithms

are

special

cases

of

the

general

change

of

basis

algorithm

described

in

the

previous

section

The

evaluation

algorithm

for

B-patches

at

a

point

u

is

a

special

case

of

the

general

change

of

basis

algorithm

where

the

tetrahedron

is

run

only

once

with

the

knots

u

u

u

as

illustrated

schematically

in

Figure

As

pointed

out

earlier

in

Section

this

evaluation

algorithm

is

a

generalization

of

the

de

Boor

evaluation

algorithm

for

B-spline

curves

Apart

from

the

computation

of

the

labels

the

number

of

multiplications

for

this

bivariate

de

Boor

evaluation

algorithm

is

n

-LRB-

n

-RRB-

-LRB-

n

-RRB-

and

the

number

of

additions

is

n

-LRB-

n

-RRB-

-LRB-

n

-RRB-

The

de

Casteljau

Evaluation

Algorithm

In

particular

if

the

original

B-basis

is

a

B?ezier

basis

then

the

evaluation

algorithm

is

the

de

Casteljau

evaluation

algorithm

This

procedure

is

illustrated

schematically

in

Figure

Since

the

labels

are

the

same

at

each

incoming

node

the

computation

of

the

labels

is

much

simpler

in

this

case

The

number

of

multiplications

and

additions

for

the

computation

along

the

tetrahedron

is

the

same

as

in

the

case

of

the

de

Boor

evaluation

algorithm

Multinomial

Evaluation

Algorithm

Again

if

the

original

B-basis

is

a

multinomial

basis

then

the

evaluation

algorithm

still

requires

the

same

number

of

multiplications

and

additions

as

in

the

case

of

the

de

Casteljau

evaluation

algorithm

and

is

therefore

of

computational

complexity

O

-LRB-

-RRB-

However

we

shall

see

later

that

the

dual

multinomialevaluation

algorithm

is

only

O

-LRB-

-RRB-

this

dual

algorithm

generalizes

Horner

's

algorithm

for

the

evaluation

of

univariate

polynomials

Synthetic

Division

Algorithm

We

now

discuss

the

change

of

basis

algorithm

from

one

multinomial

basis

to

another

This

is

the

special

case

of

the

change

of

basis

algorithm

where

the

initial

knot-net

of

vectors

is

given

by

-LRB-

-RRB-

u

u

Figure

The

de

Boor

evaluation

algorithm

for

a

B-patch

u

u

Figure

The

de

Casteljau

evaluation

algorithm

for

a

B?ezier

patch

-LRB-

-RRB-

-LRB-

-RRB-

and

the

final

knot-net

of

vectors

is

given

by

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

In

particular

if

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

and

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

a

b

-RRB-

then

a

homogeneous

polynomial

B

-LRB-

u

-RRB-

is

represented

in

the

original

and

final

B-basis

as

follows

B

-LRB-

u

-RRB-

X

jffj

n

n

ff

X

jffj

n

n

ff

Eff

-LRB-

x

az

-RRB-

-LRB-

y

bz

-RRB-

Since

up

to

constant

multiples

the

coefficients

Cff

and

Eff

represent

the

derivatives

of

the

polynomial

at

-LRB-

-RRB-

and

-LRB-

a

b

-RRB-

this

change

of

basis

algorithm

amounts

to

computing

the

derivatives

of

a

given

polynomial

at

-LRB-

a

b

-RRB-

Alternatively

this

change

of

basis

algorithm

amounts

to

converting

the

given

polynomial

from

the

standard

multinomial

basis

to

the

multinomial

basis

at

-LRB-

a

b

-RRB-

Therefore

it

is

a

generalization

of

the

synthetic

division

algorithm

This

algorithm

computes

only

one

tetrahedron

instead

of

three

because

two

of

the

three

sequences

in

the

knot-nets

are

identical

Moreover

since

-LRB-

a

b

-RRB-

a

-LRB-

-RRB-

b

-LRB-

-RRB-

-LRB-

-RRB-

tha

label

along

one

of

the

edges

is

therefore

the

number

of

multiplications

needed

per

incoming

node

is

only

instead

of

Hence

the

number

of

multiplications

and

additions

needed

for

this

algorithm

is

n

-LRB-

n

-RRB-

-LRB-

n

-RRB-

and

n

-LRB-

n

-RRB-

-LRB-

n

-RRB-

respectively

Since

later

we

shall

compare

this

algorithm

with

the

dual

synthetic

division

algorithm

we

note

that

the

computation

for

a

quadratic

homogeneous

polynomial

B

-LRB-

u

-RRB-

with

the

coefficients

Cff

with

respect

to

the

standard

multinomial

B-basis

is

organized

as

follows

The

new

coefficients

Eff

are

and

Special

Change

of

Basis

Algorithms

Due

to

their

importance

we

briefly

mention

two

other

special

change

of

basis

algorithms

First

a

change

of

basis

algorithm

from

an

arbitrary

B-patch

to

a

B?ezier

patch

can

be

derived

by

specializing

the

general

change

of

basis

algorithm

where

the

new

knot-net

of

vectors

introduced

is

simply

and

Second

the

change

of

basis

algorithm

from

a

B?ezier

to

a

multinomial

basis

is

a

special

case

of

the

general

change

of

basis

algorithm

where

the

initial

knot-net

of

vectors

is

given

by

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

and

the

final

knot-net

of

vectors

is

given

by

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

L-bases

A

collection

L

of

sequences

jg

jg

jg

j

n

of

linear

homogeneous

polynomials

in

three

variables

is

called

a

knot-net

of

polynomials

if

-LRB-

-RRB-

are

linearly

independent

polynomials

for

jffj

n

An

L-basis

flnff

jffj

ng

is

a

collection

of

n

trivariate

polynomials

defined

as

follows

lnff

Y

i

Y

j

Y

k

-LRB-

-RRB-

Any

polynomial

of

degree

n

formed

by

the

product

of

n

linear

polynomials

is

referred

to

as

a

lineal

polynomial

so

that

each

L-basis

polynomial

function

lnff

is

a

lineal

polynomial

We

prove

in

the

next

subsection

using

a

recurrence

diagram

that

flnff

jffj

ng

is

in

fact

a

basis

for

the

space

of

homogeneous

degree

n

polynomials

on

Recurrence

Diagram

We

now

describe

a

recurrence

diagram

that

presents

clearly

the

role

the

independence

condition

on

the

polynomials

-LRB-

-RRB-

plays

in

the

definition

of

an

L-basis

The

recurrence

diagram

for

the

cubic

case

is

shown

in

Figure

The

L-basis

functions

lie

at

the

base

of

the

tetrahedron

Let

be

three

arbitrary

linear

homogeneous

polynomials

The

linear

independence

condition

on

the

polynomials

-LRB-

-RRB-

implies

that

any

linear

homogeneous

polynomial

M

i

can

always

be

expressed

as

a

linear

combination

of

-LRB-

-RRB-

that

is

M

i

X

k

gik

ffLk

ffk

-LRB-

-RRB-

For

every

node

of

the

tetrahedron

there

are

three

polynomials

one

level

below

from

which

the

polynomial

at

the

node

is

computed

The

three

polynomials

are

lineal

polynomials

with

all

common

factors

except

precisely

one

In

the

recurrence

diagram

the

polynomial

M

i

is

introduced

at

level

i

The

multipliers

gik

ff

that

should

appear

along

the

edges

at

level

i

are

not

shown

in

Figure

to

avoid

cluttering

the

diagram

Thus

using

this

recurrence

one

can

write

any

lineal

polynomial

that

is

any

product

of

linear

polynomials

as

a

linear

combination

of

L-basis

functions

In

particular

the

polynomials

xiyjzk

are

lineal

polynomials

and

hence

can

be

represented

in

terms

of

L-basis

functions

Moreover

since

any

polynomial

can

be

represented

as

a

sum

of

lineal

polynomials

-LRB-

for

example

using

Taylor

expansion

-RRB-

it

follows

that

any

polynomial

can

be

written

as

a

linear

combination

of

L-basis

functions

Thus

these

basis

functions

span

the

space

Hn

-LRB-

-RRB-

of

homogeneous

polynomials

of

degree

n

in

Moreover

since

the

number

n

of

basis

functions

agrees

with

the

dimension

of

Hn

-LRB-

-RRB-

the

L-basis

functions

do

indeed

form

a

basis

for

Hn

-LRB-

-RRB-

Figure

Recurrence

diagram

for

L-bases

Symmetry

Property

In

this

section

certain

derivatives

of

L-basis

functions

are

related

to

symmetric

functions

This

property

of

the

L-basis

functions

is

dual

to

the

blossoming

property

of

the

B-basis

functions

and

is

described

here

for

the

sake

of

completeness

Let

ui

-LRB-

ai

bi

ci

-RRB-

i

n

be

n

vectors

in

A

symmetric

function

Sff

-LRB-

un

-RRB-

of

order

ff

with

jffj

n

is

defined

as

follows

Sff

-LRB-

un

-RRB-

X

where

the

sum

is

taken

over

all

possible

permutations

-LRB-

-RRB-

of

the

integers

n.

Symmetric

functions

are

closely

related

to

blossoms

In

fact

it

follows

immediately

from

the

definition

that

-LRB-

un

-RRB-

n!Sff

-LRB-

un

-RRB-

-LRB-

-RRB-

Now

let

Li

j

aijx

bijy

cijz

be

a

knot-net

of

polynomials

Then

uij

-LRB-

aij

bij

cij

-RRB-

is

a

knot-net

of

vectors

Define

Uff

as

in

Section

The

following

lemma

is

an

easy

consequence

of

Equation

Lemma

Dfflnff

Sff

-LRB-

Uff

-RRB-

-LRB-

-RRB-

Examples

We

now

give

two

examples

of

L-basis

functions

by

choosing

specific

knot-nets

L

of

polynomials

Let

and

be

three

linearly

independent

polynomials

Let

us

choose

the

knot-net

of

polynomials

Li

j

Li

j

n.

B?ezier

Basis

In

particular

by

choosing

x

y

and

x

y

z

the

standard

homogeneous

B?ezier

basis

up

to

constant

multiples

is

generated

that

is

lnff

-LRB-

z

x

y

-RRB-

Multinomial

Basis

Again

by

choosing

x

y

and

z

the

standard

homogeneous

multinomial

basis

is

generated

that

is

lnff

By

choosing

x

az

y

bz

and

z

the

homogeneous

multinomial

basis

at

-LRB-

a

b

-RRB-

is

obtained

that

is

lnff

-LRB-

x

az

-RRB-

-LRB-

y

bz

-RRB-

Duality

We

now

describe

the

duality

between

L-bases

and

B-bases

from

several

different

perspectives

The

de

Boor-Fix

Duality

Given

a

knot-net

of

vectors

ui

j

in

consider

the

dual

knot-net

of

linear

homogeneous

polynomials

Li

j

defined

by

the

correspondence

-LRB-

a

b

c

-RRB-

-LRB-

ax

by

cz

-RRB-

Let

lnff

be

the

L-basis

functions

defined

by

the

knot-net

Li

j

and

let

bn

be

the

dual

B-basis

functions

defined

by

the

knot-net

ui

j.

For

any

two

homogeneous

polynomials

f

g

R

define

-LSB-

f

g

-RSB-

-LRB-

u

-RRB-

n

X

jffj

n

Dfff

-LRB-

u

-RRB-

Dffg

-LRB-

u

-RRB-

ff

This

bracket

operator

depends

upon

n

and

therefore

strictly

speaking

the

notation

-LSB-

f

g

-RSB-

n

is

more

appropriate

However

we

shall

suppress

the

subscript

n.

Theorem

-LSB-

-RSB-

-LSB-

lnff

bn

-RSB-

ffifffi

Corollary

-LSB-

-RSB-

-LSB-

lnff

B

-LRB-

u

-RRB-

-RSB-

Cff

Corollary

is

the

bivariate

extension

of

the

de

Boor-Fix

formula

for

univariate

B-splines

This

generalized

de

Boor-Fix

formula

can

be

used

to

derive

change

of

basis

algorithms

as

follows

Suppose

we

wish

to

compute

the

coefficients

Cff

of

an

arbitrary

trivariate

homogeneous

polynomial

f

-LRB-

u

-RRB-

of

degree

n

with

respect

to

the

B-basis

bn

defined

by

the

knot-net

U

Let

lnff

be

the

L-basis

dual

to

the

B-basis

bn

Then

by

corollary

the

coefficients

Cff

can

be

computed

by

forming

the

bracket

of

f

-LRB-

u

-RRB-

and

lnff

Similarly

by

symmetry

the

coefficients

Rff

of

f

-LRB-

u

-RRB-

with

respect

to

the

L-basis

defined

by

the

knot-net

L

can

be

computed

by

forming

the

bracket

of

f

-LRB-

u

-RRB-

and

bnff

To

compute

the

bracket

operator

besides

the

computation

of

the

derivatives

of

f

-LRB-

u

-RRB-

the

number

of

multiplications

and

additions

needed

for

each

coefficient

is

-LRB-

n

-RRB-

-LRB-

n

-RRB-

Since

there

are

exactly

-LRB-

n

-RRB-

-LRB-

n

-RRB-

coefficients

the

computational

complexity

of

this

algorithm

is

O

-LRB-

-RRB-

Recurrence

Diagram

Duality

We

now

discuss

the

recurrence

diagram

duality

which

is

made

explicit

by

the

generalized

de

Boor-Fix

formula

We

make

the

simple

but

critical

observation

that

the

recurrence

diagrams

of

Figures

and

have

the

same

coefficients

along

their

edges

if

the

knot-nets

for

these

diagrams

are

dual

and

the

vectors

ti

introduced

at

level

i

of

Figure

are

dual

to

the

polynomials

M

i

introduced

at

level

i

of

Figure

This

observation

follows

from

the

fact

that

the

coefficients

of

a

vector

ti

with

respect

to

a

basis

are

the

same

as

the

coefficients

of

the

dual

linear

polynomial

M

i

with

respect

to

the

dual

polynomials

because

these

two

representations

are

dual

interpretations

of

the

same

set

of

algebraic

equations

More

formally

the

dot

product

of

ti

hik

ffuk

ffk

-LRB-

Equation

-RRB-

with

-LRB-

x

y

z

-RRB-

yields

M

i

hik

ffLk

ffk

Comparing

with

Equation

we

obtain

hik

ff

gik

ff

thus

the

labels

along

the

edges

of

the

two

diagrams

are

the

same

In

essence

then

the

schematic

recurrences

in

Figures

and

are

the

same

diagrams

with

dual

interpretations

They

are

the

same

diagrams

because

the

labels

along

the

edges

of

the

two

diagrams

are

identical

The

diagrams

have

dual

interpretations

because

the

coefficients

at

the

nodes

of

the

two

diagrams

have

two

different

meanings

ffl

Nodes

uvw

in

Figure

are

blossom

values

BB

-LRB-

u

-RRB-

-LRB-

u

v

w

-RRB-

ffl

Nodes

LMN

in

Figure

are

L-basis

functions

By

Corollaries

and

it

follows

that

-LSB-

B

-LRB-

u

-RRB-

-RSB-

BB

-LRB-

u

-RRB-

-LRB-

-RRB-

In

other

words

taking

the

bracket

of

each

node

of

Figure

with

respect

to

B

-LRB-

u

-RRB-

generates

Figure

Therefore

once

again

these

two

recurrence

diagrams

are

dual

This

recurrence

diagram

duality

can

also

be

used

to

derive

the

Cavaretta-Micchelli

identity

-LSB-

-RSB-

If

we

choose

M

i

ax

by

cz

for

i

in

Figure

then

the

nodes

at

the

base

are

the

L-basis

functions

flnffg

and

the

value

at

the

apex

of

the

pyramid

is

-LRB-

ax

by

cz

-RRB-

n.

To

determine

the

labels

along

the

edges

refer

to

the

dual

Figure

which

has

the

identical

labels

along

the

edges

Since

the

same

vector

-LRB-

a

b

c

-RRB-

is

introduced

at

every

level

the

dual

diagram

is

a

de

Boor

evaluation

diagram

If

values

Cff

are

placed

at

the

base

triangle

of

this

dual

tetrahedron

then

the

value

at

the

apex

is

P

jffj

n

Cffbnff

In

our

original

diagram

Cff

lnff

hence

the

value

at

the

apex

must

be

P

jffj

n

lnffbnff

Comparing

these

values

at

the

apex

yields

the

Cavaretta-Micchelli

identity

X

ff

jnj

lnffbnff

-LRB-

ax

by

cz

-RRB-

n

Change

of

Basis

Duality

Let

b

fbng

and

d

fdng

be

two

B-bases

represented

as

row

vectors

with

an

increasing

lexicographical

order

for

Let

B

be

a

polynomial

surface

that

has

coefficients

C

and

E

arranged

as

row

vectors

relative

to

the

bases

bn

and

dn

respectively

Then

B

b

ffl

Ct

d

ffl

Et

where

ffl

represents

matrix

multiplication

Let

M

be

the

change

of

basis

matrix

for

these

two

B-bases

then

b

d

ffl

M

-LRB-

-RRB-

Et

M

ffl

Ct

-LRB-

-RRB-

Thus

the

change

of

basis

matrix

is

the

same

as

the

matrix

that

transforms

the

coefficients

of

a

polynomial

with

respect

to

these

bases

The

simple

formula

given

in

Equation

can

be

used

to

generate

a

change

of

basis

algorithm

simply

by

multiplying

the

matrices

M

and

Ct.

Since

the

matrix

M

is

a

square

matrix

of

order

N

N

where

N

-LRB-

n

-RRB-

-LRB-

n

-RRB-

and

the

matrix

C

is

a

matrix

of

order

N

the

straightforward

implementation

of

matrix

multiplication

yields

an

algorithm

with

computational

complexity

O

-LRB-

-RRB-

O

-LRB-

-RRB-

In

what

follows

we

shall

derive

change

of

basis

algorithms

between

L-bases

with

computational

complexity

O

-LRB-

-RRB-

To

this

purpose

let

l

flnffg

and

p

fpnffg

be

the

dual

L-bases

for

the

B-bases

b

fbng

and

d

fdng

respectively

Let

these

bases

be

represented

as

row

vectors

with

an

increasing

lexicographical

order

for

ff

and

let

L

be

a

polynomial

surface

that

has

coefficients

R

and

S

arranged

as

row

vectors

relative

to

the

bases

lnff

and

pnff

respectively

Then

L

l

ffl

Rt

p

ffl

St

Let

N

be

the

change

of

basis

matrix

for

these

two

L-bases

then

again

l

p

ffl

N

-LRB-

-RRB-

St

N

ffl

Rt

-LRB-

-RRB-

Now

by

the

duality

of

the

recurrence

diagrams

discussed

in

Section

there

are

two

alternative

interpretations

of

the

nodes

of

the

same

diagram

that

is

a

diagram

which

has

the

same

labels

along

the

edges

The

first

interpretation

is

that

the

the

labels

along

the

edges

represent

the

matrix

M

for

changing

the

coefficients

with

respect

to

the

B-basis

bn

to

the

coefficients

with

respect

to

the

B-basis

dn

The

second

interpretation

is

that

the

labels

along

the

edges

represent

the

matrix

for

the

changing

the

L-basis

functions

lnff

to

the

L-basis

functions

pnff

Thus

by

the

dual

interpretation

of

Equation

pt

M

ffl

lt

-LRB-

-RRB-

l

p

ffl

-LRB-

M

t

-RRB-

-LRB-

-RRB-

Comparing

Equations

and

we

obtain

N

-LRB-

M

t

-RRB-

-LRB-

-RRB-

Rt

M

t

ffl

St

This

yields

our

first

principle

of

duality

First

Principle

of

Duality

Let

l

flnffg

and

p

fpnffg

be

the

dual

L-bases

for

the

B-bases

b

fbng

and

d

fdng

respectively

Transformations

M

from

the

coefficients

Cff

with

respect

to

a

B-basis

fbnffg

to

the

coefficients

Eff

with

respect

to

another

B-basis

fdnffg

correspond

to

transformations

M

t

from

the

coefficients

Sff

with

respect

to

the

dual

L-basis

fpnffg

to

the

coefficients

Rff

with

respect

to

the

dual

L-basis

flnffg

In

other

words

transformations

M

between

the

coefficients

of

B-bases

correspond

to

the

transformations

M

t

between

the

coefficients

of

the

opposite

dual

L-bases

Since

we

have

already

derived

change

of

basis

algorithms

between

various

B-bases

we

can

utilize

this

duality

principle

to

derive

change

of

basis

algorithms

between

different

L-bases

To

this

purpose

we

need

to

convert

the

three

recurrence

diagrams

that

implement

the

transformation

M

into

three

diagrams

that

implement

the

dual

transformation

M

t

This

is

easily

accomplished

by

applying

the

following

principle

to

each

of

those

three

diagrams

Second

Principle

of

Duality

Reversing

the

arrows

in

a

recurrence

diagram

converts

it

from

one

that

implements

the

transformation

T

to

one

that

implements

the

dual

transformation

T

t.

Let

us

prove

this

second

principle

of

duality

for

one

of

the

three

recurrence

diagrams

Equation

states

that

Eff

P

TfffiC

thus

Tfffi

is

the

sum

over

all

the

paths

of

the

product

of

the

labels

along

the

paths

from

the

coefficient

C

at

the

base

of

the

tetrahedron

to

the

coefficient

Eff

along

the

lateral

face

of

the

pyramid

If

T

represents

the

matrix

for

the

same

diagram

with

the

arrows

reversed

then

T

fffi

is

the

sum

over

all

the

paths

of

the

product

of

the

labels

along

the

paths

from

the

coefficient

E

along

the

lateral

face

of

the

pyramid

to

the

coefficient

Cff

along

the

base

of

the

pyramid

In

other

words

T

ff

is

the

sum

over

all

the

paths

of

the

product

of

the

labels

along

the

paths

from

the

coefficient

Eff

along

the

lateral

face

of

the

pyramid

to

the

coefficient

C

along

the

base

of

the

pyramid

However

since

the

labels

along

the

path

remain

the

same

and

multiplication

is

commutative

the

direction

of

the

path

is

immaterial

Therefore

T

ff

Tfffi

that

is

T

T

t

which

establishes

the

second

principle

of

duality

Coefficients

to

be

computedGiven

CoefficientsEmpty

or

zero

nodes

Figure

Duality

Principle

Change

of

Basis

Algorithms

for

L-bases

We

shall

now

use

the

two

principles

of

duality

established

in

the

previous

section

to

derive

change

of

basis

algorithms

between

any

two

L-bases

General

Algorithm

We

first

explain

how

the

second

principle

of

duality

can

be

used

to

apply

the

transformation

M

t

to

any

set

of

coefficients

Sff

Place

the

labels

corresponding

to

the

transformation

M

along

the

edges

of

a

pyramid

Place

the

coefficients

Sff

on

the

nodes

along

a

lateral

face

of

the

pyramid

These

coefficients

are

shown

as

black

circles

in

Figure

At

the

start

the

values

at

all

the

other

nodes

at

all

levels

of

the

pyramid

are

zero

An

empty

node

is

a

node

with

a

zero

value

These

empty

nodes

are

shown

by

cross-hatched

circles

at

intermediate

levels

and

empty

circles

at

the

base

of

the

pyramid

in

Figure

The

node

at

the

center

of

the

base

of

the

pyramid

is

occluded

by

the

node

at

the

apex

of

the

pyramid

and

is

therefore

not

shown

in

Figure

This

node

also

has

value

zero

at

the

beginning

The

computation

starts

at

the

apex

of

the

pyramid

and

proceeds

downwards

level

by

level

A

node

at

any

level

is

either

empty

or

nonempty

For

example

one

of

the

three

nodes

at

the

level

below

the

apex

node

is

empty

and

two

nodes

are

nonempty

at

the

beginning

A

value

at

any

empty

node

is

updated

by

multiplying

the

value

along

each

arrow

which

enters

the

node

by

the

value

of

the

node

from

which

the

arrow

emerges

and

adding

the

results

A

value

at

any

non-empty

node

is

updated

by

applying

the

same

procedure

as

above

and

simply

adding

the

value

already

at

that

node

Once

all

the

nodes

at

a

level

are

updated

the

computation

proceeds

to

the

level

below

it

till

it

reaches

the

base

of

the

pyramid

After

the

computation

is

complete

the

new

coefficients

Rff

now

emerge

on

the

nodes

at

the

base

triangle

These

nodes

are

shown

as

empty

circles

in

Figure

the

original

black

circles

at

the

base

of

the

pyramid

and

the

hidden

central

node

at

the

base

of

the

triangle

Figure

Change

of

basis

duality

We

now

explain

how

the

first

principle

of

duality

can

be

used

to

derive

a

change

of

basis

algorithm

between

any

two

L-bases

Suppose

we

are

given

the

coefficients

Sff

of

a

polynomial

L

of

degree

n

with

respect

to

an

L-basis

flnffg

defined

by

the

knot-net

L

j

ng

We

would

like

to

compute

the

coefficients

Rff

of

this

polynomial

L

with

respect

to

another

L-basis

fpnffg

defined

by

another

knot-net

M

j

ng

Let

fbnffg

be

the

B-basis

defined

by

the

knot-net

U

j

ng

that

is

dual

to

the

knot-net

L

j

ng

and

let

fdnffg

be

the

B-basis

defined

by

the

knot-net

T

j

ng

that

is

dual

to

the

knot-net

M

j

ng

Then

fbnffg

is

the

B-basis

dual

to

the

L-basis

flnffg

and

fdnffg

is

the

B-basis

dual

to

the

L-basis

fpnffg

The

general

change

of

basis

algorithm

is

now

constructed

in

the

following

manner

Compute

the

labels

along

the

edges

of

a

recurrence

diagram

with

the

knot-net

j

ng

of

vectors

at

the

base

of

the

pyramid

and

the

vector

inserted

at

the

j-th

level

of

the

recurrence

diagram

This

procedure

is

illustrated

schematically

in

the

first

diagram

of

Figure

Note

that

the

labels

along

the

edges

of

this

recurrence

diagram

will

be

the

same

if

we

place

the

knot-net

j

ng

of

polynomials

at

the

base

of

the

pyramid

and

the

polynomial

is

inserted

at

the

j-th

level

of

the

recurrence

diagram

We

assume

that

the

intermediate

triples

of

knots

j

ng

are

linearly

independent

vectors

Point

the

arrows

on

the

recurrence

diagram

downwards

and

place

the

original

coefficients

Sff

along

the

lateral

face

of

the

pyramid

Carry

out

the

computation

and

collect

the

coefficients

along

the

base

of

the

pyramid

This

procedure

is

illustrated

schematically

in

the

second

diagram

of

Figure

where

LiLjLk

is

to

be

interpreted

as

the

coefficients

of

the

given

polynomial

with

respect

to

the

L-basis

function

LiLjLk

Repeat

steps

and

twice

with

the

recurrence

diagrams

as

shown

in

Figure

using

the

output

of

the

previous

step

as

the

input

of

the

next

step

After

steps

the

coefficients

at

the

base

of

the

pyramid

are

the

desired

coefficients

Rff

We

now

calculate

the

number

of

multiplications

and

additions

needed

for

this

general

change

of

basis

algorithm

First

the

labels

gik

ff

along

the

edges

can

be

computed

using

Equation

which

is

a

system

of

linear

equations

Since

the

labels

must

be

computed

for

n

-LRB-

n

-RRB-

-LRB-

n

-RRB-

nodes

the

computation

required

for

computing

the

labels

is

n

-LRB-

n

-RRB-

-LRB-

n

-RRB-

where

M

is

the

required

computation

for

solving

a

system

of

linear

equations

Second

for

the

computation

along

the

tetrahedron

the

number

of

multiplications

and

additions

contributed

by

each

outgoing

node

that

is

a

node

at

any

level

except

at

the

base

level

is

and

respectively

Since

there

are

n

-LRB-

n

-RRB-

-LRB-

n

-RRB-

outgoing

nodes

in

each

tetrahedron

and

there

are

tetrahedrons

for

a

general

change

of

basis

algorithm

the

number

of

multiplications

is

n

-LRB-

n

-RRB-

-LRB-

n

-RRB-

and

the

number

of

additions

is

n

-LRB-

n

-RRB-

-LRB-

n

-RRB-

in

general

which

is

the

same

as

in

the

general

change

of

basis

algorithm

between

any

two

B-bases

Dual

de

Boor

Evaluation

Algorithm

We

shall

now

specialize

the

general

change

of

basis

algorithm

for

L-bases

to

evaluation

algorithms

Let

L

-LRB-

u

-RRB-

be

a

polynomial

expressed

in

terms

of

an

L-basis

flnffg

defined

by

the

knot-net

L

j

ng

Suppose

we

wish

to

evaluate

L

-LRB-

u

-RRB-

P

ff

jnj

Sfflnff

at

an

arbitrary

but

fixed

u

One

can

use

an

up

recurrence

as

shown

in

Figure

to

evaluate

L

-LRB-

u

-RRB-

where

the

coefficients

are

normalized

as

ff!n

Sff

The

value

of

L

-LRB-

u

-RRB-

is

then

given

by

at

the

apex

of

the

pyramid

This

is

an

O

-LRB-

-RRB-

algorithm

Something

remarkable

happens

by

applying

the

duality

principle

to

the

de

Boor

evaluation

algorithm

Let

M

and

N

be

two

polynomials

that

vanish

at

u

that

is

M

-LRB-

u

-RRB-

N

-LRB-

u

-RRB-

A

new

L-basis

evaluation

algorithm

can

now

be

described

as

follows

Apply

the

change

of

basis

algorithm

from

the

knot-net

L

to

the

knot-net

M

fMg

j

ng

only

on

the

lateral

face

as

shown

in

the

first

diagram

of

Figure

Figure

Change

of

basis

algorithm

between

L-bases

Figure

Evaluation

recurrence

for

L-bases

N

N

Figure

Generalized

Horner

algorithm

for

L-bases

Apply

the

change

of

basis

algorithm

from

the

knot-net

M

to

the

knot-net

N

fMg

fNg

j

ng

only

along

the

darkened

edge

on

the

lateral

face

as

shown

in

the

second

diagram

of

Figure

Now

observe

that

all

the

L-basis

functions

defined

by

the

knot-net

N

except

vanish

at

u.

Therefore

to

compute

the

value

of

L

at

u

simply

multiply

-LRB-

u

-RRB-

-LRB-

u

-RRB-

-LRB-

u

-RRB-

with

the

coeffcient

associated

with

this

basis

function

as

computed

in

the

previous

step

and

shown

as

a

dark

circle

in

the

second

diagram

of

Figure

We

shall

refer

to

this

algorithm

as

the

generalized

Horner

algorithm

for

reasons

which

will

become

clear

shortly

Interestingly

in

contrast

to

the

de

Boor

evaluation

algorithm

which

has

computational

complexity

O

-LRB-

-RRB-

this

bivariate

Horner

evaluation

algorithm

for

L-bases

has

computational

complexity

O

-LRB-

-RRB-

because

only

one

triangle

and

one

edge

are

computed

The

computational

complexity

of

computing

the

labels

is

only

O

-LRB-

-RRB-

since

the

labels

are

computed

only

along

the

lateral

face

of

the

tetrahedron

for

the

first

diagram

in

Figure

and

only

along

the

darkened

edge

for

the

second

diagram

in

Figure

To

carry

out

the

computation

itself

step

requires

only

multiplications

and

addition

per

outgoing

node

along

the

lateral

face

giving

a

total

of

n

-LRB-

n

-RRB-

multiplications

and

n

-LRB-

n

-RRB-

additions

Step

requires

n

multiplications

and

n

additions

Therefore

apart

from

a

small

amount

of

fixed

computation

in

Step

and

the

computation

of

labels

the

total

number

of

multiplications

and

additions

needed

is

n

-LRB-

n

-RRB-

and

n

-LRB-

n

-RRB-

respectively

Dual

Multinomial

Evaluation

Algorithm

We

shall

now

specialize

this

generalized

Horner

evaluation

algorithm

to

multinomial

bases

Suppose

the

coefficients

Sff

of

a

degree

n

polynomial

L

with

respect

to

the

standard

multinomial

L-basis

defined

by

the

knot-net

x

y

and

z

are

given

so

that

L

-LRB-

x

y

z

-RRB-

X

ff

jnj

Figure

Generalized

Horner

algorithm

for

multinomial

evaluation

To

evaluate

L

at

-LRB-

-RRB-

let

us

choose

the

polynomials

M

and

N

which

vanish

at

-LRB-

-RRB-

We

first

apply

the

change

of

basis

algorithm

from

the

knot-net

to

the

knot-net

M

Since

x

-LRB-

-RRB-

y

z

the

labels

along

the

edges

on

the

lateral

face

of

the

pyramid

where

the

computation

needs

to

be

carried

out

are

and

as

shown

in

the

first

diagram

of

Figure

Observe

that

there

is

only

multiplication

per

outgoing

node

and

there

is

addition

at

every

node

except

the

outermost

nodes

where

all

the

incoming

labels

are

zero

Therefore

the

total

number

of

multiplications

for

this

computation

is

n

-LRB-

n

-RRB-

and

the

total

number

of

additions

is

also

n

-LRB-

n

-RRB-

Another

computation

needs

to

be

carried

out

for

the

change

of

basis

from

M

y

and

z

to

M

N

and

z

along

the

darkened

edge

of

the

lateral

face

of

the

pyramid

of

the

second

diagram

of

Figure

as

illustrated

explicitly

in

the

second

diagram

of

Figure

The

total

number

of

multiplications

and

additions

is

each

n

-LRB-

n

-RRB-

Finally

to

evaluate

the

expression

at

-LRB-

-RRB-

the

zn

coefficient

calculated

above

must

be

multiplied

by

which

requires

an

additional

n

multiplications

by

multiplying

the

coefficient

with

itself

n

times

-LRB-

or

O

-LRB-

lgn

-RRB-

multiplications

for

multiplying

the

binary

powers

of

-RRB-

bringing

the

total

to

n

-LRB-

n

-RRB-

This

evaluation

algorithm

for

multinomial

polynomials

is

an

extension

of

Horner

's

algorithm

for

the

evaluation

of

univariate

polynomials

as

can

be

seen

in

the

following

organization

of

this

computation

for

the

evaluation

of

a

quadratic

polynomial

L

-LRB-

-RRB-

-LSB-

-LRB-

-LRB-

-LRB-

-RRB-

-RRB-

-RRB-

-RSB-

Observe

that

by

choosing

M

and

N

we

could

organize

the

computation

as

follows

L

-LRB-

-RRB-

-LSB-

-LRB-

-LRB-

-RRB-

-LRB-

-LRB-

-RRB-

-RRB-

-RSB-

This

organization

has

the

advantage

that

the

division

is

performed

only

by

Therefore

due

to

the

symmetric

nature

of

this

computation

the

algorithm

can

be

carried

out

in

such

a

way

so

that

the

division

is

performed

only

with

respect

to

the

largest

of

the

three

numbers

and

This

procedure

is

the

same

as

the

evaluation

algorithm

for

multinomial

polynomials

described

by

Schumaker

and

Volk

-LSB-

-RSB-

The

above

algorithm

requires

two

divisions

However

it

is

possible

to

carry

out

this

computation

without

divisions

although

at

the

expense

of

some

additional

multiplications

If

the

initial

coefficients

Sff

are

first

transformed

into

the

coefficients

Tff

with

respect

to

the

knot-net

of

polynomials

defined

by

f

-LRB-

u

-RRB-

-LRB-

-RRB-

g

f

-LRB-

u

-RRB-

-LRB-

-RRB-

g

and

f

-LRB-

u

-RRB-

-LRB-

-RRB-

n

g

then

the

algorithm

is

as

follows

Multiply

Sff

with

to

obtain

Tff

Now

perform

the

change

of

basis

algorithm

as

described

before

However

since

-LRB-

-RRB-

y

-LRB-

-RRB-

x

the

labels

are

and

along

the

lateral

face

of

the

tetrahedron

for

the

first

step

and

along

the

edge

of

the

tetrahedron

for

the

second

step

Therefore

in

this

algorithm

the

two

divisions

and

the

extra

n

-LRB-

or

lgn

-RRB-

multiplications

are

traded

for

n

-LRB-

n

-RRB-

multiplications

Dual

de

Casteljau

Evaluation

Algorithm

We

shall

now

specialize

this

generalization

of

Horner

's

evaluation

algorithm

to

B?ezier

bases

Suppose

we

are

given

the

coefficients

Sff

of

a

degree

n

polynomial

L

with

respect

to

the

standard

B?ezier

L-basis

up

to

constants

defined

by

the

knot-net

x

y

and

z

x

y

so

that

L

-LRB-

x

y

z

-RRB-

X

jffj

n

-LRB-

z

x

y

-RRB-

To

evaluate

the

given

polynomial

at

-LRB-

-RRB-

let

us

choose

the

polynomials

M

and

N

which

vanish

at

-LRB-

-RRB-

We

first

apply

the

change

of

basis

algorithm

from

the

knot-net

to

the

knot-net

M

Since

x

-LRB-

-RRB-

y

-LRB-

z

x

y

-RRB-

the

labels

along

the

edges

on

the

lateral

face

of

the

pyramid

where

the

computation

needs

to

be

carried

out

are

and

as

in

the

previous

case

Therefore

the

dual

de

Casteljau

evaluation

algorithm

also

turns

out

to

be

a

special

case

of

the

generalized

Horner

algorithm

Dual

Synthetic

Division

Algorithm

Finally

we

shall

now

specialize

the

general

change

of

basis

algorithm

for

L-bases

to

change

of

basis

algorithms

between

homogeneous

multinomial

bases

This

amounts

to

changing

from

the

knot-net

x

cz

y

dz

z

to

the

knot-net

x

az

y

bz

z

Since

one

of

the

knots

is

the

same

one

needs

to

run

only

two

tetrahedra

instead

of

three

Moreover

since

x

cz

-LRB-

x

az

-RRB-

-LRB-

y

bz

-RRB-

-LRB-

a

c

-RRB-

-LRB-

z

-RRB-

one

of

the

labels

along

the

edges

is

while

the

other

label

is

which

reduces

the

number

of

multiplications

and

additions

to

each

for

every

outgoing

node

Thus

the

total

number

of

multiplications

and

additions

needed

for

this

algorithm

is

n

-LRB-

n

-RRB-

-LRB-

n

-RRB-

This

is

the

same

number

of

multiplications

needed

as

in

the

standard

synthetic

division

algorithm

described

in

Section

In

particular

if

c

d

then

the

computation

for

a

quadratic

polynomial

with

the

coefficients

Cff

with

respect

to

the

standard

multinomial

L-basis

L

-LRB-

u

-RRB-

X

ff

jnj

X

ff

jnj

Eff

-LRB-

x

a

-RRB-

-LRB-

y

b

-RRB-

is

organized

as

follows

and

-LRB-

-RRB-

a

-LRB-

-RRB-

where

Dff

are

the

coefficients

after

computing

with

one

tetrahedron

The

final

coefficients

Eff

are

and

-LRB-

-RRB-

b

-LRB-

-RRB-

Note

that

although

the

number

of

multiplications

needed

in

the

synthetic

division

algorithm

described

in

Section

and

the

dual

synthetic

division

algorithm

described

here

are

the

same

the

two

algorithms

are

quite

different

Change

of

Basis

Algorithms

between

B-bases

and

L-bases

We

have

so

far

discussed

change

of

basis

algorithms

between

any

two

B-bases

and

any

two

L-bases

But

how

do

we

convert

between

a

B-basis

and

an

L-basis

This

transformation

can

be

achieved

by

factoring

through

the

B?ezier

or

multinomial

bases

which

are

both

B-bases

as

well

as

L-bases

For

example

given

a

polynomial

with

respect

to

an

arbitrary

L-basis

one

can

convert

from

the

L-basis

to

either

a

multinomial

or

B?ezier

basis

using

the

change

of

basis

algorithms

for

L-bases

and

then

convert

from

the

multinomial

or

B?ezier

basis

to

the

desired

B-basis

by

using

change

of

basis

algorithms

for

B-bases

Conclusions

and

Future

Work

We

have

presented

a

unified

collection

of

change

of

basis

algorithms

for

B-bases

and

L-bases

two

important

classes

of

polynomial

bases

used

for

representing

surfaces

in

CAGD

These

change

of

basis

procedures

incorporate

several

important

algorithms

including

the

de

Boor

evaluation

algorithm

the

de

Casteljau

evaluation

algorithm

the

multinomial

evaluation

algorithm

and

the

synthetic

division

algorithm

We

have

also

demonstrated

that

the

generalized

Horner

evaluation

algorithm

for

L-bases

is

dual

to

the

de

Boor

evaluation

algorithm

for

B-bases

Extensions

of

several

important

algorithms

recurrences

and

identities

including

the

Cox-de

Boor-Mansfield

recurrence

the

Oslo

algorithm

Ramshaw

's

blossoming

algorithm

the

Cavaretta-Micchelli

identity

and

Boehm

's

knot

insertion

procedure

have

been

presented

in

a

unified

consistent

framework

The

techniques

employed

to

achieve

these

results

included

homogenization

blossoming

and

duality

principles

The

change

of

basis

algorithm

between

B-bases

and

L-bases

presented

in

this

work

can

be

generalized

in

a

straightforward

manner

to

higher

dimensions

The

computational

complexity

of

such

a

change

of

basis

algorithm

between

a

d-variate

polynomial

of

degree

n

to

another

d-variate

polynomial

of

degree

n

is

O

-LRB-

nd

-RRB-

In

contrast

the

computational

complexity

of

a

change

of

basis

algorithm

between

two

d-variate

polynomials

of

degree

n

using

straightforward

matrix

multiplication

is

O

-LRB-

-RRB-

This

research

has

opened

up

many

new

questions

Since

there

are

several

algorithms

involving

B?ezier

and

multinomial

bases

that

achieve

the

same

result

there

is

a

need

to

compare

these

algorithms

for

numerical

stability

efficiency

and

simplicity

Also

there

is

a

need

to

investigate

other

B-bases

and

L-bases

that

are

useful

in

CAGD

We

plan

to

investigate

bivariate

Newton

and

Lagrange

L-bases

and

the

dual

Newton

dual

and

power

B-bases

in

a

forthcoming

paper

-LSB-

-RSB-

Some

properties

such

as

differentiation

are

simple

for

B-bases

other

properties

such

as

degree

elevation

are

simple

for

L-bases

It

would

be

useful

to

study

the

dual

analogues

to

these

formulas

Finally

the

change

of

basis

techniques

discussed

in

this

work

are

local

It

would

be

very

interesting

to

try

to

extend

these

local

B-patch

techniques

to

derive

change

of

basis

procedures

for

multivariate

splines

Acknowledgments

We

would

like

to

thank

Phil

Barry

of

the

University

of

Minnesota

for

discussing

some

of

the

topics

presented

in

this

work

which

helped

us

improve

the

presentation

of

this

work

We

would

also

like

to

thank

the

anonymous

referees

for

their

valuable

comments

which

also

helped

us

to

improve

the

presentation

of

this

work

This

work

was

partially

supported

by

National

Science

Foundation

grants

and

This

research

was

also

supported

in

part

by

faculty

research

funds

granted

by

the

University

of

California

Santa

Cruz

References

-LSB-

-RSB-

P.

Barry

and

R.

Goldman

Algorithms

for

progressive

curves

Extending

B-spline

and

blossoming

techniques

to

the

monomial

power

and

Newton

dual

bases

In

R.

Goldman

and

T.

Lyche

editors

Knot

Insertion

and

Deletion

Algorithms

for

B-Spline

Curves

and

Surfaces

pages

-LCB-

SIAM

-LSB-

-RSB-

W.

Boehm

Inserting

new

knots

into

B-spline

curves

Computer-Aided

Design

-LCB-

-LSB-

-RSB-

E.

Cohen

T.

Lyche

and

R.

F.

Riesenfeld

Discrete

B-splines

and

subdivision

techniques

in

computer-aided

geometric

design

and

computer

graphics

Computer

Graphics

and

Image

Processing

-LCB-

-LSB-

-RSB-

A.

S.

Cavaretta

and

C.

A.

Micchelli

Pyramid

patches

provide

potential

polynomial

paradigms

In

T.

Lyche

and

L.

L.

Schumaker

editors

Mathematical

Methods

in

CAGD

and

Image

Processing

pages

-LCB-

Academic

Press

-LSB-

-RSB-

C.

de

Boor

On

calculating

with

B-splines

Journal

of

Approximation

Theory

-LCB-

-LSB-

-RSB-

C.

de

Boor

and

G.

Fix

Spline

approximation

by

quasi-interpolants

Journal

of

Approximation

Theory

-LCB-

-LSB-

-RSB-

W.

Dahmen

C.

A.

Micchelli

and

H.

P.

Seidel

Blossoming

begets

B-spline

bases

built

better

by

B-patches

Mathematics

of

Computation

-LCB-

-LSB-

-RSB-

R.

N.

Goldman

and

P.

J.

Barry

Wonderful

triangle

A

simple

unified

algorithmic

approach

to

change

of

basis

procedures

in

computer

aided

geometric

design

In

T.

Lyche

and

L.

Schumaker

editors

Mathematical

Methods

in

CAGD

II

pages

-LCB-

Academic

Press

-LSB-

-RSB-

S.

Lodha

and

R.

Goldman

A

multivariate

generalization

of

the

de

Boor-Fix

formula

In

P.

J.

Laurent

A.

L?e

Mehaut?e

and

L.

L.

Schumaker

editors

Curves

and

Surfaces

in

Geometric

Design

pages

-LCB-

A

K

Peters

Wellesley

Massachusetts

-LSB-

-RSB-

S.

Lodha

and

R.

Goldman

Lattices

and

algorithms

for

bivariate

Bernstein

Lagrange

Newton

and

other

related

polynomial

bases

based

on

duality

between

L-bases

and

B-bases

Submitted

for

publication

January

-LSB-

-RSB-

L.

Ramshaw

Blossoming

A

connect

the

dots

approach

to

splines

Digital

Systems

Reserach

Center

Report

Palo

Alto

California.

-LSB-

-RSB-

H.

P.

Seidel

Symmetric

recursive

algorithms

for

surfaces

B-patches

and

the

de

Boor

algorithm

for

polynomials

over

triangles

Constructive

Approximation

-LCB-

-LSB-

-RSB-

L.

L.

Schumaker

and

W.

Volk

Efficient

evaluation

of

multivariate

polynomials

Computer

Aided

Geometric

Design

pages

-LCB-

algorithms
blossoming
cagd
change of basis
de boor evaluation
duality
horner evaluation
polynomials
surfaces