본문 바로가기

컴퓨터 공학231

[선형대수학] 백터의 크기, 노름(norm) 구하는 법 평면이나 공간에서 벡터를 화살표로 나타낼 때 화살표의 길이가 그 벡터의 크기이다. 벡터 v의 크기를 노름(norm)이라 하고, || v ||로 나타낸다. 예제 다음 벡터의 노름을 구하라. 2023. 10. 24.

[선형대수학] 내적을 이용하여 두 벡터의 사잇각 구하기 0이 아닌 두 벡터가 주어졌을 때, 두 벡터 사이의 코사인 값을 다음과 같이 구할 수 있다. 예제 다음에 주어진 두 벡터 사이의 코사인 값을 구하라. a = (-3, 4), b = (4, 3) 2023. 10. 23.

[선형대수학] 수반행렬(adjoint matrix)란? 2023. 10. 20.

[선형대수학] 대칭행렬 (symmetric matrix) / 반대칭행렬 (skew-symmetric matrix)이란? 대칭행렬 (symmetric matrix)은 주대각선 성분을 기준으로 대칭인 위치에 있는 성분이 서로 같음을 의미한다. 반대칭행렬(skew-symmetric matrix)은 주대각선 성분이 모두 0이고, 주대각선 성분을 기준으로 대칭이 위치에 있는 성분의 부호가 서로 반대임을 의미한다. 정사각행렬은 대칭행렬과 반대칭행렬의 합으로 나타낼 수 있다. 2023. 10. 20.

[선형대수학] 전치행렬 (transpose matrix)이란? 전치행렬 (transpose matrix)은 행렬 A의 행과 열을 바꾸어 만든 행렬이다. A^{T}로 표기한다. 전치행렬의 성질 (1) (A^{T})^{T} = A (2) (A+B)^{T} = A^{T}+B^{T} (3) (AB)^{T} = B^{T}A^{T} (4) (kA)^{T} = kA^{T} 2023. 10. 20.

[선형대수학] 영행렬 (zero matrix)이란? 성분이 모두 0인 행렬을 영행렬 (zero matrix)이라 하고, O로 나타낸다. 다음은 모두 영행렬이다. \begin{bmatrix}0 & 0 \\0 & 0 \\0 & 0 \end{bmatrix} \begin{bmatrix}0 & 0 & 0\\0 & 0& 0 \end{bmatrix} \begin{bmatrix}0 \\ 0 \\ 0 \\ 0 \end{bmatrix} 임의의 행렬 A에 대하여 O가 A와 크기가 같은 영행렬이면 다음이 성립한다. (1) A + O = O + A = A (2) A - A = O (3) O - A = -A (4) AO = OA = O 2023. 10. 20.

[선형대수학] 역행렬 (inverse matrix) 구하는 법(공식, 기본 행 연산) 2X2행렬인 경우 아래 하늘색 박스가 역행렬 구하는 공식입니다. 대각행렬은 대각원소만 역수로 취하여 쉽게 역행렬을 구할 수 있습니다. (아래 이미지에서 행렬 B에 해당) 기본 행 연산으로 역행렬 구하기 다음 기본 행 연산 3가지 방법을 적절하게 사용하여 역행렬을 구할 수 있다. 행렬 크기에 맞는 단위 행렬과 함께 연산을 한다. 왼쪽에 단위 행렬이 될 때까지 기본 행 연산을 진행한다. 2023. 10. 20.

[선형대수학] 역행렬 (inverse matrix)의 성질 n차 정사각행렬 A, B가 가역이고 k가 0이 아닌 스칼라일 때, 다음이 성립한다. 2023. 10. 20.

