RealCertify: a Maple package for certifying non-negativity Victor Magron , CNRS Joint work with Mohab Safey El Din (Sorbonne Univ. -INRIA-LIP6 CNRS) ISSAC 17 th July 2018 p p ε 1 4 ( 1 + x 2 + x 4 ) x
RealCertify : Certify Non-negativity X = ( X 1 , . . . , X n ) co-NP hard problem: check f � 0 on K f ∈ Q [ X ] Victor Magron RealCertify: a Maple package for certifying non-negativity 1 / 19
RealCertify : Certify Non-negativity X = ( X 1 , . . . , X n ) co-NP hard problem: check f � 0 on K f ∈ Q [ X ] 1 Unconstrained � K = R n f = 1 + X + X 2 + X 3 + X 4 n = 1 f = 4 X 4 1 + 4 X 3 1 X 2 − 7 X 2 1 X 2 2 − 2 X 1 X 3 2 + 10 X 4 n > 1 2 Victor Magron RealCertify: a Maple package for certifying non-negativity 1 / 19
RealCertify : Certify Non-negativity X = ( X 1 , . . . , X n ) co-NP hard problem: check f � 0 on K f ∈ Q [ X ] 1 Unconstrained � K = R n f = 1 + X + X 2 + X 3 + X 4 n = 1 f = 4 X 4 1 + 4 X 3 1 X 2 − 7 X 2 1 X 2 2 − 2 X 1 X 3 2 + 10 X 4 n > 1 2 2 Constrained � K = { x ∈ R n : g 1 ( x ) � 0, . . . , g m ( x ) � 0 } g j ∈ Q [ X ] f = − X 2 1 − 2 X 1 X 2 − 2 X 2 K = { 1 − X 2 1 � 0, 1 − X 2 2 + 6 2 � 0 } Victor Magron RealCertify: a Maple package for certifying non-negativity 1 / 19
RealCertify : Certify Non-negativity X = ( X 1 , . . . , X n ) co-NP hard problem: check f � 0 on K f ∈ Q [ X ] 1 Unconstrained � K = R n f = 1 + X + X 2 + X 3 + X 4 n = 1 f = 4 X 4 1 + 4 X 3 1 X 2 − 7 X 2 1 X 2 2 − 2 X 1 X 3 2 + 10 X 4 n > 1 2 2 Constrained � K = { x ∈ R n : g 1 ( x ) � 0, . . . , g m ( x ) � 0 } g j ∈ Q [ X ] f = − X 2 1 − 2 X 1 X 2 − 2 X 2 K = { 1 − X 2 1 � 0, 1 − X 2 2 + 6 2 � 0 } 1 f ∈ Σ = sums of squares (SOS) f = σ = h 12 + · · · + h p 2 � 0 2 Weighted SOS f = σ 0 + σ 1 g 1 + · · · + σ m g m � 0 on K Victor Magron RealCertify: a Maple package for certifying non-negativity 1 / 19
Exact Certification A PPROXIMATE SOLUTIONS sum of squares of a 2 − 2 ab + b 2 ? ( 1.00001 a − 0.99998 b ) 2 ! a 2 − 2 ab + b 2 ≃ ( 1.00001 a − 0.99998 b ) 2 a 2 − 2 ab + b 2 � = 1.0000200001 a 2 − 1.9999799996 ab + 0.9999600004 b 2 → = ? ≃ Victor Magron RealCertify: a Maple package for certifying non-negativity 2 / 19
Exact Certification Win T WO -P LAYER G AME f Σ ≃ Output ! sum of squares of f ? Victor Magron RealCertify: a Maple package for certifying non-negativity 3 / 19
Exact Certification Win T WO -P LAYER G AME f Σ Hybrid Symbolic/Numeric Algorithms sum of squares of f + ε ? ≃ Output ! Error Compensation → ≃ = Victor Magron RealCertify: a Maple package for certifying non-negativity 3 / 19
Existing Frameworks project & round [Peyrl-Parrilo 08] [Kaltofen-Yang-Zhi 08] f ∈ ˚ Σ with deg f = 2 D f ( X ) ≃ v DT ( X ) ˜ ˜ Q v D ( X ) Q ≻ 0 v D ( X ) : vector of monomials of deg � D Find ˜ Q with semidefinite programming f ( X ) = v DT ( X ) ∏ ( Q ) v D ( X ) � Can handle degenerate situations! Victor Magron RealCertify: a Maple package for certifying non-negativity 4 / 19
Existing Frameworks project & round [Peyrl-Parrilo 08] [Kaltofen-Yang-Zhi 08] f ∈ ˚ Σ with deg f = 2 D f ( X ) ≃ v DT ( X ) ˜ ˜ Q v D ( X ) Q ≻ 0 v D ( X ) : vector of monomials of deg � D Find ˜ Q with semidefinite programming f ( X ) = v DT ( X ) ∏ ( Q ) v D ( X ) � Can handle degenerate situations! RAGLib (critical points) [Safey El Din] SamplePoints (CAD) [Moreno Maza-Alvandi-Chen- Marcus-Schost-Vrbik] Victor Magron RealCertify: a Maple package for certifying non-negativity 4 / 19
Existing Frameworks project & round [Peyrl-Parrilo 08] [Kaltofen-Yang-Zhi 08] f ∈ ˚ Σ with deg f = 2 D f ( X ) ≃ v DT ( X ) ˜ ˜ Q v D ( X ) Q ≻ 0 v D ( X ) : vector of monomials of deg � D Find ˜ Q with semidefinite programming f ( X ) = v DT ( X ) ∏ ( Q ) v D ( X ) � Can handle degenerate situations! RAGLib (critical points) [Safey El Din] SamplePoints (CAD) [Moreno Maza-Alvandi-Chen- Marcus-Schost-Vrbik] Demo 1 Victor Magron RealCertify: a Maple package for certifying non-negativity 4 / 19
Modules & Install gricad-gitlab:RealCertify Depends on Maple & n = 1 univsos Square free decomposition with sqrfree PARI/GP for complex zero isolation n > 1 multivsos arbitrary precision SDP solver SDPA-GMP [Nakata 10] Newton Polytope with convex package [Franz 99] Cholesky’s decomposition with LUDecomposition Victor Magron RealCertify: a Maple package for certifying non-negativity 5 / 19
univsos1 [Schweighofer 99] f f ∈ Q [ X ] and f > 0 Minimizer a may not be in Q . . . x a f = 1 + X + X 2 + X 3 + X 4 √ 6 ) 1/3 6 ) 1/3 − 4 ( 135 + 60 5 − 1 a = √ 12 4 4 ( 135 + 60 Victor Magron RealCertify: a Maple package for certifying non-negativity 6 / 19
univsos1 [Schweighofer 99] f f ∈ Q [ X ] and f > 0 f t Minimizer a may not be in Q . . . Find f t ∈ Q [ X ] s.t. : deg f t � 2 f t � 0 x f � f t t a f = 1 + X + X 2 + X 3 + X 4 f − f t has a root t ∈ Q √ 6 ) 1/3 6 ) 1/3 − 4 ( 135 + 60 5 − 1 a = √ 12 4 4 ( 135 + 60 f t = X 2 t = − 1 Victor Magron RealCertify: a Maple package for certifying non-negativity 6 / 19
univsos1 [Schweighofer 99] f f ∈ Q [ X ] and f > 0 Minimizer a may not be in Q . . . f t Square-free decomposition: f − f t = gh 2 deg g � deg f − 2 x t a g > 0 f = 1 + X + X 2 + X 3 + X 4 f t = X 2 Do it again on g f − f t = ( X 2 + 2 X + 1 )( X + 1 ) 2 Victor Magron RealCertify: a Maple package for certifying non-negativity 6 / 19
univsos1 [Schweighofer 99] Input : f � 0 ∈ Q [ X ] of degree d � 2 Output : SOS decomposition with coefficients in Q f f t ← parab ( f ) h , f t while ( g , h ) ← sqrfree ( f − f t ) deg f > 2 f ← g Victor Magron RealCertify: a Maple package for certifying non-negativity 7 / 19
univsos1 [Schweighofer 99] Input : f � 0 ∈ Q [ X ] of degree d � 2 Output : SOS decomposition with coefficients in Q f f t ← parab ( f ) h , f t while ( g , h ) ← sqrfree ( f − f t ) deg f > 2 f ← g Demo 2 Victor Magron RealCertify: a Maple package for certifying non-negativity 7 / 19
univsos2 [Chevillard et. al 11] p p ∈ Q [ X ] , deg p = d = 2 k , p > 0 x p = 1 + X + X 2 + X 3 + X 4 Victor Magron RealCertify: a Maple package for certifying non-negativity 8 / 19
univsos2 [Chevillard et. al 11] p p ε p ∈ Q [ X ] , deg p = d = 2 k , p > 0 P ERTURB : find ε ∈ Q s.t. 4 ( 1 + x 2 + x 4 ) 1 k X 2 i > 0 ∑ p ε : = p − ε x i = 0 p = 1 + X + X 2 + X 3 + X 4 ε = 1 4 p > 1 4 ( 1 + X 2 + X 4 ) Victor Magron RealCertify: a Maple package for certifying non-negativity 8 / 19
univsos2 [Chevillard et. al 11] p p ∈ Q [ X ] , deg p = d = 2 k , p > 0 p ε P ERTURB : find ε ∈ Q s.t. k X 2 i > 0 ∑ p ε : = p − ε i = 0 4 ( 1 + x 2 + x 4 ) 1 Root isolation: x k X 2 i = s 12 + s 22 + u ∑ p − ε p = 1 + X + X 2 + X 3 + X 4 i = 0 ε = 1 A BSORB : small enough u i 4 i = 0 X 2 i + u SOS ⇒ ε ∑ k = p > 1 4 ( 1 + X 2 + X 4 ) Victor Magron RealCertify: a Maple package for certifying non-negativity 8 / 19
univsos2 [Chevillard et. al 11] Input : f � 0 ∈ Q [ X ] of degree d � 2 , ε ∈ Q > 0 , δ ∈ N > 0 Output : SOS decomposition with coefficients in Q h , s 1 , s 2 , ε , u f ( p , h ) ← sqrfree ( f ) k ∑ X 2 i p ε ← p − ε ( s 1 , s 2 ) ← sum2squares ( p ε , δ ) u ← p ε − s 12 − s 22 i = 0 ε ← ε δ ← 2 δ 2 while while p ε ≤ 0 ε < | u 2 i + 1 | + | u 2 i − 1 | − u 2 i 2 Victor Magron RealCertify: a Maple package for certifying non-negativity 9 / 19
univsos2 [Chevillard et. al 11] Input : f � 0 ∈ Q [ X ] of degree d � 2 , ε ∈ Q > 0 , δ ∈ N > 0 Output : SOS decomposition with coefficients in Q h , s 1 , s 2 , ε , u f ( p , h ) ← sqrfree ( f ) k ∑ X 2 i p ε ← p − ε ( s 1 , s 2 ) ← sum2squares ( p ε , δ ) u ← p ε − s 12 − s 22 i = 0 ε ← ε δ ← 2 δ 2 while while p ε ≤ 0 ε < | u 2 i + 1 | + | u 2 i − 1 | − u 2 i 2 Demo 3 Victor Magron RealCertify: a Maple package for certifying non-negativity 9 / 19
univsos1 vs univsos2 Theorem [M-Safey El Din-Schweighofer 18] Non-negative f ∈ Q [ X ] with bitsize τ and deg f = d 3 d � univsos1 has output bitsize τ 1 = O (( d 2 τ ) 2 ) � univsos2 has output bitsize τ 2 = O ( d 4 τ ) Practice? Victor Magron RealCertify: a Maple package for certifying non-negativity 10 / 19
univsos1 vs univsos2 Theorem [M-Safey El Din-Schweighofer 18] Non-negative f ∈ Q [ X ] with bitsize τ and deg f = d 3 d � univsos1 has output bitsize τ 1 = O (( d 2 τ ) 2 ) � univsos2 has output bitsize τ 2 = O ( d 4 τ ) Practice? f = 1 + X + X 2 + · · · + X d Demo 4 Victor Magron RealCertify: a Maple package for certifying non-negativity 10 / 19
Benchmarks from [Chevillard et. al 11] Approximation f ∈ Q [ X ] of mathematical function f math Validation of sup norm � f math − f � ∞ on interval [ a , b ] � UnivariateSumOfSquaresDecItv univsos1 univsos2 Id d τ t 1 t 2 τ 1 τ 2 # 1 13 22 682 3 403 023 2 352 51 992 824 # 5 34 117 307 7 309 717 82 583 265 330 5 204 # 7 43 67 399 18 976 562 330 288 152 277 11 190 # 9 20 30 414 641 561 928 68 664 1 605 Victor Magron RealCertify: a Maple package for certifying non-negativity 11 / 19
Recommend
More recommend