Komputeralgebrai Algoritmusok

Hasonló dokumentumok
Komputeralgebra Rendszerek

Komputeralgebra Rendszerek

Hatványozás. A hatványozás azonosságai

Komputeralgebra Rendszerek

ALGEBRAI KIFEJEZÉSEK, EGYENLETEK

Nagy Gábor compalg.inf.elte.hu/ nagy

Gyakorló feladatok 9.évf. halmaznak, írd fel az öt elemű részhalmazokat!. Add meg a következő halmazokat és ábrázold Venn-diagrammal:

The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003

1. A polinom fogalma. Számolás formális kifejezésekkel. Feladat Oldjuk meg az x2 + x + 1 x + 1. = x egyenletet.

Fixpontos és lebegőpontos DSP Számrendszerek

2. Fejezet : Számrendszerek

Klasszikus algebra előadás. Waldhauser Tamás április 14.

Algebrai egész kifejezések (polinomok)

Bevezetés az informatikába gyakorló feladatok Utoljára módosítva:

Negatív alapú számrendszerek

Komputeralgebra rendszerek

Komputeralgebra rendszerek

Felvételi vizsga mintatételsor Informatika írásbeli vizsga

Nagy Gábor compalg.inf.elte.hu/ nagy

Sapientia Egyetem, Műszaki és Humántudományok Tanszék.

22. GRÁFOK ÁBRÁZOLÁSA

Más szavakkal formálisan:, ahol olyan egész szám, hogy. Más szavakkal formálisan:, ahol olyan egész szám, hogy.

Bevezetés az informatikába gyakorló feladatok Utoljára módosítva:

1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba

Diszkrét matematika I.

Dinamikus modellek szerkezete, SDG modellek

egy szisztolikus példa

Diszkrét matematika 2.

4. Fejezet : Az egész számok (integer) ábrázolása

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Algebra

FFT. Második nekifutás. Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék október 2.

Feladatok a Gazdasági matematika II. tárgy gyakorlataihoz

5. Fejezet : Lebegőpontos számok. Lebegőpontos számok

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Diszkrét matematika 2 (C) vizsgaanyag, 2012 tavasz

Komputeralgebra Rendszerek

Nagy Gábor compalg.inf.elte.hu/ nagy

Kiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése

Előadó: Dr. Oniga István DIGITÁLIS TECHNIKA 3

Máté: Számítógép architektúrák

Komplex számok. Wettl Ferenc előadása alapján Wettl Ferenc előadása alapján Komplex számok / 18

Polinomosztás. Összeállította: Bogya Norbert. Diszkrét matematika I.gyakorlat

Komplex számok. Komplex számok és alakjaik, számolás komplex számokkal.

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix

Számítógépes Hálózatok 2012

Assembly programozás: 2. gyakorlat

Segédlet az Informatika alapjai I. című tárgy számrendszerek fejezetéhez

Funkcionálanalízis. n=1. n=1. x n y n. n=1

Nagypontosságú aritmetika I.

3. OSZTÁLY A TANANYAG ELRENDEZÉSE

Nagy Gábor compalg.inf.elte.hu/ nagy

16. modul: ALGEBRAI AZONOSSÁGOK

Differenciálegyenletek. Vajda István március 4.

Algoritmuselmélet gyakorlat (MMN111G)

Komputeralgebra Rendszerek

10-es számrendszer, 2-es számrendszer, 8-as számrendszer, 16-os számr. Számjegyek, alapműveletek.

Programozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek

Komputeralgebra rendszerek

Matematika alapjai; Feladatok

Speciális adatszerkezetek. Programozás alapjai II. (8. ea) C++ Tömbök. Tömbök/2. N dimenziós tömb. Nagyméretű ritka tömbök

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Számelmélet I.

Osztályozóvizsga és javítóvizsga témakörei Matematika 9. évfolyam

1. Interpoláció. Egyértelműség Ha f és g ilyen polinomok, akkor n helyen megegyeznek, így a polinomok azonossági tétele miatt egyenlők.

5. Fejezet : Lebegőpontos számok

Programozás alapjai II. (7. ea) C++