[선형대수학] 가역행렬(invertible matrix) / 비가역행렬(noninvertible matrix) / 역행렬 (inverse matrix)란? n차 정사각행렬 A에 대해 다음을 만족하는 행렬 B가 존재하면 A는 가역행렬(invertible matrix)이라고 한다. $$ AB = I_{n} = BA $$ 이때 B를 A의 역행렬(inverse matrix)이라고 한다. 이러한 B가 존재하지 않으면 비가역행렬(noninvertible matrix)이라고 한다. A가 가역이면 B도 가역이고, B가 A의 역행렬이면 A는 B의 역행렬이다. 비가역행렬을 특이행렬(singular matrix), 가역행렬을 비특이행렬(nonsingular matrix)라고도 한다. 예제) 다음 행렬 A, B에 대해 B는 A의 역행렬임을 확인하라. $$A = \begin{bmatrix}-2 & -5 \\-1 & -3 \end{bmatrix}$$ $$B = \begin{bmat.. 2023. 10. 20.

[선형대수학] 단위 행렬(identity matrix)란? 1이 실수에서 곱셈에 대한 항등원이듯 단위행렬은 행렬에서 곱셈에 대한 항등원이다. 주대각선 성분이 모두 1이고 나머지 성분이 모두 0인 n차 정사각행렬을 n차 단위행렬(identity matrix)이라고 한다. n차 단위 행렬은 아래와 같이 나타낸다. A가 m X n 행렬일 때, 다음이 성립된다. 2023. 10. 20.

[선형대수학] 행렬 연산의 성질 A, B, C는 연산을 수행할 수 있는 크기의 행렬이고, a, b는 스칼라라고 할 때, 다음이 성립한다. (1) A + B = B + A (덧셈에 대한 교환법칙) (2) A + (B + C) = (A + B) + C (덧셈에 대한 결합법칙) (3) A(BC) = (AB)C (곱셈에 대한 결합법칙) (4) A(B + C) = AB + AC (분배법칙) (5) (B + C)A = BA + CA (분배법칙) (6) a(B + C) = aB + aC (7) (a + b)C = aC + bC (8) (ab)C = a(bC) (9) a(BC) = (aB)C = B(aC) 2023. 10. 20.

[선형대수학] 행렬의 곱(multiplication) AB 구하는 법 행렬 A의 크기가 m X p, 행렬 B의 크기가 p X n일 때, 두 행렬의 곱 AB은 m X n 행렬이다. AB(i, j)성분은 A의 i행에 있는 각 성분에 B의 j열에 있는 각 성분을 차례로 곱하여 모두 더 한 것이다. 따라서 A와 B의 곱은 A의 열의 개수와 B의 행의 개수가 같을 때만 정의된다. 행렬의 곱에 대한 교환법칙 AB = BA는 성립하지 않는다. 2023. 10. 20.

[선형대수학] 행렬의 합(sum)과 스칼라 배(scalar multiplication)이란? 행렬의 합(sum) 두 행렬의 합은 대응되는 성분끼리의 합이다. 두 행렬의 크기가 서로 다르면 두 행렬은 합할 수 없다. 스칼라 배(scalar multiplication) 행렬 A의 스칼라 배 kA는 A의 모든 성분을 k배하는 것이다. 2023. 10. 20.

[선형대수학] 행렬이 상등(equality)한다는 뜻은? 두 행렬에서 같은 위치에 원소가 서로 같은 것을 ‘상등(equality)한다’고 한다. A = B로 나타낼 수 있다. 두 행렬의 크기가 같을 때에만 행렬의 상등을 논할 수 있다. 2023. 10. 20.

[선형대수학] 행렬(matrix)/ 행백터 / 열백터란? 일반적으로 자연수 m, n에 대해 m X n개의 수를 다음과 같이 직사각형 모양으로 배열한 것을 행렬(matrix)이라고 한다. 그 각각의 수를 행렬의 성분(entry)이라고 한다. 행렬 A의 i번째 가로줄을 A의 i행(i-th row of A) 또는 i번째 행백터(row vector)라 한다. 행렬 A의 j번째 세로줄을 A의 j행(j-th column of A) 또는 j번째 열백터(column vector)라 한다. 행렬 A의 i행과 j열이 겹쳐지는 부분에 있는 성분을 행렬 A의 (i, j) 성분이라고 한다. 2023. 10. 20.

[선형대수학] 행렬의 크기(size)란? m개의 행(row)과 n개의 열(colmn)을 갖는 행렬 A를 크기(size)가 m X n인 행렬이라 한다. 예제 다음 행렬 A의 크기는? $$A = \begin{bmatrix}1 & -3 & 4\\2 & 0 & 3 \\6 & 2 & -5\end{bmatrix}$$ 행의 수 3, 열의 수 3이므로 3 X 3이다. ‘삼바이삼’이라고 읽으면 된다. 2023. 10. 19.

[선형대수학] 기본 행 연산(elementary row operation)이란? 첨가행렬(agumented matrix)을 다음과 같은 방법으로 변화시키는 것을 기본 행 연산(elementary row operation)이라고 한다. 참고: 첨가행렬(agumented matrix)이란? (클릭) ▼ 첫 번째 식에 -2를 곱하여 두 번째 식에 더한다 2023. 10. 19.

[선형대수학] 첨가행렬(agumented matrix)란? n개의 미지수를 갖는 m개의 일차방정식으로 이루어진 다음 연립일차방정식(system of linear equations)에 대하여 그 계수만을 직사각형 모양으로 배열한 것을 첨가행렬(agumented matrix)이라고 한다. 첨가행렬(agumented matrix)의 가로줄을 행(row), 세로줄을 열(column)이라 한다. 2023. 10. 19.

[선형대수학] 방정식(equation)에서 동치(equivalent)란? 연립일차방정식(system of linear equations)에서 n개의 미지수에 어떤 수를 각각 대입했을 대, 각 방정식이 모두 성립하면 순서쌍 (어떤 수1, 어떤 수2, ..., 어떤 수n)를 이 연립일차방정식의 해(solution)이라고 한다. 연립일차방정식의 해 전체의 집합을 연립일차방정식의 해집합(solution set)이라고 한다. 동일한 해집합을 갖는 두 연립일차방정식을 동치(equivalent)라고 한다. 예를 들어, 다음 두 연립 일차 방정식은 모두 (2, 1)을 해로 가지므로 동치이다. x + y = 3 x - y = 1 2x + 2y = 6 3x - 3y = 3 2023. 10. 19.

Address Translation이란? / Virtualizing Memory / Memory laout (Virtual) Memory란 array of byte이다. 즉, byte-addressable array이다. 각 프로세스를 위한 주소 공간의 할당가능한 크기는 컴퓨터 아키텍처에 의해 결정된다. 만약 컴퓨터가 N비트 아키텍처라면 각 프로텍스는 2의 32 크기의 주소 공간을 갖는다. 예) 32비트 아키텍처라면, 주소 범위는 0부터 2의 32-1이 된다. Virtualizing Memory란 한 프로그램이 고유의 메모리를 가지고 있는 것처럼 illusion(환상, 실제가 아니라는 뜻)을 만드는 것 효율성, 통제가능성, 유연성을 위해 Address translation 전략을 취한다. 하드웨어의 지원이 필요하다. 예) regiters, TLB(Translation Look-aside Buffers), pa.. 2022. 11. 19.

