投稿者:しばっち
投稿日:2014年11月26日(水)18時08分17秒
|
|
|
数式処理ソフト使ってみた
https://www.wolframalpha.com/input/?i=1%2F%28%28sqrt%282%29%2Bsqrt%283%29%2B5%5E%281%2F2%29%29
using Lisp GNU Common Lisp (GCL) GCL 2.6.8 (a.k.a. GCL)
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) display2d:false;
(%o1) false
(%i2) algebraic: ture;
(%o2) ture
(%i3) ratsimp(1/(sqrt(a)+sqrt(b)+sqrt(c)));
(%o3) (sqrt(c)*(c-b+2*sqrt(a)*sqrt(b)-a)+sqrt(b)*(-c+b-a)+sqrt(a)
*(-c-b+a))
/(c^2+(-2*b-2*a)*c+b^2-2*a*b+a^2)
(%i4) ratsimp(1/(sqrt(a)+sqrt(b)+sqrt(c)+sqrt(d)));
(%o4) (sqrt(d)*(d^3+sqrt(c)*(sqrt(a)*(2*d^2+(-4*c+4*b-4*a)*d+2*c^2
+(4*b-4*a)*c-6*b^2+4*a*b
+2*a^2)
+sqrt(b)*(2*d^2+(-4*c-4*b+4*a)*d+2*c^2
+(4*a-4*b)*c+2*b^2+4*a*b
-6*a^2))
+sqrt(a)*sqrt(b)
*(2*d^2+(4*c-4*b-4*a)*d-6*c^2+(4*b+4*a)*c
+2*b^2-4*a*b+2*a^2)+(-3*c-3*b-3*a)*d^2
+(3*c^2+(2*b+2*a)*c+3*b^2+2*a*b+3*a^2)*d-c^3+(b+a)*c^2
+(b^2-10*a*b+a^2)*c-b^3+a*b^2+a^2*b-a^3)
+sqrt(c)*(-d^3+(3*c+b+a)*d^2
+sqrt(a)*sqrt(b)
*(-6*d^2+(4*c+4*b+4*a)*d+2*c^2+(-4*b-4*a)*c+2*b^2
-4*a*b+2*a^2)
+(-3*c^2+(2*b+2*a)*c+b^2-10*a*b+a^2)*d+c^3+(-3*b-3*a)*c^2
+(3*b^2+2*a*b+3*a^2)*c-b^3+a*b^2+a^2*b-a^3)
+sqrt(b)*(-d^3+(c+3*b+a)*d^2+(c^2+(2*b-10*a)*c-3*b^2+2*a*b+a^2)*d-c^3
+(3*b+a)*c^2+(-3*b^2+2*a*b+a^2)*c+b^3-3*a*b^2+3*a^2*b-a^3)
+sqrt(a)*(-d^3+(c+b+3*a)*d^2+(c^2+(2*a-10*b)*c+b^2+2*a*b-3*a^2)*d-c^3
+(b+3*a)*c^2+(b^2+2*a*b-3*a^2)*c-b^3+3*a*b^2-3*a^2*b+a^3))
/(d^4+(-4*c-4*b-4*a)*d^3+(6*c^2+(4*b+4*a)*c+6*b^2+4*a*b+6*a^2)*d^2
+(-4*c^3+(4*b+4*a)*c^2+(4*b^2-40*a*b+4*a^2)*c-4*b^3+4*a*b^2+4*a^2*b
-4*a^3)
*d+c^4+(-4*b-4*a)*c^3+(6*b^2+4*a*b+6*a^2)*c^2
+(-4*b^3+4*a*b^2+4*a^2*b-4*a^3)*c+b^4-4*a*b^3+6*a^2*b^2-4*a^3*b
+a^4)
(%i5) ratsimp(1/(a^(1/2)+b^(1/3)));
(%o5) -(b^(1/3)*(sqrt(a)*b-a^2)-a*b+(a^(3/2)-b)*b^(2/3)+a^(5/2))/(b^2
-a^3)
(%i6) ratsimp(1/(a^(1/3)+b^(1/3)));
(%o6) (b^(2/3)-a^(1/3)*b^(1/3)+a^(2/3))/(b+a)
(%i7) ratsimp(1/(a^(1/3)+b^(1/3)+c^(1/3)));
(%o7) -(c^(1/3)*(b^(1/3)*(c^2+(2*b-a)*c+b^2-a*b-2*a^2)
+a^(1/3)*(c^2+(2*a-b)*c-2*b^2-a*b+a^2)
+a^(2/3)*b^(2/3)*(-6*c+3*b+3*a))
+c^(2/3)*(-c^2+a^(1/3)*b^(2/3)*(3*c+3*b-6*a)
+a^(2/3)*b^(1/3)*(3*c-6*b+3*a)+(-2*b-2*a)*c-b^2+7*a*b-a^2)
+a^(2/3)*(-c^2+(7*b-2*a)*c-b^2-2*a*b-a^2)
+b^(2/3)*(-c^2+(7*a-2*b)*c-b^2-2*a*b-a^2)
+a^(1/3)*b^(1/3)*(-2*c^2+(-b-a)*c+b^2+2*a*b+a^2))
/(c^3+(3*b+3*a)*c^2+(3*b^2-21*a*b+3*a^2)*c+b^3+3*a*b^2+3*a^2*b+a^3)
LET A=2
LET B=3
LET SS=SGN(A-B)
PRINT "1/(SQR(";A;")+SQR(";B;"))"
PRINT "=(";SIGN$(SS);"SQR(";A;")";SIGN$(-SS);"SQR(";B;"))/";ABS(A-B)
PRINT
LET A=2
LET B=3
LET C=5
PRINT "1/(SQR(";A;")+SQR(";B;")+SQR(";C;"))"
LET SS=SGN((A+B-C)^2-4*A*B)
PRINT "=(";SS*(A-B-C);"*SQR(";A;")";SIGN$(SS*(-A+B-C));"*SQR(";B;")";SIGN$(SS*(A+B-C));"*SQR(";C;")";SIGN$(SS);"2*SQR(";A*B*C;"))/";ABS((A+B-C)^2-4*A*B)
END
EXTERNAL FUNCTION SIGN$(X)
IF ABS(X)=1 THEN
IF X<0 THEN LET SIGN$="-" ELSE LET SIGN$="+"
ELSE
IF X<0 THEN LET SIGN$="-"&STR$(-X) ELSE LET SIGN$="+"&STR$(X)
END IF
END FUNCTION
|
|
|
投稿者:GAI
投稿日:2014年11月27日(木)07時32分56秒
|
|
|
> No.3555[元記事へ]
しばっちさんへのお返事です。
> LET A=2
> LET B=3
> LET C=5
> PRINT "1/(SQR(";A;")+SQR(";B;")+SQR(";C;"))"
> LET SS=SGN((A+B-C)^2-4*A*B)
> PRINT "=(";SS*(A-B-C);"*SQR(";A;")";SIGN$(SS*(-A+B-C));"*SQR(";B;")";SIGN$(SS*(A+B-C));"*SQR(";C;")";SIGN$(SS);"2*SQR(";A*B*C;"))/";ABS((A+B-C)^2-4*A*B)
> END
>
> EXTERNAL FUNCTION SIGN$(X)
> IF ABS(X)=1 THEN
> IF X<0 THEN LET SIGN$="-" ELSE LET SIGN$="+"
> ELSE
> IF X<0 THEN LET SIGN$="-"&STR$(-X) ELSE LET SIGN$="+"&STR$(X)
> END IF
> END FUNCTION
>
A=2,B=3,C=5 では結果はOKですが
A=2,B=3,C=11
A=7,B=11,C=13 とかでは一カ所符号が逆になる部分があるようです。
|
|
|
投稿者:しばっち
投稿日:2014年11月27日(木)20時02分9秒
|
|
|
> No.3558[元記事へ]
GAIさんへのお返事です。
> A=2,B=3,C=5 では結果はOKですが
> A=2,B=3,C=11
> A=7,B=11,C=13 とかでは一カ所符号が逆になる部分があるようです。
大変失礼いたしました。
とりあえず修正しておきました。
LET A=7
LET B=11
LET C=13
PRINT "1/(SQR(";A;")+SQR(";B;")+SQR(";C;"))"
LET SS=SGN((A+B-C)^2-4*A*B)
IF MOD(A-B-C,2)=0 AND MOD(-A+B-C,2)=0 AND MOD(C-A-B,2)=0 AND MOD((A+B-C)^2-4*A*B,2)=0 THEN LET S=2 ELSE LET S=1
PRINT "(";SIGN$(SS*(A-B-C)/S);"SQR(";A;")";SIGN$(SS*(-A+B-C)/S);"SQR(";B;")";SIGN$(SS*(C-A-B)/S);"SQR(";C;")";SIGN$(SS*2/S);"SQR(";A*B*C;"))/";ABS((A+B-C)^2-4*A*B)/S
END
EXTERNAL FUNCTION SIGN$(X)
IF ABS(X)=1 THEN
IF X<0 THEN LET SIGN$="-" ELSE LET SIGN$="+"
ELSE
IF X<0 THEN LET SIGN$="-"&STR$(-X)&"*" ELSE LET SIGN$="+"&STR$(X)&"*"
END IF
END FUNCTION
|
|
|
戻る