Koło Naukowe Matematyków Uniwersytet Rzeszowski * Koło Naukowe Matematyków Uniwersytet Rzeszowski 96-07-16 Krzysztof Gąsior 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 Pokazanie: jak ważnym narzędziem współczesnego matematyka jest komputer; niektórych zastosowania programów komputerowych do rozwiązywania wybranych problemów matematycznych.
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:
Układ równań różniczkowych cząstkowych
Układ równań różniczkowych cząstkowych
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.
Interpretacja macierzowa Relacje Interpretacja macierzowa Przez relacje: pełna rozumiemy ; pusta rozumiemy ; identyczności rozumiemy
Działania na macierzach binarnych
Rodzaje relacji symetryczną, gdy ; przechodnią, gdy ; : 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łnej i 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 l < 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.
Metody weryfikujące
Metody weryfikujące
Metody weryfikujące
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 l < 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ń
Metoda wypisująca wynik.
Wszystkich relacji przechodnich w zbiorze 2 elementowym jest 13.
Start l < 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
Wyniki Ilość elementów w zbiorze Ilość relacji Zwrotnych Symetrycznych Przechodnich 1 2 4 8 13 3 64 1 024 171 4 096 32 768 3 994 5 1 048 576 2 097 152 154 303 …
Wyniki Ilość elementów w zbiorze Ilość relacji równoważności quasi porządku 1 2 4 3 5 29 15 355 52 6942 …
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.
Problem dywersyfikacji ryzyka inwestycyjnego Przykład. Klient biura maklerskiego chce zainwestować na giełdzie 80.000 zł przy następujących kryteriach: ograniczenie rocznego ryzyka maksymalnie do 700 zł; zapewnienie rocznego zysku netto co najmniej 6.000 zł;
Problem dywersyfikacji ryzyka inwestycyjnego Firma Akcji Roczna stopa zwrotu Cena Ryzyko Kowalski S. A. 25 zł 0,50 zł 12% Tuptuś S. A. 50 zł 0,25 zł 10%
Terminologia Dywidenda – część zysku wypłacana akcjonariuszom przypadająca na jedna akcję. Dywersyfikacja portfela (portfolio diversification) - świadome działanie inwestora, zmierzające do zróżnicowania portfela papierów wartościowych w celu zminimalizowania ryzyka lub maksymalizacji zysków.
Programowanie ilorazowe Rozpatrzmy zadanie poszukiwania maksimum następującej funkcji:
Model matematyczny max (funkcja celu) Ograniczenie: ryzyka zysku wkładu własnego nieujemność
=SUMA.ILOCZYNÓW(E3:E4;F3:F4) =SUMA.ILOCZYNÓW(E3:E4;C3:C4) =SUMA.ILOCZYNÓW(E3:E4;B3:B4)
=B8/B7
Maksymalny roczny zysk netto przy w/w kryteriach z tytułu nabycia 800 akcji firmy Kowalski S.A. oraz 1200 akcji firmy Tuptuś S.A. wynosi 6 804,00 zł.
Więcej informacji Zbigniew Łucki, „Matematyczne techniki zarządzania, skrypt wykładowy”, źródła w formacie elektronicznym. Stanisław Krawczyk, „Programowanie Matematyczne, Zbiór zadań”, Warszawa, PWE 19878. Wiesław Grabowski, „Programowanie matematyczne”, Warszawa PWE 1980. Gerald Knight, „Excel. Analiza danych biznesowych”, Gliwice, Helion 2006. Excel – pomoc.
Podsumowanie Używane pogramy Matematica 6, Wolfram. Excel 2007, Microsoft. Darmowe: JCreator LE vs. 3.5 LE, Xinox Software. Mój program.
Podsumowanie Komputer nie w pełni wyręcza nas w rozwiązywaniu problemów matematycznych; Zawsze należy zweryfikować uzyskane rozwiązane; W przypadku, gdy nie posiadamy gotowego programu w oparciu o wiedzę dziedzinową (nie tylko matematyczną) i umiejętność programowania możemy napisać własny program; Wasze uwagi i spostrzeżenie odnośnie tego zagadnienia.
Dziękuje za uwagę