Lärare Introduktionsföreläsning Beräkningsvetenskap I Institutionen för Informationsteknologi, Uppsala Universitet Emanuel Rubensson (föreläsningar, lektioner) Martin Tillenius (lektioner) Elias Rudberg (lektioner) 26 oktober, 2011 Kursens innehåll Fem block: 1 Introduktion till datorberäkningar och Matlab Komma igång med Matlab Fel och datoraritmetik 2 Linjära ekvationssystem LU-faktorisering Beräkningskomplexitet Nogrannhet 3 Programmering Kontrollstrukturer (if, while, for) Funktioner 4 Integraler Numerisk integration Diskretiseringsfel 5 Ickelinjära ekvationer Iterativa metoder Konvergens Kursens upplägg/struktur Varje block (förutom inlednings- och programmeringsblocken) har strukturen Alla delar hänger ihop om man t ex missat labben förstår man föreläsningen sämre. Alla delar tillsammans ger fullständig förståelse av blocket. Kursens upplägg/struktur Tidsåtgång Citat från tidigare kursvärderingar: Kursen består inte endast av de schemalagda tillfällena! 5hp 132 timmar Ca 50 timmar schemalagd tid Ca 80 timmar enskilt arbete: Arbete med miniprojekt Inläsning och övning på egen hand
Kurslitteratur Examination Workouts, miniprojekt och tentamen Steven C. Chapra: Applied Numerical Methods with MATLAB for Engineers and Scientists. Third Edition, McGraw-Hill, International Edition, 2012. Second edition (2008) också okej. För att bli godkänd måste studenten ha deltagit i arbetet med de obligatoriska workout-uppgifterna och klarat dessa tillfredställande; arbetat aktivt med miniprojekten och redovisat dem tillfredställande; klarat skriftlig tentamen. Underförstått är att de olika momenten skall ha avklarats i rätt tid. Workouts Miniprojekt Tre workouts, redovisa på respektive workout-tillfälle (se schemat) eller lämna in skriftligt senast dagen efter. 3-5 obligatoriska uppgifter vid varje tillfälle. Redovisa i grupper om 2 eller 3 personer. 2-3 personer i varje grupp. Varje grupp lämnar in en rapport till övningsläraren. Deadlines: 1 Vattenledningsnätet i Lutorp. Deadline 25 nov, 2011. 2 Dammen vid Newtons Mill. Deadline 6 dec, 2011. 3 Kraftverket vid Fixed Point Falls. Deadline 19 dec, 2011. Tentamen Kursens mål Målbaserad 21 december Du måste anmäla dig till tentan! Tenta {}}{ Miniprojekt {}}{ För godkänt betyg ska studenten kunna 1 visa förtrogenhet med nyckelbegrepp; 2 visa förtrogenhet med algoritmer; 3 visa förtrogenhet med analysförfaranden; 4 visa elementär förtrogenhet med programmering; 5 i grupp kunna formulera program som använder if, while, for; 6 i grupp kunna för ett mindre beräkningsproblem strukturera, formulera algoritm och implementera i Matlab; 7 förklara och sammanfatta metoder och resultat i mindre rapport. Måste klara alla målen (1-4) för att bli godkänd på tentan!
Betygskriterier Betygskriterier Några praktiska detaljer Exempel OBS! Du måste registrera dig på kursen på Studentportalen senast den 6 november! Ta med UpUnet-S inloggningsuppgifter till datalabben! Matlab hemma: http://www.teknat.uu.se/student/matlab/ Om du inte är antagen till kursen måste du söka kursen via www.antagning.se (Sen anmälan). De studenter som hoppar av en kurs, skall meddela IT-kansliet detta. (it-kansli@it.uu.se). Registreringen tas bort om avhoppet sker inom 3 veckor. Avbrott på kurs läggs in om 3 veckor passerat. Du måste anmäla dig till tentan. Beräkning av satellitbanor Simulering av luftflöde kring flygplan Simulerad krocktest av bilar Hållfasthetsberäkningar Väderleksprognoser Simulering av förbränning, t ex i motor Simulering av föroreningstransport i naturen Bildanalys (förbättra bilder, hitta mönster) Bestämning av molekylstrukturer hos proteiner Molekyldynamik... och mycket mycket mer Metoder för elektronstrukturberäkningar Exempel på forskning på Avdelningen för Teknisk DataBehandling (TDB) Metoder för elektronstrukturberäkningar Exempel på forskning på Avdelningen för Teknisk DataBehandling (TDB) Exempel på tillämpningsområden: Nanoelektronik Utveckling av läkemedel Materialteknik Elektronorbitaler beräknade med programmet Ergo (ergoscf.org). Plottade med programmet Gabedit (gabedit.sourceforge.net).
Simulering av droppe Exempel på forskning på Avdelningen för Teknisk DataBehandling (TDB) Tillämpningarna är exempel på problem som kan beskrivas med matematiska modeller Problem! Kan som regel inte lösas analytiskt, på vanligt sätt. Lösning: Lös problemet på dator måste använda numeriska lösningsmetoder. Resultat: Ger approximativ lösning. Verkligheten Felkällor verklighet modeller Matematisk modell Idealisering, förenkling Lösning Numerisk metod Diskretisering, trunkering Numeriska metoder Avrundning, noggrannhet i indata Lösning Nej OK? Slutresultatet en approximation, uppnår endast en viss noggrannhet Ett (trivialt) exempel Ett mer komplicerat exempel Beräkna arean på jorden med den matematiska modellen A = 4πr 2. Innehåller flera approximationer och fel: Jorden approximeras av en sfär idealisering av jordens verkliga yta. Värdet på radien baseras på empiriska mätningar och tidigare beräkningar. Värdet på π kräver trunkering (avhuggning) av oändlig decimalutveckling. Indata och resultat avrundas av datorn. HIV-viruset bildar mutanter. Immunsystemet bildar en specifik lymfocyt för viruset och mutanterna. Dessutom finns en immunrespons för hela immunsystemet. Uppgift: Beräkna populationstillväxten för virus, lymfocyten och immunrespons med avseende på tid.
Matematisk modell Matematisk modell v 1 (t) = v 2 (t) = x 1 (t) = x 2 (t) = z (t) = [a b z(t) c x 1(t)] v 1 (t) [a b z(t) c x 2(t)] v 2 (t) g v 1(t) k x 1 (t) [v 1 (t) + v 2 (t)] g v 2(t) k x 2 (t) [v 1 (t) + v 2 (t)] [d k z(t)] [v 1 (t) + v 2 (t)] v 1 = population av HIV-virus v 2 = population av 1:a mutanten x 1 = population av lymfocyt mot viruset x 2 = population av lymfocyt mot 1:a mutant z = immunrespons Modellen är en förenkling av verkligheten Kan lägga in fler mutanter för att göra den mer realistisk blir då mer komplicerad Svårt bestämma parametrarna a, b, c,.... Kan variera med olika personer. Görs ofta empiriskt. Svårt eller omöjligt att göra en modell som helt överensstämmer med verkligheten. Slutsats: Modellen en approximation av verkligheten! Numerisk metod Problem! Kan ej lösas med vanliga analytiska metoder från matematiken. Vi använder istället en numerisk metod. Numeriska metoder bygger i detta fall på diskretisering, dvs kontinuerliga intervall ersätts med diskreta punkter. Beräkning sker endast i dessa punkter medför diskretiseringsfel. Metoderna har olika egenskaper och kan vara bra ur en synvinkel men dåliga ur en annan. Exempelvis kan en viss metod vara effektiv (snabb), men i vissa lägen vara instabil. Implementera metoden, dvs skriv program för den numeriska metoden (C++, Java, MATLAB,...) eller Använd befintlig programvara, t ex MATLAB Ofta krävs en kombination av båda! Indata till programmet, t ex a, b, c,..., baseras vanligen på mätningar och är inte exakta Krävs ett initialtillstånd, t ex antal HIV-virus vid tiden t=0. Detta mäts ej exakt utan innehåller fel. Datorn avrundar alla beräkningar. Lösning Lösningen OK? Tolka resultat. Tillräckligt effektivt och snabbt? Är felet tillräckligt litet? Datavetenskap Numeriska metoder Matematik Tillämpningsämnen
Frågeställningar inom beräkningsvetenskap Ämnets historia Exekveringstid? Minnesutnyttjande? Vilken typ av dator? Numeriska metoder Noggrannhet? Stabilitet? Kondition? 1945 Den moderna datorn 1960-tal Professurer i numerisk analys 1975-2000 Ett tvärvetenskapligt område tar form 2000-tal Begreppet beräkningsvetenskap etableras