Algorytmy transformacji wielomianowych i ich zastosowania

Wielkość: px
Rozpocząć pokaz od strony:

Download "Algorytmy transformacji wielomianowych i ich zastosowania"

Transkrypt

1 INSTYTUT BADAŃ SYSTEMOWYCH PAN mgr Joanna Kapusta Niestacjonarne Studia Doktoranckie Rozprawa doktorska pt. Algorytmy transformacji wielomianowych i ich zastosowania Promotor: dr hab. Ryszard Smarzewski, prof. KUL

2 Składam serdeczne podziękowania Panu dr hab. Ryszardowi Smarzewskiemu, prof. KUL, za cenne uwagi, które przyczyniły się do nadania niniejszej rozprawie jej ostatecznego kształtu oraz okazaną życzliwość.

3 Spis treści 1. Wstęp Cel pracy oraz motywy wyboru problematyki badawczej Tezy pracy Struktura pracy I Transformacje wielomianowe dla specjalnych konfiguracji punktów 9 2. Aktualny stan wiedzy Preliminaria DFT, jednowymiarowy splot i dekonwolucja Splot wielowymiarowy Nowe algorytmy ewaluacji i interpolacji jednowymiarowej Bazy wielomianowe Transformacja Lagrange a-newtona Transformacja Newtona-Lagrange a Ewaluacja wielomianów w bazie potęgowej Analiza porównawcza algorytmów Interpolacyjne i ewaluacyjne transformacje wielowymiarowe Sformułowanie problemu Transformacja Lagrange a-newtona Odwrotna transformacja Lagrange a-newtona Transformacja Maclaurina-Lagrange a

4 Spis treści II Zastosowania transformacji wielomianowych Współdzielenie sekretu Podstawowe informacje Hierarchiczne dzielenie sekretu Podział sekretu ze wskazaniem jednostki odzyskującej sekret Dzielenie sekretu z kluczem wielomianowym Głosowanie elektroniczne E-głosowanie na świecie Wymagania wobec elektronicznego systemu głosowań Przykłady schematów głosowania elektronicznego Model głosowania elektronicznego Analiza bezpieczeństwa Transmisja rozgłoszeniowa Schemat komunikacji rozgłoszeniowej Protokół transmisji rozgłoszeniowej w oparciu o hierarchiczny schemat dzielenia sekretu Podsumowanie 83 Bibliografia 84 2

5 1. Wstęp 1.1. Cel pracy oraz motywy wyboru problematyki badawczej Istotnym elementem nauk informatycznych jest projektowanie i analiza algorytmów, mających najczęściej swoje korzenie w szeroko rozumianej matematyce. Niniejsza rozprawa skupia się na jednym z ważnych [Knuth, 2002] zagadnień z tego obszaru - zaprezentowano w niej nowe algorytmy obliczania transformacji wielomianowych, tj. metody przekształcania reprezentacji wielomianu jednej lub wielu zmiennych w bazie {H α (x)} α Qn p (x) = α Q n a α H α (x) do reprezentacji tego wielomianu p (x) = α Q n b α G α (x) w bazie {G α (x)} α Qn, gdzie Q n oznacza odpowiednio ustalony zbiór indeksów. Celem niniejszej rozprawy doktorskiej jest opracowanie nowych, szybkich algorytmów transformacji wielomianowych dla baz zależnych od specjalnych konfiguracji punktów. Proponowane algorytmy operują na zbiorach punktów rozszerzających klasę ciągów punktów, dla których znane są szybkie algorytmy tego rodzaju [Cooley i Tukey, 1965; Knuth, 2002; Aho i inni, 2003; Bostan i Schost, 2005]. Dokładniej, w pracy przedstawiono algorytmy dla jednowymiarowych, a następnie dla wielowymiarowych transformacji wielomianowych wykorzystujących bazy Lagrange a, Newtona i potęgową z uwzględnieniem punktów, których współrzędne są generowane przez równanie rekurencyjne pierwszego rzędu. Wspomniane algorytmy w istotny sposób wykorzystują jedno- i wielowymiarowe sploty. Zaprezentowano je w postaci łatwej do efektywnej implementacji. Ponadto 3

6 Wstęp przeprowadzono szczegółową analizę złożoności obliczeniowej tych algorytmów. Następnie podano ich zastosowania w aktualnych problemach kryptograficznych takich jak: dzielenie sekretu, głosowanie elektroniczne, wymiana kluczy z wykorzystaniem transmisji rozgłoszeniowej. Aktualność tych zagadnień wynika m.in. z szybkiego rozwoju internetu oraz stałego wzrostu znaczenia, jakie ma on w życiu jednostek i całych społeczeństw. W pracy szczególną uwagę zwrócono na głosowania elektroniczne ze względu na duży potencjał, jaki ze sobą niosą oraz na naturalne powiązanie prezentowanego modelu głosowań z omawianymi algorytmami transformacji wielomianowych. Głosowania z wykorzystaniem internetu umożliwiają partycypowanie w podejmowaniu decyzji dużej grupie uczestników bez konieczności przemieszczania się do miejsca głosowania, co oszczędza czas, koszty i może być dodatkową zachętą do udziału w głosowaniu. Ponadto umożliwiają one oddanie głosu osobom, które z różnych względów (np. problemy zdrowotne) muszą rezygnować z udziału w tradycyjnych głosowaniach. Wspomniane zalety powodują, że systemy wykorzystujące nowoczesne technologie są ciągle przedmiotem zainteresowań i badań, zarówno w kontekście głosowań [Fujioka i inni, 1993], [Klonowski i inni, 2005], [Zwierko i Kotulski, 2007], wymiany opinii mającej na celu wypracowanie konsensusu [Kacprzyk i Zadrożny, 2008], [Kacprzyk i Zadrożny, 2010], czy też w kontekście wspierania procesu podejmowania decyzji [Kacprzyk i Zadrożny, 2005]. W pracy przedstawiono model, który może być wykorzystany do zbierania i zliczania głosów oddawanych przez internet oraz z wykorzystaniem maszyn do głosowania. Ustalenie sposobu interpretacji wyników głosowania i wskazania wariantu zwycięskiego może odbywać się przy pomocy różnych technik (np. Condorceta, Bordy, większościowej, aprobującej [Nurmi, 2002]), które nie muszą prowadzić do takiego samego rezultatu. Okazuje się, że dla 100-osobowej grupy, w której głosy rozkładają się 48:23:22:6:1, mającej wybrać jeden wariant spośród 5 możliwych, nawet wariant o 6-głosowym poparciu może wygrać głosowanie [Hołubiec i Mercik, 2006]. Innym istotnym zastosowaniem algorytmów transformacji wielomianowych, rozważanym w pracy, jest transmisja rozgłoszeniowa. Polega ona na rozsyłaniu zaszyfrowanej wiadomości do dużej grupy użytkowników w taki sposób, że wiadomość może zostać odtworzona jedynie przez członków dynamicznie zmieniającej się, uprawnionej podgrupy. Przykładem zastosowania transmisji tego typu jest kodowana trans- 4

7 Wstęp misja telewizyjnych platform cyfrowych - tylko użytkownicy, którzy dokonali opłaty mają dostęp do programów telewizyjnych. Wymienione zastosowania wykorzystują zaprezentowany w pracy hierarchiczny model dzielenia sekretu, który jest uogólnieniem klasycznego schematu Shamira [Shamir, 1979]. Schemat Shamira bazuje na interpolacji Lagrange a, natomiast proponowany hierarchiczny model dzielenia sekretu bazuje na interpolacji Hermite a. Zastosowanie interpolacji Hermite a pozwala na stosowanie tego schematu w grupach o ustalonej hierarchii. Rozważając rzeczywiste przypadki nie jest trudno znaleźć przykłady instytucji lub organizacji (np. bank, wojsko), w których istnieje ustalona hierarchia podyktowana autorytetem jednostek, czy odpowiedzialnością jaka na nich spoczywa. Rozdzielenie tajnej informacji wśród członków takiej grupy wymaga zazwyczaj uwzględnienia wspomnianej hierarchii. W pracy przedstawiono kilka wariantów schematu dzielenia sekretu umożliwiających dopasowanie go do potrzeb tego typu grup. Zaprezentowany model pozwala również na uwzględnienie sytuacji, w której do odzyskania sekretu konieczne jest uczestnictwo wybranych jednostek. W niniejszej rozprawie ograniczono się do przedstawienia wybranych zastosowań algorytmów transformacji wielomianowych. Inne typowe ich zastosowania to interpolacja, ekstrapolacja, aproksymacja oraz metody typu Galerkina rozwiązywania równań różniczkowych [Bini i Pan, 1994; Stoer i Bulirsch, 1993; Kincaid i Cheney, 2006]. Zamierzeniem autora nie było przytoczenie większości znanych zastosowań transformacji wielomianowych, ale ukazanie własnych osiągnięć z tego zakresu na tle współczesnych badań. W pracy skupiono się na praktycznych zastosowaniach, możliwych do wykorzystania w życiu społecznym czy przedsięwzięciach komercyjnych (głosowania, transmisja rozgłoszeniowa). Konsekwencją tego jest pewnego rodzaju różnorodność zagadnień podejmowanych w pracy, w których centrum znajdują się algorytmy transformacji wielomianowych Tezy pracy Przeprowadzone studia literaturowe oraz dotychczasowe badania pozwoliły na sformułowanie następujących tez pracy: 1. Możliwe jest rozszerzenie klasy ciągów punktów, dla których znane są szybkie 5

8 Wstęp algorytmy interpolacyjne i ewaluacyjne. 2. Istnieją szybkie algorytmy obliczania jedno- i wielowymiarowych transformacji wielomianowych z uwzględnieniem baz wielomianowych Lagrange a, Newtona oraz potęgowej, dla punktów spełniających równanie rekurencyjne pierwszego rzędu. 3. Możliwe jest zastosowanie opracowanych algorytmów transformacji wielomianowych w protokołach kryptograficznych, tj. protokole dzielenia sekretu, głosowania elektronicznego oraz transmisji rozgłoszeniowej wykluczającej Struktura pracy Rozprawa składa się z 9 rozdziałów. Pierwszy rozdział stanowi wprowadzenie do tematyki rozważanej w pracy. Zawiera on opis celów badawczych, zakresu pracy oraz motywacji, które doprowadziły do opracowania nowych algorytmów i ich zastosowań. W pracy zostały wyodrębnione dwie zasadnicze części. Pierwsza z nich (rozdziały 2-5) dotyczy algorytmów obliczania transformacji wielomianowych, natomiast część druga (rozdziały 6-8) omawia zastosowania transformacji wielomianowych. Pierwszą część pracy rozpoczyna rozdział omawiający aktualny stan wiedzy z zakresu transformacji wielomianowych. Zawiera on przegląd wyników opublikowanych w uznanych i cenionych w świecie nauki czasopismach oraz monografiach. W rozdziale trzecim przytoczono podstawowe pojęcia dotyczące jedno- i wielowymiarowych splotów oraz podano metody ich obliczania z wykorzystaniem dyskretnej transformacji Fouriera [Aho i inni, 2003]. Algorytmy proponowane w niniejszej rozprawie należą do rodziny algorytmów wykorzystujących w sposób istotny te zagadnienia. Ponadto wprowadzono definicję cząstkowego splotu hipermacierzowego, która pozwala na przejrzysty zapis algorytmu obliczania splotu wielowymiarowego i ułatwia oszacowanie jego złożoności obliczeniowej. Następnie podano algorytmy obliczania jedno- i wielowymiarowych dekonwolucji, które bazują na iteracyjnej metodzie Newtona [Borwein i Borwein, 1987]. W kolejnych dwóch rozdziałach zaprezentowano nowe wyniki dotyczące transformacji wielomianowych z uwzględnieniem wybranych baz wielomianowych: potęgowej, Lagrange a i Newtona. Dokładniej, w czwartym rozdziale zaprezentowano 6

