Pierścień wielomianów
Transkrypt
Pierścień wielomianów
Zajęcia nr 5 WIELOMIANY Prowadzący: mgr Marcin Spryszyński www: http://www-users.mat.uni.torun.pl/ ∼spryszyn e-mail: [email protected] Istotna informacja Maple poprzez słowo wielomian rozumie wyrażenie algebraiczne będące sumą jednomianów, w których „rozważana” niewiadoma jest w potęgach naturalnych, natomiast współczynniki mogą być liczbami rzeczywistymi, zespolonymi lub wyrażeniami algebraicznymi. Zatem wyrażenie h > h:=3*x∧ 4*y∧ 5+x∧ 2-3*y∧ 3+2; jest wielomianem względem obu niewiadomych x oraz y. Natomiast wyrażenie s > s:=3*x∧ (4/3)*y∧ 5+x∧ 2-3*y∧ 3+2; jest już tylko wielomianem względem niewiadomej y. Podstawowe komendy F Uwaga: Jako, że wielomiany są wyrażeniami algebraicznymi, to działania na nich (dodawanie, odejmowanie, mnożenie i potęgowanie) wykonuje się identycznie jak wcześniej. Dzielenie i pierwiastkowanie nie są niestety zawsze wykonalne - nie są działaniami dobrze zdefiniowanymi w pierścieniu wielomianów. X degree(f,x) - stopień wielomianu f względem zmiennej x, X sort(f,x) - porządkuje wielomian f względem malejących potęg zmiennej x, F Uwaga: Komenda sort ma wiele innych możliwości, o czym można się przekonać sięgając do „helpa” programu Maple. F Przykład: Efektem działania komendy > sort(h,[x,y],ascending) będzie uporządkowanie wielomianu h względem stopni składowych jednomianów postaci α · xβ · y γ , gdzie α jest wyrażeniem algebraicznym, w którym brak jest zmiennych x, y (od najmniejszego do największego). Natomiast > sort(h,[x,y],descending) posortuje wielomian h względem stopni składowych wielomianów od największego do najmniejszego. Jeśli chcemy wielomian h posortować leksykograficznie względem par (β, γ) to wykonać to możemy poleceniem > sort(h,[x,y],plex) (wpierw sortuje względem potęg zmiennej x, a następnie względem potęg zmiennej y). X coeff(f,x,k) - współczynnik wielomianu f przy xk (k ∈ N), X lcoeff(f,x) - „najstarszy” współczynnik wielomianu f względem zmiennej x (tzn. przy największej potędze zmiennej x przy której „stoi” niezerowy współczynnik), 1 X expand(f) - zwraca wielomian w postaci ogólnej (czytaj: wymnaża wszelkie nawiasy!), X factor(f) - rozkłada wielomian f na czynniki nierozkładalne nad ciałem liczb wymiernych, X rem(f,g,x,’q’) - zwraca resztę z dzielenia wielomianu f przez wielomian g względem zmiennej x. Parametrem opcjonalnym (tzn. nieobowiązkowym) jest q pod którym kryje się iloraz tych wielomianów przez siebie, X quo(f,g,x,’q’) - zwraca iloraz z dzielenia wielomianu f przez wielomian g względem zmiennej x. Parametrem opcjonalnym (tzn. nieobowiązkowym) jest q pod którym kryje się reszta z dzielenia tych wielomianów przez siebie, X gcd(f,g,’a’,’b’) - zwraca największy wspólny dzielnik wielomianów f oraz g; parametrami opcjonalnymi są g f def. def. , b = , a = gcd(f, g) gcd(f, g) X lcm(f,g) - zwraca najmniejszą wspólną wielokrotność wielomianów f oraz g, X divide(f,g,’a’) - funkcja zwraca true, gdy wielomian f jest podzielny przez wielomian g, false, gdy taka relacja nie ma miejsca, FAIL, gdy nie może tego ocenić; w przypadku gdy wynikiem jest true parametr opcjonalny a przyjmuje jako wartość iloraz fg , Przykład zastosowania wielomianów1 F Zadanie: Znaleźć ilość liczb pierwszych na przedziale [12, 1000]. F Rozwiązanie: Efektem działania poniższych komend > h1:=sum(isprime(i),i=2..1000); h1:=826false+163true > lcoeff(h1,true); 163 jest szukana liczba, gdyż w wyrażeniu h1 algebraicznie zsumowane są (jako zwykłe niewiadome) wartości logiczne. Potraktowanie takiego wyrażenia jako wielomianu zmiennej true i odczytanie „najstarszego” współczynnika daje ilość liczb pierwszych na zadanym przedziale. 1 Zaczerpnięty ze skryptu Pani dr Justyny Kossakowskiej. 2