1 / 51

# On Computing Ranges of Polynomials - Some Improvements to the Bernstein Approach - PowerPoint PPT Presentation

On 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. SCOPE OF THE PRESENTATION. Introduction

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

## PowerPoint Slideshow about ' On Computing Ranges of Polynomials - Some Improvements to the Bernstein Approach' - mya

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### On 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

SCOPE OF THE PRESENTATION the Bernstein Approach

• 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

### INTRODUCTION the Bernstein Approach

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.

ADVANTAGES OF BERNSTEIN FORM the Bernstein Approach

• 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

BERNSTEIN FORM the Bernstein Approach

• Any polynomial in power form is represented as

• Bernstein form of representation is

• Bernstein coefficientsare given by

BERNSTEIN FORM the Bernstein Approach

• 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).

BASIS CONVERSION the Bernstein Approach

• On unit interval a polynomial’s equivalent power and Bernstein forms

• Using matrix multiplication p(x) = XA = BXB

• X is the variable (row) matrix.

• A is the coefficient (column) matrix

• BXis the Bernstein basis (row) matrix

• B is the Bernstein coefficient (column) matrix

• After certain computations, BXB = XUXB

• UX is a lower triangular matrix

BASIS CONVERSION the Bernstein Approach

• 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

BASIS CONVERSION the Bernstein Approach

• For a bivariate case

• X1and X2 are variable matrices

• By analogy with univariate case

RANGE CALCULATION the Bernstein ApproachIMPORTANT 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.

SUBDIVISION the Bernstein Approach

• 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

SWEEP PROCEDURE the Bernstein Approach

SUBDIVISION DIRECTION SELECTION STRATEGIES the Bernstein ApproachEXISTING 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

SUBDIVISION DIRECTION SELECTION STRATEGIES the Bernstein ApproachEXISTING 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

SUBDIVISION DIRECTION SELECTION STRATEGIES the Bernstein ApproachEXISTING 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

SUBDIVISION DIRECTION SELECTION STRATEGIES the Bernstein ApproachEXISTING 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

DISADVANTAGES OF THE EXISTING METHODS OF BERNSTEIN COEFFICIENTS COMPUTATIONS

• Conventional method is veryinefficient for higher dimensional polynomials

• Even the Matrix multiplication method cannot begeneralized to higher dimensional polynomials

• The existing rules generally need large computation times.

• Certain existing rules are grosslyinefficient, especially for higher dimensional polynomials.

• 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

NEW PROPOSITIONS SELECTION

• We propose new tools for

• Bernstein Coefficient Computations

• Subdivision Direction Selection

• Acceleration devices

PROPOSITION 1 SELECTIONComputation of Bernstein Coefficients

• Matrix Method

• This gives

PROPOSITION 1 SELECTIONComputation 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

PROPOSED MATRIX METHOD SELECTION

• 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 (n2+1)(n3+1) –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.

Proposed Algorithm SELECTIONBernstein 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

• Comparison is done between conventional method and the proposed Matrix method

• All problems are taken from Verschelde’s 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.

Time in seconds taken by the Matrix and the Conventional methods to compute Bernstein coefficients

Some Definitions methods to compute Bernstein coefficients

• 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.

PROPOSITION methods to compute Bernstein coefficients 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 onewhich gives the largest distance, and bisect this selected patch in all component directions

EXAMPLE methods to compute Bernstein coefficientsDistance

• 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]

EXAMPLE methods to compute Bernstein coefficients

• 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

Subdivision Direction Selection methods to compute Bernstein coefficients

• 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.

PROPOSITION 3 methods to compute Bernstein coefficientsSubdivision 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.

RESULTS AND CONCLUSIONS methods to compute Bernstein coefficientsSubdivision Direction Selection

• All problems are taken from Verschelde’s 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

RESULTS AND CONCLUSIONS methods to compute Bernstein coefficientsSubdivision 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%

RESULTS AND CONCLUSIONS methods to compute Bernstein coefficientsSubdivision 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

PROPOSITION 4 methods to compute Bernstein coefficientsAccelerating 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

PROPOSITION 5 methods to compute Bernstein coefficientsAccelerating 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

PROPOSITION 6 methods to compute Bernstein coefficientsAccelerating 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

PROPOSED ALGORITHM methods to compute Bernstein coefficientsRange

• 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

PROPOSED ALGORITHM methods to compute Bernstein coefficientsRange

• 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

PROPOSED ALGORITHM methods to compute Bernstein coefficientsRange

• 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

• COMPARISON WITH methods to compute Bernstein coefficientsGLOBSOL

• We compare our results with the results obtained with Globsol

• All problems are taken from Verschelde’s 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

COMPARISON WITH methods to compute Bernstein coefficientsGLOBSOL

Comparison of computation time by both the algorithms methods to compute Bernstein coefficients

RESULTS methods to compute Bernstein coefficientsComparison 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%

CONCLUSIONS methods to compute Bernstein coefficients

• 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.

FUTURE WORK methods to compute Bernstein coefficients

• Modify the new algorithm after incorporating certain modifications in the Monotonicity test , thusfurther speeding up the algorithm Range

• Integrate the code with COSY package of Berz et al.

• Apply the method to Engineering problems, especially control engineering !

THANK YOU ! methods to compute Bernstein coefficients