[스위프트]데이터 타입_컬렉션형이란?(배열,딕션너리,세트) Swift 스위프트 문법: 데이터 타입_컬렉션형(Collection)이란? 배열 (Arrary),딕션너리 (Dictionary), 세트(Set) 스위프트는 튜플 외에도 많은 수의 데이터를 묶어서 저장하고 관리할 수 있는 컬렉션 타입이 있습니다. 컬렉션 타입에는 배열, 딕셔너리, 세트 등이 있습니다. ■ 배열 (Arrary) - 같은 타입의 데이터를 일렬로 나열하여, 순서대로 저장 - 각기 다른 위치에 같은 값이 들어갈 수 있음 - let, var 키워드를 사용해 선언해 줄 수 있음 - Array라는 키워드 사용 - C언어의 배열과 다르게 필요에 따라 버퍼의 크키를 조절해줌 -> 요소의 삽입 및 삭제가 자유로움 - 배열은 인덱스를 통해 각 요소에 접근가능 - 인덱스는 0부터 시작 - 잘못된 인덱스로 접근하.. 2020. 10. 1.

[스위프트]데이터 타입_튜플이란?(정의, 요소 이름/별칭 지정 방법) Swift 스위프트 문법: 데이터 타입_튜플이란?(정의, 요소 이름/별칭 지정 방법) ■ 튜플이란? 튜플(Tuple)은 프로그래머가 마음대로 만든 타입입니다. C언어로 예를 들면 원시 구조체의 형태와 가깝습니다. 튜플은 타입 이름이 따로 없으므로 일정 타입의 나열만으로 튜플 타입을 생성해줄 수 있습니다. 튜플에 포함될 데이터의 개수는 자유롭습니다. 튜플의 각 요소를 이름 대신 숫자로 표현합니다. 그래서 인덱스만으로 값을 가져오고, 할당할 수 있습니다. 더보기 예제코드 import UIKit //String, Int, Double 타입을 같는 튜플 var puppy: (String, Int, Double) = ("Zeno", 3, 20.4) //인덱스를 통해 값을 가져올 수 있습니다. print("2019.. 2020. 10. 1.

