Expand | formt das Polynom um in die Summenschreibweise |
Degree | Grad eines Polynoms |
Coef | Koeffizient eines Polynoms |
Content | Inhalt eines univariaten Polynoms |
PrimitivePart | primitiver Teil eines univariaten Polynoms |
LeadingCoef | führender Koeffizient eines Polynoms |
Monic | normierter Teil eines Polynoms |
RandomPoly | Zufallspolynom |
Horner | Hornerform eines Polynoms |
ExpandBrackets | Auflösen aller im Polynom enthaltenen Klammerausdrücke |
OrthoP | orthogonale Legendre und Jacobi Polynome |
OrthoH | hermitesche orthogonale Polynome |
OrthoG | orthogonale Gegenbauer Polynome |
OrthoL | orthogonale Laguerre Polynome |
OrthoT | Tshebyscheff Polynome erster Art |
OrthoU | Tshebyscheff Polynome zweiter Art |
OrthoPSum | Summe einer Folge von Legendre und Jacobi Polynomen |
OrthoHSum | Summe einer Folge von hermiteschen Polynomen |
OrthoLSum | Summe einer Folge von Laguerre Polynomen |
OrthoGSum | Summe einer Folge von Gegenbauer Polynomen |
OrthoTSum | Summe einer Folge von Tschebyscheff Polynomen erster Art |
OrthoUSum | Summe einer Folge von Tschebyscheff Polynomen zweiter Art |
OrthoPoly | interne Funktion zum Erzeugen orthogonaler Polynome |
OrthoPolySum | interne Funktion zum Berechnen von Reihen orthogonaler Polynome |
Enthält der Term "expr" nur eine Variable, so kann der erste Funktionsaufruf verwendet werden, ansonsten muss die Funktionsvariable mit "var" explizit angegeben werden.
In> PrettyPrinter("PrettyForm"); True Out> In> Expand((1+x)^5); 5 4 3 2 x + 5 * x + 10 * x + 10 * x + 5 * x + 1 Out> In> Expand((1+x-y)^2, x); 2 2 x + 2 * ( 1 - y ) * x + ( 1 - y ) Out> In> Expand((1+x-y)^2, {x,y}); 2 2 x + ( -2 * y + 2 ) * x + y - 2 * y + 1 Out> |
In> Degree(x^5+x-1); Out> 5; In> Degree(a+b*x^3, a); Out> 1; In> Degree(a+b*x^3, x); Out> 3; |
In> e := Expand((a+x)^4,x) Out> x^4+4*a*x^3+(a^2+(2*a)^2+a^2)*x^2+(a^2*2*a+2*a^3)*x+a^4; In> Coef(e,a,2) Out> 6*x^2; In> Coef(e,a,0 .. 4) Out> {x^4,4*x^3,6*x^2,4*x,1}; |
In> poly := 2*x^2 + 4*x; Out> 2*x^2+4*x; In> c := Content(poly); Out> 2*x; In> pp := PrimitivePart(poly); Out> x+2; In> Expand(pp*c); Out> 2*x^2+4*x; |
In> poly := 2*x^2 + 4*x; Out> 2*x^2+4*x; In> c := Content(poly); Out> 2*x; In> pp := PrimitivePart(poly); Out> x+2; In> Expand(pp*c); Out> 2*x^2+4*x; |
In> poly := 2*x^2 + 4*x; Out> 2*x^2+4*x; In> lc := LeadingCoef(poly); Out> 2; In> m := Monic(poly); Out> x^2+2*x; In> Expand(lc*m); Out> 2*x^2+4*x; In> LeadingCoef(2*a^2 + 3*a*b^2 + 5, a); Out> 2; In> LeadingCoef(2*a^2 + 3*a*b^2 + 5, b); Out> 3*a; |
In> poly := 2*x^2 + 4*x; Out> 2*x^2+4*x; In> lc := LeadingCoef(poly); Out> 2; In> m := Monic(poly); Out> x^2+2*x; In> Expand(lc*m); Out> 2*x^2+4*x; In> Monic(2*a^2 + 3*a*b^2 + 5, a); Out> a^2+(a*3*b^2)/2+5/2; In> Monic(2*a^2 + 3*a*b^2 + 5, b); Out> b^2+(2*a^2+5)/(3*a); |
In> RandomPoly(x,3,-10,10) Out> 3*x^3+10*x^2-4*x-6; In> RandomPoly(x,3,-10,10) Out> -2*x^3-8*x^2+8; |
n-1 n c(0) + c(1) * x + ... + c(n-1) * x + c(n) * x |
(...( c(n) * x + c(n-1) ) * x + ... + c(1) ) * x + c(0) |
In> expr1:=Expand((1+x)^4) Out> x^4+4*x^3+6*x^2+4*x+1 In> Horner(expr1,x) Out> (((x+4)*x+6)*x+4)*x+1 |
In> Expand((a-x)*(b-x),x) Out> x^2-(b+a)*x+a*b; In> Expand((a-x)*(b-x),{x,a,b}) Out> x^2-(b+a)*x+b*a; In> ExpandBrackets((a-x)*(b-x)) Out> a*b-x*b+x^2-a*x; |
Die Jacobi Polynome sind orthogonal bzgl. der Gewichtsfunktion (1-x)^a (1+x)^b auf dem Intervall [-1 | 1]. Sie erfüllen die Gleichungen:
P(0,a,b,x) = 1 a - b / a + b \ P(1,a,b,x) = ----- + x | 1 + ----- | 2 \ 2 / 2 2 a - b + x (2n+a+b-2) (n+a+b) P(n,a,b,x) = (2n + a + b - 1) * ---------------------------- P(n-1,a,b,x) 2n (2n+a+b-2) (n+a+b) (n+a-1) (n+b-1) (2n+a+b) - ------------------------ P(n-2,a,b,x), for n > 1. n (n+a+b) (2n+a+b-2) |
Legendre Polynome sind spezielle Jacobi Polynome mit den Parametern a = b = 0. Sie erfüllen die Gleichungen:
P(0,x) = 1 P(1,x) = x (2n - 1) x n - 1 P(n,x) = ---------- P(n-1,x) - ----- P(n-2,x), for n > 1. 2n n |
Die Hauptarbeit übernimmt die interne Funktion OrthoPoly.
In> PrettyPrinter("PrettyForm"); True Out> In> OrthoP(3, x); / 2 \ | 5 * x 3 | x * | ------ - - | \ 2 2 / Out> In> OrthoP(3, 1, 2, x); 1 / / 21 * x 7 \ 7 \ - + x * | x * | ------ - - | - - | 2 \ \ 2 2 / 2 / Out> In> Expand(%) 3 2 21 * x - 7 * x - 7 * x + 1 ---------------------------- 2 Out> In> OrthoP(3, 1, 2, 0.5); -0.8124999999 Out> |
Die hermiteschen Polynome sind orthogonal bzgl. der Gewichtsfunktion e^(-x^2/2). Sie erfüllen die Gleichungen:
H(0,x) = 1 H(1,x) = 2x H(n,x) = 2x H(n-1,x) - 2(n-1) H(n-2,x), for n > 1. |
Die Hauptarbeit übernimmt die interne Funktion OrthoPoly.
In> OrthoH(3, x); Out> x*(8*x^2-12); In> OrthoH(6, 0.5); Out> 31; |
Die Gegenbauer Polynome sind orthogonal bzgl. der Gewichtsfunktion (1-x^2)^(a-1/2) auf dem Intervall [-1 | 1]. Zu den Jacobi Polynomen besteht demnach folgender Zusammenhang: G(n, a, x) = P(n, a-1/2, a-1/2, x). Sie erfüllen die Gleichungen:
G(0,a,x) = 1 G(1,a,x) = 2x / a - 1 \ / 2 (a-2) \ G(n,a,x) = 2 | 1 + ----- | x G(n-1,a,x) - | 1 + ------- | G(n-2,a,x), for n>1. \ n / \ n / |
Die Hauptarbeit übernimmt die interne Funktion OrthoPoly.
In> OrthoG(5, 1, x); Out> x*((32*x^2-32)*x^2+6); In> OrthoG(5, 2, -0.5); Out> 2; |
Die Laguerre Polynome sind orthogonal bzgl. der Gewichtsfunktion x^a * e^(-x). Sie erfüllen die Gleichungen:
L(0,a,x) = 1 L(1,a,x) = a + 1 - x / a - 1 - x \ / a - 1 \ L(n,a,x) = | 2 + --------- | L(n-1,a,x) - | 1 + ----- | L(n-2,a,x), for n>1. \ n / \ n / |
Die Hauptarbeit übernimmt die interne Funktion OrthoPoly.
In> OrthoL(3, 1, x); Out> x*(x*(2-x/6)-6)+4; In> OrthoL(3, 1/2, 0.25); Out> 1.2005208334; |
Die Tschebyscheff Polynome erster Art sind orthogonal bzgl. der Gewichtsfunktion (1-x^2)^(-1/2). Sie sind spezielle Gegenbauer Polynome mit dem Parameter a=0. Sie erfüllen die Gleichungen:
T(0,x) = 1 T(1,x) = x T(n,x) = 2x T(n-1,x) - T(n-2,x), for n > 1. |
Die Hauptarbeit übernimmt die interne Funktion OrthoPoly.
IIn> OrthoT(3, x); Out> x*(4*x^2-3); In> OrthoT(10, 0.9); Out> -0.2007474688; |
Die Tschebyscheff Polynome zweiter Art sind orthogonal bzgl. der Gewichtsfunktion (1-x^2)^(1/2). Sie sind spezielle Gegenbauer Polynome mit dem Parameter a=1. Sie erfüllen die Gleichungen:
U(0,x) = 1 U(1,x) = 2x U(n,x) = 2x U(n-1,x) - u(n-2,x), for n > 1. |
Die Hauptarbeit übernimmt die interne Funktion OrthoPoly.
In> OrthoU(3, x); Out> x*(8*x^2-4); In> OrthoU(10, 0.9); Out> -2.2234571776; |
Die Liste der Koeffizienten beginnt mit der kleinsten Ordnung, z.B.:
OrthoLSum(c, a, x) = c[1] L_0(a,x) + c[2] L_1(a,x) + ... + c[N] L_{N-1}(a,x). |
In> Expand(OrthoPSum({1,0,0,1/7,1/8}, 3/2, 2/3, x)); Out> (7068985*x^4)/3981312+(1648577*x^3)/995328+(-3502049*x^2)/4644864+(-4372969*x)/6967296+28292143/27869184; |
Alle bekannten Polynomfamilien sind in der Schlüsselliste KnownOrthoPoly abgespeichert. Der Name wird als Schlüssel verwendet. Zurzeit kennt Yacas folgende Polynomfamilien:
Ist der Wert "x" numerisch, wird die Funktion OrthoPolyNumeric aufgerufen, andernfalls wird mit OrthoPolyCoeffs eine Liste von Koeffizienten berechnet, die mit EvaluateHornerScheme in ein Polynom umgewandelt wird.
Ist der Wert "x" numerisch, wird die Funktion OrthoPolySumNumeric aufgerufen, andernfalls wird mit OrthoPolySumCoeffs eine Liste von Koeffizienten berechnet, die mit EvaluateHornerScheme in ein Polynom umgewandelt wird.