9 Wstęp algorytmy obliczania jednowymiarowej transformacji Lagrange a-newtona i transformacji do niej odwrotnej z uwzględnieniem punktów spełniających równanie rekurencyjne pierwszego rzędu. Ponadto dla wymienionej klasy punktów przedstawiono algorytm ewaluacji wielomianów w reprezentacji potęgowej. Podana klasa punktów rozszerza zbiór klas punktów analizowanych w dotychczasowej literaturze przedmiotu, m.in. w pracach [Bini i Pan, 1994; Bostan i Schost, 2005]. W tym rozdziale znalazła się również analiza porównawcza opracowanych algorytmów z innymi znanymi algorytmami transformacji wielomianowych oraz ocena uzyskanych wyników. Część poruszanych w nim zagadnień została opublikowana w pracy [Smarzewski i Kapusta, 2007]. W rozdziale piątym idee z poprzedniego rozdziału uogólniono na wiele wymiarów. W obu przypadkach - jedno- i wielowymiarowym, położono specjalny nacisk na szczegóły algorytmizacji. Niektóre rezultaty tego rozdziału, dla przypadku dwuwymiarowego zostały omówione w artykule [Kapusta i Smarzewski, 2007b], natomiast dla przypadku wielowymiarowego - w [Kapusta i Smarzewski, 2009]. Rozdział szósty rozpoczyna drugą część pracy poświęconą zastosowaniom transformacji wielomianowych. Został w nim przedstawiony szczegółowy opis hierarchicznego schematu dzielenia sekretu. W omawianym schemacie transformacje wielomianowe są wykorzystywane zarówno do uzyskania udziałów w dzielonym sekrecie, jak i przy odzyskiwaniu tego sekretu. W kolejnym rozdziale omówiono model głosowania elektronicznego wykorzystujący hierarchiczny schemat dzielenia sekretu. Zastosowanie tego schematu w prezentowanym modelu głosowania pozwala podzielenie zadań i odpowiedzialności pomiędzy kilka uprawnionych jednostek. Treść ósmego rozdziału zawiera opis ogólnego modelu transmisji rozgłoszeniowej wykorzystującego transformacje wielomianowe. Proponowany model umożliwia wybranym użytkownikom odtworzenie klucza dostępu do systemu na podstawie specjalnie zbudowanej, rozgłaszanej wiadomości. Rozdział dziewiąty zawiera podsumowanie i spostrzeżenia dotyczące omawianych algorytmów transformacji wielomianowych oraz ich zastosowań. Ostatecznie, do najważniejszych wyników tej pracy, nie mających odpowiedników w dotychczasowych publikacjach innych autorów, należą: Opracowanie nowych, szybkich algorytmów jedno- i wielowymiarowych trans- 7

10 Wstęp formacji wielomianowych, z uwzględnieniem baz Lagrange a, Newtona i potęgowej, dla punktów spełniających równania rekurencyjne pierwszego rzędu (rozdziały 4 i 5; twierdzenia 4.1, 4.5, 4.7, 5.2, 5.4 i 5.6). Wskazanie praktycznych zastosowań opracowanych algorytmów transformacji wielomianowych w istotnych problemach związanych z bezpieczeństwem informacji, tj. w dzieleniu sekretu (rozdział 6), głosowaniu elektronicznym (rozdział 7) oraz protokole transmisji rozgłoszeniowej (rozdział 8). 8

11 Część I Transformacje wielomianowe dla specjalnych konfiguracji punktów 9

12 2. Aktualny stan wiedzy Badania w zakresie szybkiego obliczania transformacji wielomianowych dla specjalnych konfiguracji punktów były prowadzone przez wiele lat. Szczególnym przypadkiem jest słynny algorytm FFT [Cooley i Tukey, 1965; Mateer, 2008] obliczania dyskretnej transformacji Fouriera oraz algorytm obliczania transformacji do niej odwrotnej. Algorytmy te pozwalają na przechodzenie pomiędzy reprezentacją wielomianu względem bazy Lagrange a z węzłami interpolacji 1, ω,..., ω n 1, gdzie ω jest pierwiastkiem pierwotnym z jedności stopnia n = 2 k, a współczynnikami rozwinięcia tego wielomianu względem bazy potęgowej, nazywanej też bazą Maclaurina lub Taylora. Ważny algorytm ewaluacji wielomianów tj. transformacji z uwzględnieniem baz potęgowej i Lagrange a dla punktów, które tworzą ciąg geometryczny, został zaproponowany w [Rabiner i inni, 1969] (zob. też [Aho i inni, 1975]). Algorytm ten redukuje obliczanie uogólnionej dyskretnej transformacji Fouriera do obliczenia splotu. Złożoność obliczeniowa wymienionych algorytmów wynosi O (n log n), podczas gdy złożoność obliczeniowa innych, klasycznych algorytmów jest równa O (n 2 ) lub w najlepszym przypadku O ( n log 2 n ) [Borodin, 1971; Aho i inni, 2003]. Powszechnie znanym algorytmem obliczania wartości wielomianu dla danego punktu jest algorytm Hornera. Stosując ten algorytm dla n dowolnych, parami różnych punktów uzyskuje się algorytm pozwalający na przechodzenie pomiędzy reprezentacją wielomianu w bazie potęgowej (lub Newtona) do reprezentacji tego wielomianu w bazie Lagrange a, który wymaga wykonania O (n 2 ) operacji arytmetycznych. Algorytmem o mniejszej złożoności obliczeniowej równej O ( n log 2 n ) jest algorytm typu dziel i zwyciężaj polegający na rekurencyjnym dzieleniu zbioru punktów na połowy i wykonywaniu obliczeń oddzielnie dla każdej z otrzymanych części [Borodin, 1971; von zur Gathen i Gerhard, 2003]. Uogólniony algorytm transformacji Maclaurina-Lagrange a, tzn. algorytm po- 10

13 Aktualny stan wiedzy zwalający na obliczenie wartości wielomianu i jego pochodnych, dla dowolnych punktów [Knuth, 2002] wymaga wykonania O (n 2 ) operacji arytmetycznych, przy czym n oznacza liczbę punktów wraz z ich krotnościami. W przypadku, gdy współrzędne n punktów spełniają równie rekurencyjne pierwszego rzędu i krotności tych punktów wynoszą 2 to uogólnioną transformację Maclaurina-Lagrange a można obliczyć algorytmem o złożoność obliczeniowej równej O (n log n) [Kapusta i Smarzewski, 2007a]. Algorytm obliczania transformacji odwrotnej jest tego samego rzędu [Kapusta i Smarzewski, 2006a]. Szybki algorytm, rzędu O (n log n), istnieje również dla jednopunktowej ewaluacji wielomianu stopnia n 1 tzn. obliczania wartości kolejnych pochodnych wielomianu w ustalonym punkcie [Aho i inni, 1975]. Interesujące wyniki dotyczące algorytmów zmiany reprezentacji wielomianu w odniesieniu do baz wielomianowych Newtona i Maclaurina, zostały przedstawione w pracy [Gerhard, 2000]. W wymienionej pracy zostały omówione algorytmy z uwzględnieniem wspomnianych baz dla dowolnej konfiguracji punktów oraz specjalnej konfiguracji punktów, tzn. dla punktów, których współrzędne tworzą ciąg arytmetyczny. Przegląd algorytmów zmiany bazy wielomianów można znaleźć w [Aho i inni, 2003], [Bini i Pan, 1994] i [Knuth, 2002], oraz artykule [Bostan i Schost, 2005]. Ponadto, w wymienionych pracach znajduje się dobre, obszerne omówienie literatury związanej z tą tematyką. Warto zwrócić uwagę, że znane algorytmy interpolacji i ewaluacji wielomianów dla dowolnych konfiguracji punktów, o złożoności obliczeniowej równej O ( n log 2), w sposób istotny wykorzystują algorytm obliczania splotu bazujący na algorytmie FFT [von zur Gathen i Gerhard, 2003; Bini i Pan, 1994]. Wśród wyników opublikowanych w ostatnich latach, ważnym rezultatem wydaje się być uogólnienie algorytmów rzędu O (n log n), obliczania jednowymiarowych transformacji z uwzględnieniem specjalnych konfiguracji punktów, na punkty generowane przez równanie rekurencyjne pierwszego rzędu [Smarzewski i Kapusta, 2007]. Algorytmy opisane w wymienionej pracy dotyczą transformacji względem baz wielomianowych Lagrange a i Newtona. Naturalnym rozszerzeniem transformacji jednowymiarowych na wiele wymiarów jest zastosowanie podejścia tensorowego. Przy takim podejściu wiele rezultatów dotyczących przypadku jednowymiarowego przenosi się na wiele wymiarów. Przykład 11

14 Aktualny stan wiedzy dwuwymiarowej transformacji Newtona-Lagrange a na siatce kartezjańskiej został zamieszczony m.in. w [Kincaid i Cheney, 2006]. Opis tej transformacji dla dowolnej liczby wymiarów można znaleźć w [Sauer, 1995]. Ponadto, w wymienionej pracy omówiono sposób przechowywania w pamięci komputera wielomianu wielu zmiennych w postaci wektora współczynników o ustalonym porządku (np. leksykograficznym lub odwróconym leksykograficznym) oraz wykonywania podstawowych operacji na tych wielomianach. Można tam również znaleźć rekurencyjny algorytm Hornera dla wielomianów wielu zmiennych, czyli algorytm obliczania wielowymiarowej transformacji Maclaurina-Lagrange a. Algorytmy interpolacji i ewaluacji wielomianu d-zmiennych z uwzględnieniem różnych reprezentacji wielomianowych (potęgowej, Lagrange a, Newtona, Beziera- Bernsteina) były i są nadal przedmiotem badań [Pe na i Sauer, 2000; Sauer, 1995; Gasca, 1989; de Boor, 2000]. Interesujące, ujednolicone podejście do algorytmów ewaluacji wielomianów d zmiennych stopnia n, polegające na zastosowaniu L-baz i B-baz, zaprezentowali w swoich pracach Suresh Lodha i Ron Goldman [1995, 1997, 1998]. Proponowane przez nich algorytmy uwzględniają różne reprezentacje wielomianu m.in. potęgową, Newtona i Lagrange a. Złożoność obliczeniowa podanych przez nich algorytmów ewaluacji wielomianów w jednym punkcie wynosi O ( n d). Opracowane przez autora niniejszej rozprawy nowe algorytmy obliczania dwuwymiarowych transformacji wielomianowych z uwzględnieniem baz Lagrange a i Newtona dla punktów, które spełniają równanie rekurencyjne pierwszego rzędu zostały zaprezentowane w [Kapusta i Smarzewski, 2007b]. Natomiast uogólnienie tych algorytmów na wiele wymiarów zostało przedstawione w [Kapusta i Smarzewski, 2009]. 12

