Numerical Analysis - preliminaries -

Slides:



Advertisements
Similar presentations
알고리즘 (algorithms) The word algorithm is a corruption of early English algorisme, which came from Latin algorismus, which came from the name of the Persian.
Advertisements

1 Prof. Young Jin Nam, Daegu University 컴퓨터 구조 (Computer Architecture) 명령어 세트 : 특성과 기능 남영진
Copyright © 2006 The McGraw-Hill Companies, Inc. 프로그래밍 언어론 2nd edition Tucker and Noonan 5 장 타입 “ 타입은 컴퓨터 프로그래밍의 효소이다 ; 프로그래밍은 타입을 통해 소화할만한 것이 된다.” 로빈.
제10주제. 해방정국과 신탁통치문제 8.15는 일제의 식민지에서 해방된 기쁨의 상징으로 일컬어짐.
12 Ordinary Differential Equations: Initial-Value Problems 자연어처리 연구실 김혜겸 윤도상 최성원.
C++ Tutorial 1 서강대학교 데이터베이스 연구실.
6.9 Redundant Structures and the Unit Load Method
Neural Network - Perceptron
2014 ITA 8월 강의 C Programming -1주차- C언어 기초 정대진 ( )
기본 컴퓨터 프로그래밍 Lecture #6.
강좌 개요 2009년 1학기 컴퓨터의 개념 및 실습.
제어기술 소개 목표 : 제어기의 종류, 제어 방식 등을 살펴본다. 주요내용 제어기의 종류 제어방식 : 시퀀스, 피드백, 등.
컴퓨터구조 – 중간시험 (답안지) 부분점수 (사소한 실수면 -1)
제 6 장 데이터 타입 6.1 데이터 타입 및 타입 정보 6.2 타입의 용도 6.3 타입 구성자 6.4 사례 연구
Problems of Finite Difference Method (유한차분법)
Slope Stability Slice Method - Fellenius Method - Bishop’s Simplified Method 연세대학교 지반공학연구실.
프로그래밍 언어론 2004년 가을학기 창 병 모 숙명여대 컴퓨터과학과.
Lecture 5 C의 기초적인 값(primitive value)의 컴퓨터에서의 표현 문자, 정수, 실수, 참/거짓
Computational Fluid Dynamics
On the computation of multidimensional Aggregates
제 18 강 데이터 타입 타입, 변환, 캐스팅 shcho.pe.kr.
English Communication 1
하드웨어 구현 - A/D 변환기(A/D converter) - 샘플링 주파수(Sampling frequency)
Genetic Algorithm 신희성.
Computer Architecture
Realistic Projectile Motion
컴퓨터 시스템의 개요.
제 14 장 거시경제학의 개관 PowerPoint® Slides by Can Erbil
5. 비제약 최적설계의 수치해법 (Numerical Methods for Unconstrained Optimum Design)
Deterministic Problems
제 2 장 변수와 상수.
Unit 1 Number Systems and Conversion (수의 체계와 변환)
osp.chungbuk.ac.kr/2012년 강의자료
영상공학수학 Mathematical methods in computer graphics and vision
임베디드 소프트웨어 설계.
2 데이터 표현과 컴퓨터 연산 IT CookBook, 컴퓨터 구조와 원리 2.0.
2007년 1학기 전산학개론 성신여자대학교 컴퓨터정보학부
Medical Instrumentation
Chapter 4 The Von Neumann Model.
4-1 Gaussian Distribution
운동시뮬레이션 제2주 A First Numerical Problem 컴퓨터시뮬레이션학과 2014년 봄학기 담당교수 : 이형원
데이터의 표현과 컴퓨터 연산 Prof. Jae Young Choi (최재영 교수)
그림으로 배우는 컴퓨터구조 전찬주 / 엄재민, 황지순, 정나래, 신정윤, 이하나.
Keller: Stats for Mgmt & Econ, 7th Ed 그래프와 표를 이용한 기술통계학 기법
기초 프로그래밍 Yang-Sae Moon Department of Computer Science
정보 추출기술 (Data Mining Techniques ) : An Overview
Formatted Input/Output
Introduction to Programming Language
Course Guide - Algorithms and Practice -
Keller: Stats for Mgmt & Econ, 7th Ed
컴퓨터과학입문 기출문제풀이.
요한계시록 (2) 요한계시록의 7가지 중점사항 Rev 2-0.
Statistical inference I (통계적 추론)
성공적인 웹사이트 구축 (2) 변화 발전하는 Site의 미래를 예측 반영해야 함.
Signature, Strong Typing
Signature, Strong Typing
2 수의 체계 IT CookBook, 디지털 논리회로.
이산수학(Discrete Mathematics)
Signature, Strong Typing
(1) 필터 구조마다 유한 정세도 특성(finite precision characteristics)이 다름.
Chapter 02 수의 체계.
점화와 응용 (Recurrence and Its Applications)
컴퓨터구조 강의소개 정보통신공학과 한성대학교.
15 향 소 제 소사고 제15회 일시|` (목) 9:00~17:00 장소|소사고등학교 교정 th
Introduction to Computer System 컴퓨터의 이해 3: 데이터 표현
Lecture 05 문자열, 배열, 디버깅 Kwang-Man Ko
제03장 정보의 표현.
Scalar and composite data
CSI 진화연산 2008년도 제 1학기.
Deep Learning Basics Junghwan Goh (Kyung Hee University)
Presentation transcript:

Numerical Analysis - preliminaries - Hanyang University Jong-Il Park

Numerical Analysis란? Analytic하게 풀 수 없는 문제를 해결하고자 하는 접근방법 eg. 비선형방정식… 특수함수의 값을 계산하는데 이용   eg. Taylor series를 이용한 삼각함수의 계산… 컴퓨터를 사용하여 과학적 문제의 해를 구하고자 하는 방법 eg. 전자장 해석, 모든 공학적 최적화 문제…

본 강의의 목표 및 범위 계산알고리듬 자체가 중요한 것이 아니라, 어떠한 문제가 주어졌을 때, 어떤 방법으로 해를 구할 것인가에 대한 근본적인 사고능력을 중요시 함.           본 강의의 지향하는 바 수치계산 알고리듬의 디자인  계산학의 문제 수치계산 패키지의 단순한 이용  평범한 사용자, 과학자/공학자 해당 ☞ 양자의 중간을 지향. 자신의 문제해결에 즉 자신이 작성한 프로그램에 필요한 루틴을 링크시켜 사용할 수 있도록 함. 범위: 선형방정식의 해법, 소팅, 함수의 극대화/극소화, Fourier변환, 데이터 모델링, 미분방정식, DSP 등

강의 진행 방법 알고리즘을 사용하여 실제 문제를 해결하는 연습을 반복. 프로그래밍 숙제 및 문제풀기 과제가 많음 Numerical Recipes in C의 루틴을 자유로이 사용할 수 있도록 함. (필요 루틴을 course webpage를 통해 제공 ) MATLAB, Mathematica, Maple 등의 사용법은 각자 필요할 때 학습하기 바람

교재 및 참고문헌 [1] S.C. Chapra and R.P. Canale, Numerical Methods for Engineers, 6th ed., McGraw-Hill, 2011. [2] W.Press, S.Teukolski, W.Vetterling, and B.Flannery, Numerical Recipes in C, 2nd edition, Cambridge University Press, 1992. (Free Download: http://www.nrbook.com/a/bookcpdf.html) 참고문헌 <1> 이관수, 공학도를 위한 수치해석, 원화, 1999. <2> S.C. Chapra, Applied Numerical Methods with MATLAB, 2nd ed., McGraw-Hill, 2008. <3> J.D.Faires and R.Burden, Numerical Methods, 3rd ed., Thomson, 2003.

수치해법의 필요성 1. 주어진 문제의 해를 해석적으로 구할 수 없을 때 2. 비용절약:시뮬레이션은 실험적 연구에 비해 비용과 시간을 절감 3. 상업용 프로그램을 효율적으로 사용하기 위한 기초 이론지식 4. 주어진 문제가 상업용 프로그램으로 해결하기 어려울 때 5. 상업용 프로그램이 너무 비싸서 구입이 용이하지 않을 때 6. 컴퓨터 사용법을 배우는 좋은 교육 도구 7. 고차원의 애매한 문제를 분명히 함  문제 이해를 도움 ※수치해법 의존의 폐해 일단 프로그램을 짜서, 돌리고 나서 생각하는 경향  사고력의 저하

Engineering Problem Solving

Overview of the topics(I)

Overview of the topics(II)

Overview of the topics(III) +Sorting +DSP (FFT, convolution, etc.)

컴퓨터의 수 표현 Finite number of bits for representing a number floating point representation s: sign bit M: exact positive integer mantissa(가수) B: base(보통 2 또는 16) e: exact integer exponent E: bias of the exponent(기계별 고정상수)

IEEE Binary Floating Point Arithmetic Standard 754 - 1985 Eg. Double precision real numbers (64 bits) c: 11 bit exponent( 0 ~ 211-1) f: 52 bit binary fraction 0 10000000011 1011100100010000000000000000000000000000000000000000 c f

Eg. 64 bit floating point number 0 10000000011 1011100100010000000000000000000000000000000000000000 c f

Accuracy, range… Accuracy Smallest number Largest number 27.56640625 represents the interval Smallest number Largest number Underflow: when smaller than the smallest number Generally set to 0 Overflow: when larger than the largest number Generally cause the computation to stop

Machine Accuracy Def. The smallest floating-point number which, when added to the floating-point number 1.0, produces a floating-point result different from 1.0                          (m=# of bit for mantissa) eg. typical machines with b=2 and a 32-bit word length ~ 10-8 .

Homework #1 [Due: 9/12] Programming: Obtain the machine accuracy of “float” and “double” of your computer in two ways. Method 1: Use the routine machar() in NR in C (Modification is required for “double”) Method 2: Use your own code, get_eps(), which is based on finding minimum n that satisfies 1+2-n=1

Accuracy and Precision

Roundoff error machine accuracy로 인한 오차 Chopping(버림) Symmetric rounding(반올림) 주의: roundoff error는 기계가 표현할 수 있는 가장 작은 수와 다름

Roundoff error를 최소화하는 법 십진수로 입력되는 자료를 계산기가 저장할 수 있는 만큼 유효숫자로 반올림하여 입력할 것 오버플로우나 언더플로우의 가능성을 줄이기 위해 중간 계산값이 ±1에 근접하게 할 것 확산마무리 오차의 누적을 최소화하기 위해 연산수를 최소화할 것. 예) 괄호곱셈법 유효숫자 상실을 막을 것 비슷한 숫자간의 뺄셈을 없애기 작은 수부터 연산을 시작할 것 배정밀도를 사용

유효숫자 상실 Eg. F(x)=x(sqrt(x+1)-sqrt(x)) 를 x=100에서 6s 인 컴퓨터로 계산한다. 참값 F(100)=4.98756 방법1: 직접 계산 sqrt(x+1)=10.0498, sqrt(x)=10.0000 x(sqrt(x+1)-sqrt(x))=100(10.0498-10.0000)=4.98000 Error=0.00756 방법 2: 식을 변형 F(x)= x/(sqrt(x+1)+sqrt(x)) =4.98758 Error=0.00002 유효숫자 상실 0.0498  3s

Truncation error 정확한 해와 실제 계산기를 사용하여 얻은 해와의 차이 수치계산시 근사식을 사용함으로써 발생 이를 줄이는 것이 수치해석의 목표 Round-off error는 어쩔 수 없지만 truncation error는 프로그램에 달려있음          

Taylor series

Approximation

Approximation of the 1st derivative Forward difference Backward difference Centered difference

Error의 종류 Absolute error: Et = (참값-근사값) Relative error: et =(참값-근사값)/참값 Approximate relative error : ea =(근사참값-근사값)/근사참값 Stopping condition in iterative algorithms: Terminate computation when ea < es where es is the desired relative error

Data errors data error data relative error relative error of x Ignoring higher order terms of Taylor series

Error propagation Single variable function Multivariable function

Condition number if condition number < 1  error reduction if condition number >> 1  ill-conditioned

Total error Total error = roundoff error + truncation error Trade-off Interval h

Homework #2 Read Chapter 1, Numerical Recipes in C, and summarize [Due: 9/19] Read Chapter 1, Numerical Recipes in C, and summarize how to use pointers for memory allocation how to use pointer to function Solve the problems: 3.6, 3.7, 4.2, 4.5, 4.12