[스위프트]타입 확인/추론/별칭(typealias)이란? Swift 스위프트 문법: 타입 확인/추론/별칭이란? ■ 타입 확인 스위프트는 타입에 굉장히 엄격합니다. 서로 다른 타입끼리 데이터를 주고받으면 컴파일 오류가 발생합니다. 그래서 장점으로는 서로 다른 타입의 값을 할당하는 실수를 줄일 수 있습니다. 이렇게 스위프트가 컴파일 시 타입을 확인하는 것을 타입 확인이라고 합니다. 타입 확인을 통해 여러 타입을 사용할 때 발생할 수 있는 런타임 오류를 피할 수 있지요. ■ 타입 추론 또한 스위프트는 변수나 상수를 선언할 때 특정 타입을 명시하지 않아도 컴파일러가 할당된 값을 기준으로 타입을 결정합니다. 이를 타입 추론이라고 합니다. 예를 들어 var title = "hahehohoo"라는 코드를 작성하면, 컴파일러가 컴파일하면서 title의 타입을 String으로.. 2020. 10. 1.

[알고리즘] C언어로 익히는 자료구조 및 알고리즘 총정리 C언어로 익히는 자료구조 및 알고리즘 총정리 공학 관련 전공자라면 피할 수 없는 알고리즘, 졸업하고 나서도 치뤄야 하는 코딩 테스트가 있습니다. 아무리 거대해 보이는 산이라도 기초 체력이 있다면 충분히 정상에 오를 수 있듯이, 알고리즘 문제를 해결할 때도 기본을 이해하는 것이 가장 중요할 것입니다. 저도 최근에 알고리즘 지식을 꼼꼼히 복습해야하는 상황히 생겨서.. 예전에 공부했던 이지스 퍼블리싱의 '자료구조와 함께 배우는 알고리즘 입문(C언어편)'와 오렌지 미디어의 '윤성우의 열혈 자료구조' 책을 가지고 정리하는 시간을 가졌습니다. 이 곳에 정리한 글을 하나씩 연재할 계획입니다. 포스팅하는대로 링크를 활성화하겠습니다. 1. 기본 알고리즘 - 자료구조와 알고리즘 개념 - 시간복잡도, 공간복잡도란? - 빅-.. 2020. 9. 29.

스위프트(swift)가 지향하는 프로그래밍 패러다임은? 스위프트(swift)가 지향하는 프로그래밍 패러다임은? 애플은 자사 제품 개발에 활용하고자 새 프로그래밍 언어인 스위프트를 만들었습니다. 2014년 9월 정식 발표된 이후 현재까지 계속 발전하고 있습니다. 지금 스위프트를 오픈소스로 공유하므로 다양한 플랫폼에서 사용할 수 있게 되었습니다. 프로그래밍 언어 스위프트는 다음과 같은 특징이 있습니다. - ARC(Automatic Reference Counting, 자동 참조 카운팅)를 지원 - Objective-C의 동적 객체 모델과 매개변수 형식 도입 - 컴파일 언어 또한, 스위프트는 다중 패러다임 프로그래밍 언어입니다. 크게 보면 다음과 같은 프로그래밍 패러다임을 차용했습니다. - 명령형 프로그래밍 패러다임 - 객체지향 프로그래밍 패러다임 - 함수형 프로그.. 2020. 9. 29.