HHF0CX. k darab halmaz sorbarendezésének a lehetősége k! Így adódik az alábbi képlet:

Algoritmusok Tervezése. 1. Előadás MATLAB 1. Dr. Bécsi Tamás

2. Algebrai átalakítások

Nagy Gábor compalg.inf.elte.hu/ nagy

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Számítógépes Hálózatok. 7. gyakorlat

MATEMATIKA TANMENET SZAKKÖZÉPISKOLA 9.A, 9.D. OSZTÁLY HETI 4 ÓRA 37 HÉT ÖSSZ: 148 ÓRA

Rejtett részcsoportok és kvantum-számítógépek

Bevezetés az informatikába

Határozatlan integrál

2. Hatványozás, gyökvonás

DISZKRÉT MATEMATIKA 2 KIDOLGOZOTT TÉTELSOR 1. RÉSZ

Harmadik gyakorlat. Számrendszerek

4. hét: Ideális és valódi építőelemek. Steiner Henriette Egészségügyi mérnök

A Föld középpontja felé szabadon eső test sebessége növekszik, azaz, a

Komputeralgebra Rendszerek

Aritmetikai utasítások I.

Gépi tanulás a gyakorlatban. Lineáris regresszió

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Előfeldolgozó rendszer Tömbök. Dr. Bécsi Tamás 4. Előadás

Hajlított tartó elmozdulásmez jének meghatározása Ritz-módszerrel

I+K technológiák. Számrendszerek, kódolás

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.

LEBEGŐPONTOS SZÁMÁBRÁZOLÁS

A C programozási nyelv III. Pointerek és tömbök.

Műveletek lebegőpontos adatokkal

Követelmény az 5. évfolyamon félévkor matematikából

3. Előadás. Megyesi László: Lineáris algebra, oldal. 3. előadás Lineáris egyenletrendszerek

Polinomok A gyökök száma A gyökök és együtthatók összefüggése Szorzatra bontás, számelméleti kérdések A harmad- és negyedfokú egyenlet

Diszkrét matematika 2.C szakirány

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Bevezetés az informatikába

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

1. zárthelyi,

A C programozási nyelv III. Pointerek és tömbök.

Mátrixok 2017 Mátrixok

Átírás:

Komputeralgebrai Algoritmusok Adatábrázolás Czirbusz Sándor, Komputeralgebra Tanszék 2015-2016 Ősz

Többszörös pontosságú egészek Helyiértékes tárolás: l 1 s d i B i i=0 ahol B a számrendszer alapszáma, l a számjegyek száma, d i {0, 1,..., B 1} a számjegyek, s az előjel.

Többszörös pontosságú egészek Helyiértékes tárolás: l 1 s d i B i i=0 ahol B a számrendszer alapszáma, l a számjegyek száma, d i {0, 1,..., B 1} a számjegyek, s az előjel. Ábrázolási módok : Fix hosszúságú tömb Előre kell rögzíteni a hosszat, memóriapazarlás

Többszörös pontosságú egészek Helyiértékes tárolás: l 1 s d i B i i=0 ahol B a számrendszer alapszáma, l a számjegyek száma, d i {0, 1,..., B 1} a számjegyek, s az előjel. Ábrázolási módok : Fix hosszúságú tömb Előre kell rögzíteni a hosszat, memóriapazarlás Dinamikus lista A pointerek tárolása nagy memóriaigényű, a feldolgozási idő hosszú

Többszörös pontosságú egészek Helyiértékes tárolás: l 1 s d i B i i=0 ahol B a számrendszer alapszáma, l a számjegyek száma, d i {0, 1,..., B 1} a számjegyek, s az előjel. Ábrázolási módok : Fix hosszúságú tömb Előre kell rögzíteni a hosszat, memóriapazarlás Dinamikus lista A pointerek tárolása nagy memóriaigényű, a feldolgozási idő hosszú Dinamikus tömb Komoly memóriamenedzselést igényel

Megvalósítás GMP: MAPLE, Mathematica, Singular, Axiom

