650 likes | 833 Views
Krzysztof Gąsior. Koło Naukowe Matematyków Uniwersytet Rzeszowski. Wybrane zastosowania komputera w matematyce wyższej. VI Matematyczne Warsztaty KaeNeMów. „Matematyka często przeplata się z informatyką i wiele problemów rozwiązywanych za pomocą komputerów to problemy matematyczne”.
E N D
Krzysztof Gąsior Koło Naukowe MatematykówUniwersytet Rzeszowski Wybrane zastosowania komputera w matematyce wyższej VI Matematyczne Warsztaty KaeNeMów
„Matematyka często przeplata się z informatyką i wiele problemów rozwiązywanych za pomocą komputerów to problemy matematyczne”
Cel • jak ważnym narzędziem współczesnego matematyka jest komputer; • niektórych zastosowania programów komputerowych do rozwiązywania wybranych problemów matematycznych. Pokazanie:
Tematyka Zastosowanie: • programu Matematica 6 w równiach różniczkowych; • programowania w języku Java do wyznaczenia liczby relacji w zbiorze n elementowym; • programu Excel do rozwiązania problemu dywersyfikacji poziomu ryzyka inwestycyjnego.
Równie różniczkowe rzędu pierwszego zagadnienie początkowe Cauch’ego Zadanie 1. Rozwiązać zagadnienie początkowe Cauch’ego:
Równie różniczkowe rzędu pierwszego zagadnienie początkowe Cauch’ego Rozwiązanie:
Układ równań różniczkowych -niejednorodnych Zadanie 2. Znajdź całkę ogólną układu niejednorodnego:
Układ równań różniczkowych -niejednorodnych Rozwiązanie numer 1:
Układ równań różniczkowych -niejednorodnych Rozwiązanie numer 2:
Równanie różniczkowe cząstkowe niejednorodne Zadanie 3. Znaleźć rozwiązanie ogólne równania:
Równanie różniczkowe cząstkowe niejednorodne Rozwiązanie:
Układ równań różniczkowych cząstkowych Zadanie 4. Narysuj rozwiązanie układu równań różniczkowych cząstkowych: przy następujących warunkach:
Uwaga Teoria równań różniczkowych cząstkowych jest mniej rozwinięta niż teoria równań różniczkowych zwyczajnych, w szczególności, nie ma odpowiednika twierdzenia Cauchy'ego-Kowalewskaiej, mówiącego nam o istnieniu i jednoznaczności rozwiązania dla problemu Cauch’ego. Oznacza to, że Mathematica może rozwiązać jedynie symbolicznie podzbiór równań różniczkowych. Konkretnie, DSolve może znaleźć rozwiązanie ogólne dla słabo liniowych i nieliniowych równań różniczkowych cząstkowych.
Więcej informacji • John D. Carter, „A Review of Mathematica 6”, Mathematics Department Seattle University, Seattle 2007. • Harald Höller, „ Einführung in das Arbeiten mit Mathematica 6.0, Interaktive Nutzung von Mathematica 6”, 2007. • Wolfram Mathematica: Documentation Center. • G. Drwal, „Mathematica 5”, Gliwice 2004. • J. Niedoba, W. Niedoba, „Równia różniczkowe zwyczajne i cząstkowe, zadanie z matematyki”, Kraków 2001.
Co zrobić, jeżeli nie możemy znaleźć gotowego programu rozwiązującego nasz problem matematyczny? hm, hm.
W oparciu o wiedzę dziedzinową można stworzyć algorytm rozwiązania i zaimplementować go w znanym języku programowania.
Terminologia • Algorytm jest przepisem na rozwiązanie postawionego zadania, będącym określonym układem elementarnych instrukcji wraz z porządkiem ich wykonania. • Implementacja algorytmu jest realizacją tego algorytmu w postaci programu na komputerze dla konkretnych danych.
Relacje Relacją nazywamy dowolny podzbiór iloczynu kartezjańskiego zbioru.
Reprezentacja relacji Relacje można reprezentować przy pomocy: • listy; • macierzy binarnej; • grafu skierowanego.
Relacje Interpretacja macierzowa Przez relacje: • pełna rozumiemy ; • pusta rozumiemy ; • identyczności rozumiemy
Rodzaje relacji : • zwrotną, gdy ; • symetryczną, gdy ; • przechodnią, gdy ; • równoważności, gdy jest zwrotna, symetryczna i przechodnia; • quasi porządku, gdy jest zwrotna i przechodnia;
Poszukiwanie liczby relacji Rozwiązanie problemu wyznaczenia liczby relacji, będzie polegało na generowaniu kolejnych macierzy od relacji pustej do pełneji testowanie ich pod względem własności relacyjnych.
Poszukiwanie liczby relacji Jeżeli przez n oznaczymy liczbę elementów w zbiorze, to ilość wszystkich relacji, będzie wynosić .
Start BigInteger count = new BigInteger („0”); BigInteger l = new BigInteger („0”); boolean [][] macierz; Czytaj(n); macierz = new boolean[n][n]; l < TAK Czy macierz spełnia własność? NIE TAK Zwiększ zmienną count o jeden; Generuj macierz
Część programu odpowiedzialna za zliczanie ilości relacji danego typu.
Część programu odpowiedzialna za generowanie kolejnych macierzy.
Przykład działania dla relacji przechodnich w zbiorze 2 elementowym. ? ? ? ? … Jest relacją przechodnią Nie jest relacją przechodnią
Start BigInteger count = new BigInteger („0”); BigInteger l = new BigInteger („0”); boolean [][] macierz; Czytaj(n); macierz = new boolean[n][n]; l < NIE TAK Czy macierz spełnia własność? NIE TAK Zwiększ zmienną count o jeden; Generuj macierz Wypisz wynik poszukiwań
Wszystkich relacji przechodnich w zbiorze 2 elementowym jest 13.
Start BigInteger count = new BigInteger („0”); BigInteger l = new BigInteger („0”); boolean [][] macierz; Czytaj(n); macierz = new boolean[n][n]; l < NIE TAK Czy macierz spełnia własność? NIE TAK Zwiększ zmienną count o jeden; Generuj macierz Wypisz wynik poszukiwań Stop
Uwaga Program działa prawidłowo dla n mniejszych od . Aby zwiększyć zakres działania naszego programu należy zmienić typ zmiennych sterujących wykonywanie programu z int na BigInteger.
Więcej inforamcji • Wiej informacji na tematy związane z teorią relacji będzie można uzyskać: • G otz Pfeier, „Counting Transitive Relations”, Department of Mathematics National University of Ireland, Galway. • M. Malec, „Elementy wstępu do teorii relacji, część 1”, AGH, Kraków 1998. • J. A. Szrejder, „Równość, podobieństwo, porządek”, WNT, Warszawa 1975; • Z. Moszner, O teorii relacji, PZWS, Warszawa 1967.