Mathematica 12.3.0
Mathematica の Reduce の次のような bug に遭遇,Wolfram Research の algorithms developer である Adam Strzebonski さんにお伝えしたのは,今年の 2 月でした.
Wolfram Language 12.2.0 Engine for Linux x86 (64-bit) Copyright 1988-2021 Wolfram Research, Inc. In[1]:= f:=-4*a^3*b^2 - 27*b^4 + (16*a^4 + 144 *a*b^2)*#1 - 128*a^2*#1^2 + 256*#1^3 &; In[2]:= Factor[f[c]//.{a->-6, b->-4-2*a}] Out[2]= 256*(-24 + c)*(3 + c)^2 In[3]:= {f1, f2, f3} = {a == -6, b == -4 - 2*a, Root[f, 3] < c}; In[4]:= Reduce[And[f1, f2, f3], {a, b, c}, Reals] Out[4]= a == -6 && b == 8 && c > -3 In[5]:= Reduce[And[f1, f2, f3], Reals] Out[5]= c > 24 && b == 8 && a == -6
数日前に cloud 版の revision は上がるも,download file は 12.2.0 のまま...早く来い/\と思っていると,昨日,12.3.0 (May 10, 2021) の案内が届きました.
blog.wolfram.com
早速,download,wolframscript を更新して,実行してみると
Wolfram Language 12.3.0 Engine for Linux x86 (64-bit) Copyright 1988-2021 Wolfram Research, Inc. In[1]:= f:=-4*a^3*b^2 - 27*b^4 + (16*a^4 + 144 *a*b^2)*#1 - 128*a^2*#1^2 + 256*#1^3 &; In[2]:= Factor[f[c]//.{a->-6, b->-4-2*a}] Out[2]= 256*(-24 + c)*(3 + c)^2 In[3]:= {f1, f2, f3} = {a == -6, b == -4 - 2*a, Root[f, 3] < c}; In[4]:= Reduce[And[f1, f2, f3], {a, b, c}, Reals] Out[4]= a == -6 && b == 8 && c > 24 In[5]:= Reduce[And[f1, f2, f3], Reals] Out[5]= c > 24 && b == 8 && a == -6
のように cloud 版と同じく,適切な結果が得られました.Strzebonski さん,有難う御座います.
それにしても(無料使用期限が自動更新される)developers 版のことが周知でない(?)のは何とも不思議です.
https://www.wolfram.com/developer/
writings.stephenwolfram.com