Megvalósítás GMP: MAPLE, Mathematica, Singular, Axiom MPIR: SAGEMATH, CoCoA

Megvalósítás GMP: MAPLE, Mathematica, Singular, Axiom MPIR: SAGEMATH, CoCoA

Megvalósítás GMP: MAPLE, Mathematica, Singular, Axiom MPIR: SAGEMATH, CoCoA Megjegyzés: a szabad rendszerekben többnyire cserélhetők

A MAPLE egészei Dinamikus adatvektor int± n i 0 i 1... i n

A MAPLE egészei Dinamikus adatvektor int± n i 0 i 1... i n Kis egészek: egy szóban (C jellegű adatkezelés)

A MAPLE egészei Dinamikus adatvektor int± n i 0 i 1... i n Kis egészek: egy szóban (C jellegű adatkezelés) A számrendszer alapszáma: 10 000.

Az adatabsztrakció forma szintjén eldöntendő kérdések: A) normál- vagy kanonikus reprezentáció;

Az adatabsztrakció forma szintjén eldöntendő kérdések: A) normál- vagy kanonikus reprezentáció; B) rekurzív vs disztributív reprezentáció;

Az adatabsztrakció forma szintjén eldöntendő kérdések: A) normál- vagy kanonikus reprezentáció; B) rekurzív vs disztributív reprezentáció; C) sűrű vs ritka ábrázolás;

Az adatabsztrakció forma szintjén eldöntendő kérdések: A) normál- vagy kanonikus reprezentáció; B) rekurzív vs disztributív reprezentáció; C) sűrű vs ritka ábrázolás; D) a zéruskitevő kérdése.

Megjegyzések az A) független a számítógépes ábrázolástól;

Megjegyzések az A) független a számítógépes ábrázolástól; rekurzív ábrázolás láncolt lista;

Megjegyzések az A) független a számítógépes ábrázolástól; rekurzív ábrázolás láncolt lista; disztributív tömbös;

Megjegyzések az A) független a számítógépes ábrázolástól; rekurzív ábrázolás láncolt lista; disztributív tömbös; a rendszerek többsége ritka ábrázolást használ;

Megjegyzések az A) független a számítógépes ábrázolástól; rekurzív ábrázolás láncolt lista; disztributív tömbös; a rendszerek többsége ritka ábrázolást használ; a D) nem túl lényeges.

Reprezentáció láncolt listával A D[x 2,..., x n ][x 1 ] tartományban kiszorzott kanonikus formát használunk, ezt rekurzíve alkalmazzuk D[x 2,..., x n ]-ben:

Reprezentáció láncolt listával A D[x 2,..., x n ][x 1 ] tartományban kiszorzott kanonikus formát használunk, ezt rekurzíve alkalmazzuk D[x 2,..., x n ]-ben: együttható-link exponens következő-link

Reprezentáció láncolt listával A D[x 2,..., x n ][x 1 ] tartományban kiszorzott kanonikus formát használunk, ezt rekurzíve alkalmazzuk D[x 2,..., x n ]-ben: együttható-link exponens következő-link Egy ilyen csúcspont egy a i x i 1 tag, ahol a i D[x 2,..., x n ];

Reprezentáció láncolt listával A D[x 2,..., x n ][x 1 ] tartományban kiszorzott kanonikus formát használunk, ezt rekurzíve alkalmazzuk D[x 2,..., x n ]-ben: együttható-link exponens következő-link Egy ilyen csúcspont egy a i x i 1 tag, ahol a i D[x 2,..., x n ]; ahol exponens = i, a linkek a szokásosak.

Reprezentáció láncolt listával A D[x 2,..., x n ][x 1 ] tartományban kiszorzott kanonikus formát használunk, ezt rekurzíve alkalmazzuk D[x 2,..., x n ]-ben: együttható-link exponens következő-link Egy ilyen csúcspont egy a i x i 1 tag, ahol a i D[x 2,..., x n ]; ahol exponens = i, a linkek a szokásosak. A MathPiper rendszer egy polinomja a ViewList parancsának kimeneteként:

Reprezentáció dinamikus tömbbel Többváltozós polinomot disztributív módon ábrázolunk: A polinom: típus/hossz coeff monom-link... coeff monom-link

