質問1:
が、これは質問3と同じですか?
質問2:
restart;
ee:=LaguerreL(3, -2, 2);
ee := LaguerreL(3, -2, 2)
convert(ee, hypergeom); # weakness (bug reported)
LaguerreL(3, -2, 2)
convert(ee, elementary); # weakness (bug reported)
LaguerreL(3, -2, 2)
simplify(ee); # weakness (bug reported)
LaguerreL(3, -2, 2)
evalf(ee); # bug (bug reported)
Float(undefined) + Float(undefined) I
ここではその回避するには、いくつかの方法があります。
restart;
ee:=LaguerreL(3, -2, 2);
ee := LaguerreL(3, -2, 2)
# One way:
# raise the second argument two times
ff:=convert(ee,LaguerreL,"raise b"$2):
lprint(%);
(1/3)*LaguerreL(3, 2)-(13/12)*LaguerreL(3, 1, 2)
+(1/2)*LaguerreL(3, 2, 2)
simplify(ff);
2
-
3
convert(ff,elementary);
2
-
3
evalf(ff);
0.6666666665
# Related...
ffh:=convert(ff, hypergeom):
lprint(%);
(1/3)*hypergeom([-3], [1], 2)-(13/3)*hypergeom([-3], [2], 2)
+5*hypergeom([-3], [3], 2)
convert(ffh,elementary);
2
-
3
simplify(ffh);
2
-
3
evalf(ffh);
0.6666666665
# Another (crude) way:
evalf(Limit(LaguerreL(3,a,2), a=-2.0));
0.6666666667
# Another (cruder) way
normal(convert(LaguerreL(3,a,2),elementary));
1 3 7 1
- a - - a - -
6 6 3
eval(%,a=-2.0);
0.6666666667
は質問3:
はい、それはそれがどのように動作するかです。 4.
restart;
ee:=LaguerreL(3,2,2);
ee := LaguerreL(3, 2, 2)
simplify(ee);
-4/3
convert(ee, elementary);
-4/3
質問4質問も参照してください:
することは、それぞれのオンラインマニュアルの定義を比較します。そのMathematicaのページで
https://reference.wolfram.com/language/ref/LaguerreL.html
https://www.maplesoft.com/support/help/maple/view.aspx?path=LaguerreL
あなたは(メープルで)基本機能に、次の変換が自動的に行われていることがわかります。
restart;
ee:=LaguerreL(2, a, x);
ee := LaguerreL(2, a, x)
convert(ee, elementary);
2
(1 + a) (a + 2) (-a - 2) x
--------------- + (-a - 2) x - -----------
2 2 a + 4
expand(normal(%));
2 2
1/2 a + 3/2 a + 1 - x a - 2 x + 1/2 x