15 3. Preliminaria 3.1. DFT, jednowymiarowy splot i dekonwolucja Niech K = (K+, ) będzie ciałem z pierwiastkiem pierwotnym z jedności ω stopnia n = 2 k. Dyskretną transformację Fouriera F ω : K n K n oraz transformację do niej odwrotną Fω 1 : K n K n definiuje się następująco b = F ω (a), a = Fω 1 (b), b = (b 0, b 1,..., b n 1 ), a = (a 0, a 1,..., a n 1 ), n 1 b i = a k ω ik, a i = 1 n n 1 b k ω ik, i = 0, 1,..., n 1, przy dodatkowym założeniu, że istnieje element odwrotny 1 1 n = }{{}, 1 jedynka w ciele K. n elem. Transformację Fouriera F ω : K n K n i transformację do niej odwrotną można obliczyć słynnym algorytmem FFT zaproponowanym przez Jamesa W. Cooleya i Johna W. Tukeya [1965], wykonując 3 n log n+o (n) operacji arytmetycznych w ciele K [Pan, 2001; von zur Gathen i Gerhard, 2003]. Wiele późniejszych 2 implementacji bazuje na algorytmie FFT, np. szybka biblioteka transformacji Fouriera FFTW [Frigo i Johnson, 1997, 2005]. Zwięzły opis wyprowadzenia algorytmu obliczającego dyskretną transformację Fouriera wraz z jego implementacją w języku C++ został przedstawiony w pracy [Smarzewski i Kapusta, 2005]. Ten algorytm wykorzystuje ideę użytą w słynnym algorytmie szybkiego sortowania Quick-Sort podanym np. w monografii [Wirth, 2001]. W przypadku, gdy liczba n nie jest potęgą dwójki, jednym z możliwych sposobów postępowania jest dopełnienie brakujących elementów danego wektora zerami tak, aby otrzymać wektor odpowiedniego rozmiaru [Mateer, 2008]. 13

16 Preliminaria Splotem wektorów a = (a 0, a 1,..., a n 1 ) i b = (b 0, b 1,..., b n 1 ) o współrzędnych z ciała K jest wektor zdefiniowany wzorami a b = (c 0, c 1,..., c 2n 1 ), i c i = a k b i k, i = 0, 1,..., 2n 1. (3.1) Jeżeli wektory a i b potraktujemy jako współczynniki wielomianów a(x) = n 1 i=0 a i x i i b(x) = n 1 i=0 b i x i, (3.2) wtedy obliczenie splotu jest równoważne obliczeniu iloczynu tych wielomianów c(x) = a(x)b(x) = 2n 1 i=0 c i x i. Splot wektorów a i b można obliczyć algorytmem o złożoności obliczeniowej c (n) = 9n log n + O (n) [Bini i Pan, 1994]. Taki algorytm bazuje na tożsamości a b = F 1 ψ [F ψ(e(a)) F ψ (E(b))], gdzie ψ = ω jest z założenia pierwiastkiem pierwotnym z jedności stopnia 2n w K, zanurzenie E : K n K 2n jest zdefiniowane następująco E(a) = a 0, a 1,..., a n 1, 0, 0,..., 0, a = (a }{{} 0, a 1,..., a n 1 ) K n, n natomiast F ψ : K 2n współrzędna jest dana wzorem K 2n oznacza dyskretną transformację Fouriera, której i-ta (F ψ (a)) i = 2n 1 a k ψ ik, i = 0, 1,..., 2n 1. 14

17 Preliminaria Obecnie znane algorytmy pozwalają na obliczenie splotu z wykorzystaniem c (n) = O (n log n log log n) operacji [Schönhage i Strassen, 1971; Cantor i Kaltofen, 1991]. W 2007 roku M. Fürer podał algorytm szybszy dla astronomicznie dużej wartości n, o złożoności obliczeniowej c (n) = O (n log n) 2 O(log n), gdzie log n = min { i 0 : log (i) n 1 } i log (0) n = n oraz log (i+1) n = log log (i) n. Algorytm c (n) Literatura klasyczny O (n 2 ) Bini i Pan, 1994 Karatsuba O (n 1.59 ) Karatsuba, 1995 w oparciu o FFT O (n log n) von zur Gathen i Gerhard, 2003 Schönchage-Strassena O (n log n log log n) Schönhage i Strassen, 1971 Fürera O (n log n) 2 O(log n) Fürer, 2007 Tabela 3.1: Złożoność obliczeniowa algorytmów obliczania splotu Dla wektorów a i b definiuje się także zwinięty splot jako wektor którego współrzędne są równe a b = (c 0, c 1,..., c n 1 ), i c i = a k b i k, i = 0, 1,..., n 1. (3.3) Łatwo widać, że algorytmy obliczania zwiniętego splotu oraz splotu są tego samego rzędu. Z drugiej strony, algorytm obliczania zwiniętego splotu nie wymaga nieco sztucznego podwajania wymiaru dziedziny dyskretnej transformacji Fouriera. Jeden z algorytmów obliczania zwiniętego splotu opiera się na równości a b = { F 1 [F (a) F (b)] + F 1 [F (Ψ a) F (Ψ b)] /Ψ } /2, (3.4) 15

18 Preliminaria gdzie Ψ = (1, ψ,..., ψ n 1 ), F = F ω : K n K n, ω = ψ 2 oraz operacje wektorowe i / są zwykłym mnożeniem i dzieleniem odpowiednich współrzędnych. Złożoność obliczeniowa tego algorytmu wynosi c(n) = 9n log n + O(n). Wzór (3.4) w sposób uwikłany został zasugerowany w [Aho i inni, 2003]. W praktycznych zastosowaniach zwinięty splot : K n K n K n jest bardziej efektywny, ze względu na mniejsze wymagania pamięciowe, niż splot : K 2n K 2n K 2n, co zostało wykorzystane w algorytmie [Schönhage i Strassen, 1971; Aho i inni, 2003]. Dla kompletności rozważań, poniżej przedstawiono krótki dowód wzoru (3.4) podany w pracy [Kapusta i Smarzewski, 2006b]. oraz Ze wzorów (3.1) i (3.2) wynika, że c(x) = a(x)b(x) = n 1 i=0 n 1 c i x i + x n i=0 c n+i x i, c 2n 1 = 0 i n 1 c i = a k b i k i c n+i = a k b n+i k. k=i+1 Wykorzystując dodatkowe wektory d, h K n o współrzędnych d i = c i + c n+i i h i = c i c n+i, i = 0, 1,..., n 1 otrzymuje się c i = (d i + h i )/2, i = 0, 1,..., n 1. Obliczając wartości wielomianu d(x) = gdzie ω = ψ 2, uzyskuje się d(ω l ) = = n 1 i=0 2n 1 i=0 n 1 i=0 d i ω il = ( i d i x i dla x = ω l, l = 0, 1,..., n 1, n 1 i ω il i=0 n 1 a k b i k + ω nl ) a k b i k ω il = a(ω l )b(ω l ) dla l = 0, 1,..., n 1. Jest to równoważne temu, że d = F 1 [F (a) F (b)], F = F ω. 16 n 1 ω il i=0 k=i+1 a k b n+i k

19 Preliminaria Z drugiej strony ψ n = 1. Zatem n 1 i=0 ψ i h i ω il = = 2n 1 i=0 n 1 i ω il i=0 ( i ψ i a k b i k n 1 k=i+1 ψ i a k b n+i k ) ψ k a k ψ i k b i k ω il, l = 0, 1,..., n 1. Stąd dzielenie przez Ψ = (1, ψ, ψ 2,..., ψ n 1 ) daje co kończy dowód wzoru (3.4). h = F 1 [F (Ψ a) F (Ψ b)] /Ψ, Operacja odwrotna do obliczania zwiniętego splotu c = a b, czyli operacja dekonwolucji wektorów a = c b = c b 1 jest określona dla wektorów c, b K n, o ile pierwsza współrzędna b 0 wektora b jest różna od zera. Szukany wektor a jest dany wzorami rekurencyjnymi a 0 = c 0 /b 0, ( a i = c i i 1 a k b i k ) /b 0, i = 1, 2,..., n 1, (3.5) otrzymanymi z trójkątnego układu równań (3.3). Obliczenie wektora a = c d wymaga wcześniejszego obliczenia wektora takiego, że gdzie b(x) = d = (d 0, d 1,... d n 1 ) = b 1 1/b(x) = n 1 n 1 d k x k + O(x n ), (3.6) b k x k i d k = dk dx k ( ) 1. b(x) x=0 Ten wektor może być obliczony przy pomocy metody Newtona [Borwein i Borwein, 1987]. Dokładniej, przyjmując ( 1 d =, b ) 1, 0,..., 0 b 0 b 2 0 kolejne współrzędne wektora d = b 1 są generowane tak jak w algorytmie

20 Preliminaria Algorytm 3.1. Dekonwolucja metodą Newtona. Input: Liczba całkowita n oraz wektory c = (c i ) n 1 i=0 i b = (b i) n 1 i=0, gdzie b 0 0. Output: Wektor a = c b 1 K n. 1. Oblicz d = ( 1 b 0, b 1 b 2 0, 0,..., 0 ). 2. Dla k od 2 do log 2 n : 2.1. Oblicz d = 2d d d b (wynik obliczeń - 2 k elementów). 3. Oblicz a = c d. Można wykazać, że w przypadku obliczania splotu c = (c 0, c 1,..., c n 1 ) = a n b algorytmem rzędu O (n log n) złożoność obliczeniowa powyższego algorytmu wynosi O(n log n). W tym celu wystarczy przeanalizować zastosowaną metodę Newtona nieco dokładniej. Niech x i+1 = 2x i x 2 i y, i = 0, 1,... będzie wzorem iteracyjnym Newtona dla funkcji f (x) = x 1 y (x 0). Ponadto, zakładając, że współczynniki d 0, d 1,..., d 2 i 1, i 1, wielomianu odwrotnego ( b0 + b 1 x b n 1 x n 1) 1 = d0 + d 1 x d 2 i 1x 2i 1 + O(x 2i ) zostały już obliczone i d k = 0 dla każdego k 2 i. Wtedy pojedyncza iteracja metody Newtona d = 2 d d 2 i+1 d 2 i+1 b podwaja liczbę obliczonych współczynników d k (k = 0, 1,..., 2 i+1 1) wektora dekonwolucji. W konsekwencji wzór iteracyjny Newtona d = 2 d d 2 i d 2 i b, i = 2, 3,..., log 2 n 18

21 Preliminaria z wektorem początkowym d postaci ( 1 d =, b ) 1, 0, 0,... b 0 b 2 0 generuje wymagany wektor dekonwolucji d = (d 0, d 1,..., d n 1 ) dla b = (b 0, b 1,..., b n 1 ), b 0 0. Ponieważ koszt obliczenia splotu 2 i O(i2 i ) oczywiste jest, że koszt algorytmu 3.1 wynosi ( O n log 2 n + n ) 2 log n log 2 2 = O (n log n). jest równy W konkretnych zastosowaniach wymagających odwrócenia splotu niekiedy można skonstruować inne, nieco lepsze algorytmy, które nie wymagają stosowania iteracyjnej metody Newtona. W szczególności ma to miejsce w przypadku odwracania transformacji Lagrange a-newtona. Zostanie to dokładniej omówione w rozdziale Splot wielowymiarowy Splot wielowymiarowy definiuje się podobnie, jak jednowymiarowy. Przyjmując, że n = (n 1, n 2,..., n d ) oznacza wektor dodatnich liczb całkowitych i Q n = {α = (α 1, α 2,..., α d ) : 0 α i < n i dla i = 1, 2,..., d} jest zbiorem n 1 n 2 n d wielowskaźników o współrzędnych całkowitych, wielowymiarowy splot hipermacierzy x = (x α ) α Qn i tablicy y = (y i ) d i=1 wektorów y i = (y i,0, y i,1,..., y i,ni 1) jest z definicji hipermacierzą z = (z α ) α Qn określoną wzorem z = x 1 y 1 2 y 2 3 d y d. (3.7) W tym wzorze cząstkowe sploty i definiuje się w następujący sposób: Definicja 3.2. Macierz wielowymiarową w = (w α ) α Qn = x i y i K n 1 n 2 n d, 1 i d, nazywamy i-tym cząstkowym splotem hipermacierzy x = (x α ) α Qn i wektora y i = (y i,0, y i,1,..., y i,ni 1) jeżeli każda kolumna w β1,...,β i 1,,β i+1,...,β d, 0 β j < n j, j = 1, 2,..., i 1, i + 1,..., d, 19

22 Preliminaria macierzy w jest równa zwiniętemu splotowi kolumny x β1,...,β i 1,,β i+1,...,β d = ( ) ni 1 x β1,...,β i 1,j,β i+1,...,β d i wektora y i. Korzystając z tej definicji otrzymano metodę obliczania splotu wielowymiarowego z = x y zapisaną w postaci Algorytmu 3.3, w którym hipermacierz wejściowa x = (x α ) α Qn zmienia się d razy poprzez cząstkowe splatanie z wektorem y i dla i = 1, 2,, d. j=0 Algorytm 3.3. Splot wielowymiarowy. Input: Hipermacierz x = (x α ) α Qn i tablica y = (y i ) d i=1, gdzie y i = (y i,0, y i,1,..., y i,ni 1), n = (n 1, n 2,... n d ) oraz liczba całkowita d. Output: Wielowymiarowy splot z = (z α ) α Qn. 1. Dla k od 1 do d: 1.1. Oblicz x = x k y k. 2. Podstaw z = x. Algorytm dekonwolucji wielowymiarowej można skonstruować uogólniając idee podane w Algorytmach 3.1 i 3.3: x = z d y 1 d d 1 y 1 d 1 d 2 1 y 1 1. Złożoność obliczeniowa C (N) algorytmu obliczania splotu wielowymiarowego opartego na wzorze (3.7) wynosi O (N log N), N = n 1 n 2... n d, w przypadku obliczania zwiniętego splotu algorytmem rzędu O (n log n) (zob. wzór (3.4)). W przypadku stosowania innych wspomnianych w poprzednim podrozdziale algorytmów można jedynie stwierdzić, że C (N) = N 20 d i=1 c (n i ) n i,

23 Preliminaria gdzie c(n i ) oznacza koszt wyznaczenia zwiniętego splotu wektorów o n i współrzędnych. Jest to naturalną konsekwencją następującej obserwacji: w celu obliczenia splotu wielowymiarowego należy kolejno obliczyć N N N n 1, n 2,..., n d splotów jednowymiarowych dla wektorów mających odpowiednio n 1, n 2,..., n d elementów. 21

24 4. Nowe algorytmy ewaluacji i interpolacji jednowymiarowej 4.1. Bazy wielomianowe W niniejszym rozdziale przedstawione zostaną jawne wzory wektorowe opisujące transformacje wielomianu jednej zmiennej pomiędzy wybranymi bazami wielomianowymi przy założeniu, że co najmniej jedna z baz zależy od parami różnych punktów x i = αx i 1 + β, i = 1, 2,..., n 1, x 0 = γ, (4.1) gdzie stałe α 0, β, γ należą do ciała K mającego więcej niż n elementów. Rozważone zostaną bazy Lagrange a, Newtona i potęgowa (Maclaurina). Pierwsze wyniki dotyczące baz Lagrange a i Newtona zostały opublikowane w [Smarzewski i Kapusta, 2007]. Badania z tego zakresu zostały zainspirowane szybkimi algorytmami obliczania transformacji Lagrange a-newtona oraz transformacji do niej odwrotnej, zaprezentowanymi w [Bostan i Schost, 2005]. W wymienionej pracy autorzy przedstawili szybkie algorytmy dla szczególnego przypadku, gdy β = 0 i γ = 1 lub α = 1. Wielomian p(x) należący do n - wymiarowej przestrzeni P n (K) wielomianów stopnia mniejszego od n nad ciałem K możemy zapisać w postaci p(x) = n 1 i=0 b i w i (x), gdzie w i (x) jest bazą wielomianową w P n (K). W obliczeniach numerycznych łatwość rozwiązania problemu jest uzależniona od wyboru reprezentacji wielomianu [von zur Gathen i Gerhard, 2003]. W zależności od wyboru tej reprezentacji algorytmy rozwiązujące dany problem mogą różnić się złożonością obliczeniową oraz odpornością na błędy zaokrągleń. W kontekście zagadnień interpolacji oraz ewaluacji wielomianów często spotyka się następujące bazy wielomianowe: 22

25 Nowe algorytmy ewaluacji i interpolacji jednowymiarowej (a) Lagrange a (b) Newtona l i (x) = n 1 k i x x k x i x k, i = 0, 1,..., n 1, m 0 (x) = 1, m i (x) = i 1 (x x k ), i = 1, 2,..., n 1, (c) potęgowa u i (x) = x i, i = 0, 1,..., n 1. Z powyższymi bazami wiążą się następujące reprezentacje wielomianu: (a) Lagrange a (b) Newtona p(x) = n 1 i=0 p(x) = y i l i (x), y i = p(x i ), (4.2) n 1 i=0 c i m i (x), (4.3) gdzie ilorazy różnicowe c i dla parami różnych węzłów x 0, x 1,..., x n 1 K są zdefiniowane wzorem (c) potęgowa c i = p[x 0, x 1,..., x i 1 ] = p(x) = n 1 i=0 i j=0 y j, (4.4) i (x j x k ) k j a i u i (x), a i = p(i) (0). (4.5) i! 4.2. Transformacja Lagrange a-newtona W przypadku ogólnym zaleca się obliczanie transformacji Lagrange a-newtona L : (y i ) n 1 i=0 (c i) n 1 i=0 algorytmem rzędu O(n 2 ) opartym na wzorach rekurencyjnych [Kincaid i Cheney, 2006]. Natomiast, jeśli parami różne węzły x 0, x 1,..., x n 1 są generowane wzorami 23

26 Nowe algorytmy ewaluacji i interpolacji jednowymiarowej rekurencyjnymi (4.1), wtedy dla tej transformacji istnieje wydajny algorytm o złożoności obliczeniowej c (n) + O (n). Rzeczywiście, podstawiając do wzoru (4.4) i korzystając z otrzymuje się i k=j+1 x i = α i γ + β ( α i 1 + α i ) (4.6) α j k 1 = (α 1)(α j k 1 + α j k ) (4.7) c i [(α 1)γ + β] i i 1 α k = i j=0 j 1 i 1 i j [(α 1)γ + β] α k k=j [ ] = α j (1 α k j ) γ βα j k j 1 α ν ν=0 [ y j [(α 1)γ + β] j j 1 α k ] α k (α j k 1)γ + βα k j k 1 α ν i j=0 j 1 y j k m=0 ( 1) α m i j 1 ν=0 i j 1 i j α k k m=0 α m. W konsekwencji i c i = p j q i j /r i, i = 0, 1,..., n 1, j=0 lub równoważnie c = (p q)/r, przy założeniu, że współrzędne wektorów p, q, r są dane wzorami p j = j 1 y j k m=0 α m, q j = r j = [(α 1)γ + β] j j 1 ( 1) j j 1 j 1 m=0 α k k α m, α k, j = 0, 1,..., n 1. (4.8) Tym samym zostało dowiedzione następujące twierdzenie: 24

27 Nowe algorytmy ewaluacji i interpolacji jednowymiarowej Twierdzenie 4.1 (Smarzewski i Kapusta, 2007). Jeżeli L: K n K n oznacza transformację Lagrange a-newtona dla parami różnych węzłów (x i ) n 1 i=0 generowanych wzorem x i = αx i 1 + β (i = 1, 2,..., n 1, α 0, x 0 = γ), to prawdziwy jest wzór L(y) = (p q) /r, (4.9) gdzie elementy wektorów p, q, r K n są zdefiniowane wzorami (4.8). Uwaga 4.2. We wzorach (4.8), a także wszędzie poniżej przyjmuje się, że iloczyny, w których indeksy górne są mniejsze niż indeksy dolne, są z definicji równe 1. Poniższy algorytm prezentuje szczegóły szybkiego obliczania transformacji Lagrange a-newtona ułatwiające jego implementację i oszacowanie złożoności obliczeniowej. Algorytm 4.3. Transformacja Lagrange a-newtona dla parami różnych węzłów x 0, x 1,... x n 1, generowanych wzorem x i = αx i 1 + β, i = 1, 2,..., n 1, x 0 = γ. Input: Wektor y = (y 0, y 1,..., y n 1 ) K n, skalary α 0, β i γ K. Output: c = L(y) K n. 1. Przypisz p 0 = y 0, r 0 = 1, δ = (α 1) γ + β, s = 0, u = 1, v = 1/α i z = Dla k od 1 do n 1 wykonaj: 2.1. s = s α + 1, u = u s, p k = y k /u, 2.2. v = v α, z = z v, q k = z/u, 2.3. r k = r k 1 v δ. 3. Oblicz c = p q. 4. Wykonaj dzielenie po współrzędnych c = c/r. Obliczenie wektorów p, q i r, występujących we wzorze (4.9), może być wykonane w jednej pętli i ma złożoność obliczeniową O(n) operacji bazowych K, co zostało 25

28 Nowe algorytmy ewaluacji i interpolacji jednowymiarowej pokazane w algorytmie 4.3. Ponadto przy dodatkowym założeniu, że w ciele K istnieją pierwiastki pierwotne z jedności ψ i ω = ψ 2, odpowiednio stopni 2n i n, to bezpośrednim wnioskiem z twierdzenia 4.1 jest: Wniosek 4.4. Algorytm obliczania transformacji Lagrange a-newtona ma złożoność obliczeniową c(n) + O(n). W szczególnym przypadku, gdy do obliczania zwiniętego splotu stosuje się algorytm oparty na wzorze (3.4), ten koszt wynosi O (n log n). Obliczenie odwrotnej transformacji Lagrange a-newtona L 1 można wykonać wykorzystując algorytm obliczania dekonwolucji 3.1. Dla tej transformacji możliwe jest również zorganizowanie obliczeń w taki sposób, aby nie było wymagane stosowanie dekonwolucji - zostanie to omówione w następnym podrozdziale Transformacja Newtona-Lagrange a Transformacja Newtona-Lagrange a N : (c i ) n 1 i=0 (y i) n 1 i=0, odwrotna do transformacji Lagrange a-newtona L, opisuje przejście od rozwinięcia wielomianu względem bazy Newtona (4.3) do rozwinięcia wielomianu względem bazy Lagrange a (4.2). W celu obliczenia wartości y i (i = 0, 1,..., n 1) można do wzoru (4.3) zastosować klasyczny algorytm Hornera w postaci y j = y j+1 (x i x j ) + c j, j = i 1, i 2,..., 0, y i = c i, (4.10) gdzie 0 i < n. Złożoność obliczeniowa tego algorytmu, równa O(n 2 ), może zostać zredukowana do c (n) + O (n), o ile punkty x 0, x 1,..., x n 1 spełniają zależność rekurencyjną (4.1). Wynika to z podstawienia tej zależność do (4.3) i zastosowania wzorów (4.6) i (4.7): y i = = = i j 1 c j j=0 i j 1 c j j=0 i 1 k i α ν ν=0 j=0 [ (α k ( α i k 1 ) γ + βα k) i k 1 α k [(α 1) γ + β] j 1 i k 1 ν=0 c j [(α 1) γ + β] j j 1 26 ν=0 α ν α ν ] α k 1. i j 1 k α ν ν=0

29 Nowe algorytmy ewaluacji i interpolacji jednowymiarowej Stąd i b i = p j q i j r i, i = 0, 1,..., n 1, j=0 lub równoważnie b = (p q) r, gdzie p = (p j ) n 1 j=0, q = (q j) n 1 j=0, r = (r j) n 1 j=0, oraz p j = c j [(α 1) γ + β] j j 1 α k, j 1 1 k = r j = α ν. (4.11) q j ν=0 Z powyższego wynika następujące twierdzenie: Twierdzenie 4.5 (Smarzewski i Kapusta, 2007). Jeżeli N : K n K n oznacza transformację Newtona-Lagrange a dla parami różnych punktów spełniających zależność rekurencyjną x i = αx i 1 + β (i = 0, 1,..., n 1,, x 0 = γ), to N (c) = ( p 1 ) r, (4.12) r gdzie współrzędne wektorów p = (p j ) n 1 j=0 i r = (r j ) n 1 j=0 są zdefiniowane tak jak w (4.11). Ponadto, jeśli w ciele K istnieją pierwiastki pierwotne z jedności ψ i ω = ψ 2, odpowiednio stopni 2n i n, to algorytm bazujący na wzorze (4.12) ma złożoność obliczeniową równą c(n) + O(n), gdzie c(n) oznacza koszt obliczenia zwiniętego splotu. W szczególnym przypadku stosowania algorytmu bazującego na wzorze (3.4) rząd tego algorytmu jest równy O(n log n). Dla zupełności rozważań, szczegóły obliczania transformacji Newtona-Lagrange a w oparciu o wzór (4.12) zostały przedstawione w algorytmie

30 Nowe algorytmy ewaluacji i interpolacji jednowymiarowej Algorytm 4.6. Transformacja Newtona-Lagrange a dla parami różnych węzłów x 0, x 1,..., x n 1 generowanych wzorem x i = αx i 1 + β, i = 1, 2,..., n 1, x 0 = γ. Input: Wektor c = (c 0, c 1,..., c n 1 ) K n, skalary α 0, β i γ K. Output: y = N(c) K n. 1. Przypisz p 0 = c 0, r 0 = 1, δ = (α 1) γ + β, s = 0, v = 1/α i w = Dla k od 1 do n 1 wykonaj: 2.1. v = v α, w = w v δ, p k = c k w, 2.2. s = s α + 1, r k = r k 1 s. 3. Oblicz y = p 1. r 4. Wykonaj mnożenie po współrzędnych y = y r Ewaluacja wielomianów w bazie potęgowej Transformacja Maclaurina - Lagrange a M : (a i ) n 1 i=0 (y i) n 1 i=0 jest przekształceniem odwzorowującym wektor współczynników a = (a i ) n 1 i=0 reprezentacji wielomianu w bazie potęgowej (4.5) na wektor współczynników y = (y i ) n 1 i=0 reprezentacji wielomianu w bazie Lagrange a (4.2). Wyznaczenie tej transformacji jest równoważne obliczeniu n wartości wielomianu (4.5): y i = n 1 a k x k i, i = 0, 1,..., n 1. (4.13) Szczególnym przypadkiem tej transformacji jest dobrze znana dyskretna transformacja Fouriera w punktach x i = ω i (i = 0, 1,..., n 1), gdzie ω jest pierwiastkiem pierwotnym z jedności stopnia n. Można ją obliczyć słynnym algorytmem FFT o złożoności obliczeniowej O(n log n) [Cooley i Tukey, 1965]. Jeśli punkty x 0, x 1,..., x n 1 tworzą ciąg geometryczny x i = γα i (i = 0, 1,..., n 1, γ 0) i istnieje element odwrotny α 1 K, to transformację Maclaurina-Lagrange a można wyznaczyć uogólnionym algorytmem DFT o koszcie c (2n 1)+O (n). Jest to konsekwencją poniższej 28

31 Nowe algorytmy ewaluacji i interpolacji jednowymiarowej równości: w której y i = n 1 n 1 a k γ k α ik = b i p k q i+k, i = 0, 1,..., n 1, b k = α k2 2, pk = a k γ k α k2 2, qk = α k2 2, k = 0, 1,..., n 1. Stąd gdzie i y i (n 1) = b i (n 1) d k c i k, i = n 1, n,..., 2n 2, d k = { pn 1 k, k = 0, 1,..., n 1, 0, k = n, n + 1,..., 2n 2 c k = α k2 2, k = 0, 1,..., 2n 2, W konsekwencji, jeśli d = (d i ) 2n 2 i=0, c = (c i) 2n 2 i=0 i b = (b i ) n 1 i=0, to y = ( d c ) b, (4.14) gdzie d c = P n (d c). W ostatnim wzorze projekcja P n : K 2n 1 K n jest zdefiniowana przez P n (e) = (e n 1, e n,..., e 2n 2 ), e = (e 0, e 1,..., e 2n 2 ). Idea obliczania transformacji Maclaurina-Lagrange a dla punktów tworzących ciąg geometryczny jako splotu została przedstawiona w [Rabiner i inni, 1969]. W [Aho i inni, 1975] algorytm obliczania tej transformacji został rozszerzony na punkty x i = γα 2i + βα i + δ (i = 0, 1,..., n 1). Okazuje się, że jeśli punkty spełniają zależność rekurencyjną (4.1) i α 1, to transformacja Maclaurina-Lagrange a może być również obliczona przy pomocy splotów. Wyprowadzając ten algorytm korzysta się z tożsamości x i α 1 = γα i + β ( ) 1 α i, i = 1,..., n 1. (4.15) 1 α Podstawiając ją do wzoru (4.13) otrzymuje się 29

32 Nowe algorytmy ewaluacji i interpolacji jednowymiarowej gdzie α 1 y i = n 1 f k = a k ((γ (1 α) β) α i + β) k n 1 (1 α) k = ((1 α) γ β)k k! n 1 r=k Powyższy wzór można zapisać równoważnie jako β r k r!a r (r k)! (1 α) r. f k α ik, (4.16) f k = v n 1 k z k, (4.17) gdzie elementy wektorów z = (z k ) n 1 i v = (v k) n 1 są zdefiniowane następująco ((1 α) γ β)k z k =, k = 0, 1,..., n 1, k! v = w t, w = (w k ) n 1, t = (t k) n 1, w k = βk k!, t k = (n 1 k)!a n 1 k (1 α) n 1 k. (4.18) W konsekwencji z (4.14) i (4.16) otrzymuje się y = ( g h ) b, gdzie współrzędne wektorów g = (g k ) 2n 2, h = (h k) 2n 2 i b = (b k) n 1 są zdefiniowane wzorami b k = α k2 2, k = 0, 1,..., n 1, { fn 1 k b g k = n 1 k, k = 0, 1,..., n 1, 0, k = n, n + 1,..., 2n 2, (4.19) h k = k2, k = 0, 1,..., 2n 2. 2 Zatem obliczenie transformacji Maclaurina-Lagrange a dla punktów spełniających zależność rekurencyjną (4.15) wymaga obliczenia splotu - w celu wyznaczenia współczynników pewnego wielomianu, a następnie obliczenia wartości tego wielomianu w punktach, które tworzą ciąg geometryczny. Ostatecznie, przy założeniu, że c (dn) jest rzędu O (c (n)) dla d > 0, złożoność obliczeniowa tego algorytmu jest równa O (c (n)). Prowadzi to do następującego twierdzenia: 30

33 Nowe algorytmy ewaluacji i interpolacji jednowymiarowej Twierdzenie 4.7. Jeśli M : K n K n oznacza transformację Maclaurina-Lagrange a dla parami różnych punktów spełniających zależność rekurencyjną x i = αx i 1 +β (i = 0, 1,..., n 1, α 1, x 0 = γ), to M (a) = ( g h ) b, (4.20) gdzie współrzędne wektorów g = (g k ) 2n 2, h = (h k) 2n 2 i b = (b k ) n 1 są zdefiniowane wzorami (4.19). Ponadto, jeśli w ciele K istnieją pierwiastki pierwotne z jedności ψ i ω = ψ 2, odpowiednio stopni 2n i n, to algorytm bazujący na wzorze (4.20) ma złożoność obliczeniową równą O (c(n)), gdzie c(n) oznacza koszt obliczenia zwiniętego splotu. W szczególnym przypadku, gdy zwinięty splot jest obliczany ze wzoru (3.4), rząd tego algorytmu jest równy O(n log n). Poniższy algorytm prezentuje szczegóły obliczania transformacji Maclaurina- Lagrange a. Algorytm 4.8. Transformacja Maclaurina-Lagrange a dla parami różnych węzłów x i = αx i 1 + β, i = 0, 1,..., n 1, α 0, α 1, x 0 = γ. Input: Wektor a = (a 0, a 1,..., a n 1 ) K n, skalary α K\{0, 1}, β, γ K. Output: y = M (a i ) K. 1. Korzystając z (4.18) oblicz elementy wektorów z, w i t. 2. Oblicz v = w t. 3. Dla k od 1 do n 1 wykonaj: 2.1. f k = v n 1 k z k. 4. Korzystając z (4.19) oblicz elementy wektorów b, g i h. 5. Oblicz y = g h. 6. Wykonaj mnożenie po współrzędnych y = y b. 31

34 Nowe algorytmy ewaluacji i interpolacji jednowymiarowej 4.5. Analiza porównawcza algorytmów W niniejszym podrozdziale porównano złożoność obliczeniową prezentowanych w pracy algorytmów z innymi, znanymi algorytmami obliczania transformacji wielomianowych. Wyniki tych porównań dla różnych konfiguracji punktów zestawiono w tabelach 4.1, 4.3 i 4.2. Ciąg punktów Złożoność obliczeniowa Literatura równanie rekurencyjne I-go rzędu c (n) + O (n) Algorytm dowolny 2 (n2 n) Kincaid i Cheney, 2006, str. 314 dowolny 3c (n) log n + O (c(n)) Bostan i Schost, 2005 arytmetyczny c (n) + O (n) Gerhard, 2000, sekcja 3 geometryczny c (n) + O (n) Bostan i Schost, 2005, sekcja 5 Tabela 4.1: Złożoność obliczeniowa algorytmów - transformacja Lagrange a-newtona Ciąg punktów Złożoność obliczeniowa Literatura równanie rekurencyjne I-go rzędu c (n) + O (n) Algorytm dowolny 2 (n2 n) wzór (4.10) dowolny 2c (n) log n + O (c(n)) Bostan i Schost, 2005 arytmetyczny c (n) + O (n) Gerhard, 2000, sekcja 3 geometryczny c (n) + O (n) Bostan i Schost, 2005, sekcja 5 Tabela 4.2: Złożoność obliczeniowa algorytmów - transformacja Newtona-Lagrange a Tabela 4.1 prezentuje wyniki dotyczące transformacji Lagrange a-newtona, tabela transformacji Newtona-Lagrange a, natomiast tabela transformacji Maclaurina-Lagrange a. Każda z wymienionych tabel przedstawia złożoność obliczeniową proponowanych w pracy algorytmów (pierwszy wiersz w tabeli) na tle znanych rezultatów z tego zakresu. Dokładniej, pierwszy wiersz w każdej z tabel podaje złożoność obliczeniową algorytmów dla punktów spełniających równanie rekurencyjne pierwszego rzędu: x i = αx i 1 + β, i = 1, 2,..., n 1, x 0 = γ, α 0. 32

35 Nowe algorytmy ewaluacji i interpolacji jednowymiarowej Ciąg punktów Złożoność obliczeniowa Literatura równanie rekurencyjne O (c (n)) Algorytm 4.8 I-go rzędu (α 1) dowolny 3n 2 n Knuth, dowolny c (n) log n + O (c(n)) Bostan i inni, arytmetyczny c (n) log n + O (c(n)) Bostan i Schost, 2005, sekcja 4.3 geometryczny c (n) + O (n) Bostan i Schost, 2005, sekcja 5.3 Tabela 4.3: Złożoność obliczeniowa algorytmów - transformacja Maclaurina- Lagrange a Drugi i trzeci wiersz dotyczy algorytmów dla dowolnych parami różnych punktów, przy czym drugi wiersz odnosi się do klasycznych algorytmów, które można znaleźć w typowym kursie analizy numerycznej (nie korzystających z FFT), natomiast wiersz trzeci - szybkich algorytmów wykorzystujących FFT. Czwarty wiersz prezentuje złożoność algorytmów dla punktów, których współrzędne tworzą ciąg arytmetyczny x i = γ + iβ, i = 0, 1,..., n 1, β 0, oraz piąty wiersz - ciąg geometryczny x i = α i, i = 0, 1,..., n 1, α 0. Warto podkreślić, że klasyczny algorytm obliczania transformacji Newtona-Lagrange a dla dowolnej konfiguracji punktów polega na obliczeniu tablicy ilorazów różnicowych [Kincaid i Cheney, 2006]. Natomiast algorytm obliczania tej transformacji z wykorzystaniem FFT jest złożeniem dwóch transformacji Newtona-Maclaurina oraz Maclaurina-Lagrange a. W analogiczny sposób został skonstruowany algorytm obliczania odwrotnej transformacji Newtona-Lagrange a [Bostan i Schost, 2005]. Przykładowe, porównanie liczby operacji arytmetycznych wykonywanych przez algorytmy transformacji Newtona - Lagrange a dla punktów, których współrzędne spełniają równanie rekurencyjne pierwszego rzędu zostało przedstawione na rysunku 4.1. Rysunek przedstawia wykresy dla algorytmu 4.6 oraz znanych algorytmów rzędu O (n 2 ) [Kincaid i Cheney, 2006] (tabela 4.2, wiersz 2) i O ( n log 2 n ) [Bostan i Schost, 2005] (tabela 4.2, wiersz 3), przy założeniu, że splot jest obliczany algorytmem rzędu 33

36 Nowe algorytmy ewaluacji i interpolacji jednowymiarowej O (n log n) (ze wzoru (3.4)) Ze względu na dużą różnicę pomiędzy liczbą operacji porównywanych algorytmów na wykresie została zastosowana skala logarytmiczna. Rysunek 4.1: Porównanie liczby operacji arytmetycznych wykonywanych przez algorytmy obliczania transformacji Newtona-Lagrange a dla punktów generowanych przez równanie rekurencyjne pierwszego rzędu Warto zwrócić uwagę, że wykonanie obliczeń dla n = 2 16 przy pomocy algorytmu 4.6 zamiast algorytmu klasycznego [Kincaid i Cheney, 2006], pozwala na zaoszczędzenie około 99, 6% operacji arytmetycznych. W porównaniu z algorytmem wykorzystującym FFT [Bostan i Schost, 2005] ta oszczędność wynosi około 95%. Podobne wyniki uzyskuje się w przypadku pozostałych transformacji. 34

37 5. Interpolacyjne i ewaluacyjne transformacje wielowymiarowe 5.1. Sformułowanie problemu Niech n = (n 1, n 2,..., n d ) będzie wektorem dodatnich liczb całkowitych i niech Q n będzie siatką α = (α 1, α 2,..., α d ) ze współrzędnymi całkowitymi spełniającymi nierówność 0 α i < n i dla i = 1, 2,..., d. Korzystając z notacji wielowskaźnikowej, definiuje się przestrzeń P d n = P d n (K) wszystkich wielomianów p (x) = α Q n a α x α (5.1) zmiennej x = (x 1, x 2,..., x d ) K d, ze współczynnikami a α = a α1,α 2,...,α d z ciała K. Wzór (5.1) przedstawia wielomian w reprezentacji potęgowej Zakładając, że parami różne punkty x α = x α 1 1 x α x α d d. x i,0, x i,1,..., x i,ni 1, x i,j x i,k dla j k, należą do ciała K dla każdego i = 1, 2,..., d, w przestrzeni P d n, n = (n 1, n 2,..., n d ), można zdefiniować inne bazy wielomianowe, m. in. bazę Lagrange a i bazę Newtona L α (x) = B α (x) = d n i 1 i=1 j=0 j α i d α i 1 i=1 j=0 x i x i,j x i,αi x i,j, α = (α 1, α 2,..., α d ) Q n, (5.2) (x i x i,j ), α = (α 1, α 2,..., α d ) Q n, (5.3) 35

38 Interpolacyjne i ewaluacyjne transformacje wielowymiarowe Wiadomo, że wielomian interpolacyjny zdefiniowany przez następujące warunki interpolacji p (x α ) = f α, α Q n, w węzłach x α = (x 1,α1, x 2,α2,..., x d,αd ) K d, gdzie f α = f (x α ) są wartościami funkcji f : K d K, istnieje i jest określony jednoznacznie. Może on zostać zapisany w postaci Lagrange a lub Newtona p (x) = p (x) = α Q n f α L α (x) (5.4) α Q n c α B α (x), (5.5) gdzie L α (x) i B α (x) są wielomianami zdefiniowanymi odpowiednio wzorami (5.2) i (5.3). Ponadto współczynniki c α, występujące we wzorze (5.5), oznaczają wielowymiarowe ilorazy różnicowe zdefiniowane wzorami c α = f [x 1,0,..., x 1,α1 ;... ; x d,0,..., x d,αd ] = β clq α d α i i=1 j=0 f β, (5.6) (x i,βi x i,j ) j β i gdzie clq α = {β = (β 1, β 2,.., β d ) : 0 β i α i dla i = 1, 2,..., d}. W tym rozdziale zostaną zaprezentowane nowe, szybkie algorytmy obliczania wielowymiarowych transformacji z uwzględnieniem baz Lagrange a, Newtona i potęgowej w przypadku, gdy punkty x α = (x 1,α1, x 2,α2,..., x d,αd ), α Q n, są generowane przez następujące wzory rekurencyjne x i,j = λ i x i,j 1 + δ i, i = 1, 2,..., d, j = 1, 2,..., n i 1, (5.7) gdzie λ i 0, δ i i x i,0 = κ i (i = 1, 2,..., d) są stałymi z ciała K. Rząd tych algorytmów wynosi O (C (N)), gdzie N = n 1 n 2... n d i C (N) oznacza koszt obliczenia splotu d-wymiarowego. 36

Algorytmy transformacji wielomianowych i ich zastosowania

Algorytmy transformacji wielomianowych i ich zastosowania INSTYTUT BADAŃ SYSTEMOWYCH PAN mgr Joanna Kapusta Niestacjonarne Studia Doktoranckie IBS PAN Autoreferat pracy doktorskiej pt. Algorytmy transformacji wielomianowych i ich zastosowania Promotor: dr hab.

Bardziej szczegółowo

3. Interpolacja. Interpolacja w sensie Lagrange'a (3.1) Dana jest funkcja y= f x określona i ciągła w przedziale [a ;b], która

3. Interpolacja. Interpolacja w sensie Lagrange'a (3.1) Dana jest funkcja y= f x określona i ciągła w przedziale [a ;b], która 3. Interpolacja Interpolacja w sensie Lagrange'a (3.1) Dana jest funkcja y= f x określona i ciągła w przedziale [a ;b], która przyjmuje wartości y 1, y 2,, y n, dla skończonego zbioru argumentów x 1, x

Bardziej szczegółowo

Macierze. Rozdział Działania na macierzach

Macierze. Rozdział Działania na macierzach Rozdział 5 Macierze Funkcję, która każdej parze liczb naturalnych (i, j) (i 1,..., n; j 1,..., m) przyporządkowuje dokładnie jedną liczbę a ij F, gdzie F R lub F C, nazywamy macierzą (rzeczywistą, gdy

Bardziej szczegółowo

Układy równań liniowych. Krzysztof Patan

Układy równań liniowych. Krzysztof Patan Układy równań liniowych Krzysztof Patan Motywacje Zagadnienie kluczowe dla przetwarzania numerycznego Wiele innych zadań redukuje się do problemu rozwiązania układu równań liniowych, często o bardzo dużych

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI 1 TEORETYCZNE PODSTAWY INFORMATYKI 16/01/2017 WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Repetytorium złożoność obliczeniowa 2 Złożoność obliczeniowa Notacja wielkie 0 Notacja Ω i Θ Rozwiązywanie

Bardziej szczegółowo

ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 24 czerwca 2019 roku

ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 24 czerwca 2019 roku Egzamin pisemny zestaw. ( pkt.) Udowodnić, że jeśli funkcja g interpoluje funkcję f w węzłach x 0, x, K, x n, a funk- cja h interpoluje funkcję f w węzłach x, x, K, x n, to funkcja x0 x gx ( ) + [ gx (

Bardziej szczegółowo

5. Rozwiązywanie układów równań liniowych

5. Rozwiązywanie układów równań liniowych 5. Rozwiązywanie układów równań liniowych Wprowadzenie (5.1) Układ n równań z n niewiadomymi: a 11 +a 12 x 2 +...+a 1n x n =a 10, a 21 +a 22 x 2 +...+a 2n x n =a 20,..., a n1 +a n2 x 2 +...+a nn x n =a

Bardziej szczegółowo

Interpolacja. Marcin Orchel. Drugi przypadek szczególny to interpolacja trygonometryczna

Interpolacja. Marcin Orchel. Drugi przypadek szczególny to interpolacja trygonometryczna Interpolacja Marcin Orchel 1 Wstęp Mamy daną funkcję φ (x; a 0,..., a n ) zależną od n + 1 parametrów a 0,..., a n. Zadanie interpolacji funkcji φ polega na określeniu parametrów a i tak aby dla n + 1

Bardziej szczegółowo

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory; Wykłady 8 i 9 Pojęcia przestrzeni wektorowej i macierzy Układy równań liniowych Elementy algebry macierzy dodawanie, odejmowanie, mnożenie macierzy; macierz odwrotna dr Mariusz Grządziel 15,29 kwietnia

Bardziej szczegółowo

VI. Równania różniczkowe liniowe wyższych rzędów

VI. Równania różniczkowe liniowe wyższych rzędów VI. 1. Równanie różniczkowe liniowe n-tego rzędu o zmiennych współczynnikach Niech podobnie jak w poprzednim paragrafie K = C lub K = R. Podobnie jak w dziedzinie rzeczywistej wprowadzamy pochodne wyższych

Bardziej szczegółowo

ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 26 czerwca 2017 roku

ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 26 czerwca 2017 roku Egzamin pisemny zestaw czerwca 0 roku Imię i nazwisko:.... ( pkt.) Udowodnić, że jeśli funkcja g interpoluje funkcję f w węzłach x 0, x, K, x n, a funk- cja h interpoluje funkcję f w węzłach x, x, K, x

Bardziej szczegółowo

Przestrzenie wektorowe

Przestrzenie wektorowe Rozdział 4 Przestrzenie wektorowe Rozważania dotyczące przestrzeni wektorowych rozpoczniemy od kilku prostych przykładów. Przykład 4.1. W przestrzeni R 3 = {(x, y, z) : x, y, z R} wprowadzamy dwa działania:

Bardziej szczegółowo

Treść wykładu. Układy równań i ich macierze. Rząd macierzy. Twierdzenie Kroneckera-Capellego.

Treść wykładu. Układy równań i ich macierze. Rząd macierzy. Twierdzenie Kroneckera-Capellego. . Metoda eliminacji. Treść wykładu i ich macierze... . Metoda eliminacji. Ogólna postać układu Układ m równań liniowych o n niewiadomych x 1, x 2,..., x n : a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21

Bardziej szczegółowo

Obliczenia Naukowe. Wykład 12: Zagadnienia na egzamin. Bartek Wilczyński

Obliczenia Naukowe. Wykład 12: Zagadnienia na egzamin. Bartek Wilczyński Obliczenia Naukowe Wykład 12: Zagadnienia na egzamin Bartek Wilczyński 6.6.2016 Tematy do powtórki Arytmetyka komputerów Jak wygląda reprezentacja liczb w arytmetyce komputerowej w zapisie cecha+mantysa

Bardziej szczegółowo

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm Rozdział 5 Macierze Funkcję, która każdej parze liczb naturalnych (i,j) (i = 1,,n;j = 1,,m) przyporządkowuje dokładnie jedną liczbę a ij F, gdzie F = R lub F = C, nazywamy macierzą (rzeczywistą, gdy F

Bardziej szczegółowo

Metody numeryczne. Ilorazy różnicowe. dr Artur Woike. Wzory interpolacyjne Newtona i metoda Aitkena.

Metody numeryczne. Ilorazy różnicowe. dr Artur Woike. Wzory interpolacyjne Newtona i metoda Aitkena. Ćwiczenia nr 3. Ilorazy różnicowe Niech będą dane punkty x 0,..., x n i wartości f (x 0 ),..., f (x n ). Definiujemy rekurencyjnie ilorazy różnicowe: f (x i, x i+1 ) = f (x i+1) f (x i ) x i+1 x i, i =

Bardziej szczegółowo

Metody Numeryczne Wykład 4 Wykład 5. Interpolacja wielomianowa

Metody Numeryczne Wykład 4 Wykład 5. Interpolacja wielomianowa Sformułowanie zadania interpolacji Metody Numeryczne Wykład 4 Wykład 5 Interpolacja wielomianowa Niech D R i niech F bȩdzie pewnym zbiorem funkcji f : D R. Niech x 0, x 1,..., x n bȩdzie ustalonym zbiorem

Bardziej szczegółowo

Układy równań liniowych

Układy równań liniowych Układy równań liniowych Niech K będzie ciałem. Niech n, m N. Równanie liniowe nad ciałem K z niewiadomymi (lub zmiennymi) x 1, x 2,..., x n K definiujemy jako formę zdaniową zmiennej (x 1,..., x n ) K

Bardziej szczegółowo

Bardzo łatwa lista powtórkowa

Bardzo łatwa lista powtórkowa Analiza numeryczna, II rok inf., WPPT- 12 stycznia 2008 Terminy egzaminów Przypominam, że egzaminy odbędą się w następujących terminach: egzamin podstawowy: 30 stycznia, godz. 13 15, C-13/1.31 egzamin

Bardziej szczegółowo

Przekształcenia liniowe

Przekształcenia liniowe Przekształcenia liniowe Zadania Które z następujących przekształceń są liniowe? (a) T : R 2 R 2, T (x, x 2 ) = (2x, x x 2 ), (b) T : R 2 R 2, T (x, x 2 ) = (x + 3x 2, x 2 ), (c) T : R 2 R, T (x, x 2 )

Bardziej szczegółowo

Układy równań i nierówności liniowych

Układy równań i nierówności liniowych Układy równań i nierówności liniowych Wiesław Krakowiak 1 grudnia 2010 1 Układy równań liniowych DEFINICJA 11 Układem równań m liniowych o n niewiadomych X 1,, X n, nazywamy układ postaci: a 11 X 1 + +

Bardziej szczegółowo

Wykład 14. Elementy algebry macierzy

Wykład 14. Elementy algebry macierzy Wykład 14 Elementy algebry macierzy dr Mariusz Grządziel 26 stycznia 2009 Układ równań z dwoma niewiadomymi Rozważmy układ równań z dwoma niewiadomymi: a 11 x + a 12 y = h 1 a 21 x + a 22 y = h 2 a 11,

Bardziej szczegółowo

Transformaty. Kodowanie transformujace

Transformaty. Kodowanie transformujace Transformaty. Kodowanie transformujace Kodowanie i kompresja informacji - Wykład 10 10 maja 2009 Szeregi Fouriera Każda funkcję okresowa f (t) o okresie T można zapisać jako f (t) = a 0 + a n cos nω 0

Bardziej szczegółowo

Wykład 5. Metoda eliminacji Gaussa

Wykład 5. Metoda eliminacji Gaussa 1 Wykład 5 Metoda eliminacji Gaussa Rozwiązywanie układów równań liniowych Układ równań liniowych może mieć dokładnie jedno rozwiązanie, nieskończenie wiele rozwiązań lub nie mieć rozwiązania. Metody dokładne

Bardziej szczegółowo

Newton vs. Lagrange - kto lepszy?

Newton vs. Lagrange - kto lepszy? Uniwersytet Mikołaja Kopernika Wydział Matematyki i Informatyki Katedra Analizy Matematycznej Agnieszka Rydzyńska nr albumu: 254231 Praca Zaliczeniowa z Seminarium Newton vs. Lagrange - kto lepszy? Opiekun

Bardziej szczegółowo

1 Macierz odwrotna metoda operacji elementarnych

1 Macierz odwrotna metoda operacji elementarnych W tej części skupimy się na macierzach kwadratowych. Zakładać będziemy, że A M(n, n) dla pewnego n N. Definicja 1. Niech A M(n, n). Wtedy macierzą odwrotną macierzy A (ozn. A 1 ) nazywamy taką macierz

Bardziej szczegółowo

Analiza numeryczna Kurs INP002009W. Wykład 8 Interpolacja wielomianowa. Karol Tarnowski A-1 p.223

Analiza numeryczna Kurs INP002009W. Wykład 8 Interpolacja wielomianowa. Karol Tarnowski A-1 p.223 Analiza numeryczna Kurs INP002009W Wykład 8 Interpolacja wielomianowa Karol Tarnowski karol.tarnowski@pwr.wroc.pl A-1 p.223 Plan wykładu Wielomian interpolujący Wzór interpolacyjny Newtona Wzór interpolacyjny

Bardziej szczegółowo

Pierścień wielomianów jednej zmiennej

Pierścień wielomianów jednej zmiennej Rozdział 1 Pierścień wielomianów jednej zmiennej 1.1 Definicja pierścienia wielomianów jednej zmiennej Definicja 1.1 Niech P będzie dowolnym pierścieniem. Ciąg nieskończony (a 0, a 1,..., a n,...) elementów

Bardziej szczegółowo

Układy równań i równania wyższych rzędów

Układy równań i równania wyższych rzędów Rozdział Układy równań i równania wyższych rzędów Układy równań różniczkowych zwyczajnych Wprowadzenie W poprzednich paragrafach zajmowaliśmy się równaniami różniczkowymi y = f(x, y), których rozwiązaniem

Bardziej szczegółowo

Zaawansowane algorytmy i struktury danych

Zaawansowane algorytmy i struktury danych Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań teoretycznych z egzaminów. Strona 1 z 12 Pytania teoretyczne z egzaminu pisemnego z 25 czerwca 2014 (studia dzienne)

Bardziej szczegółowo

Metody numeryczne. Sformułowanie zagadnienia interpolacji

Metody numeryczne. Sformułowanie zagadnienia interpolacji Ćwiczenia nr 4. Sformułowanie zagadnienia interpolacji Niech będą dane punkty x 0,..., x n i wartości y 0,..., y n, takie że i=0,...,n y i = f (x i )). Szukamy funkcji F (funkcji interpolującej), takiej

Bardziej szczegółowo

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A Egzamin z Metod Numerycznych ZSI, 06.2007. Egzamin, Gr. A Imię i nazwisko: Nr indeksu: Section 1. Test wyboru, max 33 pkt Zaznacz prawidziwe odpowiedzi literą T, a fałszywe N. Każda prawidłowa odpowiedź

Bardziej szczegółowo

Parametry systemów klucza publicznego

Parametry systemów klucza publicznego Parametry systemów klucza publicznego Andrzej Chmielowiec Instytut Podstawowych Problemów Techniki Polskiej Akademii Nauk 24 marca 2010 Algorytmy klucza publicznego Zastosowania algorytmów klucza publicznego

Bardziej szczegółowo

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Postać układu równań liniowych Układ liniowych równań algebraicznych

Bardziej szczegółowo

Matematyka dyskretna dla informatyków

Matematyka dyskretna dla informatyków Matematyka dyskretna dla informatyków Część I: Elementy kombinatoryki Jerzy Jaworski Zbigniew Palka Jerzy Szymański Uniwersytet im. Adama Mickiewicza Poznań 2007 4 Zależności rekurencyjne Wiele zależności

Bardziej szczegółowo

1 Zbiory i działania na zbiorach.

1 Zbiory i działania na zbiorach. Matematyka notatki do wykładu 1 Zbiory i działania na zbiorach Pojęcie zbioru jest to pojęcie pierwotne (nie definiuje się tego pojęcia) Pojęciami pierwotnymi są: element zbioru i przynależność elementu

Bardziej szczegółowo

Przestrzenie liniowe

Przestrzenie liniowe Rozdział 4 Przestrzenie liniowe 4.1. Działania zewnętrzne Niech X oraz F będą dwoma zbiorami niepustymi. Dowolną funkcję D : F X X nazywamy działaniem zewnętrznym w zbiorze X nad zbiorem F. Przykład 4.1.

Bardziej szczegółowo

Treść wykładu. Pierścienie wielomianów. Dzielenie wielomianów i algorytm Euklidesa Pierścienie ilorazowe wielomianów

Treść wykładu. Pierścienie wielomianów. Dzielenie wielomianów i algorytm Euklidesa Pierścienie ilorazowe wielomianów Treść wykładu Pierścienie wielomianów. Definicja Niech P będzie pierścieniem. Wielomianem jednej zmiennej o współczynnikach z P nazywamy każdy ciąg f = (f 0, f 1, f 2,...), gdzie wyrazy ciągu f są prawie

Bardziej szczegółowo

Szybka transformacja Fouriera (FFT Fast Fourier Transform)

Szybka transformacja Fouriera (FFT Fast Fourier Transform) Szybka transformacja Fouriera (FFT Fast Fourier Transform) Plan wykładu: 1. Transformacja Fouriera, iloczyn skalarny 2. DFT - dyskretna transformacja Fouriera 3. FFT szybka transformacja Fouriera a) algorytm

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Matematyka dyskretna. Andrzej Łachwa, UJ, /10 Matematyka dyskretna Andrzej Łachwa, UJ, 2018 andrzej.lachwa@uj.edu.pl 10/10 Podziały i liczby Stirlinga Liczba Stirlinga dla cykli (często nazywana liczbą Stirlinga pierwszego rodzaju) to liczba permutacji

Bardziej szczegółowo

Obliczenia naukowe Wykład nr 6

Obliczenia naukowe Wykład nr 6 Obliczenia naukowe Wykład nr 6 Paweł Zieliński Katedra Informatyki, Wydział Podstawowych Problemów Techniki, Politechnika Wrocławska Literatura Literatura podstawowa [1] D. Kincaid, W. Cheney, Analiza

Bardziej szczegółowo

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH Transport, studia I stopnia Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Postać ogólna równania nieliniowego Często występującym, ważnym problemem obliczeniowym

Bardziej szczegółowo

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa SIMR 06/07, Analiza, wykład, 07-0- Przestrzeń wektorowa Przestrzeń wektorowa (liniowa) - przestrzeń (zbiór) w której określone są działania (funkcje) dodawania elementów i mnożenia elementów przez liczbę

Bardziej szczegółowo

macierze jednostkowe (identyczności) macierze diagonalne, które na przekątnej mają same

macierze jednostkowe (identyczności) macierze diagonalne, które na przekątnej mają same 1 Macierz definicja i zapis Macierzą wymiaru m na n nazywamy tabelę a 11 a 1n A = a m1 a mn złożoną z liczb (rzeczywistych lub zespolonych) o m wierszach i n kolumnach (zamiennie będziemy też czasem mówili,

Bardziej szczegółowo

Baza w jądrze i baza obrazu ( )

Baza w jądrze i baza obrazu ( ) Przykład Baza w jądrze i baza obrazu (839) Znajdź bazy jądra i obrazu odwzorowania α : R 4 R 3, gdzie α(x, y, z, t) = (x + 2z + t, 2x + y 3z 5t, x y + z + 4t) () zór ten oznacza, że α jest odwzorowaniem

Bardziej szczegółowo

Obliczenia iteracyjne

Obliczenia iteracyjne Lekcja Strona z Obliczenia iteracyjne Zmienne iteracyjne (wyliczeniowe) Obliczenia iteracyjne wymagają zdefiniowania specjalnej zmiennej nazywanej iteracyjną lub wyliczeniową. Zmienną iteracyjną od zwykłej

Bardziej szczegółowo

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Uwarunkowanie zadania numerycznego Niech ϕ : R n R m będzie pewna funkcja odpowiednio wiele

Bardziej szczegółowo

Rozwiązywanie równań nieliniowych

Rozwiązywanie równań nieliniowych Rozwiązywanie równań nieliniowych Marcin Orchel 1 Wstęp Przykłady wyznaczania miejsc zerowych funkcji f : f(ξ) = 0. Wyszukiwanie miejsc zerowych wielomianu n-tego stopnia. Wymiar tej przestrzeni wektorowej

Bardziej szczegółowo

Analiza numeryczna kolokwium2a-15grudnia2005

Analiza numeryczna kolokwium2a-15grudnia2005 kolokwium2a-15grudnia2005 1.Niechf(x)=a n x n +a n 1 x n 1 +...+a 0.Jakąwartośćprzyjmujeilorazróżnicowy f[x 0,...,x n ]dladowolnychn+1paramiróżnychwęzłówx j?odpowiedźuzasadnić. 2. Pokazać, że zamiana zmiennych

Bardziej szczegółowo

VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa.

VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa. VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa. W rozdziale tym zajmiemy się dokładniej badaniem stabilności rozwiązań równania różniczkowego. Pojęcie stabilności w

Bardziej szczegółowo

1. Wykład NWD, NWW i algorytm Euklidesa.

1. Wykład NWD, NWW i algorytm Euklidesa. 1.1. NWD, NWW i algorytm Euklidesa. 1. Wykład 1 Twierdzenie 1.1 (o dzieleniu z resztą). Niech a, b Z, b 0. Wówczas istnieje dokładnie jedna para liczb całkowitych q, r Z taka, że a = qb + r oraz 0 r< b.

Bardziej szczegółowo

Transformata Fouriera. Sylwia Kołoda Magdalena Pacek Krzysztof Kolago

Transformata Fouriera. Sylwia Kołoda Magdalena Pacek Krzysztof Kolago Transformata Fouriera Sylwia Kołoda Magdalena Pacek Krzysztof Kolago Transformacja Fouriera rozkłada funkcję okresową na szereg funkcji okresowych tak, że uzyskana transformata podaje w jaki sposób poszczególne

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Matematyka dyskretna. Andrzej Łachwa, UJ, /15 Matematyka dyskretna Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl 7/15 Rachunek różnicowy Dobrym narzędziem do obliczania skończonych sum jest rachunek różnicowy. W rachunku tym odpowiednikiem operatora

Bardziej szczegółowo

Przykładowe zadania z teorii liczb

Przykładowe zadania z teorii liczb Przykładowe zadania z teorii liczb I. Podzielność liczb całkowitych. Liczba a = 346 przy dzieleniu przez pewną liczbę dodatnią całkowitą b daje iloraz k = 85 i resztę r. Znaleźć dzielnik b oraz resztę

Bardziej szczegółowo

Maciej Grzesiak. Wielomiany

Maciej Grzesiak. Wielomiany Maciej Grzesiak Wielomiany 1 Pojęcia podstawowe Wielomian definiuje się w szkole średniej jako funkcję postaci f(x) = a 0 + a 1 x + a 2 x + + a n x n Dogodniejsza z punktu widzenia algebry jest następująca

Bardziej szczegółowo

Wektory i wartości własne

Wektory i wartości własne Treść wykładu Podprzestrzenie niezmiennicze Podprzestrzenie niezmiennicze... Twierdzenie Cayley Hamiltona Podprzestrzenie niezmiennicze Definicja Niech f : V V będzie przekształceniem liniowym. Podprzestrzeń

Bardziej szczegółowo

Wymagania edukacyjne z matematyki klasa II technikum

Wymagania edukacyjne z matematyki klasa II technikum Wymagania edukacyjne z matematyki klasa II technikum Poziom rozszerzony Obowiązują wymagania z zakresu podstawowego oraz dodatkowo: 1. JĘZYK MATEMATYKI I FUNKCJE LICZBOWE Uczeń otrzymuje ocenę dopuszczającą

Bardziej szczegółowo

INTERPOLACJA I APROKSYMACJA FUNKCJI

INTERPOLACJA I APROKSYMACJA FUNKCJI Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Wprowadzenie Na czym polega interpolacja? Interpolacja polega

Bardziej szczegółowo

Dystrybucje, wiadomości wstępne (I)

Dystrybucje, wiadomości wstępne (I) Temat 8 Dystrybucje, wiadomości wstępne (I) Wielkości fizyczne opisujemy najczęściej przyporządkowując im funkcje (np. zależne od czasu). Inną drogą opisu tych wielkości jest przyporządkowanie im funkcjonałów

Bardziej szczegółowo

Wykład 4 Udowodnimy teraz, że jeśli U, W są podprzetrzeniami skończenie wymiarowej przestrzeni V to zachodzi wzór: dim(u + W ) = dim U + dim W dim(u

Wykład 4 Udowodnimy teraz, że jeśli U, W są podprzetrzeniami skończenie wymiarowej przestrzeni V to zachodzi wzór: dim(u + W ) = dim U + dim W dim(u Wykład 4 Udowodnimy teraz, że jeśli U, W są podprzetrzeniami skończenie wymiarowej przestrzeni V to zachodzi wzór: dim(u + W ) = dim U + dim W dim(u W ) Rzeczywiście U W jest podprzetrzenią przestrzeni

Bardziej szczegółowo

Zestaw zadań 5: Sumy i sumy proste podprzestrzeni. Baza i wymiar. Rzędy macierzy. Struktura zbioru rozwiązań układu równań.

Zestaw zadań 5: Sumy i sumy proste podprzestrzeni. Baza i wymiar. Rzędy macierzy. Struktura zbioru rozwiązań układu równań. Zestaw zadań : Sumy i sumy proste podprzestrzeni Baza i wymiar Rzędy macierzy Struktura zbioru rozwiązań układu równań () Pokazać, że jeśli U = lin(α, α,, α k ), U = lin(β, β,, β l ), to U + U = lin(α,

Bardziej szczegółowo

Wykład z równań różnicowych

Wykład z równań różnicowych Wykład z równań różnicowych 1 Wiadomości wstępne Umówmy się, że na czas tego wykładu zrezygnujemy z oznaczania n-tego wyrazu ciągu symbolem typu x n, y n itp. Zamiast tego pisać będziemy x (n), y (n) itp.

Bardziej szczegółowo

Zadania z algebry liniowej - sem. I Przestrzenie liniowe, bazy, rząd macierzy

Zadania z algebry liniowej - sem. I Przestrzenie liniowe, bazy, rząd macierzy Zadania z algebry liniowej - sem I Przestrzenie liniowe bazy rząd macierzy Definicja 1 Niech (K + ) będzie ciałem (zwanym ciałem skalarów a jego elementy nazywać będziemy skalarami) Przestrzenią liniową

Bardziej szczegółowo

Wektory i wartości własne

Wektory i wartości własne Treść wykładu Podprzestrzenie niezmiennicze... Twierdzenie Cayley Hamiltona Podprzestrzenie niezmiennicze Definicja Niech f : V V będzie przekształceniem liniowym. Podprzestrzeń W V nazywamy niezmienniczą

Bardziej szczegółowo

Równania różniczkowe liniowe wyższych rzędów o stałych współcz

Równania różniczkowe liniowe wyższych rzędów o stałych współcz Równania różniczkowe liniowe wyższych rzędów o stałych współczynnikach Katedra Matematyki i Ekonomii Matematycznej SGH 12 maja 2016 Równanie liniowe n-tego rzędu Definicja Równaniem różniczkowym liniowym

Bardziej szczegółowo

Ćwiczenia nr 7. TEMATYKA: Krzywe Bézier a

Ćwiczenia nr 7. TEMATYKA: Krzywe Bézier a TEMATYKA: Krzywe Bézier a Ćwiczenia nr 7 DEFINICJE: Interpolacja: przybliżanie funkcji za pomocą innej funkcji, zwykle wielomianu, tak aby były sobie równe w zadanych punktach. Poniżej przykład interpolacji

Bardziej szczegółowo

Przekształcanie równań stanu do postaci kanonicznej diagonalnej

Przekształcanie równań stanu do postaci kanonicznej diagonalnej Przekształcanie równań stanu do postaci kanonicznej diagonalnej Przygotowanie: Dariusz Pazderski Liniowe przekształcenie równania stanu Rozważmy liniowe równanie stanu i równanie wyjścia układu niesingularnego

Bardziej szczegółowo

Metody numeryczne I Równania nieliniowe

Metody numeryczne I Równania nieliniowe Metody numeryczne I Równania nieliniowe Janusz Szwabiński szwabin@ift.uni.wroc.pl Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/66 Równania nieliniowe 1. Równania nieliniowe z pojedynczym pierwiastkiem

Bardziej szczegółowo

O geometrii semialgebraicznej

O geometrii semialgebraicznej Inauguracja roku akademickiego 2018/2019 na Wydziale Matematyki i Informatyki Uniwersytetu Łódzkiego O geometrii semialgebraicznej Stanisław Spodzieja Łódź, 28 września 2018 Wstęp Rozwiązywanie równań

Bardziej szczegółowo

Algebra WYKŁAD 3 ALGEBRA 1

Algebra WYKŁAD 3 ALGEBRA 1 Algebra WYKŁAD 3 ALGEBRA 1 Liczby zespolone Postać wykładnicza liczby zespolonej Niech e oznacza stałą Eulera Definicja Równość e i cos isin nazywamy wzorem Eulera. ALGEBRA 2 Liczby zespolone Każdą liczbę

Bardziej szczegółowo

0.1 Pierścienie wielomianów

0.1 Pierścienie wielomianów 0.1 Pierścienie wielomianów Zadanie 1. Znaleźć w pierścieniu Z 5 [X] drugi wielomian określający tę samą funkcję, co wielomian X 2 X + 1. (Odp. np. X 5 + X 2 2X + 1). Zadanie 2. Znaleźć sumę i iloczyn

Bardziej szczegółowo

Uwaga: Funkcja zamień(a[j],a[j+s]) zamienia miejscami wartości A[j] oraz A[j+s].

Uwaga: Funkcja zamień(a[j],a[j+s]) zamienia miejscami wartości A[j] oraz A[j+s]. Zadanie 1. Wiązka zadań Od szczegółu do ogółu Rozważmy następujący algorytm: Dane: Algorytm 1: k liczba naturalna, A[1...2 k ] tablica liczb całkowitych. n 1 dla i=1,2,,k wykonuj n 2n s 1 dopóki s

Bardziej szczegółowo

Matematyka stosowana i metody numeryczne

Matematyka stosowana i metody numeryczne Ewa Pabisek Adam Wosatko Piotr Pluciński Matematyka stosowana i metody numeryczne Konspekt z wykładu 6 Rozwiązywanie równań nieliniowych Rozwiązaniem lub pierwiastkiem równania f(x) = 0 lub g(x) = h(x)

Bardziej szczegółowo

Rozdział 3. Tensory. 3.1 Krzywoliniowe układy współrzędnych

Rozdział 3. Tensory. 3.1 Krzywoliniowe układy współrzędnych Rozdział 3 Tensory 3.1 Krzywoliniowe układy współrzędnych W kartezjańskim układzie współrzędnych punkty P są scharakteryzowane przez współrzędne kartezjańskie wektora wodzącego r = x 1 i 1 + x 2 i 2 +

Bardziej szczegółowo

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

Funkcja kwadratowa. f(x) = ax 2 + bx + c, Funkcja kwadratowa. Funkcją kwadratową nazywamy funkcję f : R R określoną wzorem gdzie a, b, c R, a 0. f(x) = ax 2 + bx + c, Szczególnym przypadkiem funkcji kwadratowej jest funkcja f(x) = ax 2, a R \

Bardziej szczegółowo

składa się z m + 1 uporządkowanych niemalejąco liczb nieujemnych. Pomiędzy p, n i m zachodzi następująca zależność:

składa się z m + 1 uporządkowanych niemalejąco liczb nieujemnych. Pomiędzy p, n i m zachodzi następująca zależność: TEMATYKA: Krzywe typu Splajn (Krzywe B sklejane) Ćwiczenia nr 8 Krzywe Bezier a mają istotne ograniczenie. Aby uzyskać kształt zawierający wiele punktów przegięcia niezbędna jest krzywa wysokiego stopnia.

Bardziej szczegółowo

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn x 1 x 2... x m ...

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn x 1 x 2... x m ... Wykład 15 Układy równań liniowych Niech K będzie ciałem i niech α 1, α 2,, α n, β K. Równanie: α 1 x 1 + α 2 x 2 + + α n x n = β z niewiadomymi x 1, x 2,, x n nazywamy równaniem liniowym. Układ: a 21 x

Bardziej szczegółowo

Ciała skończone. 1. Ciała: podstawy

Ciała skończone. 1. Ciała: podstawy Ciała skończone 1. Ciała: podstawy Definicja 1. Każdy zbiór liczb, w którym są wykonalne wszystkie cztery działania z wyjątkiem dzielenia przez 0 i który zawiera więcej niż jedną liczbę, nazywamy ciałem

Bardziej szczegółowo

Informacja o przestrzeniach Sobolewa

Informacja o przestrzeniach Sobolewa Wykład 11 Informacja o przestrzeniach Sobolewa 11.1 Definicja przestrzeni Sobolewa Niech R n będzie zbiorem mierzalnym. Rozważmy przestrzeń Hilberta X = L 2 () z iloczynem skalarnym zdefiniowanym równością

Bardziej szczegółowo

Algorytmy i struktury danych. Wykład 4

Algorytmy i struktury danych. Wykład 4 Wykład 4 Różne algorytmy - obliczenia 1. Obliczanie wartości wielomianu 2. Szybkie potęgowanie 3. Algorytm Euklidesa, liczby pierwsze, faktoryzacja liczby naturalnej 2017-11-24 Algorytmy i struktury danych

Bardziej szczegółowo

Własności wyznacznika

Własności wyznacznika Własności wyznacznika Rozwinięcie Laplace a względem i-tego wiersza: n det(a) = ( 1) i+j a ij M ij (A), j=1 gdzie M ij (A) to minor (i, j)-ty macierzy A, czyli wyznacznik macierzy uzyskanej z macierzy

Bardziej szczegółowo

Rozdział 2. Liczby zespolone

Rozdział 2. Liczby zespolone Rozdział Liczby zespolone Zbiór C = R z działaniami + oraz określonymi poniżej: x 1, y 1 ) + x, y ) := x 1 + x, y 1 + y ), 1) x 1, y 1 ) x, y ) := x 1 x y 1 y, x 1 y + x y 1 ) ) jest ciałem zob rozdział

Bardziej szczegółowo

Matematyka stosowana i metody numeryczne

Matematyka stosowana i metody numeryczne Ewa Pabisek Adam Wosatko Piotr Pluciński Matematyka stosowana i metody numeryczne Konspekt z wykładu 8 Interpolacja Interpolacja polega na budowaniu tzw. funkcji interpolujących ϕ(x) na podstawie zadanych

Bardziej szczegółowo

Algebra liniowa. 1. Macierze.

Algebra liniowa. 1. Macierze. Algebra liniowa 1 Macierze Niech m oraz n będą liczbami naturalnymi Przestrzeń M(m n F) = F n F n będącą iloczynem kartezjańskim m egzemplarzy przestrzeni F n z naturalnie określonymi działaniami nazywamy

Bardziej szczegółowo

RÓWNANIA RÓŻNICZKOWE WYKŁAD 2

RÓWNANIA RÓŻNICZKOWE WYKŁAD 2 RÓWNANIA RÓŻNICZKOWE WYKŁAD 2 Równania różniczkowe o zmiennych rozdzielonych Równania sprowadzalne do równań o zmiennych rozdzielonych Niech f będzie funkcją ciągłą na przedziale (a, b), spełniającą na

Bardziej szczegółowo

Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k.

Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k. Funkcje wymierne Jerzy Rutkowski Teoria Przypomnijmy, że przez R[x] oznaczamy zbiór wszystkich wielomianów zmiennej x i o współczynnikach rzeczywistych Definicja Funkcją wymierną jednej zmiennej nazywamy

Bardziej szczegółowo

Wielomiany podstawowe wiadomości

Wielomiany podstawowe wiadomości Rozdział Wielomiany podstawowe wiadomości Funkcję postaci f s = a n s n + a n s n + + a s + a 0, gdzie n N, a i R i = 0,, n, a n 0 nazywamy wielomianem rzeczywistym stopnia n; jeżeli współczynniki a i

Bardziej szczegółowo

Wstęp do równań różniczkowych

Wstęp do równań różniczkowych Wstęp do równań różniczkowych Wykład 1 Lech Sławik Instytut Matematyki PK Literatura 1. Arnold W.I., Równania różniczkowe zwyczajne, PWN, Warszawa, 1975. 2. Matwiejew N.M., Metody całkowania równań różniczkowych

Bardziej szczegółowo

Matematyka dyskretna

Matematyka dyskretna Matematyka dyskretna Wykład 12: Krzywe eliptyczne Gniewomir Sarbicki Rozważać będziemy przestrzeń K n Definicja: x y λ K x = λy. Relację nazywamy różnieniem się o skalar Przykład: [4, 10, 6, 14] [6, 15,

Bardziej szczegółowo

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn Metody numeryczne Wykład 3 Dr inż. Michał Łanczont Instytut Elektrotechniki i Elektrotechnologii E419, tel. 4293, m.lanczont@pollub.pl, http://m.lanczont.pollub.pl Zakres wykładu Pojęcia podstawowe Algebra

Bardziej szczegółowo

Aproksymacja funkcji a regresja symboliczna

Aproksymacja funkcji a regresja symboliczna Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą

Bardziej szczegółowo

13 Układy równań liniowych

13 Układy równań liniowych 13 Układy równań liniowych Definicja 13.1 Niech m, n N. Układem równań liniowych nad ciałem F m równaniach i n niewiadomych x 1, x 2,..., x n nazywamy koniunkcję równań postaci a 11 x 1 + a 12 x 2 +...

Bardziej szczegółowo

Całkowanie numeryczne przy użyciu kwadratur

Całkowanie numeryczne przy użyciu kwadratur Całkowanie numeryczne przy użyciu kwadratur Plan wykładu: 1. Kwadratury Newtona-Cotesa a) wzory: trapezów, parabol etc. b) kwadratury złożone 2. Ekstrapolacja a) ekstrapolacja Richardsona b) metoda Romberga