Reprezentáció dinamikus tömbbel Többváltozós polinomot disztributív módon ábrázolunk: A polinom: típus/hossz coeff monom-link... coeff monom-link A monom: típus/hossz exp var... exp var

A klasszikus I Irányított körmentes gráf : A MAPLE-ben minden kifejezést egy reprezentál. A polinomok általában: sum expr 1 coeff 1 expr 2 coeff 2...,

A klasszikus I Irányított körmentes gráf : A MAPLE-ben minden kifejezést egy reprezentál. A polinomok általában: sum expr 1 coeff 1 expr 2 coeff 2..., vagyis sum = coeff 1 expr 1 + coeff 2 expr 2 +....

A klasszikus I Irányított körmentes gráf : A MAPLE-ben minden kifejezést egy reprezentál. A polinomok általában: sum expr 1 coeff 1 expr 2 coeff 2..., vagyis sum = coeff 1 expr 1 + coeff 2 expr 2 +.... A fenti expr k -k a polinom monomjai, melyek szorzatok: prod expr 1 exponent 1 expr 2 exponent 2...,

A klasszikus I Irányított körmentes gráf : A MAPLE-ben minden kifejezést egy reprezentál. A polinomok általában: sum expr 1 coeff 1 expr 2 coeff 2..., vagyis sum = coeff 1 expr 1 + coeff 2 expr 2 +.... A fenti expr k -k a polinom monomjai, melyek szorzatok: prod expr 1 exponent 1 expr 2 exponent 2..., tehát prod = expr exponent 1 1 expr exponent 2 2....

A klasszikus II

A klasszikus III Problémák a -gal: Fokszám-számítás, részkifejezés keresés, a gráfon rekurzívan végighaladva sok az elágazás, nagy a memória- és idő igénye: egy n-változós, t tagból álló polinomnál a fokszám O(nt) lépést igényel;

A klasszikus III Problémák a -gal: Fokszám-számítás, részkifejezés keresés, a gráfon rekurzívan végighaladva sok az elágazás, nagy a memória- és idő igénye: egy n-változós, t tagból álló polinomnál a fokszám O(nt) lépést igényel; Ha prod/7 x 1 y 3 z 1 szorzatot feldolgoztuk, a következő prod még akármi lehet, pl. x(x + y) 3 z, vagy sin(x 2 )cos(y) 3 z

A klasszikus III Problémák a -gal: Fokszám-számítás, részkifejezés keresés, a gráfon rekurzívan végighaladva sok az elágazás, nagy a memória- és idő igénye: egy n-változós, t tagból álló polinomnál a fokszám O(nt) lépést igényel; Ha prod/7 x 1 y 3 z 1 szorzatot feldolgoztuk, a következő prod még akármi lehet, pl. x(x + y) 3 z, vagy sin(x 2 )cos(y) 3 z a monomokkal végzett műveletek különösen lassúak, a prod-ban a változók nem rendezettek, a műveletigény négyzetes (háromváltozós monomok szorzása 200 órajel alatt)

A klasszikus III Problémák a -gal: Fokszám-számítás, részkifejezés keresés, a gráfon rekurzívan végighaladva sok az elágazás, nagy a memória- és idő igénye: egy n-változós, t tagból álló polinomnál a fokszám O(nt) lépést igényel; Ha prod/7 x 1 y 3 z 1 szorzatot feldolgoztuk, a következő prod még akármi lehet, pl. x(x + y) 3 z, vagy sin(x 2 )cos(y) 3 z a monomokkal végzett műveletek különösen lassúak, a prod-ban a változók nem rendezettek, a műveletigény négyzetes (háromváltozós monomok szorzása 200 órajel alatt) még a GPL-es konkurrencia is gyorsabb.

I Tekintsük a 9xy 3 z 4y 3 z 2 6xy 2 z 8x 3 5 polinomot megvalósítását a POLY szerkezetben:

II Magyarázat:

II Magyarázat: a változók egy rendezett sorozatban vannak;

