Expand , Degree , Coef , Content , PrimitivePart , LeadingCoef , Monic , RandomPoly , Horner , ExpandBrackets , OrthoP , OrthoH , OrthoG , OrthoL , OrthoT , OrthoU , OrthoPSum , OrthoHSum , OrthoLSum , OrthoGSum , OrthoTSum , OrthoUSum , OrthoPoly , OrthoPolySum .

Polynome

In diesem Abschnitt werden die für das Arbeiten mit Polynomen notwendigen Befehle erläutert. Dies schließt Funktionen zur Erzeugung und Berechnung orthogonaler Polynom ein.

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


Expand - formt das Polynom um in die Summenschreibweise

mathematische Standardbibliothek
Funktionsaufruf:
Expand(expr)
Expand(expr, var)
Expand(expr, varlist)
Parameter:
expr - ein Polynom
var - eine Variable
varlist - eine Liste von Variablen
Beschreibung:
Das Ergebnis ist das Polynom "expr" in der Form:
c0 + c1*x + c2*x^2 + ... + cn*x^n.

Enthält der Term "expr" nur eine Variable, so kann der erste Funktionsaufruf verwendet werden, ansonsten muss die Funktionsvariable mit "var" explizit angegeben werden.
Der dritte Funktionsaufruf wird bei multivariaten Polynomen verwendet. Zunächst wird das Polynom "expr" nach der ersten Variablen der Liste "varlist" umgeformt. Dann werden alle Koeffizienten nach der zweiten Variablen umgeformt usw.
Beispiele:
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>
Siehe auch:
ExpandBrackets


Degree - Grad eines Polynoms

mathematische Standardbibliothek
Funktionsaufruf:
Degree(expr)
Degree(expr, var)
Parameter:
expr - ein Polynom
var - eine Variable
Beschreibung:
Das Ergebnis ist der Grad des Polynoms "expr" bezüglich der Variablen "var". Der Grad eines Polynoms ist der größte vorkommende Exponent von "var". Enthält der Term "expr" nur eine Variable, so kann der erste Funktionsaufruf verwendet werden, ansonsten muss die Funktionsvariable mit "var" explizit angegeben werden.
Beispiele:
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;
Siehe auch:
Expand , Coef .


Coef -- Koeffizient eines Polynoms

mathematische Standardbibliothek
Funktionsaufruf:
Coef(expr, var, order)
Parameter:
expr - ein Polynom
var - eine Variable
order - nat. Zahl oder Liste nat. Zahlen
Beschreibung:
Das Ergebnis ist der Koeffizient der Variablen "var" mit dem Exponenten "order". Ist der Parameter "order" eine Liste von Exponenten, so ist das Ergebnis eine Liste der zugehörigen Koeffizienten.
Beispiele:
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};
Siehe auch:
Expand , Degree , LeadingCoef .


Content - Inhalt eines univariaten Polynoms

mathematische Standardbibliothek
Funktionsaufruf:
Content(expr)
Parameter:
expr - ein univariates Polynom
Beschreibung:
Das Ergebnis ist der Inhalt eines univariaten Polynoms. Der Inhalt ist der größtmögliche Term durch den das Polynom ohne Rest teilbar ist. Jedes Polynom kann als Produkt von Inhalt und primitivem Teil geschrieben werden.
Beispiele:
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;
Siehe auch:
PrimitivePart , Gcd .


PrimitivePart - primitiver Teil eines univariaten Polynoms

mathematische Standardbibliothek
Funktionsaufruf:
PrimitivePart(expr)
Parameter:
expr - ein univariates Polynom
Beschreibung:
Das Ergebnis ist der primitive Teil eines univariaten Polynoms. Der primitive Teil ist der Rest, der bei Division des Polynoms durch seinen Inhalt verbleibt. Das Produkt von Inhalt und primitivem Teil ist das ursprüngliche Polynom.
Beispiele:
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;
Siehe auch:
Content .


LeadingCoef - führender Koeffizient eines Polynoms

mathematische Standardbibliothek
Funktionsaufruf:
LeadingCoef(poly)
LeadingCoef(poly, var)
Parameter:
poly - ein Polynom
var - eine Variable
Beschreibung:
Das Ergebnis ist der führende Koeffizient des Polynoms "poly" bzgl. der Varibalen "var". Der führende Koeffizient ist der Koeffizient der Variablen mit dem größten Exponenten. Enthält der Term "poly" nur eine Variable, so kann der erste Funktionsaufruf verwendet werden, ansonsten muss die Funktionsvariable mit "var" explizit angegeben werden.
Beispiele:
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;
Siehe auch:
Coef , Monic .


Monic - normierter Teil eines Polynoms

