480 likes | 631 Views
NEW APPROACH TO CALCULATION OF RANGE OF POLYNOMIALS USING BERNSTEIN FORMS. SCOPE OF THE PRESENTATION. INTRODUCTION BERNSTEIN FORMS : 1) DEFINITION 2) PROPERTIES 3) BASIS CONVERSION RANGE CALCULATIONS 1) IMPORTANT THEOREMS 2) SUBDIVISION NEW PROPOSITIONS
E N D
NEW APPROACH TO CALCULATION OF RANGE OF POLYNOMIALS USING BERNSTEIN FORMS
SCOPE OF THE PRESENTATION • INTRODUCTION • BERNSTEIN FORMS : 1) DEFINITION 2) PROPERTIES 3) BASIS CONVERSION • RANGE CALCULATIONS 1) IMPORTANT THEOREMS 2) SUBDIVISION • NEW PROPOSITIONS • EXAMPLES AND CONCLUSION • FUTURE WORK
INTRODUCTION • POLYNOMIALS ARE USEFUL MATHEMATICAL TOOLS • IMPLICIT POWER FORM – LINEAR COMBINATION OF POWER BASIS • REPRESENTATION IN BERNSTEIN FORM – LINEAR COMBINATION OF BERNSTEIN BASIS
ADVANTAGES OF BERNSTEIN FORM • AVOIDS FUNCTION EVALUATION – COSTLY • IMPROVEMENT OVER TAYLOR FORM • INFORMATION ABOUT SHARPNESS OF BOUNDS- TOLERANCE CAN BE SPECIFIED • FASTER RATE OF CONVERGENCE • CAPABLE OF GIVING EXACT RANGE
BERNSTEIN FORM…………. • DEFINTION – POLYNOMIAL OF DEGREE n B nk ( x ) = ( nk ) x k ( 1 - x ) n-k k = 0 , 1 , ……….. , n V = x ∈ [ 0 , 1 ]
BERNSTEIN FORM………. • ANY POLYNOMIAL IN POWER FORM IS REPRESENTED AS • BERNSTEIN FORM OF REPRESENTATION IS
BERNSTEIN FORM………… • MULTIVARIATE CASE – POLYNOMIAL OF DEGREE n p ni ( x ) = ∑ i ∈ K ∏ qj = 1( nij) x ij j ( 1 - x j ) n – i j i = ( i1 ……….. i q ) ∈ K = ∑ i∈ K b ni p ni ( x )
IMPORTANT PROPERTIES OF BERNSTEIN POLYNOMIALS • INVARIANT UNDER AFFINE TRANSFORMATIONS • RECURSIVE GENERATION OF nth ORDER BASIS FROM (n – 1)th ORDER BASIS IS POSSIBLE • ALL TERMS OF BERNSTEIN BASIS ARE POSITIVE AND THEIR SUM EQUALS 1
IMPORTANT PROPERTIES OF BERNSTEIN POLYNOMIAL • BETTER CONDITIONED AND BETTER NUMERICAL STABILITY • DEGREE ELEVATION b n+1k = k / n+1 * b nk-1 + ( 1 - k / n+1 ) b nk
BASIS CONVERSION • p (x) = ∑ n k = 0 a k x k = ∑ n k = 0 b nk B n k ( x ) • CONVERSION OF ONE SET OF COEFFICIENTS TO OTHER :- a k = ∑ k j = 0 ( -1 ) k – j ( nk ) ( kj ) b nj b nk = ∑ k j = 0 ( kj ) / ( n j ) a j
BASIS CONVERSION……… • MATRIX METHOD • WE CAN WRITE P(X) = XA = BXB ,WHERE X IS THE VARIABLE(ROW) MATRIX • A IS THE COEFFICIENT (COLUMN) MATRIX • BXIS THE BERNSTEIN BASIS(ROW) MATRIX AND • B IS THE BERNSTEIN COEFFICIENT(COLUMN) MATRIX. • AFTER CERTAIN COMPUTATIONS, • BXB = XUXB • WHERE UX IS A LOWER TRIANGULAR MATRIX.
BASIS CONVERSION……FOR A GENERAL INTERVALBX = XWXVXUX WHERE WX IS AN UPPER TRIANGULAR MATRIX AND VX IS A DIAGONAL MATRIX.XA = BXBTHUS, AND
BASIS CONVERSION…….. • FOR A BIVARIATE CASE, BY ANALOGY WITH UNIVARIATE CASE
BASIS CONVERSION……. • USING PROPERTIES OF MATRICES • THE SAME LOGIC CAN BE EXTENDED TO AN L-VARIATE CASE • WE EXPLAIN WITH AN ILLUSTRATION FOR TRIVARIATE CASE
BASIS CONVERSION……. • FOR A TRIVARIATE CASE • HERE TRANSPOSE MEANS CONVERTING SECOND CO-ORDINATE DIRECTION TO FIRST, THIRD TO SECOND AND FIRST TO THIRD • SAME ANALOGY EXTENDS TO L-VARIATE CASE
PROPOSED (MATRIX) METHOD • A NEW METHOD IS PROPOSED WHERE THE POLYNOMIAL COEFFICIENTS ARE INPUTTED IN A MATRIX FORM ‘A’ AND THE RESULTING BERNSTEIN COEFFICIENTS ARE COMPUTED IN MATRIX FORM ‘B’ • FOR A 3-D CASE, INSTEAD OF CONSIDERING THE POLYNOMIAL COEFFICIENT MATRIX ‘A’ AS A 3-D ARRAY, IT CAN BE CONSIDERED AS A MATRIX WITH 0 TO n1 ROWS AND 0 TO (n2+1)(n3+1) –1 COLUMNS
MATRIX METHOD…… • ORIGINAL ARRAY
THE 3-D ARRAY IN MATRIX FORM • AFTER FIRST TRANSPOSE AND RESHAPE • O TO n2 ROWS; 0 TO COLUMNS
SIMILARLY AFTER SECOND AND THIRD TRANSPOSE AND RESHAPE, WE GET THE ORIGINAL MATRIX
RANGE CALCULATION IMPORTANT THEOREMS • THEOREM 1 : THE MINIMUM AND MAXIMUM BERNSTEIN COEFFICIENT GIVE AN ENCLOSURE OF THE RANGE OF POLYNOMIAL IN THE GIVEN INTERVAL. • THEOREM 2 :VERTEX CONDITION : IF THE MINIMUM AND MAXIMUM BERNSTEIN COEFFICIENT OF POLYNOMIAL IN BERNSTEIN FORM OCCUR AT THE VERTICES OF THE BERNSTEIN COEFFICIENT ARRAY, THEN THE ENCLOSURE IS THE EXACT RANGE.
IMPORTANT THEOREMS • THEOREM 3 : BERNSTEIN APPROXIMATIONS CONVERGE TO THE RANGE AND THE CONVERGENCE IS AT LEAST LINEAR IN THE ORDER OF APPROXIMATIONS.
SUBDIVISION • VERTEX CONDITION NOT SATISFIED – SUBDIVIDE • UNIT BOX I INTO 2q SUBBOXES OF EDGE LENGTH ½ • CALCULATE BERNSTEIN COEFFICIENT OF p(x) ON THESE SUBBOXES • CHECK VERTEX CONDITION ON EACH SUBBOX • FIND RANGE OF POLYNOMIAL
DISADVANTAGES OF THE EXISTING ALGORITHM • FORTRAN 95 CAN NOT CATER TO MORE THAN SIX DIMENSIONAL ARRAYS • BERNSTEIN COEFFICIENT GENERATED ARE STORED IN MULTIDIMENSIONAL ARRAYS • FOR SHARP ENCLOSURES, SUBDIVISION CREATES LARGE DATA • SLOWS DOWN COMPUTATIONS
PROPOSITIONS • PROPOSE NEW METHODS FOR • ACCELERATION OF ALGORITHM • FASTER TERMINATION
PROPOSITION 1 : MATRIX METHOD • STORE BERNSTEIN COEFFICIENT IN SINGLE VECTOR, 2 DIMENSIONAL • NUMBER OF ELEMENTS OF VECTOR DEPEND ON • NUMBER OF VARIABLES • MAXIMUM POWER OF EACH VARIABLE
EXAMPLE : 3-D POLYNOMIAL • P(x)=2+4x1+5x12-x2+2x1x2+x1x3- x2x3+6x12x2x3+2x32-x1x32+x12x2x32 • n1=2 ; n2=1 ; n3=2 • COEFFICIENT MATRIX
MATRIX METHOD……contd • BERNSTEIN COEFFICIENT ALSO STORED IN 3 6 MATRIX, NOT 3-D ARRAY • ALL OPERATIONS AND SUBDIVISION CARRIED OUT ON 2-D MATRICES • FASTER COMPUTATIONS • NO RESTRICTION ON THE DIMENSION OF POLYNOMIAL
PROPOSITION 2 : CUT OFF TEST • AVOIDS UNNECCESARY SUBDIVISIONS • FASTER TERMINATION OF ALGORITHM • CHECK IF RANGE IN EACH NEW PATCH INCLUDED IN ACTUAL RANGE STORED • REJECT PATCH IF YES
PROPOSITION 3 : MONOTONICITY TEST • IF THE POLYNOMIAL IS MONOTONIC W.R.T ANY DIRECTION ON A BOX, AND IF THE BOX HAS NO EDGE IN COMMON WITH THE INITIAL INTERVAL, THEN THIS BOX CAN BE REJECTED • AVOIDS UNNECCESARY SUBDIVISIONS • FASTER TERMINATION OF ALGORITHM
PROPOSITION 4 : NEW CONDITION • IF THE MIN BERNSTEIN COEFF OF A PATCH IS MINIMUM OF ALL THE COEFFS IN UNTESTED PATCHES AND APPEARS AT A VERTEX, THEN CHECK THE FOLLOWING • IF MAX BERNSTEIN COEFF IN THAT PATCH IS LESS THAN SUPREMUM OF SOLUTIONS EVALUATED SO FAR, THEN THE PATCH IS A SOLUTION • THIS PATCH NEED NOT BE SUBDIVIDED FURTHER
PROPOSED ALGORITHM 1. Read the initial intervals & the maximum degree for each variable in the polynomial 2. Read the Bernstein coefficients in matrix form. 3. Initialise list 'l' which contains all the patches to be tested; and list 'lsol' which consists the number of solutions i.e. the patches where vertex condition is satisfied. Solution patch contains min B (D) and max B(D). 4.Take the first patch from list 'l '
PROPOSED ALGORITHM 5.Check the vertex condition. If 'true' then lsol = lsol +1 p_bar(lsol)= interval (minB(D), max B(D)) delete the patch from 'l' else subdivide the patch in 1st direction into two patches, each of which is a matrix and add the new entries at the end of the list 'l'. Delete the tested patch. 6. If 'l´ is empty go to step 12 else pick the first patch from 'l' and go to step 7.
PROPOSED ALGORITHM 7. Check the vertex condition. If 'true' then update 'lsol' and 'p_bar(lsol)' and delete the patch from 'l’ go to step 5 else go to step 8. 8. Check the new condition If 'true' then update 'lsol' and 'p_bar(lsol)' and delete the patch from 'l‘ & go to step 5 else go to step 9.
PROPOSED ALGORITHM 9. Monotonicity test: Check for common edge with the original box. If no edge in common, test for monotonicity in all directions and delete the monotonic patch and go to step 5. If common edge, test monotonicity in that direction- If monotonic, retain patch; else go to step 10 10. Reshape and then subdivide the patch in next cyclic direction into two patches, each of which is a matrix.
PROPOSED ALGORITHM 11. Add the new entries at the end of the list 'l'. Delete the tested patch. 12. Carry out the cut off test and go to step 5. 13. Compute the exact range p(X) p(X)=interval(minval(inf(p_bar(1:lsol))), maxval(sup(p_bar(1:lsol))) 14. Output p(X) End
EXAMPLES AND RESULTS EXAMPLE 1 : 3-D POLYNOMIAL Initial box [0,1] , [0,10] , [-1,1] USING THE MATRIX METHOD • Total no. of solutions = 27 • Total no. of subdivisions = 246 • Range of function = [1.8567633650742547,2672.0] • cpu time = 0.18578312 sec
EXAMPLE 1……contd • RANGE OF THE POLYNOMIAL , USING VECTORIZED MOORE SKELBOE ALGORITHM RANGE OF FUNCTION = [1.8567633669124248,2672] CPU TIME = 258.01999 sec
EXAMPLE 2 : 4-D POLYNOMIAL Initial box [-1,1], [0,1], [0,1], [-2,0] USING MATRIX METHOD • Total no. of solutions = 1 • Total no. of subdivisions = 0 • Range of function = [-1.6666667,4.3333333999999999] • cpu time = 9.51403E-4 sec
EXAMPLE 2 ……..contd • RANGE OF THE POLYNOMIAL , USING VECTORIZED MOORE SKELBOE ALGORITHM RANGE OF FUNCTION = [-1.6666666670000002, 4.3333333329999996] CPU TIME = 4.2621371 sec
EXAMPLE 3 : 5 -D POLYNOMIAL Initial box [-1,1], [0,1], [-1,1], [0,1], [-1,1] USING MATRIX METHOD • Total no. of solutions = 12 • Total no. of subdivisions = 27 • Range of function = [-14.0,23.0] • cpu time = 0.03255 sec
EXAMPLE 3 ……..contd • RANGE OF THE POLYNOMIAL , USING VECTORIZED MOORE SKELBOE ALGORITHM RANGE OF FUNCTION = [-14.0,23.0] CPU TIME = 44.351025 sec
CONCLUSIONS • THE PROPOSED ALGORITHM CAN THEORETICALLY SOLVE PROBLEMS OF RANGE FINDING FOR ANY DIMENSION POLYNOMIAL. • THE PROPOSED ‘MATRIX METHOD’ ALONG WITH THE CUT- OFF TEST, MONOTONICITY TEST AND THE NEW CONDITION, CONSIDERABLY SPEEDS UP THE ALGORITHM
CONCLUSIONS • THE RANGE COMPUTED BY THE PROPOSED METHOD CAN BE MADE AS ACCURATE AS DESIRED, BY SPECIFYING THE TOLERANCE
FUTURE WORK • DEVELOP CODE TO EXTEND TO 7-D AND HIGHER • INTEGRATE THE CODE WITH ‘COSY’ PACKAGE • INTRODUCE MORE EFFICIENT SUBDIVISION STRATEGY TO FURTHER SPEED UP THE ALGORITHM • APPLY THE METHOD TO CONTROL PROBLEMS