II Magyarázat: a változók egy rendezett sorozatban vannak; egy tagban egy változó a kitevőjével együtt 16 bitet foglal;

II Magyarázat: a változók egy rendezett sorozatban vannak; egy tagban egy változó a kitevőjével együtt 16 bitet foglal; az xy 2 z 3 monom ábrázolása (6, 1, 2, 3), ahol a 6 a monom teljes fokszáma ez kiszámítva 6 2 48 + 2 32 + 2 2 16 + 3

Előnyök kompakt: pl. egy 3-változós polinom ábrázolásához tagonként 2 tömbbeli szó kell (egy 8-szavas láncolt gráfszerkezet helyett);

Előnyök kompakt: pl. egy 3-változós polinom ábrázolásához tagonként 2 tömbbeli szó kell (egy 8-szavas láncolt gráfszerkezet helyett); monomiálok: az összehasonlítás gépi szavak összehasonlítása, a szorzás összeadás, az osztás kivonás lesz (ha nincs túlcsordulás);

Előnyök kompakt: pl. egy 3-változós polinom ábrázolásához tagonként 2 tömbbeli szó kell (egy 8-szavas láncolt gráfszerkezet helyett); monomiálok: az összehasonlítás gépi szavak összehasonlítása, a szorzás összeadás, az osztás kivonás lesz (ha nincs túlcsordulás); az egyszerű függvények rendkívül gyorsak: indets(p), degree(p), has(f, x), type(f, polynom)

Előnyök kompakt: pl. egy 3-változós polinom ábrázolásához tagonként 2 tömbbeli szó kell (egy 8-szavas láncolt gráfszerkezet helyett); monomiálok: az összehasonlítás gépi szavak összehasonlítása, a szorzás összeadás, az osztás kivonás lesz (ha nincs túlcsordulás); az egyszerű függvények rendkívül gyorsak: indets(p), degree(p), has(f, x), type(f, polynom) sok bonyolultabb függvény is jóval gyorsabb a soros memóriaelrendezés miatt: deg(f, x), diff(f, x), coeff(f, x, i);

Előnyök kompakt: pl. egy 3-változós polinom ábrázolásához tagonként 2 tömbbeli szó kell (egy 8-szavas láncolt gráfszerkezet helyett); monomiálok: az összehasonlítás gépi szavak összehasonlítása, a szorzás összeadás, az osztás kivonás lesz (ha nincs túlcsordulás); az egyszerű függvények rendkívül gyorsak: indets(p), degree(p), has(f, x), type(f, polynom) sok bonyolultabb függvény is jóval gyorsabb a soros memóriaelrendezés miatt: deg(f, x), diff(f, x), coeff(f, x, i); nagy polinomok esetén sem keletkezik sok apróbb objektum

Megjegyzések az elv elég régi (ALTRAN, Buchberger);

Megjegyzések az elv elég régi (ALTRAN, Buchberger); csak egész együtthatós polinomokra működik;

Megjegyzések az elv elég régi (ALTRAN, Buchberger); csak egész együtthatós polinomokra működik; egy kitevő egy legfeljebb 16-bites szám lehet;

Megjegyzések az elv elég régi (ALTRAN, Buchberger); csak egész együtthatós polinomokra működik; egy kitevő egy legfeljebb 16-bites szám lehet; a változók száma legfeljebb 32 lehet (64 bites gépen);

Megjegyzések az elv elég régi (ALTRAN, Buchberger); csak egész együtthatós polinomokra működik; egy kitevő egy legfeljebb 16-bites szám lehet; a változók száma legfeljebb 32 lehet (64 bites gépen); a többi esetben a régi szerkezetet használja;

Megjegyzések az elv elég régi (ALTRAN, Buchberger); csak egész együtthatós polinomokra működik; egy kitevő egy legfeljebb 16-bites szám lehet; a változók száma legfeljebb 32 lehet (64 bites gépen); a többi esetben a régi szerkezetet használja; sok a háttérben zajló konverzió a két forma között.

eldöntendő kérdések csonkolt ábrázolás (TPS);

eldöntendő kérdések csonkolt ábrázolás (TPS); együttható függvény.