SlideShare ist ein Scribd-Unternehmen logo
1 von 1083
PYTHON
MATHEMATICS
이해하기
Moon Yong Joon
1
1. 대수 기초
2.함수 기초
3. 선형대수 기초
4.관계 기초
목차
2
5. 그래프 기초
6. 삼각함수
7. 지수/로그 기초
8. 수열 기초
목차
3
9. 집합 기초
10. 미분/적분 기초
11. 확률과 통계 기초
목차
4
1.대수
기초
Moon Yong Joon
5
주요 기호
Moon Yong Joon
6
그리스 문자
Α/α(알파) Β/β(베타) Γ/γ(감마)
Δ/δ(델타) Ε/ε(엡실론) Ζ/ζ(제타)
Η/η(에타) Θ/θ(쎄타) Ι/ι(요타)
Κ/κ(카파) Λ/λ(람다) Μ/μ(뮤)
Ν/ν(뉴) Ξ/ξ(크시) Ο/ο(오미크론)
Π/π(피) Ρ/ρ(로우) Σ/σ(씨그마)
Τ/τ(타우) Υ/υ(윕실론) Φ/φ(휘)
Χ/χ(키 또는 카이) Ψ/ψ(프시)
Ω/ω(오메가)
7
집합기호
8
명제기호
9
수
Moon Yong Joon
10
수11
수
자연수, 정수, 유리수, 무리수, 실수로 확장되는
수의 관계
12
정수13
정수
정수(整數, integer)는 자연수(1, 2, 3, ...)와 이들
의 음수(−1, −2, −3, ...)와 0으로 이루어진 수
체계이다. 정수는 자연수와 마찬가지로 가산 무
한 집합이며, 덧셈, 뺄셈, 곱셈에 대하여 닫혀 있
어 환을 이룬다.
14
유리수15
유리수
유리수(有理數, rational number)는 두 정수의
분수 형태(단 분모는 반드시 0이 아니다)로 나타
낼 수 있는 실수를 말한다.
유리수는 (0으로 나누는 것을 제외한) 사칙연산
(덧셈, 뺄셈, 곱셈, 나눗셈)에 대해 닫혀있는 '최소
의' 집합이기도 하다
16
무리수17
무리수
무리수(無理數, irrational number)는 두 정수의
비의 형태로 나타낼 수 없는 실수를 말한다. 즉,
분수로 나타낼수없는 소수이다.
18
실수19
실수
실수 [實數, real number] 정수의 몫으로 정의되
는 유리수의 범위에서는 대소의 순서를 정할 수
있으며, 사칙연산을 자유로이 할 수 있다.
그러나 이 범위에서는 역시 불완전한 점이 많다.
이를테면, 단위의 길이를 가지는 정사각형의 대
각선의 길이(x=2의 근)는 유리수로 나타낼 수 없
다.
이와 같은 결함을 보완하기 위하여 유리수에 무
리수를 첨가하여 수의 범위를 실수까지 확장한
것이다.
20
복소수21
복소수
복소수(複素數, complex number)는 다음 꼴로
나타낼 수 있는 수 이다.
a+bi
이 때 a, b는 실수이고 i는 허수단위로 i2=-1을
만족한다. 실수 a를 그 복소수의 실수부, 실수 b
를 복소수의 허수부라고 부른다.
모든 실수는 복소수에 포함된다. 왜냐하면 모든
실수는 허수부가 0인 복소수로 표시할 수 있기 때
문이다.
22
복소수 연산
복소수(複素數, complex number)는 다음 꼴로
23
나눗셈
항등원,역수24
항등원
항등원(恒等元)은 집합의 어떤 원소와 연산을 취
해도, 자기 자신이 되는 원소를 말한다. 쉽게 말해
서, 1개의 양을 전혀 달라 보이는 다른 양과 같게
만드는 수학적 관계를 말한다고 생각하면 된다.
25
반수: 덧셈
반수(反數)는 그 수를 더했을 때 0이 되는 수를 말
한다. 예를 들면 7의 경우 -7에 7을 더하면 0이
되므로 7의 반수는 -7이다.
다르게 말하면 어떤 양수 n의 반수는 그와 절댓값
이 같은 음수라고 할 수 있으며 그 역도 성립한다.
정수, 유리수, 실수, 복소수는 음수가 있기 때문에
모두 반수가 있다.
26
역수 : 곱셈
어떤 수의 역수(逆數,reciprocal) 또는 곱셈 역원
(-逆元, 영어: multiplicative inverse)은 그 수와
곱해서 1, 즉 곱셈 항등원이 되는 수를 말한다.
x의 역수는 1/x 또는 x -1로 표기한다.
곱해서 1이 되는 두 수를 서로 역수
27
절대값28
절댓값은 거리의 개념이므로 반드시 0또는 양수이어야하며, 만약
실수 a가 음수라면, a에 (-1)을 곱해 양수화
절대값 absolute value
어떤 실수 a를 수직선에 대응시켰을 때, 수직선의
원점에서 실수 a까지의 거리를 의미한다. 이것을
기호로 |a|로 표시.
29
비율30
비율
비(比, ratio)는 어떤 수가 다른 한 수의 몇 배인지
를 나타내는 관계이다. 이 배수를 비율(比率,
ratio)이라고 한다.
원주율
원의 지름에 대한 원주의 비율.
백분율
수를 100과의 비로 나타내는 것.
31
PYTHON
SYMPY
수, 심벌, 전개식,
해 구하기
처리
Moon Yong Joon
32
Symbolic mathematics33
sympy 모듈 이란
SymPy는 symbolic mathematics을위한
python 라이브러리입니다.
SymPy는 가능한 한 간단하게 코드를 유지하는
것은 이해하기 쉽게 확장 할 수있는 a full-
featured computer algebra system (CAS)처리
34
sympy 구조
SymPy는 symbolic mathematics를 처리하기 위
해 다양한 객체들로 구성해서 평가해 수학처럼
문제를 푸는 체계
35
Sympy는 정의한 것은 pi도
하나의 인스턴스 객체 이므
로 이 값을 처리를 위해서는
평가(evalf)를 해야 함
sympy 객체
Sympy객체를 변수에 할당해서 사용하지만 별도
의 객체로 역할 함
36
Symbol로 정의할 때
들어간 문자열의 실
제 name이고 할당
된 참조변수는
symbol 객체가 할당
된 변수라 이름이 달
라도 됨
Symbol 객체 이해37
sympy 구조
SymPy는 symbolic mathematics를 처리하기 위
해 다양한 객체들로 구성되며 이를 평가해 수학
처럼 문제를 푸는 체계
38
Sympy는 정의한 것은 pi도
하나의 인스턴스 객체 이므
로 이 값을 처리를 위해서는
평가(evalf)를 해야 함
수 타입 체계39
정수 : sympy
정수(整數, integer)는 자연수(1, 2, 3, ...)와 이들
의 음수(−1, −2, −3, ...)와 0으로 이루어진 수
체계이다.
40
유리수 : sympy
유리수(有理數, rational number)를 분자(p)와
분모(q)로 관리
41
실수 1 : sympy
실수 [實數, real number]
42
실수 2 : sympy
Sympify로 sympy 숫자 타입을 확인
43
복소수 : sympy
Sympify로 sympy 숫자 타입을 확인
44
무한대 처리45
무한대/pi를 심벌 처리
sympy는 oo로 무한대, pi로 파이 상수를 관리
46
Sympy symbol 정의47
symbol 처리
Sympy 는 명확히 수학적인 심벌을 표시
x = Symbol(’x’)는 심벌을 하나 정의
a, b, c = symbols(’a, b, c’)는 심벌을 여러 개
정의
48
symbol 처리 : 변수에 타입주기
symbols 정의시 이 변수에 들어갈 데이터 타입
을 부여할 수 있음
49
symbol 처리 : 함수명
symbols 정의시 cls 파라미터에 Function을 부
여하면 함수 변수가 됨
50
전개식 처리51
expand 메소드 : 전개식 처리
표현식도 별도의 타입을 가지므로 expand메소
드를 사용하면 표현식이 전개됨
52
expand 함수 : 전개식 처리
표현식도 별도의 타입을 가지므로 expand메소
드를 사용하면 표현식이 전개됨
53
곱셈 전개시 동일
항에 대한 곱셈부
분도 전개가 필요
하며 force=True
처리
해 구하기54
Solve 함수 : 해 구하기
표현식을 solve 함수에 넣으면 해를 구해 줌
55
PYTHON
NUMBER
DATA TYPE
Moon Yong Joon
56
Numeric Type57
숫자타입
숫자에 대한 객체를 관리하는 데이터 타입
Numberic Types
int
float
long(2.x)
complex
숫자타입도 하나의 객체이므로 1 이 생성
되면 동일한 context 내에서는 동일한 객체
id를 가지고 사용
58
숫자타입 – 기본 연산자 및 함수
숫자 타입에 기본으로 처리 되는 함수, operator
Operation Result Notes
x + y sum of x and y
x - y difference of x and y
x * y product of x and y
x / y quotient of x and y
x // y (floored) quotient of x and y
x % y remainder of x / y
-x x negated
+x x unchanged
abs(x) absolute value or magnitude of x
int(x) x converted to integer
long(x) x converted to long integer
float(x) x converted to floating point
complex(re,im)
a complex number with real part re, imaginary part im. im defaults to
zero.
c.conjugate() conjugate of the complex number c
divmod(x, y) the pair (x // y, x % y)
pow(x, y) x to the power y
x ** y x to the power y
59
Numeric Type(int)60
숫자타입 - int
int 타입 내의 operator 처리 내장 메소드 및 속
성들
61
숫자타입 – int 예시
int 내부 속성에 대한 처리
real : int는 숫자를 관리하고
bit_length() : 이진수로 변환시
bit 길이
denominator : 분모
numerator : 분자
62
숫자타입 – long 타입
python3버전에서는 통합되어 관리
Notes Python 2 Python 3
①
x = 1000000000000L x = 1000000000000
②
x = 0xFFFFFFFFFFFFL x = 0xFFFFFFFFFFFF
③
long(x) int(x)
④
type(x) is long type(x) is int
⑤
isinstance(x, long) isinstance(x, int)
63
Numeric Type(float)64
숫자타입 - float
float 타입 내의 operator 처리 내장 메소드 및
속성들
65
숫자타입 – float 예시
float 내부 속성에 대한 처리
• real : float는 숫자를 관리하고
• hex() : 16진수로 변환
• fromhex() : hex() 결과의 문자
열을 float로 전환
• is_integer() : 실수 중 소수점 이
하 값이 0일 경우 true
• as_integer_ratio() : 현재 값을
denominator : 분모,
numerator : 분자로 표시
66
Numeric Type(complex)67
숫자타입 - complex
float 타입 내의 operator 처리 내장 메소드 및
속성들
68
숫자타입 – complex 예시
complex 내부 속성에 대한 처리
• real : float는 숫자를 관리하고
• imag: 허수부문
• conjugate () : 켤레복소수 구
하기
69
분수계산하기70
숫자타입 – fractions 표시
fractions 모듈을 이용해서 분수를 계산. Float
타입과 계산시에는 float 타입으로 전환 됨
71
숫자타입 – fractions 연산
fractions 모듈을 이용해서 분수를 계산. Float
타입과 계산시에는 float 타입으로 전환 됨
72
거듭제곱
/제곱근
Moon Yong Joon
73
거듭제곱74
거듭제곱
거듭제곱은 이항 연산으로, 하나의 수를 여러 번
곱하는 연산을 의미한다. 기호로는 an 으로 표기
하며, 이때 a를 밑, n을 지수라고 한다.
75
거듭제곱의 지수 표현
거듭제곱은 지수가 음수이면 기존 거듭제곱이 역
수가 되가 분수인 경우는 제곱근 표현이 됨
지수가 음수인 경우 지수가 분수인 경우
76
거듭제곱의 성질
거듭제곱은 반복적인 곱하기와 나누기 처리를 하
므로 아래의 성질을 준수
77
제곱근78
제곱근
x의 제곱근(제곱根)은 제곱하여 x가 되는 실수를
가리키며, 특히 이 가운데 양의 제곱근을 sqrt(x)
라고 표기하고 "제곱근 x"(루트 x)라고 읽는다.
79
제곱근의 지수 표현
제곱근 x를 수치적인 표현으로는 지수 표현을 분
수식으로 나타내면 됨 x1/2로 표현
80
일반적으로 실수 x에 대하여 값이 부호는 +/-를
가짐
제곱근의 부호 표현
제곱근의 부호
81
제곱근 x에 대한 수의 성질
제곱근의 값 표현
제곱근의 표현 제곱근의 값
자연수 x에 대해 결과값
은 자연수이거나 무리수이
다
음이 아닌 실수 x가 제곱
근 내부의 제곱은 x가 됨
82
제곱근 두수 x,y에 대한 곱셈과 나눗셈 처리 방식
제곱근의 성질
제곱근의 곱셈 제곱근의 나눗셈
83
PYTHON
거듭제곱
/제곱근
Moon Yong Joon
84
거듭제곱85
밑 a, 지수 b에 대한 거듭 제곱을 구하는 것은
math.pow 함수와 연사자 **를 사용
거듭제곱
86
제곱근87
밑a이고 지수가 b일 경우 math.sqrt함수는
root2에 대한 값만 처리 하므로 **/pow에서 분
수를 이용해서 제곱근을 구함
제곱근
88
기수법
Moon Yong Joon
89
기수법90
기수법
기수법(記數法, numeral system)은 수를 시각적으
로 나타내는 방법으로, 기수법을 통해서 나타나는 각
각의 숫자는 다른 수들과 구별되는 표기 방식을 가진
다.
91
진법92
이진법
이진법(二進法, binary)은 두 개의 숫자만을 이용
하는 기수법이다. 관습적으로 0과 1의 기호를 쓰
며 이들로 이루어진 수를 이진수라고 한다.
93
팔진법
팔진법 (octal number system , 八進法 ) 은 8을
밑으로 하는 기수법이다. 0부터 7까지의 숫자를
사용한다. 이진법 표기의 3자리와 팔진법 한 자리
가 일대일 대응
94
십진법
십진법(十進法, 열올림법)은 10을 기수로 한 기수
법이다. 자리수로 0, 1, 2, 3, 4, 5, 6, 7, 8, 9를
쓴다.
95
십육진법
십육진법(十六進法, hexadecimal)은 16을 밑으로
하는 기수법이다. 보통 0부터 9까지의 수와 A에서 F
까지의 로마 문자를 사용하고, 이때 대소문자는 구별
하지 않는다. 이진법 표기의 4자리와 십육진법 한 자
리가 일대일 대응하며, 2진수가 많이 쓰이는 컴퓨터
에서 2진수를 대신해 많이 쓰이고 있다.
96
PYTHON
기수법
Moon Yong Joon
97
진법표현98
진법 표현
bin, oct, hex를 이용해서 이진법, 팔진법, 16진
법을 표현함
99
Bit 연산100
비트연산자 : and, or, xor
Operator Description
&
Binary AND
서로 같은 비트가 있는 경우만 표시
|
Binary OR 서로 같은 경우 또는 다른 경우도 전
부 표시
^
Binary XOR
다른 경우만 표시
101
비트연산자 : ~, <<, >>
Operator Description
~
Binary Ones Co
mplement 1의 보수 구하기
<<
Binary Left Shift
좌축으로 비트 이동.
>>
Binary Right Shi
ft 우축으로 비트이동.
102
대수의 법칙
Moon Yong Joon
103
연산 우선순위104
연산 우선순위
연산자에 대한 우선순위는 PEMDAS로 처리
105
교환법칙106
수학에서, 집합 S 에 이항연산 * 이 정의되어 있을 때, S의 임의의
두 원소 a, b 에 대해
a * b = b * a가 성립하면, 이 연산은 교환법칙(交換法則,
commutative law)을 만족한다고 한다
교환법칙을 만족하는 연산의 예를 들어보면 다음과 같다.
 유리수, 실수, 복소수에서 덧셈과 곱셈.
 행렬, 벡터의 덧셈
 집합의 교집합, 합집합 연산
교환법칙
수학에서 순서와 상관없이 다른 항을 바꿔 계산
해도 동일한 값이 나오는 법칙
107
교환법칙 : 덧셈과 곱셈
수학에서 순서와 상관없이 다른 항을 바꿔 계산
해도 동일한 값이 나오는 법칙
108
결합법칙109
수학에서 결합법칙(結合 法則, associated law)은 한 식에서 연산
이 두 번 이상 연속될 때, 앞쪽의 연산을 먼저 계산한 값과 뒤쪽의
연산을 먼저 계산한 결과가 항상 같을 경우 그 연산은 결합법칙을
만족한다고 한다.
결합법칙을 만족하는 연산의 예를 들어보면 다음과 같다.
 실수와 복소수, 사원수의 덧셈과 곱셈은 결합법칙이 성립한
다.
 최대공약수와 최소공배수 함수는 결합법칙을 만족한다.
 행렬 곱셈은 결합법칙을 만족한다.
결합법칙
연산이 두 번 이상 연속될 때 연산을 묶어서 처리
110
결합법칙
연산이 두 번 이상 연속될 때 연산을 묶어서 처리
111
분배법칙112
집합 S와 S에 대해 닫혀있는 이항 연산 *가 정의되어 있을 때, S의
임의의 원소 a, b, c에 대해 a * (b + c) = (a * b) + (a * c)가 성립
하면 좌분배법칙이, (b + c) * a = (b * a) + (c * a)가 성립하면 우
분배법칙이 성립한다고 하며 양쪽모두 성립할 경우 집합 S에서 연
산 *에 대해 분배법칙이 성립한다고 한다.
분배법칙을 만족하는 연산의 예를 들어보면 다음과 같다.
 임의의 자연수, 정수, 유리수, 실수, 복소수의 곱셈 ×은 덧
셈 +에 대해 분배법칙이 성립한다.
 합집합 연산 ∪은 교집합 연산 ∩에 대해 분배법칙이 성립하
고, 교집합 연산 ∩은 합집합 연산 ∪에 대해 분배법칙이 성
립한다. 또한, 교집합 연산은 대칭자 연산에 대해 분배법칙
이 성립한다.
분배법칙
수학에서 이항연산 *와 묶음이 있을 경우 분배하
면 동일한 처리값이 나오는 법칙
113
분배법칙
수학에서 순서와 상관없이 다른 항을 바꿔 계산
해도 동일한 값이 나오는 법칙
114
서로소115
공약수/최대공약수
공약수, 최대공약수, 서로소 용어 정의
공약수 두 개 또는 그 이상의 자연수가 있을 때 그 자연수들의 공통인 약수.
최대공약수 공약수들 중에서 가장 큰 수.12의 약수={1,2,3,6,12}
16의 약수={1,2,4,8,16}
18의 약수={1,2,3,6,9,18} 에서
12와 16의 공약수 → 1,2,4 → 최대공약수는 4
12, 16, 18의 공약수 → 1,2 → 최대공약수는 2
서로소 공약수가 1 하나 뿐인 두 자연수 사이의 관계
(예) 8의 약수={1,2,4,8}, 9의 약수={1,3,9}에서 8과 9의 공약수는 1 한 개
뿐이므로 8과 9는 서로소
116
서로소
최대공약수가 1인, 둘 이상의 양의 정수들은 서로
소(relatively prime)이라고 불린다.
두 정수가 1 이외에 양의 공약수를 가지지 않으면
서로소이다.
117
대입118
대입
대입(代入, substitution) 또는 변수변환(變數變
換, change of variables)은 수식의 특정 변수를
일정한 값 또는 다른 수식으로 치환하는 행위
119
분모의 유리화120
분모의 유리화
유리화(Rationalization)는 무리수가 있는 분수에
서, 분모 부분을 유리수로 바꾸는 과정을 말한다
121
분모와 분자에
분모를 곱하면
무리수가 유리
수로 변경됨
PYTHON
연산자와
OPERATOR 모듈의
대수의 법칙
Moon Yong Joon
122
연산자 구조123
연산자와 special method
python 문법의 연산자는 각 type class 내부에 대
응하믄 special method가 존재
연산자
Special
Method
각 타입별로 연산자는
special method와 매칭
124
연산자 우선순위
순위 구분 Operator Description
0 그룹 ( ) Parentheses (grouping)
1 함수 f(args...) Function call
2 참조 x[index:index] Slicing
3 참조 x[index] Subscription
4 참조 x.attribute Attribute reference
5 산술 ** Exponentiation(제곱)
6 비트 ~x Bitwise not
7 부호 +x, -x Positive, negative
8 산술 *, /, % Multiplication, division, remainder
9 산술 +, - Addition, subtraction
10 비트 <<, >> Bitwise shifts
11 비트 & Bitwise AND
12 비트 ^ Bitwise XOR
13 비트 | Bitwise OR
14 비트 in, not in, is, is not, <, <=, >, >=,<>, !=, == Comparisons, membership, identity
15 논리 not x Boolean NOT
16 논리 and Boolean AND
17 논리 or Boolean OR
18 함수 lambda Lambda expression
125
부호변환126
부호연산
숫자 객체에 대한 부호 변환하는 연산
Operation 연산자 Function Method
Negation (Arithmetic) - a neg(a)
x.__neg__()
Positive + a pos(a) x.__pos__()
127
부호변환 예시
숫자 타입의 부호를 변환
128
산술 연산129
산술연산 : 정방향
숫자 객체들에 대한 수학적인 산술연산
Operation 연산자 Function Method
addition x + y add(a, b) x.__add__(y)
subtraction x - y sub(a, b) x.__sub__(y)
multiplication x * y mul(a, b) x.__mul__(y)
division x / y div(a, b) x.__div__(y)
division x / y truediv(a, b) x.__truediv__(y)
floor division x // y floordiv(a, b) x.__floordiv__(y)
modulo (remainder) x % y mod(a, b) x.__mod__(y)
floor division & modulo divmod(x, y) N/A x.__divmod__(y)
raise to power x ** y pow(a, b) x.__pow__(y)
130
산술연산 예시: operator 모듈
Operator 모듈을 import해서 사용
131
산술연산 예시: int method
Int class 내의 special method 이용해 계산
132
산술연산 예시: 연산자
python 문법의 연산자 이용
133
산술연산 : 역방향
수학적인 산출연산에 대한 역방향 메소드 제공 계산
결과는 정방향과 동일
Operation 연산자 Function Method
addition x + y add(a, b) y.__radd__(x)
subtraction x - y sub(a, b) y.__rsub__(x)
multiplication x * y mul(a, b) y.__rmul__(x)
division x / y div(a, b) y.__rdiv__(x)
division x / y truediv(a, b) y.__rtruediv__(x)
floor division x // y floordiv(a, b) y.__rfloordiv__(x)
modulo (remainder) x % y mod(a, b) y.__rmod__(x)
floor division & modulo divmod(x, y) N/A y.__rdivmod__(x)
raise to power x ** y pow(a, b) y.__rpow__(x)
134
산술연산 역방향 예시
사칙연산이 정방향이나 역방향이나 계산은 동일
135
비트 연산136
비트연산 설명
비트연산에 대해서는 실제 숫자의 비트를 가지고 연
산
Operation 연산자 설명
left bit-shift x << y y만큼 왼쪽으로 bit 이동 : 산식은 (x * (2** y) )
right bit-shift x >> y y만큼 오른쪽으로 bit 이동 : 산식은 (x // (2** y) )
bitwise and x & y x와 y이 동일한 비트값만(1 또는 0) 남고 동일하지 않으면 0 처리
bitwise xor x ^ y x와 y에서 서로 대응되지 않는 값만 남김
bitwise or x | y x와 y에서 1이 있는 값은 1로 처리 0이 동일한 경우 0 처리
Bitwise Inversion ~ a a의 비트를 반대로 표시
137
비트연산
python 연산자,operator 모듈내의 함수와 int 메소
드간의 관계
Operation 연산자 Function Method
left bit-shift x << y lshift(a, b) x.__lshift__(y)
right bit-shift x >> y rshift(a, b) x.__rshift__(y)
bitwise and x & y and_(a, b) x.__and__(y)
bitwise xor x ^ y xor(a, b) x.__xor__(y)
bitwise or x | y or_(a, b) x.__or__(y)
Bitwise Inversion ~ a invert(a) x.__invert__()
138
비트 연산 예시
비트연산
139
augmented operator140
augmented operator
python에서는 할당연산자와 일반연산자를 축약해
서 사용
X += Y X = X+ Y
141
사칙연산
사칙연산
Operation 연산자 Function Method
addition x += y iadd(a, b) x.__iadd__(y)
subtraction x -= y isub(a, b) x.__isub__(y)
multiplication x *= y imul(a, b) x.__imul__(y)
division x /= y idiv(a, b) x.__idiv__(y)
division x /= y itruediv(a, b) x.__itruediv__(y)
floor division x //= y ifloordiv(a, b) x.__ifloordiv__(y)
modulo (remainder) x %= y imod(a, b) x.__imod__(y)
raise to power x **= y ipow(a, b) x.__ipow__(y)
142
증가비트연산
비트연산과 할당연산을 같이 사용
Operation 연산자 Function Method
left bit-shift x <<= y ilshift(a, b) x.__ilshift__(y)
right bit-shift x >>= y irshift(a, b) x.__irshift__(y)
bitwise and x &= y iand_(a, b) x.__iand__(y)
bitwise xor x ^= y ixor(a, b) x.__ixor__(y)
bitwise or x |= y ior_(a, b) x.__ior__(y)
143
논리연산144
논리연산
논리연산은 boolean 값을 비교해서 처리
Operation Syntax Function Method
and Logical AND a and b NA NA
or Logical OR a or b NA NA
Negation (Logical) not a not_(a) NA
145
논리연산 예시
논리연산
146
방정식/
부등식
Moon Yong Joon
147
방정식148
방정식
방정식(方程式, equation)은 식에 있는 특정한 문
자의 값에 따라 참/거짓이 결정되는 등식이다.
이때, 방정식을 참이 되게 하는 특정 문자의 값을
해 또는 근이라 한다.
149
항등식
방정식 X의 해는 2,3
상수항
상수항은 다항식이나 방정식에서 변수 또는 미지
수를 포함하지 않은 항이다.
예를 들면, 다항식 a0xn+a1xn-1+…+an-1x+an
에서는 변수 x를 포함하지 않은 항 an을, 또 방정
식 a0xn+a1xn-1+…+an-1x+an=0에서는 미지
수 x를 포함하지 않은 항 an을 상수항이라 한다.
150
다항방정식
일차방정식, 이차방정식, 삼차방정식, 고차방정
식 등과 같이 미지수에 대한 다항식으로만 이루
어진 방정식을 다항 방정식이라고 한다
151
다항 방정식 정의 다항 방정식 해
일차방정식152
일차방정식
일차방정식(Linear equation) 또는 선형 방정식
은 최고차항의 차수가 1인 방정식을 뜻한다.
153
a0x1+a1x0
a0 = a
a1 = b
n=1 일 경우
일차방정식 풀이
일차방정식에서 상수를 좌변으로 이항한 후에 변
수앞에 있는 계수로 양변을 나누면 x 값을 정함.
154
이차방정식155
이차방정식
이차 방정식(二次方程式, quadratic equation)이
란, 최고차항의 차수가 2인 다항 방정식을 뜻한다
156
a0x2+a1x1+a2x0
a0 = a
a1 = b
a2 = c
n=2 일 경우
이차방정식의 해
이차 방정식은 아래처럼 상수항을 이용해서 근의
공식으로 해를 구할 수 있음
157
근의공식
부등식158
부등식
부등식(不等式, inequality)은 두 수에 대한 크기
비교를 나타내는 식이다. 부등식은 두 수 및 그 사
이의 부등호(不等號, inequality sign)로 구성된
다.
159
추이적관계
임의의 세 원소 a, b, c에 대하여 정의된 이항관
계이 추이적 관계(推移的關係,transitive relation)
라 함
160
PYTHON
SYMPY
방정식
Moon Yong Joon
161
수식값 부여162
수식평가 : +/-
수식을 만들고 subs, evalf, replace로 평가하
기
163
수식평가 : *, /
수식을 만들고 subs, evalf, replace로 평가하
기
164
방정식 풀기165
방정식 풀기
2차 방정식을 전개는 expand 함수로 처리하고
해는 solve 함수로 구함
166
PYTHON
관계연산
Moon Yong Joon
167
관계연산168
관계연산
python 내의 객체 간의 순서와 동등 관계를 처리하
는 연산자
Operation 연산자 Function Method
Ordering a < b lt(a, b)
x.__lt__(y)
Ordering a <= b le(a, b)
x.__le__(y)
Equality a == b eq(a, b)
x.__eq__(y)
Difference a != b ne(a, b)
x.__ne__(y)
Ordering a >= b ge(a, b)
x.__ge__(y)
Ordering a > b gt(a, b)
x.__gt__(y)
169
인수분해/전개
Moon Yong Joon
170
곱셈공식171
곱셈 공식(-公式, multiplication)
다항식의 곱셈을 할 때 빠르고 편리하게 계산할
수 있도록 한 공식이다. 곱셈 공식의 양변을 바꾸
면 인수분해 공식이 된다.
172
피타고라스 정리
피타고라스 정리를 이용해서 하나의 변수를 제곱
근 곱셈공식으로 전환해서 처리.
173
제곱근 연산
제곱근 연산도 곱셈 공식을 이용해서 결과를 처
리
174
인수분해175
인수분해
인수 분해(因數分解, factorization)는 곱이 정의
된 집합내의 어떤 원소를 다른 원소들의 곱으로
표현하는 것을 가리킨다
176
인수분해 공식
인수 분해 주요 공식
177
인수분해 예시
인수 분해 주요 공식을 이용한 처리 예시
178
이항정리179
이항정리
이항정리(二項定理, binomial theorem)는 이항
다항식 x+y의 거듭제곱 (x+y)n에 대해서, 전개
한 각 항 xkyn-k의 계수 값을 구하는 정리
180
이항정리 : 전개
다항식 (a+b)3의 전개식에서 각 항의 계수를 조
합의 수를 이용하여 나타내는 방법
(a+b)3=(a+b)(a+b)(a+b)
=aaa+aab+aba+abb+baa+bab+bba+bbb
=a3+3a2b+3ab2+b3
=a3+3C1a2b+3C2ab2+b3
3C1 = 3P1/1! = 3!/2!/1! = 3
3C2 = 3P2/2! = 3!/1!/2! = 3
181
이항정리 : 파스칼 방식
다항식 (a+b)3의 전개식에서 각 항의 계수를 조
합의 수를 이용하여 나타내는 방법
182
PYTHON
SYMPY
인수분해/전개
Moon Yong Joon
183
공통요소 제거184
cancel 함수 : 공통요소 제거
분모와 분자의 공통요소를 제거하는 함수는
cancel로 처리
185
인수분해186
factor 함수
인수분해는 factor 함수를 사용하고 전개는
expand 함수를 사용하고 해는 solve함수를 사용
함
187
factor 함수 : modulus
인수분해를 위한 파라미터를 modulus로 사용하
면 인수분해 불가함 방정식을 조건에 따라 인수
분해 함
188
factor 함수 :가우시안정수
가우스 정수(Gauß整數, Gaussian integer)는 실
수부와 허수부가 모두 정수인 수이다.
(a+bi)(a-bi)=a2+b2 로 표현이 가능한 수
189
= (0+i)(0 –i)
= -i*I
= -(i)**2
= 1
X**2+1은 인수분
해가 안되어서 가
우시안 수로 인수
분해
factor 함수 : extension
인수분해를 위한 값을 배정해서 처리
190
2.함수
기초
Moon Yong Joon
191
함수
Moon Yong Joon
192
함수193
사상
사상(寫像, 영어: morphism)은 수학적 구조를 보
존하는 함수의 개념을 추상화한 것이다.
사상이라는 용어는 영어 map에 대응하기도 하는
데, 이 경우 맥락에 따라 함수(function)와 사상
(morphism) 모두의 의미로 사용될 수 있다.
194
함수란?
함수(函數, function) f:X→Y란 집합X와 집합 Y의
원소 사이에 주어진 다음 성질을 만족하는 대응
으로 정의된다.
195
정의역
어떤 함수의 공역(共域, codomain) 또는 공변역
(共變域)은 이 함수의 값들이 속하는 집합이다.
196
공역/치역
어떤 함수의 정의역(定義域, domain)은 그 함수의
값이 정의된 집합이다.
함수의 치역(値域, range)이라고 하는 것은 함수의
모든 "출력"값의 집합
197
함수의 종류198
단사 함수란?
단사(injective) 또는 일대일(one-to-one)이라
하고 일대일인 함수를 단사함수(injection) 또는
일대일 함수(one-to-one function)이라 한다
199
전사 함수란?
공역의 모든 원소에게 정의역의 적어도 하나의 원소
를 대응시킨다면(즉, 치역이 공역과 같다면) 전사
(surjective) 또는 X에서 Y 로(onto)의 함수라 한다.
전사인 함수를 전사함수(surjection)이라 한다.
200
전단사 함수란?
f:X→Y가 전사이고 단사일 때 f를 전단사(bijective)
라 한다. 전단사인 함수를 전단사함수(bijection) 또
는 일대일 대응(one-to-one correspondence)라 한
다. one-to-one & onto라고도 많이 사용한다.
201
초월함수
초월함수(超越函數)란 대수함수와 대조적으로,
계수만으로 이루어진 다항식을 만족시키지 않는
함수이다.
초월함수란 유한한 가감승제의 대수 연산으로 표
현할 수 없기 때문에 대수적인 것을 초월하는 함
수이다.
초월함수의 예로 로그함수, 삼각함수 등이 있다.
202
역함수203
역함수
f:X→Y 함수에 대한 대응관계가 반대로 되는 것을
역함수 즉 f -1: Y → X.
204
항등함수
항등함수와 함수를 합성하면 결과는 함수와 같다.
함수와 역함수를 합성하면 항등함수가 나옴
205
=
함수의 합성206
함수합성 function composition
함수의 합성(函數의合成, function composition)은
한 함수의 공역이 다른 함수의 정의역과 일치하는 경
우 두 함수를 이어 하나의 함수로 만드는 연산이다.
이렇게 얻어진 함수를 합성 함수(合成函數
composite function)라고 한다.
207
교환법칙
함수의 교환법칙은 반드시 성립하지 않는다.
208
결합법칙
함수합성의 결합법칙은 성립한다.
209
PYTHON
MAPPING
DATA TYPE
210
mapping Type211
Mapping 타입-dictionary
Key/Value로 원소를 관리하는 데이터 타입이며
요소들은 변경가능함
참조 container
Name 1 값
Name 2
contain
er
참조
참조
:
:
Dictionary Type
212
Mapping 타입 - dict
dict 내의 속성과 메소드들
213
Mapping 타입 – 사용자 클래스 정
의
사용자 클래스 내부에서 dict type 사용하기
214
Hash 처리215
key 값은 hash
mapping 타입은 기본 hash 처리가 되는 경우
만 키값을 사용
tuple 내의 리스트 등
mutable이 들어오면
hash를 만들 수 없어 에
러 처리됨
216
dict 생성217
Map 타입 - 생성
직접 만들거나 dict 생성자를 통해 생성. 항상
key/value 쌍을 구성해야 함
218
dict 접근219
Mapping - Accessing Elements
Key/Value로 원소를 관리하므로 Key를 index
로 원소를 검색
220
Mapping - Updating Elements
새로운 key에 할당하면 추가하고 기존 key로 변
경하면 기존 값을 변경함
새로운 key에 할당: 기
존에 없으므로 추가
기존 key에 할당: 기존
에 있는 값을 변경
221
Mapping - Delete Elements
원소 하나만 삭제, 모든 원소들을 삭제, dict
instance 삭제
기존 원소 하나 삭제
Dict 삭제
모든 원소 삭제
222
dict 내장함수 처리223
Mapping– dict 지원 내장함수
Dictionary 타입에 원소 하나만 삭제, 원소들을
삭제, dictionary instance 삭제
Function Description
cmp(dict1, dict2) Compares elements of both dict.
len(dict) Gives the total length of the dictionary. This would be equal
to the number of items in the dictionary.
str(dict) Produces a printable string representation of a dictionary
type(dict) Returns the type of the passed variable. If passed variable is
dictionary, then it would return a dictionary type.
dict(mapping) Converts a map into list.
224
Mapping -dict class 구조 확인
dict 내의 스페셜 메소드를 제외한 내장 속성 확
인
225
dict 메소드 처리226
Mapping -dictionary 메소드
Method Description
dict.clear() Removes all elements of dictionary dict
dict.copy() Returns a shallow copy of dictionary dict
dict.fromkeys() Create a new dictionary with keys from seq and values set to value.
dict.get(key,
default=None)
For key key, returns value or default if key not in dictionary
dict.has_key(key) Returns true if key in dictionary dict, false otherwise
dict.items() Returns a list of dict's (key, value) tuple pairs
dict.keys() Returns list of dictionary dict's keys
dict.setdefault(key,
default=None)
Similar to get(), but will set dict[key]=default if key is not already in dict
dict.update(dict2) Adds dictionary dict2's key-values pairs to dict
dict.values() Returns list of dictionary dict's values
dict.iteritems() Iterable한 items를 만들기
227
dict.get() 사용
dict 내부의 키가 없을 경우 KeyError가 발생하
므로 get()메소드로 읽어서 처리하면 오류발생을
막을 수 있음
Key 조회시
default 값을 설
정할 수 있음
228
dict.setdefault()사용
dict에 내의 원소를 추가하거나 갱신할 때
default 값을 지정해서 처리 가능
229
dict.get/setdefault()사용
dict에 내의 원소를 추가하거나 갱신하고 이를 []
연산자나 get 메소드로 호출해서 처리
230
dict.update() 사용
dict에 dict을 연결할때 사용하면 키값이 겹칠
경우는 인자로 전달 받은 값으로 갱신됨
231
iteritems/iterkeys/itervalues
dict 타입을 iterable로 전환해서 처리하는 메소
드
232
버전 변경233
버전변경
keys,items 등이 메소드 결과가 리스트 타입에
서 객체타입으로 변경
Notes Python 2 Python 3
①
a_dictionary.keys() list(a_dictionary.keys())
②
a_dictionary.items() list(a_dictionary.items())
③
a_dictionary.iterkeys() iter(a_dictionary.keys())
④
[i for i in a_dictionary.iterkeys()] [i for i in a_dictionary.keys()]
⑤
min(a_dictionary.keys()) no change
234
메소드 결과 타입 변경
keys, values, items 메소드 리턴타입이 list에
서 dict 타입으로 변경
235
dict.key/values/items()
python 버전 변경에서 list 타입이 dict_keys,
values,items 타입으로 변경되어 동일한 결과를
인지하려면 list()로 변환 필요
버전에 따
른 변경
236
dict.key/values/items: for문
python 3. 대에서도 for문에서는 실제 값만 처
리됨
237
dict.key: set 연산
python 3. 대에서도 set 연산을 이용해서 처리
가능
238
viewitems/keys/values 처리239
dict.viewitems() 사용
dict 타입 내의 키와 값을 view 타입으로 처리하
는 객체 버전3에서 통합 됨
240
viewitems/viewkeys()
dict 타입에서 viewitems/viewkeys 메소드 처
리함 결과로 set 연산을 처리할 수 있음(3버전에
서는 keys()/items() 동일함)
241
dict comprehension242
Dict Comprehension
사전 정의시 값을 정하지 않고 호출 시 사전 내의
값들이 처리되도록 구성
A = {표현식 for (k,v) in sequence if 논리식}
243
Dict Comprehension : 단순
dict 타입에 대한 comprehension 생성
A = {표현식 for i in sequence if 논리식}
244
dict Comprehension : 다중
dict 내의 다중 for문을 이용해서 처리
A = {표현식 for i in sequence for j in sequence
if 논리식}
245
PYTHON
SYMPY
함수 그래프
Moon Yong Joon
246
plotting247
1차 함수 그래프
1차 함수를 만들고 plot 함수로 그래프 그리기
248
2차 함수 그래프
2차 함수를 만들고 plot 함수로 그래프 그리기
249
여러 개 그래프 그리기250
두개 함수 그래프
1차,2차 함수를 만들고 plot 함수로 그래프 그
리기
251
그래프 선 색상 변경하기
plot 함수 결과에 line_color 변수에 색상을 할
당
252
x축 범위253
1차 함수 그래프 : x축 범위
1차 함수를 만들고 plot 함수에서 (x,-5,5)를 제
공해서 x축 범위를 제한
254
Plot 함수에서 그래프 통합 축 제한
1차함수와 2차함수의 x축이 제한을 통합해서
제한하려면 튜플로 하나만 표시
255
Plot 함수에서 각 그래프별 축 제한
1차함수와 2차함수의 x축이 제한이 다르게 표
시하려면 각 그래프별로 x축에 대한 제한을 별도
로 넣어줘야 함
256
y축 범위257
1차 함수 그래프 : y축 범위
1차 함수를 만들고 plot 함수에서 ylim=(y,-5,5)
를 제공해서 y축 범위를 제한
258
그래프 꾸미기259
그래프 설명자료:legend
그래프에 대한 설명자료 legend
260
1차 함수 그래프 꾸미기
그래프 내의 텍스트 정보(title, xlabel, ylabel)
를 제공해서 그래프 꾸미기
261
자동 show 차단하기262
자동 그래프 표시 제한
sympy는 plot함수만 작동해도 그래프가 그려진
다. show=False 파라미터를 제공해서 자동 그
리기를 제한
263
Show 메소드 실행하기264
show메소드 사용
sympy는 plot함수만 작동해도 그래프가 그려진
다. show=False 파라미터를 제공해서 자동 그
리기를 제한
265
Multi plot 사용266
다중 plot 사용하기 1
여러 plot 함수로 그래프를 그리면 각 plot별로
그래프가 그려짐
267
다중 plot 사용하기 : 2
여러 plot 함수로 그래프 그리기
268
하나의 plot에 여러 그래프 넣기
하나의 그래프에 산식을 여러 개 넣으면 하나의
plot에 그래프가 통합해서 그려짐
269
Multi plot 병합하기270
append로 plot 추가
append 메소드로 plot 처리를 하나로 합치기
271
extend로 plot 추가
extend 메소드로 plot 처리를 하나로 합치기
272
3.선형대수
기초
Moon Yong Joon
273
NUMPY
CLASS
Moon Yong Joon
274
ndarray와 matrix 구분275
ndarray와 matrix 구분
다차원 배열을 생성하지만 matrix는 MATLAB 기능
을 지원
구분 ndarray matrix
차원 다차원 가능 2 차원
* 연산자 요소간 곱 행렬곱
numpy.multiply() 요소간 곱 요소간 곱
numpy.dot() 행렬곱 행렬곱
276
배열과 vector 구분 : ndarray
Array와 vector 구분 생성
277
ndarray와 matrix 연산 비교
Matrix는 dot/* 처리가 동일, ndarry는 */multiply
가 동일
278
벡터
이해하기
Moon Yong Joon
279
벡터란280
스칼라/벡터/행렬
스칼라는 number, vector는 숫자들의 list(row or
column), matrix는 숫자들의 array( rows,
columns)
그리고 vector는 Matrix
281
배열과 vertor 구분
ndarray 는 벡터 1xN, Nx1, 그리고 N크기의 1차원
배열이 모두 각각 다르며, 벡터는 그 자체로 특정 좌
표를 나타내기도 하지만 방향을 나타냄
scalar 배열 vector
양, 정적 위치 양, 정적 위치 변위, 속도, 힘(방향성)
1차원 N 차원 N 차원
단순 값 행,열 구분 없음 행벡터, 열벡터
282
스칼라/벡터/행렬 예시
스칼라/벡터/행렬
283
벡터란
크기(magnitude)와 방향(direction)을 표시
벡터는 tail부터 head까지의 유향선분으로
표시
284
벡터 크기285
벡터 크기
벡터의 크기는 ||v|| = sqrt(v0^2 + v1^2 +
v2^2... + vn^2) 로 표현
벡터 b = (6,8) 의 크기
|b| = √( 62 + 82 ) = √( 36+64 ) =
√100 = 10
286
Vector 크기 계산
벡터의 크기(Magnitude)는 원소들의 제곱을 더
하고 이에 대한 제곱근의 값
벡터의 크기는 x축의 변위와 y축의 변위를 이용
하여 피타고라스 정리
287
단위벡터288
단위벡터
단위벡터(unit vector)는 크기가 1인 벡터
크기가 1인 벡터
표기법은 문자에 모자(hat)을
사용해서 표시
모든 벡터는 단위벡터에 대해
sclae 배수 만큼의 크기를 가진 벡
터
289
단위벡터 정규화
해당 벡터를 0 ~ 1의 값으로 정규화
290
산술연산291
벡터: +
The vector (8,13) and the vector (26,7) add up to
the vector (34,20)
Example: add the vectors a = (8,13) and b = (26,7)
c = a + b
c = (8,13) + (26,7) = (8+26,13+7) = (34,20)
a
b
a
b
c
292
Vector 연산: +
두 벡터 평행 이동해 평행사변형을 만든 후 가운데
벡터가 실제 덧셈한 벡터를 표시
e
d
f
e
d
293
벡터 : -
벡터의 방향성을 반대로 이동한 실제 벡터를 처리
Example: subtract k = (4,5) from v =
(12,2)
a = v + −k
a = (12,2) + −(4,5) = (12,2) + (−4,−5)
= (12−4,2−5) = (8,−3)
294
Vector 연산: -
두 벡터 반대 방향으로 평행 이동해 평행사변형을
만든 후 가운데 벡터가 실제 덧셈한 벡터를 표시
e
d
g
-e
-e
295
벡터: 스칼라곱
벡터의 각 원소에 스칼라값만큼 곱하여 표시
벡터 m = [7,3]
A = 3m= [21,9]
296
Vector 연산: 스칼라곱
스칼라 배수 만큼 벡터 내의 원소값이 커짐
d
3d
297
내적과 외적 비교298
내적 vs 외적
구분 내적 외적
명칭
Inner product, dot product, scalar
product
Outer product, vector product, cross
product
표기 .(Dot) X(cross)
대상 벡터 n 차원 3 차원
공식
a1 b1 + a2 b2 + …. + an bn
(a2 b3 – a3 b2, a3 b1 – a1 b3, a1 b2 – a2
b1)
|a||b| cos 각도 |a||b| sin각도 n
결과 scalar vector
299
벡터
내적과 외적
이해하기
Moon Yong Joon
300
스칼라곱301
내적 산식
내적(Inner Product)산식은 두벡터의 크기에 cos각
을 곱한 결과 또는 두벡터간의 원소들이 곱의 합산
과 같은 결과
a · b = |a| × |b| × cos(θ)
Where:
|a| : vector a 크기
|b| : vector b 크기
θ : a and b 사이의 각
a · b = ax × bx + ay × by
302
내적 수학적 예시 : 2 차원
두벡터에 내적 연산에 대한 수학적 처리 예시
a · b = |a| × |b| × cos(θ)
a · b = 10 × 13 × cos(59.5°)
a · b = 10 × 13 × 0.5075...
a · b = 65.98... = 66 (rounded)
a · b = ax × bx + ay × by
a · b = -6 × 5 + 8 × 12
a · b = -30 + 96
a · b = 66
303
3차원 내적 예시 1
Dot 연산을 통한 계산
a · b = ax × bx + ay × by + az × bz
a · b = 9 × 4 + 2 × 8 + 7 × 10
a · b = 36 + 16 + 70
a · b = 122
304
3차원 내적 예시 2
두벡터 사이의 각 구하기
a벡터의 크기
|a| = √(42 + 82 + 102)
= √(16 + 64 + 100)
= √180
b벡터의 크기
|b| = √(92 + 22 + 72)
= √(81 + 4 + 49)
= √134
내적 구하기
a · b = 9*4+ 2*8+ 7*10 = 36+16+70 = 122
각 구하기
a · b = |a| × |b| × cos(θ) 산식에 대입
122 = √180 × √134 × cos(θ)
cos(θ) = 122 / (√180 × √134)
cos(θ) = 0.7855...
θ = cos-1(0.7855...) = 38.2...°
305
내적(dot) 예시
두벡터에 대한 내적(dot) 연산은 같은 위치의 원
소를 곱해서 합산함
두벡터의 곱셈은 단순히 원소를 곱해서 벡터를
유지
306
vdot: vector
벡터(2차원)일 경우도 스칼라(dot)로 처리
307
Vector product(외적)308
외적
벡터 a 와 b 의 외적은 a × b 로 정의된다.
외적의 결과로 나온 벡터 c 는 벡터 a 와 b 의 수직
인 벡터로 오른손 법칙의 방향
Vector product
Cross product
309
외적 산식 : 2차원
벡터의 원소간의 cross 적을 처리
v = [a1,a2]
u = [b1,b2]
a1 a2
b1 b2
a1*b2 – a2*b1 Example: The cross product of a = (2,3) and b = (5,6)
c = a1b2 − a2b1 = 2×6− 3×5 = −3
Answer: a × b = -3
310
외적 산식 : 3차원
벡터의 원소간의 cross 적을 처리
v = [a1,a2,a3]
u = [b1,b2,b3]
a2 a3 a1 a2
b2 b3 b1 b2
x 축 : a2*b3 – a3*b2
y 축 : a3*b1 – a1*b2
z 축 : a1*b2 – a2*b1
Example: The cross product of a = (2,3,4) and b = (5,6,7)
cx = aybz − azby = 3×7 − 4×6 = −3
cy = azbx − axbz = 4×5 − 2×7 = 6
cz = axby − aybx = 2×6 − 3×5 = −3
Answer: a × b = (−3,6,−3)
311
외적 산식예시
두벡터에 대한 외적(cross) 연산은 다른 위치의
원소를 곱해서 뺄셈
2차원 벡터는 스칼라 값으로 나옴 3차원 벡터이
상 표시 됨
312
Inner/outer 함수 이해하기313
inner 계산 방식
A = [[a1,b1] B = [[a2,b2]]
numpy.inner(A,B)
array([[a1*a2 + b1*b2]])
[[1*4+0*1]]
1 0 4 1
1 0
4 1
4=.
314
Inner 예시
벡터의 내부 곱한 것을 더해서 값을 표현
315
dot/inner: 예시
벡터(2차원)일 경우 2차원으로 표시
316
outer
A = [[a1,b1]] B = [[a2,b2]]
numpy.outer(A,B)
array([[a1*a2 , a1*b2][ b1*a2, b1*b2]])
 [[1*4,1*1] [0*4+0*1]]
1 0 4 1 1
0
4 1
4 1
0 0
=
317
outer 예시
벡터의 내부 곱한 것을 더해서 값을 표현
첫번째 벡터의 전치와 두번째 벡터와의 Dot 연
산과 같은 결과
318
PYTHON
MATRIX CLASS로
VECTOR 이해하기
Moon Yong Joon
319
벡터 산술연산320
Vector 연산: +
두 벡터 평행 이동해 평행사변형을 만든 후 가운데
벡터가 실제 덧셈한 벡터를 표시
e
d
f
e
d
321
Vector 연산: -
두 벡터 반대 방향으로 평행 이동해 평행사변형을
만든 후 가운데 벡터가 실제 덧셈한 벡터를 표시
e
d
g
-e
-e
322
Vector 연산: 스칼라곱
벡터를 스칼라 곱 만큼 커짐
d
3d
323
벡터 크기324
Vector 크기 계산
벡터의 크기(Magnitude)는 원소들의 제곱을 더
하고 이에 대한 제곱근의 값
벡터의 크기는 x축의 변위와 y축의 변위를 이용
하여 피타고라스 정리
325
vector 내적326
Vector 연산: 내적(dot)
두벡터에 대한 내적(dot) 연산은 같은 위치의 원
소를 곱해서 합산함
327
vector 외적328
Vector 연산: 외적(cross)
두벡터에 대한 외적(cross) 연산은 다른 위치의
원소를 곱해서 뺄셈
2차원 벡터는 array로 나옴 3차원이상으
matrix로 표시 됨
329
행렬
이해하기
Moon Yong Joon
330
행렬이란331
행렬
매트릭스라고도 하는데 행렬의 가로 줄을 행, 세
로 줄을 열로 표시함
332
Diagonal matrix333
대각행렬
정사각행렬 A=(aij)(i, j=1, 2, 3,…, n)의 원소
aij가 aij=0(i≠j)을 만족시키는 행렬
A의 주대각선 위에 있는 원소(대각선원소) aij(i=j)
외의 원소 aij(i≠j)가 모두 0인 행렬
334
Identity matrix335
항등행렬
모든 행렬과 닷 연산시 자기 자신이 나오게 하는
단위행렬
import numpy as np
a = np.array([[1,0],[0,1]])
b = np.array([[4,1],[3,2]])
print(np.dot(b,a))
print(np.dot(a,b))
[[4 1]
[3 2]]
[[4 1]
[3 2]]
336
Triangular matrix337
삼각행렬
상삼각 행렬(Upper triangular matrix)
과 하삼각 행렬(lower triangular matrix
)을 총칭하여 일컫는 말.
Upper triangular matrix lower triangular matrix
338
행렬 산술연산339
행렬 산술연산
두 행렬의 원소별로 산술연산(+/-/*) 처리
+
-
*
/
=
+
-
*
/
+
-
*
/
+
-
*
/
+
-
*
/
+
-
*
/
+
-
*
/
1 2 3
4 5 6
1 2 3
4 5 6
+ =
1+1 2+2 3+3
4+4 5+5 6+6
=
2 4 6
8 10 12
340
행렬 산술연산 예시
행렬에 대한 산술연식은 각 원소별로 +/-/* 처리
341
행렬의 전치(transpose)342
행렬 전치
전치: 행렬의 행과 열을 서로 바꾸는 것.
수학책에서는 위첨자 T로 행렬 A의 전치를 나타
낸다.













121110
987
654
321
A











12963
11852
10741
T
A
343
행렬 전치 예시
python은 기본 속성에서 T 변수를 제공하고
numpy 모듈에서 transpose 함수 제공
344
dot 연산345
dot vs inner 차이점(2차원이상)
Dot와 inner 함수는 계산시 축 기준이 차이가 있어
실제 계산된 값이 다름
dot inner
행과 열로 계산 행과 행으로 계산
행벡터와 열벡터 간의 원소를 곱한후 덧셈 행벡터와 행벡터간의 원소를 곱한후에 덧셈
N*M 과 M*N 즉, 첫번째 열과 두번째 행이 동일 N*M과 N*M에 마지만 차원이 같은 경우
N*M . M*N 은 결과가 N*N N*M과 N*M 은 결과가 N*N
346
dot 처리 기준 1*p, p*1
두 행렬 A와 B의 행렬곱셈은 행렬 A의 각 행과 행
렬 B의 각 열끼리 곱해서 표시
AB 𝑎1 𝑏1 𝑎2 𝑏2 … 𝑎 𝑝 𝑏 𝑝 paaa 21A















pb
b
b

2
1
B
1행*p열
P행1열
1행1열
347
dot 처리 기준
두 행렬 A와 B의 행렬곱셈은 행렬 A의 각 행과 행
렬 B의 각 열끼리 곱해서 표시









































pnpjpp
inijii
nj
nj
mpmjmm
ipijii
pj
pj
bbbb
bbbb
bbbb
bbbb
aaaa
aaaa
aaaa
aaaa












21
21
222221
111211
21
21
222221
111211
AB
pm np
nm


2 3
3 3
348
dot : 2차원
A = [[a1,b1],[c1,d1]] B = [[a2,b2],[c2,d2]]
numpy.dot(A,B)
array([[a1*a2 + b1*c2, a1*b2 + b1*d2], [c1*a2 +
d1*c2, c1*b2 + d1*d2])
 [[1*4+ 0*2, 1*1+0*2],[0*4+1*2, 0*1+1*2]]
1 0
0 1
4 1
2 2
1 0
0 1
4 1
2 2
4 1
2 2
=.
349
dot 예시
Numpy.dot 메소드 처리
350
행렬식351
행렬식(det)
정방행렬에 하나의 수를 대응시킴으로써,
- 연립방정식의 해를 구하거나,
- 연립방정식 해의 존재성을 살피려고 할 때 쓰여짐
352
행렬식(det) : 2차원
행렬식 구하기
3 1
2 2
det = 3*2 – 1*2
= 4
353
행렬식(det) : 3차원
행렬식을 계산시 앞에 두 열을 뒤에 복사 후 계산
3 1 3 3 1
2 2 3 2 2
1 1 1 1 1
= 3*2*1 – 3*2*1 + 1*3*1 – 3*3*1 + 3*2*1 – 1*2*1
= 6 – 6 + 3 -9 + 6 -2
= 15 – 17
= -2
354
행렬식(det) : 3차원
n
355
minor determinant356
소행렬식 2차원
i번째 행,j번째 열을 제거한 부분행렬의 행렬식 : Mij
2 1
1 2
M11 2
M12
M21
-1
-1
2
1
1
부호 +
부호 –
부호 –
부호 +M22 22
357
소행렬식 3차원
i번째 행,j번째 열을 제거한 부분행렬의 행렬식 : Mij
3 1 3
2 2 3
1 1 1
M11 2*1 -3*1 -1
M12
M13
2*1 -3*1 -1
2*1 -2*1 0
2 3
1 1
2 3
1 1
2 2
1 1
= 3M11+(-1)* 1M12 + 3M13
= -3+1+0 = -2
부호 +
부호 –
부호 +
358
소행렬식 예시
소행렬식을 구해서 행렬식 값 비교
359
역행렬360
여인수(cofactor)
소행렬식을 이용한 값을 여인수를 표시
3 1 3
2 2 3
1 1 1
소행렬식 부호 결과값
m11
2 3
1 1
2-3 -1 + -1
m12
2 3
1 1
2-3 -1 - 1
m13
2 2
1 1
2-2 0 + 0
m21
1 3
1 1
1-3 -2 - 2
m22
3 3
1 1
3-3 0 + 0
m23
3 1
1 1
3-1 2 - -2
m31
1 3
2 3
3-6 -3 + -3
m32
3 3
2 3
9-6 3 - -3
m33
3 1
2 2
6-2 4 + 4
361
수반행렬(adj) 과 여인수행렬
소행렬식으로 계산된 원소 즉 여인수로 구성된 행렬
의 전치행렬을 수반행렬이라 함
-1 2 -3
1 0 -3
0 -2 4
-1 1 0
2 0 -2
-3 -3 4
T
여인수행렬
의 전치
수반행렬
362
역행렬(inv) – 2차원
역행렬은 수반행렬에 행렬식으로 나눗값이 됨
[[ 0.66666667 -0.33333333]
[-0.33333333 0.66666667]]
1/3 *
2 -1
-1 2
역행렬
2 1
1 2
-1
A−1​​=​1/det(A) * ​​CT
363
역행렬(inv) – 3차원
역행렬은 수반행렬에 행렬식으로 나눗값이 됨
[[ 0.5 -1. 1.5]
[-0.5 0. 1.5]
[ 0. 1. -2. ]]
- 0.5 *
-1 2 -3
1 0 -3
0 -2 4
역행렬3 1 3
2 2 3
1 1 1
-1
A−1​​=​1/det(A) * ​​CT
364
역행렬(inv) 예시
역행렬 계산
365
Dot 연산366
Dot 처리 기준
두 행렬 A와 B의 행렬곱셈은 행렬 A의 각 행과 행
렬 B의 각 행끼리 곱한후 덧셈을 하여 표시









































pnpjpp
inijii
nj
nj
mpmjmm
ipijii
pj
pj
bbbb
bbbb
bbbb
bbbb
aaaa
aaaa
aaaa
aaaa












21
21
222221
111211
21
21
222221
111211
AB
n*m n*m
n*n
두행렬의 마지막 차원이
값으면 처리가 가능하고
결과는 마지막 차원을
제외해서 구성
367
dot 행렬
n*m 행렬 일 경우 2차원으로 표시
368
dot 예시 : 2차원
a(2,2) 행렬과 b(2,2)행렬의 마지막 차수가 같으
므로 계산결과는 n*m, m*n = n*n
369
cross product370
cross 계산 방식
A = [[a1,b1],[c1,d1]] B = [[a2,b2],[c2,d2]]
numpy.cross(A,B) = A.T * B
array([[a1*b2 - c1*a2 , b1*d2 – d1*c2])
[[1*1- 0*4,0*2-1*2]]
1 0
0 1
4 2
1 2
1 -2=
371
Cross 행렬
n*m 행렬 일 경우 2차원으로 표시
372
Inner 연산373
inner 계산 방식
A = [[a1,b1],[c1,d1]] B = [[a2,b2],[c2,d2]]
numpy.inner(A,B)
array([[a1*a2 + b1*b2, a1*c2 + b1*d2], [c1*a2 +
d1*b2, c1*c2 + d1*d2])
[[1*4+0*1,1*2+0*2],[0*4+1*1, 0*2+1*2]]
1 0
0 1
4 1
2 2
1 0
0 1
4 1
2 2
4 2
1 2
=.
374
Inner 예시 : 2차원
a(2,2) 행렬과 b(2,2)행렬의 마지막 차수가 같으
므로 계산결과는 out.shape = a.shape[:-1] +
b.shape[:-1]
375
Inner 예시 : 3차원
a(2,3,2) 행렬과 b(2,2)행렬의 마지막 차수가 같
으므로 계산결과는 out.shape = a.shape[:-1] +
b.shape[:-1]
376
outer product377
outer
두개의 벡터를 가지고 벡터 크기를 행과 열로 만드
는 함수
1차원이 이상일 경우 1차원으로 만든 후에 행렬로
만듬
1 0 4 1 1
0
4 1
4 1
0 0
=
2 2 2*2
378
outer: 1
Out는 두개의 벡터에 대한 행렬로 구성
out[i, j] = a[i] * b[j]
379
outer: 2
첫번째 벡터가 행이되고 두번째 벡터가 열이 되
어 5*5행렬을 만듬
380
outer: 3
벡터의 값이 문자일 경우 문자 배수만큼 처리
381
tensordot382
tensordot
Tensordot 함수에 axes를 0으로 줄 경우
tensor product을 연산
383
tensordot
Tensordot 함수에 axes를 0으로 줄 경우
tensor product을 연산
=
1 0
0 1
4 1
2 2
1 0
0 1
4 1
2 2
4 1
2 2
4 1
2 2
4 1
2 2
=
4 2
1 2
0 0
0 0
0 0
0 0
4 2
1 2
2,2 2,2 2,2,2,2
384
tensordot: 예시 1
2차원 행렬 2개가 만나 4차원 행렬 구성
385
tensordot: 예시 2
axes = 0 tensor product, axes = 1 tensor
dot product, axes = 2 tenser double
contraction 즉 벡터연산
386
대각행렬387
Trace : 3차원 행렬
3차원(2,2,2) 대각행렬의 합은 첫번째 차원의
1과 두번째의 마지막을 합산해서 출력
0
2
1
3
4
6
5
7
0 1
388
trace
대각행렬의 합을 출력
389
PYTHON
MATRIX CLASS로
행렬 이해하기
Moon Yong Joon
390
행렬 이해하기391
행렬
n개의 실수의 순서쌍에 성분별로 덧셈과 실수상수
곱을 주면[2] 이는 "nn차원" 벡터공간이라 할 수 있
고(, 벡터공간에서 벡터공간으로 가는 함수 중 덧셈
과 상수배를 보존하는 함수를 선형사상을 행렬이라
함
392
행렬 생성
Numpy matrix 를 이용해서 행렬 생성
393
행렬 연산하기394
행렬 : 내적 dot(곱셈)
N*M 과 M* N인 행렬에 대한 dot 연산 처리 결과는
M*M으로 나옴
( xij )( yij )=(∑kxikykj​​)
a1 a2
a3 a4
b1 b2
b3 b4
a1*b1+a1*b3 a2*b2+a2*b4
a3*b1+a3*b3 a4*b2+a4*b4
=
.
395
행렬 : dot
행렬에 대한 dot 연산 처리
396
행렬 : 외적cross
행렬에 대한 cross는 동등한 행렬일 경우 연산 처리
397
행렬 : +/-
N*M 과 N*M인 행렬에 대한 +/- 연산 처리 결과는
N*M으로 나옴
a1 a2
a3 a4
b1 b2
b3 b4
a1 +/- b1 a2 +/- b2
a3+/- b3 a4 +/- b4
=
+
/
-
398
행렬 : +/-
행렬에 대한 +/- 연산 처리
399
행렬 : 상수 배
상수(k) 와 N*M 행렬에 대한 곱은 상수배만큼 증가
함
a1 a2
a3 a4
k* a1 k * a2
k* a3 k* a4
=
k
400
행렬 : 상수 배
행렬에 대한 k 상수만큼 원소별로 곱하는 연산 처리
401
행렬 : 전치(transpose)
N*M 행렬을 M*N을 변환하는 처리
a1 a2
a3 a4
a1 a3
a2 a4
=
T
402
행렬 : 전치(transpose)
N*M 행렬을 M*N을 변환하는 방식은 T변수,
transpose 메소드가 있음
403
matmul
Matrix 타입일 경우 곱셈은 dot 연산과 동일한
결과를 생성함
404
Matmul: 차원계산
N*m, M*n 행렬에 따라 계산이 되지만 1차원인
경우는 행렬 계산을 처리
405
matrix_power
matrix_power는 정방행렬에 대해 dot 연산을
제곱승만큼 계산하는 것
406
matrix_power: 예시
반복적인 dot 연산을 처리
407
PYTHON
NUMPY LINALG
함수 이해하기
Moon Yong Joon
408
Matrix and vector products409
주요 함수
선형대수에 대한 함수들
함수 설명
dot(a, b[, out]) n차원 행렬 n*m m*l에 대한 production(결과는 n*l)
vdot(a, b) Vector에 대한 prodution
inner(a, b) N 차원 행렬에 대한 Inner product (행렬이 동일해야 함).
outer(a, b[, out]) 2개 벡터에 대해 계산 후 행렬로 표시.
matmul(a, b[, out]) 두 행렬에 대한 Matrix product (dot과 동일한 결과)
tensordot(a, b[, axes]) Compute tensor dot product along specified axes for arrays >= 1-D.
linalg.matrix_power(M, n) Raise a square matrix to the (integer) power n.
cross(a, b, axisa=-1, axisb=-1, axisc=-1, axis=None) 행렬에 대한 외적을 구함
einsum(subscripts, *operands[, out, dtype, ...]) Evaluates the Einstein summation convention on the operands.
kron(a, b) Kronecker product of two arrays.
410
Decompositions411
주요 함수
선형대수에 대한 함수들
함수 설명
linalg.cholesky(a) Cholesky decomposition.
linalg.qr(a[, mode]) Compute the qr factorization of a matrix.
linalg.svd(a[, full_matrices, compute_uv]) Singular Value Decomposition.
412
Matrix eigenvalues413
주요 함수
선형대수에 대한 함수들
함수 설명
linalg.eig(a) Compute the eigenvalues and right eigenvectors of a square array.
linalg.eigh(a[, UPLO]) Return the eigenvalues and eigenvectors of a Hermitian or symmetric matrix.
linalg.eigvals(a) Compute the eigenvalues of a general matrix.
linalg.eigvalsh(a[, UPLO]) Compute the eigenvalues of a Hermitian or real symmetric matrix.
linalg.eig(a) Compute the eigenvalues and right eigenvectors of a square array.
414
Norms and other numbers415
주요 함수
선형대수에 대한 함수들
함수 설명
linalg.norm(x[, ord, axis, keepdims]) Matrix or vector norm.
linalg.cond(x[, p]) Compute the condition number of a matrix.
linalg.det(a) Compute the determinant of an array.
linalg.matrix_rank(M[, tol])
Return matrix rank of array using SVD method Rank of the array is the number of SVD sing
ular values of the array that are greater than tol.
linalg.slogdet(a) Compute the sign and (natural) logarithm of the determinant of an array.
trace(a[, offset, axis1, axis2, dtype, out]) Return the sum along diagonals of the array.
416
Solving equations and
inverting matrices
417
주요 함수
선형대수에 대한 함수들
함수 설명
linalg.solve(a, b) Solve a linear matrix equation, or system of linear scalar equations.
linalg.tensorsolve(a, b[, axes]) Solve the tensor equation a x = b for x.
linalg.lstsq(a, b[, rcond]) Return the least-squares solution to a linear matrix equation.
linalg.inv(a) Compute the (multiplicative) inverse of a matrix.
linalg.pinv(a[, rcond]) Compute the (Moore-Penrose) pseudo-inverse of a matrix.
linalg.tensorinv(a[, ind]) Compute the ‘inverse’ of an N-dimensional array.
418
4.관계
기초
Moon Yong Joon
419
관계 기초
Moon Yong Joon
420
관계421
관계
집합론에서 관계(關係)는 "자연수 a가 b보다 작
다"와 같이 두 개의 대상으로 이루어진 튜플 사이
에 정의된 이항관계를 일반화한 것으로, 주어진
n-튜플에 대해 진리값을 부여한다.
앞의 경우와 같이 두 대상 사이에 주어지는 관계
는 이항관계라 하고, "점 a, b, c가 한 직선상에 놓
여있다"와 같이 세 대상 사이에 정의된 관계는 삼
항관계라 한다.
422
관계 정의
a 는 b 에 대해 R 의 관계가 있음은 두 집합 A, B 에
대하여 A 에서 B 로의 이항관계(binary relation)가
AxB의 부분집합일 때 a∈A 이고 b∈B 인 (a, b)∈R ,
a Rb 로 나타내기도 함
(a, b)R 일 경우 또는 로 나타내기도 함
정의역(domain)
 관계 R 의 순서쌍에서 모든 첫 번째 원소의 집합: dom(R)
치역(range)
 모든 두 번째 원소의 집합: ran(R)
423
관계표현424
관계 표현 : 화살도표
화살도표(arrow diagram) 는 두 집합 A, B 가 있을 때 집
합 A 의 원소 a 와 집합 B 의 원소 b 사이에 관계가 성립
하는 경우 그 관계를 화살표로 그려서 나타내는 방법
425
관계 표현 : 좌표도표
좌표도표(coordinate diagram)는두 집합 A, B 가 있
을 때 집합 A 의 원소 a 를 x 축 위의 점으로 표시하
고, 집합 B 의 원소 b 를 y 축 위의 점으로 표시하여
두 점이 좌표상에서 만나는 점을 나타내는 방법
426
관계 표현 : 관계행렬
관계행렬(relation matrix)은 두 집합 A, B 에 대
한 관계를 행렬로 표현한 방법. 행렬 안의 모든 원
소들이 0 또는 1인 행렬을 부울행렬(boolean
matrix)이라고 함
427
관계 표현 : 방향그래프
방향그래프(directed graph)는 집합 A의 관계에 대한 방향
그래프를 그리고자 할 때 먼저 A의 원소들을 나타내는 정점
(vertex)을 그리고, 원소 (a, b)가 관계에 속하면 a에서 b로
화살표 모양의 에지(edge)를 그림
428
관계의 종류429
관계 종류: 1
1) 반사적 관계: 관계 R을 구성하는 집합 A에 대
해서 a ∈ A에 대해 (a,a) ∈ R이라면 관계 R은 반
사적 관계가 된다.
예) A = {a, b, c}
R은 (a,a), (b,b), (c,c)의 원소를 모두 포함해야
지 반사적 관계가 성립된다.
2) 비반사적 관계: R을 집합 X에서의 어떤 이항
관계라고 하자. 만일 모든 x ∈ X에 대해 (x,x) !∈
R이면 R은 비반사적이라고 한다.
430
관계 종류: 2
3) 대칭적 관계: 관계 R을 구성하는 집합 A에 대
해서 a, b ∈ A에 대해 (a,b) ∈ R이고 (b,a) ∈ R
이라면 관계 R은 대칭적 관계가 된다.
예) A = {a, b, c}
R에 (a,b)의 원소를 포함하고 있다면 (b,a)의
원소를 가지고 있어야 대칭적 관계가 성립된다.
431
관계 종류: 3
4) 반대칭적 관계: 관계 R을 구성하는 집합 A에 대해서 a,
b ∈ A에 대해 (a,b) ∈ R, (b,a) ∈ R이고 a와 b가 같지 않
은 쌍이 한개이상 존재 하지 않을 경우
예) A = {a, b, c}
R1 = { (a,b), (b,a) } 반대칭 관계가 아니다.
R2 = { (a,b), (c,a) } 반대칭 관계이다.
5) 추이적 관계: 관계 R을 구성하는 집합 A에 대해서 a, b,
c ∈ A에 대해 (a,b) ∈ R 그리고 (b,c) ∈ R 일때 (a,c) ∈ R
이라면 관계 R은 추이적 관계가 된다.
예) A = {a, b, c}
R에 (a,b), (b,c)가 있다면 (a,c)가 R에 존재해야 추이적
관계가 된다.
432
관계 종류: 4
6) 동치 관계: 반사적, 대칭적, 추이적인 이항 관
계를 뜻한다. 즉, 어떤 집합 X과 관계 ~이 있을 때,
임의의 원소 a, b, c에 대해
반사관계: a ~ a
대칭관계: a ~ b => b ~ a
추이관계: a ~ b, b ~ c => a ~ c가 성립한다는
것을 의미한다.
433
PYTHON
RELATION/SEQUENCE
(TUPLE)
DATA TYPE
434
Sequence : Tuple Type435
Sequence - Tuple 기본 처리
tuple타입에 immutable 타입으로 내부 원소에 대해
갱신이 불가능하여 리스트처리보다 제한적
Slicing은 String 처럼 처리가능
Python Expression Results Description
T =(1,) (1,) 튜플의 원소가 하나인 경우 생성 꼭 한 개일 경우는
뒤에 꼼마(,)를 붙여야 함
T = (1,2,3,4) (1, 2, 3, 4) 튜플 생성
len((1, 2, 3)) 3 Length 함수로 길이 확인
(1, 2, 3) + (4, 5, 6) (1, 2, 3, 4, 5, 6) 튜플을 합치기 Concatenation
('Hi!‘) * 4 'Hi!Hi!Hi!Hi!' 튜플의 반복을 string으로 표시
3 in (1, 2, 3) True 튜플 내의 원소들이 Membership
for x in (1, 2, 3): print x, 1 2 3 튜플의 원소들을 반복자 활용 - Iteration
436
Sequence- Tuple 용 내장함수
내장함수 중에 tuple 타입을 처리
Function Description
cmp(tuple1, tuple2) Compares elements of both tuples.
len(tuple) Gives the total length of the tuple.
max(tuple) Returns item from the tuple with max value.
min(tuple) Returns item from the tuple with min value.
tuple(seq) Converts a list into a tuple.
str(tuple) Produces a printable string representation of a tuple
type(tuple) Returns the type of the passed variable. If passed variable is
tuple, then it would return a tuple type.
437
Tuple 속성처리
Tuple 내부 속성은 동일한 원소수(count), 특정
값에 대한 위치(index)를 처리만 함
438
동일 객체 처리439
Tuple : 동일한 객체 처리
Tuple 을 동일한 객체로 처리하려면 별명을 사용
하거나 변수에 할당된 tuple을 copy 처리해야 동
일한 객체를 리턴함
list 특성을 가지고
있어 리터럴도 튜플
초기화시 다른 객체
로 인식
440
Tuple 처리 이슈441
Tuple 내의 mutable 사용
내장 타입 tuple은 immutable 이지만 원소가
mutable일 경우 값이 변경 가능함. 단, 객체는 변
경되지 않음
442
5.그래프
기초
Moon Yong Joon
443
그래프 기초
Moon Yong Joon
444
그래프445
그래프(Graph)
점을 선으로 연결한 것이다. 그래프 G는 꼭짓점
(vertex or node)들의 집합 V와 변(edge or line)
들의 집합 E로 이루어졌다.
집합 V : 공집합이 아닌 정점(vertex)들의 집합
집합 E : 에지(edge)들의 집합
446
그래프(Graph) : 예시
집합 V, 집합 E의 그래프를 그리면 아래와 같다
447
인접(adjacent)
인접(adjacent)은 무방향 그래프에서 정점 a, b에
대하여 간선(a,b)가 있으면, 정점 a 는 정점
b에 인접(adjacent)하다고 한다
448
차수449
차수(Degree)
각 정점에 연결된 간선의 수로 정점 v의 차수를
deg(v)로 표시하고 loop가 발생시 카운트는 2로
함
450
전체 차수
그래프 G 의 정점의 수가 n 개, 에지의 수가 e 개
면 아래의 산식으로 계산
451
경로와 길이452
경로와 길이
경로(Path) : 정점과 에지의 연속으로 구성된 형
태
길이(length): 경로를 구성하는 에지의 개수
닫혀있다(closed) : 어떤 경로의 처음과 끝의 정
점이 같은 경우
순환(cycle): 닫혀있는 경로
453
무방향 그래프454
무향(무방향)그래프
방향이 없으면 무방향 그래프(undirected graph)
455
무방향 그래프 표기법
구성요소는 정점, 간선, 매핑으로 구성한다
456
무방향성
무향(무방향)그래프 표기 예시
주어진 그래프를 G 라고 하자. 그래프 G 는 무방향
그래프다.
457
그래프 표현
Moon Yong Joon
458
방향 그래프459
유향(방향)그래프
digraph/ directed graph (유향그래프)유향그
래프란 그것의 각 변이 방향을 갖고 있는 그래프
를 의미한다.
460
유향변(arc)
유향그래프란 V라는 유한 집합과 원소들이 V의 원
소들로 이루어진 순서쌍들인 집합 A로 이루어진 순
서쌍 (V,A)를 의미한다. V의 원소들을 꼭지점
(vertex)이라 부르고 A의 원소들을 유향변(arc)이
라고 부른다. 유향변 (a,b)이 주어졌을 때 a를 그 유
향변의 시작점(initial vertex), b를 종착점
(terminal vertex)이라고 부른다.
461
무방향 그래프 표기법
구성요소는 정점, 간선, 매핑으로 구성한다
462
방향성
유향(방향)그래프 표기 예시
주어진 그래프를 H 라고 하자. 그래프 H 는 방향
그래프므로 에지 순서에 유의해야 한다.
463
그래프의 완전성464
완전그래프
임의의 두 꼭짓점이 모두 단 하나의 변으로 연결된
그래프를 완전(complete) 그래프
465
완전그래프의 간선 수 계산
정점이 3개인 그래프는 간선의 최대 갯수가 3개,
정점이 4개인 그래프는 간선의 최대 개수는 6개이
다.
466
부분그래프
부분 그래프(subgraph 서브그래프)는 어떤 그래프
의 꼭짓점과 변 가운데 일부로 이루어진 그래프이
다.
467
G1, G2, G3 모두 G의 부분 그래프이다.
유도된 그래프
부분그래프가 주어질 경우 정점집합과 간선집합이
주어졌을 때 그 그래프 내에서 유도된 그래프
468
G1, G2, G3 모두 G의 부분 그래프이다.
G1 은 변 26을 포함하지 않으므로 유도 부분 그래프가 아니다.
반면, G2, G3 는 유도 부분 그래프이다.
G3 는 G2, 의 유도 부분 그래프이다.
그래프의 행렬표현469
인접행렬
인접 행렬(adjacency matrix)은 그래프 G = (V,E),
|V| = n(≥1)일 때 그래프를 이차원 행열에 다음과
같이 저장하는 방법이다.
adj_mat[i][j] =
“1” if (vi, vj)가 인접할 때(adjacent)
“0” 인접하지 않을 경우
470
인접행렬 예시 : 무방향 그래프
무방향 그래프는 대칭행렬로 표현됨
471
방향 그래프는 연결된 시작점에서 연결된 종착점만 표
시하는 행렬로 표현
472
인접행렬 예시 : 방향 그래프
6.삼각함수
기초
Moon Yong Joon
473
삼각함수 기초
Moon Yong Joon
474
각의 종류475
각의 종류
각은 두 선상의 사이를 말하며, 이 각에는 예각,
직각, 둔각 등이 종류가 있음
476
직각삼각형 기본477
직각 삼각형을 이용
삼각형이 존재할 경우 총 각이 합은 180도 이고
각 A의 값을 삼각비로 구할 수 있다
A
sin(각도) 의 값은 빗변분에
높이 즉 b/c
cos(각도) 의 값은 빗변분에
높이 즉 a/c
tan(각도) 의 값은 빗변분에
높이 즉 b/a
478
직각삼각형 예시479
삼각형을 이용 : 빗변 구하기
밑변과 높이를 알면 피타고라스 정리에 따라 빗
변을 구할 수 있다.
480
삼각형을 이용 : 높이와 밑변
하나의 각과 빗변을 알고 있을 경우 빗변*sin()으
로 높이, 빗변*cos()으로 밑변을 구하기
481
피타고라스 정리482
피타고라스 정리 이용하기
밑변의 제곱과 높이이 제곱은 빗변의 제곱과 동
일
A 대신 rcosø
B 대신 rsinø
r값을 1로 전환하면
483
피타고라스 정리
밑변 3, 높이 4 일 경우 빗변은 5가 됨
484
삼각함수
(원이용)
Moon Yong Joon
485
원을 이용한 삼각함수486
원을 이용한 삼각함수 정의
xy 좌표평면에서 반지름의 길이가 r인 원을 그리
고 임의의 점을 P일 경우 OP가 이루는 각에 대해
한가지 값을 결정
반지름이 1인 경우
487
원을 이용한 정의 예시
선분은 sqrt(3**2 + 4**2)=5가 나오고 이를 이
용해서 각 ø 에 대한 삼각함수 값을 하나로 산출
488
삼각함수 표489
삼각함수 표
x축은 반지름*코사인 각도, Y축은 반지름*사인
각도로 원위의 점의 좌표를 알 수 있음
490
RADIAN & DEGREE
Moon Yong Joon
491
degrees/radians 이해492
degrees와 radians 변환 기준
단위원을 이용하여 degrees와 radians 변환
Degrees와 Radians 변환 규칙
493
degree와 radian 변환494
degrees와 radians
2π는 360도, 1radian은 57.3도
495
degrees와 radians: 변환
90, pi/2를 변환해보면 아래와 같다
496
radians <-> degrees : numpy
np.deg2rad, np.rad2deg를 이용해서 radians
또는 degree로 전환
Π와 180도에 대한 값 전환
497
radians -> degrees : numpy
np.degrees를 이용해서 radians 값을 degree
로 전환
np.degrees(radian, 출력)
498
degrees-> radians : numpy
np.radians를 이용해서 degree 값을 radian로
전환
np.radians(radian, 출력)
499
기본 삼각함수
Moon Yong Joon
500
cosine501
cosine 그래프
수평선의 길이를 코사인 값을 표시.
502
cosine 그래프
수평선의 길이를 코사인 값을 표시.
503
cosine 그래프 : numpy
수평선의 길이를 코사인 값을 표시.
504
cosine 그래프
수평선의 길이를 코사인 값을 표시.
505
sine506
sine함수
sine 함수에 radians을 넣어 값을 계산
507
sine 그래프
수직선의 길이를 코사인 값을 표시.
508
sine 그래프 : numpy
수직선의 길이를 코사인 값을 표시.
509
sine 그래프
수평선의 길이를 사인 값을 표시.
510
tangent511
tan 함수
tangent 함수에 radians을 넣어 값을 계산
512
tangent 그래프
수직선의 길이를 tan 값을 표시.
513
tangent 그래프 : numpy
수직선의 길이를 tan 값을 표시.
514
tangent 그래프
수직선의 길이를 tan 값을 표시.
515
삼각함수
각의 변환
Moon Yong Joon
516
각의 변환517
각의 변화를 알아보기
각은 n*π/2 + θ 또는 90n + θ으로 변환해서
각의 위치에 따라 삼각함수를 변환
1. 나오는 각을 n*π/2 + θ 또는 90n + θ, 이때 n은
정수 이면 0< θ < π/2 , 0 < θ <90
2. n이 짝수이면 변하지 않지만 홀수이면
sin-> cos, cos-> sin, tan-> cot로 변환
3. 몇 사분면의 각이냐 에 따라 부호가(+,-)로 변환됨
1사분면 2사분면 3사분면 4사분면
sin + + - -
cos + - - +
tan + - + -
518
삼각함수 사분면 부호
삼각함수의 사분면 위치에 따른 결과 값에 대한
부호 표시
519
각의 변화 : 짝수
각은 n*π/2 + θ 또는 90n + θ에서 n이 짝수일
때는 부호만 변함
n=0, 동일함수, 4사분면 n=2, 동일 함수, 2사분면
sin(-x) = -sin(x) sin(π -x) = sin(x)
cos(-x) = cos(x) cos(π-x) = -cos(x)
tan(-x) = - tan(x) tan(π-x) = -tan(x)
520
각의 변화 : 짝수예시
각은 n*π/2 + θ 또는 90n + θ에서 n이 짝수일
때는 부호만 변함
521
각의 변화 : 홀수
각은 n*π/2 + θ 또는 90n + θ으로 n이 홀수일
경우 삼각함수가 변함
n=1, 다른 함수, 1사분면 n=3, 동일 함수, 3사분면
sin(π/2 -x) = cos(x) sin(3π/2 -x) = -cos(x)
cos(π/2-x) = sin(x) cos(3π/2-x) = -sin(x)
tan(π/2-x) = cot(x) tan(3π/2-x) = cot (x)
1
522
각의 변화 : 홀수 예시
각은 n*π/2 + θ 또는 90n + θ으로 n이 홀수일
경우 삼각함수가 변함
523
π/2 :예각524
삼각함수 변화 : π/2
각 A가 120도 일 경우는 π/2(90)+30의 값을
가지므로 sin일 경우 cos, cos일 경우는 –sin 으
로 바뀜
r
a
b A=120도
B=30도
525
삼각함수의 변형 : 90도 이내
직각 삼각형의 성질을 이용하면 직각을 빼면 나머지
각이 90도인 것을 감안하면, 각 B를 기준을 sin 함수
의 결과는 각 A를 기준으로 cos 함수 결과와 동일
A
B
cos(A) = sin(B), sin(B) = cos(A) , tan(B) = cot(A) 와 동일
각 A + 각 B = 90도
각 B로 삼각함수 처리
526
삼각함수의 변형 예시
π/2 – 예각에 대한 삼각함수 계산
527
삼각함수의 변형 : 180도 이내
180도 이내의 각으로 삼각함수를 계산할 경우
90도 + 나머지 각으로 삼각함수를 계산할 수 있
음
r
a
b A=120도
B=30도
sin(A) = cos(B) = b/r
cos(A) = - sin(B) = - a/r
tan(A) = - cot(B) = -b/a
528
삼각함수의 변형 예시
π/2 + 예각에 대한 삼각함수 계산
529
π 와 예각 연산530
Sin 주기 변화
sin 그래프의 주기적인 pi 와 2pi 배수 단위로
동일한 값을 처리 성질을 이용
531
cos 주기 변화
cos 그래프의 pi 와 2pi 배수 단위로 동일한 값
을 처리 성질을 이용
532
삼각함수 변화 : π - 예각
180도 이내의 각으로 삼각함수를 계산할 경우
각 B에 대해 계산하는 것과 동일
r
a
b
B=30도
sin(π-B) = sin(B) = b/r
cos(π-B) = - cos(B) = - a/r
tan(π-B) = - tan(B) = -b/a
533
삼각함수 변화 : π + 예각
각 A가 120도 일 경우는 π(180)+30의 값을 가
지므로 sin일 경우 sin, cos일 경우는 –cos 으로
바뀜
r
a
b
A=210도
B=30도
534
2π 와 예각 연산535
삼각함수 변화 : 2π -
각 A가 360도 일 경우는 2π(360)-30의 값을
가지므로 sin일 경우 -sin, cos일 경우는 –cos 으
로 바뀜
r
a
b
A=360도
B=30도
536
삼각함수 변화 : 2π +
삼각함수가 2 π 단위로 변경시는 항상 기존 예
각을 구하는 것도 동일한 값을 같는다.
r
a
bA=360도
B=30도
537
삼각함수
덧셈과 뺄셈공식
Moon Yong Joon
538
Sin 함수의 덧셈539
Sin 함수 덧셈
두개의 각을 sin으로 덧셈을 할 경우 sin함수별
로 덧셈과는 차이가 발생
r
a
b
t
s
sin(α+ β) = sin(α) cos(β) + cos(α) sin(β)
= a/r * b/s + b/r * t/s
sin(α) cos(β) = a/r * b/s
cos(α) sin(β) = b/r * t/s
sin(α) = a/r , sin(β) = t/s
540
Sin 함수 덧셈 예시
sin 함수 두개의 각을 더할 경우 아래의 공식으
로 계산
541
Sin 함수의 뺄셈542
Sin 함수 뺄셈 예시
sin 함수 두개의 각을 뺄 경우 아래의 공식으로
계산
Cos 90이 0값이 아니라도 아
주 작은 값이라 무시
543
cos 함수의 덧셈/뺄셈544
cos함수 덧셈 예시
cos 함수 두개의 각을 더할 경우 아래의 공식으
로 계산
545
cos함수 뺄셈 예시
cos 함수 두개의 각을 뺄 경우 아래의 공식으로
계산
546
역수
Moon Yong Joon
547
역수548
역수
어떤 수의 역수(逆數, 영어: reciprocal) 또는 곱셈 역원(-
逆元, 영어: multiplicative inverse)은 그 수와 곱해서 1,
즉 곱셈 항등원이 되는 수를 말한다. x의 역수는 1/x
또는 x -1로 표기한다. 곱해서 1이 되는 두 수를 서로 역
수
549
역수 구하기550
역수 구하기
Python에는 역수에 대한 함수가 없어 역수 공식
에 따라 계산
551
삼각함수*역수 = 1
삼각함수 * 역수 = 1인지 확인
552
역삼각함수
Moon Yong Joon
553
역함수 사용하기554
역함수
함수의 정의역과 치역을 바꾸서 함수를 만드는
것을 역함수라고 함
555
삼각함수의 역함수
삼각함수의 역함수가 역삼각함수
이름 표기법 정의 정의역 치역
아크사인 y = arcsin x 또는 y = sin-1 x x = sin y −1부터 +1 −π/2 ≤ y ≤ π/2
아크코사인 y = arccos x 또는 y = cos-1 x x = cos y −1부터 +1 0 ≤ y ≤ π
아크탄젠트 y = arctan x 또는 y = tan-1 x x = tan y 모든 실수 −π/2 < y < π/2
아크코탄젠트 y = arccot x 또는 y = cot-1 x x = cot y 모든 실수 0 < y < π
아크시컨트 y = arcsec x 또는 y = sec-1 x x = sec y
−∞부터 −1과 1부
터 ∞
0 ≤ y < π/2 or π/
2 < y ≤ π
아크코시컨트 y = arccsc x 또는 y = csc-1 x x = csc y
−∞부터 −1과 1부
터 ∞
−π/2 ≤ y < 0 or 0
< y ≤ π/2
556
arcsine557
arcsine
삼각함수의 역함수가 역삼각함수
이름 표기법 정의 정의역 치역
아크사인 y = arcsin x 또는 y = sin-1 x x = sin y −1부터 +1 −π/2 ≤ y ≤ π/2
558
arcsine : numpy
삼각함수의 역함수가 역삼각함수
이름 표기법 정의 정의역 치역
아크사인 y = arcsin x 또는 y = sin-1 x x = sin y −1부터 +1 −π/2 ≤ y ≤ π/2
559
arcsine : numpy 그래프
삼각함수의 역함수가 역삼각함수
560
arccosine561
arccosine : numpy
삼각함수의 역함수가 역삼각함수
이름 표기법 정의 정의역 치역
아크코사인 y = arccos x 또는 y = cos-1 x x = cos y −1부터 +1 0 ≤ y ≤ π
562
arccosine : numpy 그래프
삼각함수의 역함수가 역삼각함수
563
arctangent564
삼각함수의 역함수
삼각함수의 역함수가 역삼각함수
이름 표기법 정의 정의역 치역
아크탄젠트 y = arctan x 또는 y = tan-1 x x = tan y 모든 실수 −π/2 < y < π/2
565
PYTHON
SYMPY
삼각함수
기초
Moon Yong Joon
566
삼각함수567
Sin 함수 처리
sin 함수 두개의 각을 더할 경우 아래의 공식으
로 계산
568
Sin 함수 뺄셈 예시
sin 함수 두개의 각을 뺄 경우 아래의 공식으로
계산
569
7.지수
/로그
기초
Moon Yong Joon
570
지수함수 기초
Moon Yong Joon
571
지수 함수572
지수 함수란?
x에 대한 지수함수(exponential function).
a>0 커야 실수 값으로 처리되며 a=1일 경우 항
상 1인 상수가 됨
임의의 실수 x에 대해 함수
573
임의의 실수 x에 대해
y = ex
5의 지수는 e5이고 약 148.413과 같습니다
자연지수함수
ex에서 e는 약 2.71828인 자연 로그의 밑이고,
x는 입력하는 값으로 구성된 함수
574
지수함수 그래프
지수함수는 a>0 크면 우상향 그래프 0<a<1 이
면 우하향 그래프가 됨
575
지수 법칙576
지수 법칙
동일한 상수의 곱일 경우 지수는 덧셈, 동일한
상수의 제곱에 제곱은 지수끼리 곱셈 처리
* =1
역수
577
지수 법칙: 거듭제곱의 곱
동일한 밑에 대한 거듭제곱에 대한 곱셈은 지수
간의 덧셈과 동일
578
지수 법칙: 거듭제곱의 거듭제곱
동일한 밑에 대한 거듭제곱의 거듭제곱은 지수
간의 곱셈처리
579
지수 법칙 :python 예시580
지수 법칙 : exp
자연로그에 대한 제곱승 계산
581
지수 법칙 : exp 그래프
복리 이자, 방사선 감소 또는 모집단 성장과 같
이 일정한 지수 요인에 의해 증가 또는 감소하는
양을 모형화하는 데 자주 사용
582
로그함수 기초
Moon Yong Joon
583
로그함수란584
로그함수 정의
어떤 수를 나타내기 위해 고정된 밑을 몇 번 곱하
여야 하는지를 나타내는 함수이면서
지수함수의 역함수가 로그함수
585
로그함수 규칙
밑과 진수, 로그함수의 관계
586
상용로그
밑(Base)이 10 인 로그를 상용로그(상용대수:
Common Logarithm)라고 함
587
상용로그 : log10
밑(Base)이 10 인 로그를 상용로그(상용대수:
Common Logarithm)라고 함
588
자연로그
밑이 e (오일러 상수: 약 2.718) 인 로그를 자연
로그(자연대수: Natural Logarithm)
정의
기초성질
589
자연로그 : log
밑이 e (오일러 상수: 약 2.718) 인 로그를 자연
로그(자연대수: Natural Logarithm)
590
로그함수 성질591
로그함수의 성질 1
로그의 진수가 1인 경우 는 0, 로그의 진수와 밑
이 같으면 1
양변에 밑을 a로 하는 log
로 곱하면
=
592
로그함수의 성질1 : 예시
Numpy.log10는 상용로그, numpy.log는 자연
로그로 처리
593
로그함수의 성질 2 : 지수의 곱
로그의 진수가 M*N일 경우 log의 덧셈으로 분리
log100 = log10+log10 = 2
594
로그함수의 성질 2: 지수의 나누기
로그의 진수가 M/N일 경우 log의 나누기으로 분
리
log100/100= log100- log100 = 1
ax =M, ay = N
이면
595
로그함수의 성질 2: 상수 배
로그의 진수가 M*N일 경우 log의 상수배를 밖으
로 분리
log10**2= 2 log10 = 2
596
로그함수의 성질 2 : 예시
Numpy.log10으로 사용로그를 처리
597
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기
python 수학이해하기

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to cython
Introduction to cythonIntroduction to cython
Introduction to cythonAtsuo Ishimoto
 
Operators in C/C++
Operators in C/C++Operators in C/C++
Operators in C/C++Shobi P P
 
Memory management in python
Memory management in pythonMemory management in python
Memory management in pythonGaurav Aggarwal
 
Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Aziz Darouichi
 
operator overloading
operator overloadingoperator overloading
operator overloadingNishant Joshi
 
Functions in python
Functions in pythonFunctions in python
Functions in pythonIlian Iliev
 
PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5sleepy_yoshi
 
Pass by value and pass by reference
Pass by value and pass by reference Pass by value and pass by reference
Pass by value and pass by reference TurnToTech
 
はじめてのパターン認識8章サポートベクトルマシン
はじめてのパターン認識8章サポートベクトルマシンはじめてのパターン認識8章サポートベクトルマシン
はじめてのパターン認識8章サポートベクトルマシンNobuyukiTakayasu
 
파이썬 객체 클래스 이해하기
파이썬  객체 클래스 이해하기파이썬  객체 클래스 이해하기
파이썬 객체 클래스 이해하기Yong Joon Moon
 
20190609 bayes ml ch3
20190609 bayes ml ch320190609 bayes ml ch3
20190609 bayes ml ch3Yoichi Tokita
 

Was ist angesagt? (20)

Introduction to cython
Introduction to cythonIntroduction to cython
Introduction to cython
 
Operators in C/C++
Operators in C/C++Operators in C/C++
Operators in C/C++
 
Memory management in python
Memory management in pythonMemory management in python
Memory management in python
 
Begin with Python
Begin with PythonBegin with Python
Begin with Python
 
Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références
 
Python.pptx
Python.pptxPython.pptx
Python.pptx
 
operator overloading
operator overloadingoperator overloading
operator overloading
 
03 function overloading
03 function overloading03 function overloading
03 function overloading
 
Python cheat-sheet
Python cheat-sheetPython cheat-sheet
Python cheat-sheet
 
Arrays
ArraysArrays
Arrays
 
Functions in python
Functions in pythonFunctions in python
Functions in python
 
Function Parameters
Function ParametersFunction Parameters
Function Parameters
 
PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5
 
NumPy.pptx
NumPy.pptxNumPy.pptx
NumPy.pptx
 
Level DB - Quick Cheat Sheet
Level DB - Quick Cheat SheetLevel DB - Quick Cheat Sheet
Level DB - Quick Cheat Sheet
 
Pass by value and pass by reference
Pass by value and pass by reference Pass by value and pass by reference
Pass by value and pass by reference
 
はじめてのパターン認識8章サポートベクトルマシン
はじめてのパターン認識8章サポートベクトルマシンはじめてのパターン認識8章サポートベクトルマシン
はじめてのパターン認識8章サポートベクトルマシン
 
파이썬 객체 클래스 이해하기
파이썬  객체 클래스 이해하기파이썬  객체 클래스 이해하기
파이썬 객체 클래스 이해하기
 
Les listes en Python
Les listes en PythonLes listes en Python
Les listes en Python
 
20190609 bayes ml ch3
20190609 bayes ml ch320190609 bayes ml ch3
20190609 bayes ml ch3
 

Andere mochten auch

파이썬 Numpy 선형대수 이해하기
파이썬 Numpy 선형대수 이해하기파이썬 Numpy 선형대수 이해하기
파이썬 Numpy 선형대수 이해하기Yong Joon Moon
 
Python_numpy_pandas_matplotlib 이해하기_20160815
Python_numpy_pandas_matplotlib 이해하기_20160815Python_numpy_pandas_matplotlib 이해하기_20160815
Python_numpy_pandas_matplotlib 이해하기_20160815Yong Joon Moon
 
05_벡터와 매트릭스
05_벡터와 매트릭스05_벡터와 매트릭스
05_벡터와 매트릭스noerror
 
2014년 무학과 학생들을 위한 수리과학과 설명회
2014년 무학과 학생들을 위한 수리과학과 설명회2014년 무학과 학생들을 위한 수리과학과 설명회
2014년 무학과 학생들을 위한 수리과학과 설명회Hang Park
 
해커에게 전해들은 머신러닝 #1
해커에게 전해들은 머신러닝 #1해커에게 전해들은 머신러닝 #1
해커에게 전해들은 머신러닝 #1Haesun Park
 
2.supervised learning(epoch#2)-2
2.supervised learning(epoch#2)-22.supervised learning(epoch#2)-2
2.supervised learning(epoch#2)-2Haesun Park
 
[PYCON KOREA 2017] Python 입문자의 Data Science(Kaggle) 도전
[PYCON KOREA 2017] Python 입문자의 Data Science(Kaggle) 도전[PYCON KOREA 2017] Python 입문자의 Data Science(Kaggle) 도전
[PYCON KOREA 2017] Python 입문자의 Data Science(Kaggle) 도전Mijeong Park
 

Andere mochten auch (8)

파이썬 Numpy 선형대수 이해하기
파이썬 Numpy 선형대수 이해하기파이썬 Numpy 선형대수 이해하기
파이썬 Numpy 선형대수 이해하기
 
Python_numpy_pandas_matplotlib 이해하기_20160815
Python_numpy_pandas_matplotlib 이해하기_20160815Python_numpy_pandas_matplotlib 이해하기_20160815
Python_numpy_pandas_matplotlib 이해하기_20160815
 
05_벡터와 매트릭스
05_벡터와 매트릭스05_벡터와 매트릭스
05_벡터와 매트릭스
 
선형 대수학
선형 대수학선형 대수학
선형 대수학
 
2014년 무학과 학생들을 위한 수리과학과 설명회
2014년 무학과 학생들을 위한 수리과학과 설명회2014년 무학과 학생들을 위한 수리과학과 설명회
2014년 무학과 학생들을 위한 수리과학과 설명회
 
해커에게 전해들은 머신러닝 #1
해커에게 전해들은 머신러닝 #1해커에게 전해들은 머신러닝 #1
해커에게 전해들은 머신러닝 #1
 
2.supervised learning(epoch#2)-2
2.supervised learning(epoch#2)-22.supervised learning(epoch#2)-2
2.supervised learning(epoch#2)-2
 
[PYCON KOREA 2017] Python 입문자의 Data Science(Kaggle) 도전
[PYCON KOREA 2017] Python 입문자의 Data Science(Kaggle) 도전[PYCON KOREA 2017] Python 입문자의 Data Science(Kaggle) 도전
[PYCON KOREA 2017] Python 입문자의 Data Science(Kaggle) 도전
 

Ähnlich wie python 수학이해하기

부울 대수와 컴퓨터 논리
부울 대수와 컴퓨터 논리부울 대수와 컴퓨터 논리
부울 대수와 컴퓨터 논리suitzero
 
제4강 명제와 논리-정보
제4강 명제와 논리-정보제4강 명제와 논리-정보
제4강 명제와 논리-정보csungwoo
 
Wasserstein GAN 수학 이해하기 I
Wasserstein GAN 수학 이해하기 IWasserstein GAN 수학 이해하기 I
Wasserstein GAN 수학 이해하기 ISungbin Lim
 
03. linear regression
03. linear regression03. linear regression
03. linear regressionJeonghun Yoon
 
0131 1 spectral_theorem_transformation
0131 1 spectral_theorem_transformation0131 1 spectral_theorem_transformation
0131 1 spectral_theorem_transformationJeonghun Yoon
 
Deep Learning from scratch 5장 : backpropagation
 Deep Learning from scratch 5장 : backpropagation Deep Learning from scratch 5장 : backpropagation
Deep Learning from scratch 5장 : backpropagationJinSooKim80
 
Eigendecomposition and pca
Eigendecomposition and pcaEigendecomposition and pca
Eigendecomposition and pcaJinhwan Suk
 
TAOCP1 - 1.2.11.1 - O 표기법
TAOCP1 - 1.2.11.1 - O 표기법TAOCP1 - 1.2.11.1 - O 표기법
TAOCP1 - 1.2.11.1 - O 표기법JangHyuk You
 
이산치수학 Project3
이산치수학 Project3이산치수학 Project3
이산치수학 Project3KoChungWook
 
1.3장 차수 높은 프로시저(higher order procedure)로 요약하는 방법
1.3장 차수 높은 프로시저(higher order procedure)로 요약하는 방법1.3장 차수 높은 프로시저(higher order procedure)로 요약하는 방법
1.3장 차수 높은 프로시저(higher order procedure)로 요약하는 방법홍준 김
 
파이썬 문자열 이해하기
파이썬 문자열 이해하기파이썬 문자열 이해하기
파이썬 문자열 이해하기Yong Joon Moon
 
파이썬 문자열 이해하기
파이썬 문자열 이해하기파이썬 문자열 이해하기
파이썬 문자열 이해하기Yong Joon Moon
 
이산치수학 Project2
이산치수학 Project2이산치수학 Project2
이산치수학 Project2KoChungWook
 
C수업자료
C수업자료C수업자료
C수업자료koominsu
 
C수업자료
C수업자료C수업자료
C수업자료koominsu
 
선형연립방정식 가우스소거법
선형연립방정식 가우스소거법선형연립방정식 가우스소거법
선형연립방정식 가우스소거법KyeongWon Koo
 
프로그래머를위한선형대수학1.2
프로그래머를위한선형대수학1.2프로그래머를위한선형대수학1.2
프로그래머를위한선형대수학1.2HyeonSeok Choi
 
Python Sympy 모듈 이해하기
Python Sympy 모듈 이해하기Python Sympy 모듈 이해하기
Python Sympy 모듈 이해하기Yong Joon Moon
 
프로젝트 보고서
프로젝트 보고서프로젝트 보고서
프로젝트 보고서hyungoh kim
 

Ähnlich wie python 수학이해하기 (20)

부울 대수와 컴퓨터 논리
부울 대수와 컴퓨터 논리부울 대수와 컴퓨터 논리
부울 대수와 컴퓨터 논리
 
Taocp 1 2-2
Taocp 1 2-2Taocp 1 2-2
Taocp 1 2-2
 
제4강 명제와 논리-정보
제4강 명제와 논리-정보제4강 명제와 논리-정보
제4강 명제와 논리-정보
 
Wasserstein GAN 수학 이해하기 I
Wasserstein GAN 수학 이해하기 IWasserstein GAN 수학 이해하기 I
Wasserstein GAN 수학 이해하기 I
 
03. linear regression
03. linear regression03. linear regression
03. linear regression
 
0131 1 spectral_theorem_transformation
0131 1 spectral_theorem_transformation0131 1 spectral_theorem_transformation
0131 1 spectral_theorem_transformation
 
Deep Learning from scratch 5장 : backpropagation
 Deep Learning from scratch 5장 : backpropagation Deep Learning from scratch 5장 : backpropagation
Deep Learning from scratch 5장 : backpropagation
 
Eigendecomposition and pca
Eigendecomposition and pcaEigendecomposition and pca
Eigendecomposition and pca
 
TAOCP1 - 1.2.11.1 - O 표기법
TAOCP1 - 1.2.11.1 - O 표기법TAOCP1 - 1.2.11.1 - O 표기법
TAOCP1 - 1.2.11.1 - O 표기법
 
이산치수학 Project3
이산치수학 Project3이산치수학 Project3
이산치수학 Project3
 
1.3장 차수 높은 프로시저(higher order procedure)로 요약하는 방법
1.3장 차수 높은 프로시저(higher order procedure)로 요약하는 방법1.3장 차수 높은 프로시저(higher order procedure)로 요약하는 방법
1.3장 차수 높은 프로시저(higher order procedure)로 요약하는 방법
 
파이썬 문자열 이해하기
파이썬 문자열 이해하기파이썬 문자열 이해하기
파이썬 문자열 이해하기
 
파이썬 문자열 이해하기
파이썬 문자열 이해하기파이썬 문자열 이해하기
파이썬 문자열 이해하기
 
이산치수학 Project2
이산치수학 Project2이산치수학 Project2
이산치수학 Project2
 
C수업자료
C수업자료C수업자료
C수업자료
 
C수업자료
C수업자료C수업자료
C수업자료
 
선형연립방정식 가우스소거법
선형연립방정식 가우스소거법선형연립방정식 가우스소거법
선형연립방정식 가우스소거법
 
프로그래머를위한선형대수학1.2
프로그래머를위한선형대수학1.2프로그래머를위한선형대수학1.2
프로그래머를위한선형대수학1.2
 
Python Sympy 모듈 이해하기
Python Sympy 모듈 이해하기Python Sympy 모듈 이해하기
Python Sympy 모듈 이해하기
 
프로젝트 보고서
프로젝트 보고서프로젝트 보고서
프로젝트 보고서
 

Mehr von Yong Joon Moon

Scala companion object
Scala companion objectScala companion object
Scala companion objectYong Joon Moon
 
Scala block expression
Scala block expressionScala block expression
Scala block expressionYong Joon Moon
 
Scala self type inheritance
Scala self type inheritanceScala self type inheritance
Scala self type inheritanceYong Joon Moon
 
Scala type class pattern
Scala type class patternScala type class pattern
Scala type class patternYong Joon Moon
 
Scala nested function generic function
Scala nested function generic functionScala nested function generic function
Scala nested function generic functionYong Joon Moon
 
스칼라 클래스 이해하기 _Scala class understanding
스칼라 클래스 이해하기 _Scala class understanding스칼라 클래스 이해하기 _Scala class understanding
스칼라 클래스 이해하기 _Scala class understandingYong Joon Moon
 
파이썬 반복자 생성자 이해하기
파이썬 반복자 생성자 이해하기파이썬 반복자 생성자 이해하기
파이썬 반복자 생성자 이해하기Yong Joon Moon
 
파이썬 프로퍼티 디스크립터 이해하기
파이썬 프로퍼티 디스크립터 이해하기파이썬 프로퍼티 디스크립터 이해하기
파이썬 프로퍼티 디스크립터 이해하기Yong Joon Moon
 
파이썬 플라스크 이해하기
파이썬 플라스크 이해하기 파이썬 플라스크 이해하기
파이썬 플라스크 이해하기 Yong Joon Moon
 
파이썬 내부 데이터 검색 방법
파이썬 내부 데이터 검색 방법파이썬 내부 데이터 검색 방법
파이썬 내부 데이터 검색 방법Yong Joon Moon
 
파이썬 Xml 이해하기
파이썬 Xml 이해하기파이썬 Xml 이해하기
파이썬 Xml 이해하기Yong Joon Moon
 

Mehr von Yong Joon Moon (20)

rust ownership
rust ownership rust ownership
rust ownership
 
Scala namespace scope
Scala namespace scopeScala namespace scope
Scala namespace scope
 
Scala companion object
Scala companion objectScala companion object
Scala companion object
 
Scala block expression
Scala block expressionScala block expression
Scala block expression
 
Scala self type inheritance
Scala self type inheritanceScala self type inheritance
Scala self type inheritance
 
Scala variable
Scala variableScala variable
Scala variable
 
Scala type class pattern
Scala type class patternScala type class pattern
Scala type class pattern
 
Scala match pattern
Scala match patternScala match pattern
Scala match pattern
 
Scala implicit
Scala implicitScala implicit
Scala implicit
 
Scala type args
Scala type argsScala type args
Scala type args
 
Scala trait usage
Scala trait usageScala trait usage
Scala trait usage
 
Scala nested function generic function
Scala nested function generic functionScala nested function generic function
Scala nested function generic function
 
Scala dir processing
Scala dir processingScala dir processing
Scala dir processing
 
Scala syntax function
Scala syntax functionScala syntax function
Scala syntax function
 
스칼라 클래스 이해하기 _Scala class understanding
스칼라 클래스 이해하기 _Scala class understanding스칼라 클래스 이해하기 _Scala class understanding
스칼라 클래스 이해하기 _Scala class understanding
 
파이썬 반복자 생성자 이해하기
파이썬 반복자 생성자 이해하기파이썬 반복자 생성자 이해하기
파이썬 반복자 생성자 이해하기
 
파이썬 프로퍼티 디스크립터 이해하기
파이썬 프로퍼티 디스크립터 이해하기파이썬 프로퍼티 디스크립터 이해하기
파이썬 프로퍼티 디스크립터 이해하기
 
파이썬 플라스크 이해하기
파이썬 플라스크 이해하기 파이썬 플라스크 이해하기
파이썬 플라스크 이해하기
 
파이썬 내부 데이터 검색 방법
파이썬 내부 데이터 검색 방법파이썬 내부 데이터 검색 방법
파이썬 내부 데이터 검색 방법
 
파이썬 Xml 이해하기
파이썬 Xml 이해하기파이썬 Xml 이해하기
파이썬 Xml 이해하기
 

python 수학이해하기