nnssdn 二重否定の利用
次の不等式を簡約します.
(%i90) f:x^3+y^3+z^3>=3*x*y*z; Evaluation took 0.0000 seconds (0.0000 elapsed) using 1.859 KB. (%o90) z^3+y^3+x^3 >= 3*x*y*z
まずは,qepmax から....
(%i91) qe([],f); Evaluation took 0.0800 seconds (0.2700 elapsed) using 1.674 MB. (%o91) (z+y+x >= 0) %or (z^2-y*z-x*z+y^2-x*y+x^2 = 0)
一方,nnss は....いい感じです.
(%i92) nnss(f); Evaluation took 1.4100 seconds (5.1900 elapsed) using 59.782 MB. (%o92) ((y-x = 0) %and (z-x = 0)) %or (z+y+x >= 0)
では,次はどうでしょう.
(%i93) g:x^3+y^3+z^3>3*x*y*z; Evaluation took 0.0000 seconds (0.0000 elapsed) using 1.859 KB. (%o93) z^3+y^3+x^3 > 3*x*y*z (%i94) qe([],g); Evaluation took 0.0700 seconds (0.2900 elapsed) using 1.510 MB. (%o94) (z+y+x > 0) %and (z^2-y*z-x*z+y^2-x*y+x^2 > 0) (%i95) nnss(g); Evaluation took 1.6900 seconds (3.7200 elapsed) using 92.056 MB. (%o95) (z+y+x > 0) %and (z^2-y*z-x*z+y^2-x*y+x^2 > 0)
共倒れです....ということで,nnssdn の出番です.
(%i96) nnssdn(g); Evaluation took 1.8000 seconds (5.7800 elapsed) using 78.075 MB. (%o96) ((y-x # 0) %or (z-x # 0)) %and (z+y+x > 0)
勿論,万能ではありません.
(%i97) nnssdn(f); Evaluation took 2.5600 seconds (4.8100 elapsed) using 147.524 MB. (%o97) (z+y+x >= 0) %or (z^2-y*z-x*z+y^2-x*y+x^2 = 0)