Bardziej szczegółowo

Obliczenia naukowe Wykład nr 2

Obliczenia naukowe Wykład nr 2 Obliczenia naukowe Wykład nr 2 Paweł Zieliński Katedra Informatyki, Wydział Podstawowych Problemów Techniki, Politechnika Wrocławska Literatura Literatura podstawowa [1] D. Kincaid, W. Cheney, Analiza

Bardziej szczegółowo

1 Układy równań liniowych

1 Układy równań liniowych II Metoda Gaussa-Jordana Na wykładzie zajmujemy się układami równań liniowych, pojawi się też po raz pierwszy macierz Formalną (i porządną) teorią macierzy zajmiemy się na kolejnych wykładach Na razie

Bardziej szczegółowo

Metody iteracyjne rozwiązywania układów równań liniowych (5.3) Normy wektorów i macierzy (5.3.1) Niech. x i. i =1

Metody iteracyjne rozwiązywania układów równań liniowych (5.3) Normy wektorów i macierzy (5.3.1) Niech. x i. i =1 Normy wektorów i macierzy (5.3.1) Niech 1 X =[x x Y y =[y1 x n], oznaczają wektory przestrzeni R n, a yn] niech oznacza liczbę rzeczywistą. Wyrażenie x i p 5.3.1.a X p = p n i =1 nosi nazwę p-tej normy