mathematische Standardbibliothek
Funktionsaufruf:
Monic(poly)
Monic(poly, var)
Parameter:
poly - ein Polynom
var - eine Variable
Beschreibung:
Das Ergebnis ist der normierte Teil des Polynoms "poly" bzgl. der Variablen "var". Der normierte Teil entsteht durch Division des Polynoms durch den führenden Koeffizienten. Der führende Koeffizient des normierten Polynoms ist somit immer Eins. Enthält der Term "poly" nur eine Variable, so kann der erste Funktionsaufruf verwendet werden, ansonsten muss die Funktionsvariable mit "var" explizit angegeben werden.
Beispiele:
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);
Siehe auch:
LeadingCoef .


RandomPoly - Zufallspolynom

mathematische Standardbibliothek
Funktionsaufruf:
RandomPoly(var,deg,coefmin,coefmax)
Parameter:
var - Funktionsvariable des gesuchten Polynoms
deg - Grad des gesuchten Polynoms
coefmin - minimaler Wert der Koeffizienten
coefmax - maximaler Wert der Koeffizienten
Beschreibung:
Die Funktion erzeugt ein Zufallspolynom vom Grad "deg" in der Variablen "var". Alle Koeffizienten sind ganzzahlige unabhängige Zufallszahlen aus dem Intervall [coefmin | coefmax].
Beispiele:
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;
Siehe auch:
Random , RandomIntegerVector .


Div und Mod für Polynome

mathematische Standardbibliothek

Die Funktionen Div und Mod entsprechen den gleichnamigen Funktionen für ganze Zahlen. Das Argument ist hier jedoch ein Polynom.
Siehe auch:
Div , Mod .


Horner - Hornerform eines Polynoms

mathematische Standardbibliothek
Funktionsaufruf:
Horner(expr, var)
Parameter:
expr - ein univariates Polynom
var - eine Variable
Beschreibung:
Die Funktion wandelt das Polynom "expr" in die Hornerform um. Die Normalform eines Polynoms ist ein Ausdruck der Form:

                                  n-1           n
c(0) + c(1) * x + ... + c(n-1) * x    + c(n) * x  

Die Hornerform ist ein Ausdruck der Form:

(...( c(n) * x + c(n-1) ) * x + ...  + c(1) ) * x + c(0)

Beide Terme sind äquivalent. Berechnungen in der Hornerform sind jedoch effizienter, da keine Potenzen zu berechnen sind.
Beispiele:
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 
Siehe auch:
Expand , ExpandBrackets .


ExpandBrackets - Auflösen aller im Polynom enthaltenen Klammerausdrücke

mathematische Standardbibliothek
Funktionsaufruf:
ExpandBrackets(expr)
Parameter:
expr - ein Term
Beschreibung:
Die Funktion versucht durch wiederholte Anwendung der Distributivgesetze

a * (b+c) = a*b + a*c und (a+b) * c = a*c + b*c

alle im Term vorkommenden Klammerausdrücke aufzulösen.
Beispiele:
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;
Siehe auch:
Expand .


OrthoP -- orthogonale Legendre und Jacobi Polynome

mathematische Standardbibliothek
Funktionsaufruf:
OrthoP(n, x);
OrthoP(n, a, b, x);
Parameter:
n - Grad des Polynoms
x - zu berechnender Wert
a, b - Parameter für Jacobi Polynome
Beschreibung:
Der erste Funktionsaufruf berechnet das Legendre Polynom vom Grad "n" an der Stelle "x".
Der zweite Funktionsaufruf führt die gleiche Berechnung für das Jacobi Polynom mit den Parametern "a" und "b" durch. "a" und "b" sollten größer als -1 sein.

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.
Beispiele:
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>
siehe auch:
OrthoPSum , OrthoG , OrthoPoly .


OrthoH -- hermitesche orthogonale Polynome

mathematische Standardbibliothek
Funktionsaufruf:
OrthoH(n, x);
Parameter:
n - Grad des Polynoms
x - zu berechnender Wert
Beschreibung:
Diese Funktion berechnet das hermitesche Polynom vom Grad "n" an der Stelle "x".

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.
Beispiele:
In> OrthoH(3, x);
Out> x*(8*x^2-12);

In> OrthoH(6, 0.5);
Out> 31;
siehe auch:
OrthoHSum , OrthoPoly .


OrthoG -- orthogonale Gegenbauer Polynome

mathematische Standardbibliothek
Funktionsaufruf:
OrthoG(n, a, x);
Parameter:
n - Grad des Polynoms
a - Parameter
x - zu berechnender Wert
Beschreibung:
Diese Funktion berechnet das Gegenbauer Polynom vom Grad "n" mit dem Parameter "a" an der Stelle "x". Der Parameter "a" sollte größer -1/2 sein.

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.
Beispiele:
In> OrthoG(5, 1, x);
Out> x*((32*x^2-32)*x^2+6);

In> OrthoG(5, 2, -0.5);
Out> 2;
siehe auch:
OrthoP , OrthoT , OrthoU , OrthoGSum , OrthoPoly .


OrthoL -- orthogonale Laguerre Polynome

