2013/09/20 3

vector 타입을 이용한 간단한 행렬 곱셈을 수행하고 행렬식을 구하는 C++ 언어 소스

다음은 행렬 곱셈을 수행하는 C++ 언어 소스이다. 행의 수, 열의 수. 그리고 두 행렬의 요소들을 모두 컨솔에서 입력해야 한다. 소스는 http://www.physics.utah.edu/~detar/lessons/c++/matrices/node4.html 의 것을 다소 수정한 것이다. // Filename: testSomeMat-03.cpp // // Copmpile: cl /EHsc testSomeMat-03.cpp // Execute: testSomeMat-03 // // Date: 2003.9. 20. #include #include #include using namespace std; typedef vector Vec; typedef vector Mat; Vec operator*(const Ma..

프로그래밍/C++ 2013.09.20

우순열 기순열을 이용하여 정사각행렬의 행렬식을 계산하는 C++ 언어 소스

정리 (정사각행렬의 행렬식, derterminant) n × n 행렬 A = \big( a_{ij} \big) 의 행렬식 \det(A) 는 다음 식과 같다 \det(A) \ = \ \sum_{\sigma} \, \textrm{sign}(\sigma) \, a_{1 \sigma(1)} a_{2 \sigma(2)} \cdots a_{n \sigma(n)} 위에서 합은 집합 \{ 1, 2, \cdots, n \} 위에서의 모든 순열 \sigma에 관한 합이며, \textrm{sign}(\sigma) 는 \sigma가 우순열인 경우에는 +1이고, 기순열인 경우에는 -1이다. 다음의 C++ 언어로 작성된 소스는 순열을 출력하는 소스를 수정아여 정사각행렬의 행렬식을 계산하도록 하였다. 컴파일은 g++ 또는 Visu..

프로그래밍/C++ 2013.09.20

지정한 개수의 모든 순열을 출력하는 C++ 언어 소스

정의 (순열(또는 치환), permutation) S가 집합일 때, S에서 S 위로 가는 일대일함수 즉, S에서 S로 가는 전단사함수를 집합 S 위에서의 순열이라고 한다, 특히 S가 원소 n개를 갖는 유한집합인 경우 S 위에서의 서로 다른 순열은 총 n!(n 팩토리얼)개이다. 다음의 C++ 언어로 작성된 소스는 유한집합 S = { 0, 1, 2, ... , n - 1 } 상에서의 모든 순열을 컨솔에 출력해준다. 우순열(even permutation)인지 기순열(odd permutation)인지도 판별해준다. 컴파일은 g++ 또는 Visual C++ 의 명령줄 컴파일러 cl 을 이용한다. // Filename: permutations.cpp // // Compile: g++ -std=c++11 -o per..

프로그래밍/C++ 2013.09.20