Bardziej szczegółowo

Liczby zespolone. x + 2 = 0.

Liczby zespolone. x + 2 = 0. Liczby zespolone 1 Wiadomości wstępne Rozważmy równanie wielomianowe postaci x + 2 = 0. Współczynniki wielomianu stojącego po lewej stronie są liczbami całkowitymi i jedyny pierwiastek x = 2 jest liczbą

Bardziej szczegółowo

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a Funkcja kwadratowa. Funkcją kwadratową nazywamy funkcję f : R R określoną wzorem gdzie a, b, c R, a 0. f(x) = ax + bx + c, Szczególnym przypadkiem funkcji kwadratowej jest funkcja f(x) = ax, a R \ {0}.

Bardziej szczegółowo

Zaawansowane algorytmy i struktury danych

Zaawansowane algorytmy i struktury danych Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań praktycznych z egzaminów. Strona 1 z 12 Pytania praktyczne z kolokwium zaliczeniowego z 19 czerwca 2014 (studia dzienne)

Bardziej szczegółowo

O MACIERZACH I UKŁADACH RÓWNAŃ

O MACIERZACH I UKŁADACH RÓWNAŃ O MACIERZACH I UKŁADACH RÓWNAŃ Problem Jak rozwiązać podany układ równań? 2x + 5y 8z = 8 4x + 3y z = 2x + 3y 5z = 7 x + 8y 7z = Definicja Równanie postaci a x + a 2 x 2 + + a n x n = b gdzie a, a 2, a

Bardziej szczegółowo