mathematische Standardbibliothek
Funktionsaufruf:
OrthoL(n, a, x);
Parameter:
n - Grad des Polynoms
a - Parameter
x - zu berechnender Wert
Beschreibung:
Diese Funktion berechnet das Laguerre Polynom vom Grad "n" mit dem Parameter "a" an der Stelle "x". Der Parameter "a" sollte größer -1 sein.

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.
Beispiele:
In> OrthoL(3, 1, x);
Out> x*(x*(2-x/6)-6)+4;

In> OrthoL(3, 1/2, 0.25);
Out> 1.2005208334;
siehe auch:
OrthoLSum , OrthoPoly .


OrthoT -- Tshebyscheff Polynome erster Art

mathematische Standardbibliothek
Funktionsaufruf:
OrthoT(n, x);
Parameter:
n - Grad des Polynoms
x - zu berechnender Wert
Beschreibung:
Diese Funktion berechnet das Tschebyscheff Polynom erster Art vom Grad "n" an der Stelle "x".

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.
Beispiele:
IIn> OrthoT(3, x);
Out> x*(4*x^2-3);

In> OrthoT(10, 0.9);
Out> -0.2007474688;
siehe auch:
OrthoG , OrthoU , OrthoTSum , OrthoPoly .


OrthoU -- Tshebyscheff Polynome zweiter Art

mathematische Standardbibliothek
Funktionsaufruf:
OrthoU(n, x);
Parameter:
n - Grad des Polynoms
x - zu berechnender Wert
Beschreibung:
Diese Funktion berechnet das Tschebyscheff Polynom zweiter Art vom Grad "n" an der Stelle "x".

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.
Beispiele:
In> OrthoU(3, x);
Out> x*(8*x^2-4);

In> OrthoU(10, 0.9);
Out> -2.2234571776;
siehe auch:
OrthoG , OrthoT , OrthoUSum , OrthoPoly .


OrthoPSum -- Summe einer Folge von Legendre and 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

mathematische Standardbibliothek
Funktionsaufruf:
OrthoPSum(c, x);
OrthoPSum(c, a, b, x);
OrthoHSum(c, x);
OrthoLSum(c, a, x);
OrthoGSum(c, a, x);
OrthoTSum(c, x);
OrthoUSum(c, x);
Parameter:
c - eine Liste von Koeffizienten
a, b - Parameter des jeweiligen Polynoms
x - zu berechnender Wert
Beschreibung:
Diese Funktionen berechnen die Summe einer Folge von orthogonalen Polynomen (mit konstanten Parametern "a" und "b") an der Stelle "x". Die Koeffizienten der Reihe werden in der Liste "c" angegeben.

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).

Die Hauptarbeit übernimmt die interne Funktion OrthoPolySum.
Beispiele:
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;
siehe auch:
OrthoP , OrthoG , OrthoH , OrthoL , OrthoT , OrthoU , OrthoPolySum .


OrthoPoly -- interne Funktion zum Erzeugen orthogonaler Polynome

mathematische Standardbibliothek
Funktionsaufruf:
OrthoPoly(name, n, par, x)
Parameter:
name - String mit dem Namen der Polynomfamilie
n - Grad des Polynoms
par - Liste der Parameter
x - zu berechnender Wert
Beschreibung:
Diese Funktion wird intern zum Konstruieren orthogonaler Polynome verwendet. Das Ergebnis ist das Polynom vom Grad "n" der Familie "name" mit den Parametern "par" an der Stelle "x".

Alle bekannten Polynomfamilien sind in der Schlüsselliste KnownOrthoPoly abgespeichert. Der Name wird als Schlüssel verwendet. Zurzeit kennt Yacas folgende Polynomfamilien:
"Jacobi", "Gegenbauer", "Laguerre", "Hermite", "Tscheb1" und "Tscheb2".
Das zum Schlüssel gehörige Listenelement ist eine Funktion mit den beiden Argumenten "n" und "p", die eine Liste von zwei Listen als Ergebnis liefert: Die erste Liste enthält die Koeffizienten {A,B} des Polynoms vom Grad n=1, die zweite Liste enthält die Koeffizienten {A,B,C} der Gewichtsfunktion.

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.
siehe auch:
OrthoP , OrthoG , OrthoH , OrthoL , OrthoT , OrthoU , OrthoPolySum .


OrthoPolySum -- interne Funktion zum Berechnen von Reihen orthogonaler Polynome

mathematische Standardbibliothek
Funktionsaufruf:
OrthoPolySum(name, c, par, x)
Parameter:
name - String mit dem Namen der Polynomfamilie
c - Liste von Koeffizienten
par - Liste der Parameter
x - zu berechnender Wert
Beschreibung:
Diese Funktion wird intern zum Berechnen einer Reihe von orthogonalen Polynomen verwendet. Sie entspricht der Funktion OrthoPoly und liefert als Ergebnis die Summe einer Folge von Polynomen der Familie "name" an der Stelle "x". "c" ist die Liste der Koeffizienten der Folge.

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.
siehe auch:
OrthoPSum , OrthoGSum , OrthoHSum , OrthoLSum , OrthoTSum , OrthoUSum , OrthoPoly .