COS 323 Fall 2008 Computing for the Physical
- Slides: 22
COS 323 Fall 2008 Computing for the Physical and Social Sciences Ken Steiglitz
Mechanics and course structure • See course web page: COS 323 home • Syllabus: lecture outlines, slides (some courtesy of Prof. Szymon Rusinkiewicz), some detailed notes, etc. • Master list of references in pdf, some on reserve in library
Goal of course: learn “scientific” computing through applications • 4 assignments: population genetics, finance, chaos, image processing • Term paper
Major Topic Outline • Simulation, using random numbers, experimenting • Integration, root-finding • Optimization, linear programming • Ordinary diff. eqs. , Partial diff. eqs. • DSP • Linear systems, image processing (Matlab) Assign. 1 Assign. 2 Assign. 3 Assign. 4
Major Topic Outline • Simulation, using random numbers, experimenting • Integration, root-finding • Optimization, linear programming • Ordinary diff. eqs. , Partial diff. eqs. • DSP • Linear systems, image processing (Matlab) * Numerical analysis Assign. 1 Assign. 2 Assign. 3 Assign. 4
“Personal” vs. “Scientific” computing • Early computers, up to the 70 s or 80 s, were built to solve problems. They were “scientific computers”, or SCs, so to speak • Today the vast majority of computers are PCs
What this course is about • PC: Cycles used mainly for fixed, widely used programs, for communication, rendering, DSP, etc. • SC: Involves developing programs: programming, modeling, experimentation Machines are driven by the mass market
Stanisław Ulam with MANIC I --- about 104 ops/sec
Reading, background • Optional text: http: //www. nr. com Numerical Recipes in C [PTVF 92]. Really a reference available on web • Master reference list • COS 126 is entirely adequate, don't get too fancy --- We're after the algorithmic and numerical issues • MAT 104 is entirely adequate • Referencing all sources: Do it!
Modeling in general • Purposes: quantitative prediction, qualitative prediction, development of intuition, theory formation, theory testing • Independent and dependent variables, space, time • Discrete vs. continuous choices for space, time, dependent variables • Philosophy: painting vs. photography
Examples • Discrete-time/discrete-space/discrete-value spatial epidemic models Sugarscape seashells lattice gasses cellular automata in general
Examples, con’t • Difference equations population growth population genetics digital signal processing, digital filters, FFT, etc.
Examples, con’t • Event-driven simulation market dynamics population genetics network traffic
Examples, con’t • Ordinary differential equations market dynamics epidemics seashells insulin-glucose regulation immune system predator-prey system n-body problem, solar system, formation of galaxy
Examples, con’t • Partial differential equations heat diffusion population dispersion wave motion in water, ether, earth, … spread of genes in population classical mechanics quantum mechanics
Examples, con’t • Combinatorial optimization scheduling routing, traffic oil refining layout partition … and many more
Numbers • Fixed-point (absolute precision) • Floating-point (relative precision) scientific notation, like 3 x 10 -8 • Single-precision: 32 bits, 8 bit exponent, about 7 decimal-place accuracy • Double-precision: 64 bits, 11 bit exponent, about 16 decimal-place accuracy [see IEEE 754 standard]
Numbers (con’t) Example: 1/10 has no exact representation in binary floating-point: main() { /* main */ float x; x = 1. /10. ; printf("x = %28. 25 fn", x); } x = 0. 1000000014901161193847656
Numbers (con’t) Such roundoff errors can accumulate in iterative computations: main() { /* main */ float x, sum; int i; x = 1. /10. ; sum = 0. ; for (i=0; i<10000000; i++) sum += x; printf("sum = %28. 25 fn", sum); } sum = 1087937. 0000000000000
More subtle problem Roots of quadratic: X 2 – 9999 x + 1 = 0 Relative error in x 1 is huge! What’s the problem? main() { /* main */ printf("Solving quadraticn"); printf("Actual root = 0. 00010. . . n"); printf("Actual root = 9998. 9. . . n"); float a, b, c, d, x 1, x 2; a = 1. ; b = -9999. ; c = 1. ; d = b*b - 4. *a*c; x 1 = (-b + sqrt(d))/2. ; x 2 = (-b - sqrt(d))/2. ; printf("x 1= %28. 25 fnx 2= %28. 25 fn", x 1, x 2); } Solving quadratic Actual root = 0. 00010. . . Actual root = 9998. 9. . . x 1= 9999. 0000000000000 x 2= 0. 000025004788767546415
Higher-level languages such as Matlab, Maple, Mathematica |^/| Maple V Release 5 (WMI Campus Wide License). _|| |/|_. Copyright (c) 1981 -1997 by Waterloo Maple Inc. All rights MAPLE / reserved. Maple and Maple V are registered trademarks of <____> Waterloo Maple Inc. | Type ? for help. # solving ill-conditioned quadratic # x^2 -9999*x+1 = 0 # b : = -9999. x 1 : = ( -b - sqrt(b*b - 4) )/2; Mutiple-precision arithmetic Digits : = 7 x 1 : = 0 (software) Digits : = 8 x 1 : =. 0001 Experimental technique Digits : = 20 x 1 : =. 000100020004 Digits : = 40 x 1 : =. 00010002000400090021005101270323
- Cos 323
- Cos 323
- Cos 323°
- Cos 323°
- Cos 323
- Cos 323°
- Cos 323
- Cos 323
- Cos 323
- Cos 323
- 2008 2008
- Conventional computing and intelligent computing
- Diketahui sin a = 0,6 dan a sudut lancip adalah
- Cos c -cos d
- Bentuk sederhana dari sin 160 + sin 40 adalah
- Num vão entre duas paredes deve-se construir uma rampa
- Fabula
- Tempo nel testo narrativo
- Inverse trig function calculator
- 8 sin 112,50 . cos 22,50 = ….
- Nilai sin 315° adalah
- Mgt 323
- Cse323