Title: On Computing Ranges of Polynomials Some Improvements to the Bernstein Approach
1On Computing Ranges of Polynomials - Some
Improvements to the Bernstein Approach
- P. S. V. Nataraj
- Shashwati Ray
- IIT Bombay
- Presented at the Second Taylor Model Workshop,
Miami, Dec. 2003 - Indian Institute of Technology, Bombay 2003
2SCOPE OF THE PRESENTATION
- Introduction
- Bernstein forms
- Definition
- Properties
- Basis conversion
- Range calculations
- Important theorems
- Subdivision
- Subdivision direction selection strategies
- New propositions
- Comparison with Globsol
- Examples and conclusion
- Future work
3INTRODUCTION
- Polynomials are encountered in Engineering and
Scientific Applications. - Required to find bounds for the range of
polynomials over an interval. - Our method based on expansion of multivariate
polynomial into Bernstein form.
4ADVANTAGES OF BERNSTEIN FORM
- Avoids function evaluations may be otherwise
costly for polynomials of high degrees. - Nice features about range enclosures with
Bernstein form - Information when enclosure is exact.
- Sharpness of enclosure can be improved by
elevating the Bernstein degree or by subdivision
of the domain
5BERNSTEIN FORM
- Any polynomial in power form is represented as
- Bernstein form of representation is
- Bernstein coefficients are given by
6BERNSTEIN FORM
- Bernstein functions on 0,1 are defined by
- On a general interval the
Bernstein functions are defined as - Each set of coefficients ai or bin can be
computed from the other (i.e., power form to
Bernstein form).
7BASIS CONVERSION
- On unit interval a polynomials equivalent power
and Bernstein forms - Using matrix multiplication p(x) XA BXB
- X is the variable (row) matrix.
- A is the coefficient (column) matrix
- BX is the Bernstein basis (row) matrix
- B is the Bernstein coefficient (column) matrix
- After certain computations, BXB XUXB
- UX is a lower triangular matrix
8BASIS CONVERSION
- BX XWXVXUX
- WX is an upper triangular matrix
- VX is a diagonal matrix
- XA BXB
- XA XWXVXUX B
- B(UX)-1 (VX)-1 (WX)-1A
9BASIS CONVERSION
- For a bivariate case
- X1 and X2 are variable matrices
- By analogy with univariate case
-
10RANGE CALCULATION IMPORTANT THEOREMS
- Theorem 1 The minimum and maximum Bernstein
coefficients give an enclosure of the range of
polynomial on the given interval. - Theorem 2 Vertex condition If the minimum
and maximum Bernstein coefficients of polynomial
in Bernstein form occur at the vertices of the
Bernstein coefficient array, then the enclosure
is the exact range. - Theorem 3 Bernstein approximations converge to
the range and the convergence is at least linear
in the order of approximations.
11SUBDIVISION
- Minimum maximum Bernstein coefficients enclose
the range of the polynomial - Vertex condition not satisfied subdivide in the
chosen component direction - Calculate Bernstein coefficient of p(x) on all
these subboxes - Check vertex condition on each subbox
- Find range of polynomial
12SWEEP PROCEDURE
13SUBDIVISION DIRECTION SELECTION
STRATEGIESEXISTING RULES
- Rule A
- Direction chosen is cyclic
- Rule B (derivative based)
- Find an upper bound for the absolute value of
the partial derivative (from its Bernstein form)
in the rth direction - Compute the same for each direction
- The direction for which this is maximum is
selected as the optimal direction for bisection
14SUBDIVISION DIRECTION SELECTION
STRATEGIESEXISTING RULES
- Rule C (derivative based)
- Find an upper bound for the absolute value of
the partial derivative (from its Bernstein form)
in the rth direction - Find the product of this upper bound and the
degree of rth variable - Compute the same for each direction
- The direction for which this is maximum is
selected as the optimal direction for bisection
15SUBDIVISION DIRECTION SELECTION
STRATEGIESEXISTING RULES
- Rule D (derivative based)
- Find an upper bound for the absolute value of
the partial derivative (from its Bernstein form)
in the rth direction - Find the product of this upper bound and the edge
length - Compute the same for each direction
- The direction for which this is maximum is
selected as the optimal direction for bisection
16SUBDIVISION DIRECTION SELECTION
STRATEGIESEXISTING RULES
- Rule E (max width)
- Bisection is done along the component direction
of maximal width - Rule F (randomized)
- Pick a box randomly from the current list
- Bisect it in all component directions
- Find the maximal width of the polynomial over
both these boxes - Choose the component direction where this width
is least
17DISADVANTAGES OF THE EXISTING METHODS OF
BERNSTEIN COEFFICIENTS COMPUTATIONS
- Conventional method is very inefficient for
higher dimensional polynomials - Even the Matrix multiplication method cannot be
generalized to higher dimensional polynomials
18DISADVANTAGES OF THE EXISTING METHODS OF
BISECTION DIRECTION SELECTION
- The existing rules generally need large
computation times. - Certain existing rules are grossly inefficient,
especially for higher dimensional polynomials.
19DISADVANTAGES OF THE EXISTING RANGE COMPUTATION
ALGORITHMS
- Fortran 95 can not readily cater to more than six
dimensional arrays. - Bernstein coefficients generated are stored in
multidimensional arrays - For getting sharp enclosures, subdivision usually
creates large amount of data - All these are found to heavily slow down
computations
20NEW PROPOSITIONS
- We propose new tools for
- Bernstein Coefficient Computations
- Subdivision Direction Selection
- Acceleration devices
21PROPOSITION 1Computation of Bernstein
Coefficients
22PROPOSITION 1Computation of Bernstein
coefficients
-
-
- Extending the above to trivariate case
- where transpose means converting 3rd coordinate
direction to 2nd , 2nd coordinate direction to
1st , 1st coordinate direction to 3rd - The same logic can be extended to the l-variate
case
23PROPOSED MATRIX METHOD
- For a 3-dimensional case instead of considering
the polynomial coefficient matrix A as a 3
dimensional array, it can be considered as a
matrix with 0 to n1 rows and 0 to (n21)(n31)
1 columns - After the third transpose and reshape the A
matrix would come in its original form - The same is shown as figures in the report.
24Proposed Algorithm Bernstein Matrix
- Inputs
- Degree of each variable
- Widths of each interval component
- Lower end point of each interval component
- Polynomial coefficients a in matrix form
- Output Bernstein coefficient a in matrix form
- BEGIN Algorithm
- Compute UX, VX and WX for each variable, j
1,2,, n - Compute their inverses (UX)-1 , (VX )-1 and
(WX)-1 for j 1,2,, n - Compute their product Mj for j 1,2,, n
- FOR j 1,2,, n Set a Mj a
- b transpose(a)
- a reshape(b)
- END FOR
- END Algorithm
25Comparison and results (Bernstein coefficients
evaluation)
- Comparison is done between conventional method
and the proposed Matrix method - All problems are taken from Verscheldes PHC pack
(database of polynomial systems) - Both methods generate the same Bernstein
coefficients - Proposed method gives results for all the
examples - Conventional method takes much longer time it
does not give results for some examples even
after a long time.
26Time in seconds taken by the Matrix and the
Conventional methods to compute Bernstein
coefficients
27Some Definitions
- Solution box is the box where vertex property
of the Bernstein coefficients is satisfied. - Solution patch is given by enclosure of the
Bernstein coefficients over the solution box. - Current range is the hull of all solution
patches.
28PROPOSITION 2Subdivision Direction Selection
- Proposed Rule 1 Select patch with minimum hull
- Find the patches with smallest and largest
Bernstein coefficients from the entire list of
patches - Find the respective distance of smallest and
largest Bernstein coefficient to the infimum and
supremum of the current range - Select that patch as the one which gives the
largest distance, and bisect this selected patch
in all component directions
29EXAMPLEDistance
- Let a 3-d polynomial be given as
- The polynomial coefficient and the Bernstein
coefficient matrices are given as - Let at some stage the Current range be given by
1,20
30EXAMPLE
- Let the two existing patches in the entire list
be - Minimum and maximum value of Bernstein
coefficients are 0.5 and 7.70 respectively - The respective distances are (1-0.5) 0.5 and
(20-7.70) 12.30 - Select the patch which has 7.70 as the Bernstein
coefficient
31Subdivision Direction Selection
- Select patch with minimum hull
- Hull of the Bernstein coefficients over both the
generated subboxes is found out in each direction
- The selected bisection direction is the one which
gives the minimal hull.
32PROPOSITION 3Subdivision Direction Selection
- Proposed Rule 2 Randomized box with minimum
hull - Choose a box randomly from the current list.
- The chosen box is bisected along each and every
component direction. - Hull of the Bernstein coefficients over both the
generated subboxes is found out in each
direction. - The selected bisection direction is the one which
gives the minimal hull.
33RESULTS AND CONCLUSIONS Subdivision Direction
Selection
- All problems are taken from Verscheldes PHC pack
(database of polynomial systems) - Comparison of the bisection direction selection
rules, on the basis of the following performance
metrics - Number of solution boxes where vertex
property/simplified vertex condition is satisfied - Number of subdivisions
- Maximum patch list length
- Computation time in seconds
- With the proposed rules we are able to solve all
the examples - With rules A, B, C, D, E and F we are able to
solve 90, 70, 70, 50, 90 and 90 of the
examples, respectively
34RESULTS AND CONCLUSIONS Subdivision Direction
Selection
- Comparison is done with all the existing rules
(except rule D, which is unable to solve half the
problems). - Proposed rules are found to be the most
efficient, in terms of every performance metric - Reduction in number of solution boxes compared to
Rule A is 82, Rule B is 83, Rule C is 83, Rule
E is 81 and Rule F is 84 - Reduction in number of subdivisions compared to
Rule A is 84, Rule B is 83, Rule C is 83, Rule
E is 81 and Rule F is 84
35RESULTS AND CONCLUSIONS Subdivision Direction
Selection
- Reduction in the maximum list length compared to
Rule A is 85, Rule B is 51, Rule C is 46, Rule
E is 34 and Rule F is 63 - Reduction in the computational time compared to
Rule A is 98, Rule B is 93, Rule C is 93, Rule
E is 91 and Rule F is 93 - Both the rules give the same amount of reductions
36PROPOSITION 4Accelerating Devices for Range
Computation
- Cut off test
- Let the enclosure of Bernstein coefficients over
a box be included in the current range. - This box can be deleted from further processing.
- Any further subdivision of this box is not going
to improve the current range. - Therefore, unnecessary subdivisions are
eliminated
37PROPOSITION 5Accelerating Devices for Range
Computation
- Simplified Vertex Condition
- Let smallest Bernstein coefficient in a patch
appear at the vertex and the upper bound of
this patch be included in the current range - This patch can be taken to be a solution patch
- No further subdivision is required, as it would
not give any further improvement in the current
range - Same is true if the largest Bernstein coefficient
in a patch is appearing at the vertex and the
lower bound of the patch is included in the
current range
38PROPOSITION 6Accelerating Devices for Range
Computation
- Monotonicity Test
- If the polynomial is monotonic w.r.t any
direction on a box - If the box is in the interior
- This box can be rejected
- If the box is not in the interior
- This box is retained
- No subdivision of this box in that direction
- Avoids unnecessary subdivisions
39PROPOSED ALGORITHMRange
- Inputs
- Maximum degree of each variable of the polynomial
- Coefficients of the polynomial in the form of a
matrix - Initial domain box
- Accuracy tolerances
- Outputs
- An enclosure of the range of the specified
accuracy - Number of solution boxes
- Number of subdivisions
- Maximum patch list length used to store the
patches
40PROPOSED ALGORITHMRange
- BEGIN Algorithm
- Evaluate Bernstein coefficients in matrix form
put them as a patch in a list. - Set flags for simplified vertex condition, cut
off test and monotonicity test - Take the first patch from the list and check for
vertex/simplified vertex condition. - If true, then update current range.
- Else, perform cut off test.
- If list is not empty, choose a component
direction based on a bisection rule
41PROPOSED ALGORITHMRange
- Take each patch from list, do the monotonicity
test. If test is passed, proceed to next step
else discard tested box and choose next patch
from the list. - Perform the necessary subdivision in the given
direction and evaluate the new Bernstein
coefficients - Update the list of patches and remove the tested
box - Take the next patch from the list and perform the
same operations, till the list is empty - Get the range of the polynomial from the current
range - END Algorithm
42COMPARISON WITH GLOBSOL
- We compare our results with the results obtained
with Globsol - All problems are taken from Verscheldes PHC
pack, a database of polynomial systems. - Comparison of the computation time required by
both the algorithms in terms of values of - Ratio
- Percent reduction
43COMPARISON WITH GLOBSOL
44Comparison of computation time by both the
algorithms
45(No Transcript)
46(No Transcript)
47(No Transcript)
48RESULTSComparison with Globsol
- In one of the examples Globsol was unable to give
any result (arithmetic exception core dumped)
indicated by in the table. - Compared to Globsol, the improved Bernstein
method gives an average percent reduction in
computational time of 47.38
49CONCLUSIONS
- The new algorithm Range is faster than Globsol in
fourteen out of eighteen problems. - Further, on the average, we obtain considerable
reductions in computation time with the proposed
Algorithm Range.
50FUTURE WORK
- Modify the new algorithm after incorporating
certain modifications in the Monotonicity test ,
thus further speeding up the algorithm Range - Integrate the code with COSY package of Berz et
al. - Apply the method to Engineering problems,
especially control engineering !
51 THANK YOU !