Fedora Activities(현재활동) 메뉴에 프로그램 추가하기

공대생의 팁 2018.09.12 11:41


 Fedora를 사용하다 보면 Super(Windows)키를 누른 후 나오는 왼쪽의 메뉴들을 통해 원하는 프로그램을 쉽게 실행할 수 있도록 설계되어 있습니다.



 그렇다면 우리가 실행하고자 하는 프로그램을 왼쪽의 메뉴에 추가하는 방법에 대해 알아보도록 하겠습니다.


1. desktop 아이콘 추가하기


 먼저 아래의 폴더로 이동합니다. 만약 없을 경우 폴더를 생성해줍니다.


cd ~/.local/share/applications/


 그 다음으로 아래와 같이 desktop 아이콘을 추가해줍니다.


$ vi 프로그램명.desktop


 에디터를 사용하여 아래와 같은 내용의 파일을 만들어줍니다. 


1
2
3
4
5
6
7
[Desktop Entry]
Type=Application
Name=Eclipse                            //자신이 만들고자 하는 프로그램의 이름
Comment=Code program                    //프로그램의 목적 등에 대해 작성합니다.
Exec=/home/<User name>/eclipse/eclipse  //프로그램을 실행할 수 있는 Binary 파일의 경로를 작성냅니다.
Icon=/home/<User name>/eclipse/icon.xpm //프로그램을 알 수 있는 Icon 이미지의 파일 경로를 작성합니다.
 
cs



    2. 즐겨찾기에 추가하기


 위 과정까지 마치셨다면 아래와 같이 프로그램명을 검색하였을 때 설정한 Icon 이미지로 나타나게 됨을 확인할 수 있습니다.



 여기서 해당 Icon 이미지를 오른쪽 클릭 하신 후 '즐겨찾기에 추가(Add to Favorites)'를 선택합니다.




 이제 아래와 같이 왼쪽 메뉴에 자신이 실행하고자 하는 프로그램이 추가되어 있는 것을 확인하실 수 있습니다.





Fedora에 Eclipse CDT로 C/C++ 개발환경 만들기

공대생의 팁 2018.09.12 00:47


 오랜만에 C를 사용한 프로그램을 개발하게 될 기회가 생겨 Fedora를 사용하여 프로그램을 개발하고자 하였는데 설정과정이 조금 번거로워 이참에 정리해두고자 블로그에 글을 하나 써 보게 되었습니다. Fedora를 사용하시는 분들께 조금이나마 도움이 되셨으면 합니다.


1. Eclipse CDT를 다운로드 받습니다.


http://www.eclipse.org/cdt/




 홈페이지를 참조하셔서 자신의 조건에 맞는 버전을 다운로드 받으시면 되겠습니다.


2. 압축을 해제하신 후 원하는 위치에 Eclipse CDT를 설치합니다.


3. dnf를 사용하여 아래와 같이 설치합니다.


# sudo dnf install gcc-c++ kernel-devel


4. eclipse 실행파일을 클릭하여 실행합니다.


5. File -> New -> Project를 클릭합니다.



     6. C Project를 선택합니다.



7. Executable -> Hello World ANSI C Project 선택 후 Linux GCC를 선택한 다음 Finish 버튼을 클릭합니다.


8. Project -> Build project를 선택하여 프로그램을 Build 해줍니다.


9. Run -> Run as -> Local C/C++ Application을 클릭하여 프로그램을 실행시켜주면 개발환경이 완성되었음을 확인하실 수 있습니다!



 이제 여러분들은 Fedora를 사용하여 C 프로그래밍을 하실 수 있게 되었습니다. 언제나 좋은 결과가 있기를 진심으로 바랍니다.



Exterior differentiation(외미분, Exterior derivative)

공대생의 팁 2018.07.25 16:55


 Exterior derivative(외적분)이란, differential form(미분 형식) 함수의 미분 개념에서 더 높은 차원으로 표현한 것이다. 즉, k-form(k-형식)의 differential form을 (k+1)-form의 differential form으로 만드는 것을 목표로 한다.


 k-form에 대한 자세한 내용은 아래 블로그 내용에서 다루어져 있으므로 참고하자. 


k-form(k형식) - [http://elecs.tistory.com/270]


 Exterior derivative를 정의하면 다음과 같다.


 Def) 0-form 형식의 함수 A가 있다고 하자. 이 함수는 실수 R에서 열린 집합이라 할 때, exterior derivative인 dA는 1-form으로 아래와 같이 나타낼 수 있다.



 간단한 예제를 통해  exterior derivative를 이해해보자.


  


 위 수식을 exterior derivative로 나타내면 다음과 같다.


 


 위 수식의 결과로 0-form에서 1-form의 값이 나타남을 확인할 수 있다.

 이번에는 1-form에서 2-form을 구해보도록 하자.


 


 위 수식을 exterior derivative로 나타내면 다음과 같다.




출저 : Steven H. Weintraub(2014), Differential Forms Theory and Practice, Academic Press, 11-12p

k-form(k-형식)

공대생의 팁 2018.07.14 18:23


 Differential form에서 k-form(k-형식)이란, 쉽게 말해 우리가 흔히 표현하는 적분 공식인



에서 뒷부분 dx라 써 있는 delta의 갯수를 의미한다. 위의 경우 delta는 1개만 존재하므로 1-form이라 할 수 있다.


 간단한 예제로 k-form에 대해 이해해보도록 하자.


0-form


1-form


2-form

3-form



Hodge *-operator(하지연산자)

공대생의 팁 2018.07.02 14:10


 Hodge *-operator(Hodge star operator, Hodge isomorphism)이란 linear map(선형사상)에서 중요한 요소중 하나로 exterior product(바깥적)을 기반으로 하는 연산아다. Hodge *-operator를 통해 나온 결과값은 Hodge dual(하지쌍대)를 이루게 된다. 정의를 통해 Hodge *-operator에 대해 알아보도록 하자.


Def) 실수 Rn 범위에서 Hodge *-operator는 아래와 같이 k-form인 함수 φ을 (n-k)-form인 함수 φ*로 만든다.


(1) 다음과 같은 집합이 주어졌다고 하자.


 만약 이 집합의 부분집합인



 가 있을때 위 집합의 complement인 집합은 다음과 같이 나타낸다.



 위 두 집합에 대해 각 집합에 대한 differential form을 구하



 위의 differential form에 대해 Hodge *-operator를 구하면



 위 식의 두 differential form은 서로 hodge dual 관계를 갖는다.



(2) 만약 φ = A1dxI1 + ᠁ + AmdxIm이 k-form일 때,



 간단한 예제를 통해 Hodge *-operator에 대해 이해해보자.


ex1) 실수 R1에서


       

 위의 1차원 실수 범위에서는 Hodge *-operator가 상당히 쉽게 유도됨을 알 수 있다.


ex2) 실수 R2에서



 위의 2차원 실수 범위에서도 Hodge *-operator가 유도됨을 확인할 수 있다. 여기서 눈여겨볼 만한 점은 dx와 dy의 Hodge *-operator의 결과가 서로 다르다는 것을 볼 수 있다. 앞에서 말했듯이 differential form은 exterior product를 바탕으로 이루어지기 때문에 위와 같이 값이 달라진다. 즉, Commutativity(교환법칙)이 성립되지 않는것이다.


 Exterior product에 대한 자세한 사항은 아래의 포스팅에서 자세히 다루다.

 http://elecs.tistory.com/261



출저 : Steven H. Weintraub(2014), Differential Forms Theory and Practice, Academic Press, 10-11p

'공대생의 팁' 카테고리의 다른 글

Exterior differentiation(외미분, Exterior derivative)  (0) 2018.07.25
k-form(k-형식)  (0) 2018.07.14
Hodge *-operator(하지연산자)  (0) 2018.07.02
Isomorphism(동형사상)  (0) 2018.07.01
Homomorphism(준동형 사상)  (0) 2018.06.30
Cycle decomposition(순환마디분해)  (0) 2018.06.28

Isomorphism(동형사상)

공대생의 팁 2018.07.01 19:07


 Isomorphism(동형사상)이란 서로 구조가 같은 두 Group 사이에 모든 구조를 보존하는 사상(map)이다. Isomorphism은 homomorphism(준동형사상)에서 조건 하나가 추가된 것이다. 정의를 통해 확인해보도록 하자.


Homomorphism의 정의에 대해 알아보기 - http://elecs.tistory.com/264


Def) 두 Group인 G와 H가 사상(map) φ : G → H일 때 이를 isomorphism이라 하고 G와 H 각각을 isomorphic(같은 모양)일 때 G와 H의 관계는 아래의 조건을 만족할 때 GH이라 한다.(≅는 합동을 의미한다.)


(1)φ는 homomorphism이다. ( i.e., φ(xy) = φ(x)φ(y) )

(2)φ는 전단사(bijection) 속성을 가지고 있다.


위에 주어진 2개의 조건을 만족한다면 해당 함수는 Isomorphism에 해당한다고 할 수 있다.



 두 Group인 G와 H가 bijection 속성을 가질 경우 위에서 보는 바와 같이 G에서 H로 mapping될 때 H의 모든 값들과 1대 1로 매칭이 되며(injection) {φ : G → H}의 조건에서 G가 H의 모든 element에 mapping이 될 경우(surjection) 이는 bijection 속성을 갖고 있다고 할 수 있다.


 다음으로 간단한 예제를 통해 isomorphism에 대해 자세히 이해해보도록 해보자.


ex) Group G가 양의 실수 의 범위

    Group H가 실수 범위라 하였을 때,


 f : G → H에서 f를 log함수라 가정하자.



 위 두 공식을 통해 log함수는 homomorphism과 bijection의 조건을 만족함을 알 수 있다.




Reference : David S. Dummit, Richard M. Foote(2003), Abstract Algebra, WILEY

'공대생의 팁' 카테고리의 다른 글

k-form(k-형식)  (0) 2018.07.14
Hodge *-operator(하지연산자)  (0) 2018.07.02
Isomorphism(동형사상)  (0) 2018.07.01
Homomorphism(준동형 사상)  (0) 2018.06.30
Cycle decomposition(순환마디분해)  (0) 2018.06.28
Covector(여벡터)  (0) 2018.06.20

Homomorphism(준동형 사상)

공대생의 팁 2018.06.30 18:42

 Homomorphism(준동형 사상)이란 두 개의 Group 사이의 모든 연산과 관계를 보존하는 사상(map)을 의미한다. Homomorphism의 정의에 대해 살펴보도록 하자.


Def) 두 Group인 G와 H가 (G,☆), (H,◇)라고 하였을 때, map φ : G → H일 때


φ(x☆y) = φ(x)◇φ(y), for all x,y ∈ G


를 만족하면 이를 homomorphism이라 한다.


 예제를 통해 위 정의를 중명해보도록 하자.


ex)  Group G가 +에서 실수이고 abelian(가환군)이며 identity(항등원)가 0

      Group H가 ×에서 양의 실수이고 abelian(가환군)이며 identity(항등원)가 1 일때,

      f : G → H 이고 x → ex일때



 위 예제를 통하여 homomorphism의 정의에 대해 어느정도 이해할 수 있을 것이다.


Reference : David S. Dummit, Richard M. Foote(2003), Abstract Algebra, WILEY

'공대생의 팁' 카테고리의 다른 글

Hodge *-operator(하지연산자)  (0) 2018.07.02
Isomorphism(동형사상)  (0) 2018.07.01
Homomorphism(준동형 사상)  (0) 2018.06.30
Cycle decomposition(순환마디분해)  (0) 2018.06.28
Covector(여벡터)  (0) 2018.06.20
Bivector(이중벡터)  (0) 2018.06.19

Cycle decomposition(순환마디분해)

공대생의 팁 2018.06.28 14:07


 Cycle(순환)이란 연속된 정수의 집합으로 Sn으로 나타낸다. 만약 집합 Sn



일 경우 집합 Sn은 다음과 같은 순서로 연결된다.



위와 같이 Cycle은 마지막 component가 다시 첫 번째 component로 이어지면서 순환을 이루게 된다. 이를 다음과 같이 좀 더 쉽게 나타낼 수 있다.



 첫 번째 row는 순서를 나타낸 것이며 두 번째 row는 연결되는 다음 component를 나타낸 것이다.


 다음으로 σ ∈ Sn 일 때 만약 σ의 action이 다음과 같이 나타났다고 하자.



 위 결과는 총 k개의 Cycle을 생성하였고 각 Cycle이 어떻게 연결되어 있는지를 도식적으로 확인할 수 있다. 


 x ∈ { 1, 2, 3, ... ,n }에서 x의 값이 위의 가장 오른쪽에 있는 괄호 속에 값이 존재하지 않을 때(즉 위의 action에서 a의 괄호 속으로 bold로 강조된 부분) c(x)는 x가 포함되어 있는 특정 괄호 속에서 바로 오른쪽에 위치한 정수값을 의미한다. 예를 들어 σ가 다음과 같이 주어졌을 때



 만약 σ(1)의 값을 구할 경우 위에서 가장 오른쪽에 있는 괄호의 component는 2와 4뿐이다. 그러므로 σ(1) = 3이다.


 ∈ { 1, 2, 3, ... ,n }에서 x의 값이 위의 가장 오른쪽에 있는 괄호 속에 값이 존재하게 될 경우 σ(x)는 바로 오른쪽에 있는 정수 y를 확인한 후 해당 정수를 왼쪽의 괄호들에서 찾은 후 정수 y 값의 바로 오른쪽에 있는 정수값이다. 예를 들어



 만약 σ(1)의 값을 구할 경우 오른쪽에 있는 괄호에서 1의 바로 오른쪽에 있는 값 4를 선택한 후 왼쪽에 위치한 괄호에서 4를 찾은 후 4의 바로 오른쪽에 위치한 5가 σ(1)의 값이다. 즉 σ(1) = 5임을 알 수 있다. 이러한 방식으로 σ(x)의 값을 찾은 후 k개의 Cycle에서 중복되는 정수를 최대한으로 줄인 cycle을 찾는 과정을 cycle decomposition(순환마디분해)라고 한다.


 간단한 예제를 통해 윈리를 이해하여보자. n = 13이고.  σ ∈ Sn일 때 각 σ(x)의 값들이 다음과 같다고 가정하자.


 σ(1) = 12, σ(2) = 13, σ(3) = 3, σ(4) = 1, σ(5) = 11, σ(6) = 9, σ(7) = 5,

 σ(8) = 10, σ(9) = 6, σ(10) = 4, σ(11) = 7, σ(12) = 8,σ(13) = 2.


 이를 2개열의 행렬로 표현하면 다음과 같다.



 이를  Cycle Sn으로 나타내면 다음과 같다.



 총 5개의 cycle이 만들어졌으며 각각 5-cycle, 2-cycle, 1-cycle, 3-cycle, 2-cycle이다. 이 때 1-cycle은 1로 나타내어 생략할 수 있다. 따라서 cycle decomposition인 σ는



 Cycle decomposition인 σ가 σ ∈ Sn 를 만족할 때, σ-1를 구할 수 있으며 이 때 σ-1는 σ의 괄호 내부의 component의 순서를 반대로 하면 된다.




Reference : David S. Dummit, Richard M. Foote(2003), Abstract Algebra, WILEY

'공대생의 팁' 카테고리의 다른 글

Isomorphism(동형사상)  (0) 2018.07.01
Homomorphism(준동형 사상)  (0) 2018.06.30
Cycle decomposition(순환마디분해)  (0) 2018.06.28
Covector(여벡터)  (0) 2018.06.20
Bivector(이중벡터)  (0) 2018.06.19
Exterior product(바깥적)  (0) 2018.06.18

Covector(여벡터)

공대생의 팁 2018.06.20 20:42


 Covector(여벡터)란 dual vector, 1-form 또는 Linear Form(일차 형식)이라고 칭하며 vector space에서 scalar field로 선형 사상(linear map)을 하는 방법을 나타내는 것이다.

 다시 말해 covector의 결과물은 scalar가 된다는 것을 뜻한다.


 

 covector인 a를 정의하였을 때 vector space인 V는 scalar가 되므로 다음과 같이 표현할 수 있다.


a : V -> 


 이를 간단한 행렬로 나타내면 다음과 같이 표현할 수 있다.



 이와 같이 covector는 두 개의 vector의 연산으로 scalar 값이 도출됨을 확인할 수 있다.


 좀 더 자세한 이해를 위해 covector를 그림으로 설명해보도록 하자.



 위의 그림에서 covector는 특정 영역의 평면의 값을 나타내며 붉은 화살표는 covector의 방향을 나타낸다. 이 때 방향에 따라 covector의 값은 증가한다고 볼 수 있다. 간단한 예제를 그림을 통해 이해해보도록 하자.



 위 그림에서는 covector인 α와 β가 주어져 있고 두 covector의 합인 σ를 나타낸 것이다. α에서 벡터 u와 v는 서로 다른 방향을 갖고 있으나 covector인 α의 방향으로는 같은 값을 갖고 있다. 그러나 벡터 w의 경우 α와 직교하는 방향을 향하기 때문에 α(w) = 0 이다.

 반면, covector인 β의 경우 벡터 w와 같은 방향을 향하지만 u와 v는 수직으로 지나가고 있으므로 u와 v의 covector값은 0이 된다.

 covector σ의 경우 α와 β의 성분을 모두 갖고 있으며, 각 α와 β의 성분별 값을 갖고 있으므로 σ=α+β가 성립된다.



츨저 : https://en.wikipedia.org/wiki/One-form

'공대생의 팁' 카테고리의 다른 글

Homomorphism(준동형 사상)  (0) 2018.06.30
Cycle decomposition(순환마디분해)  (0) 2018.06.28
Covector(여벡터)  (0) 2018.06.20
Bivector(이중벡터)  (0) 2018.06.19
Exterior product(바깥적)  (0) 2018.06.18
skew-normal distribution(왜정규분포)  (0) 2018.05.16

Bivector(이중벡터)

공대생의 팁 2018.06.19 01:49


 Bivector(이중벡터)란 스칼라와 벡터의 개념에서 확장된 개념으로, 두 개의 벡터를 통하여 방향성을 가지고 있는 평면을 만들게 된다.


 추상적으로는 평면이 방향성을 갖고 있는 것이 잘 떠오르지 않을 것이다. 간단한 그림을 통해 설명하도록 해보자.



 우리들이 일반적으로 도형에 대해 공부할 때 점이 모여 선이 되고, 선이 모여 면이 된다는 것을 직관적으로 알 수 있다. 마찬가지로 bivector 또한 이러한 관점에서 이해하면 좀 더 간단하게 이해할 수 있다.


Scalar    - 방향성을 갖지 않는 특정값

Vector    - 특정한 1개의 방향성을 갖고 있는 값

Bivector    - 특정한 2개의 방향성을 갖고 있는 값


 다음으로 Bivector의 값을 나타내는 등식은 exterior product(바깥적)으로 나타내면 다음과 같다.


a ∧ b


 등호는 마치 논리회로의 and와 유사한 기호를 사용하고 있다. 앞에서 설명하였듯이 bivector는 방향성을 가지고 있다고 하였는데 이를 그림으로 나타내면 다음과 같다.




 위의 그림에서 보이는 바와 같이 벡터 a와 b의 순서가 바뀔 경우 bivector의 방향이 바뀌는 것을 확인할 수 있다. 이를 보았을 때 exterior product는 교환법칙이 성립되지 않는다는 것을 확인할 수 있다.


 다음으로 Bivector로 나타낼 수 있는 Exterior product에 대해 간단하게 나타내보자




 a와 b의 위치를 바꾸면 다음과 같이 표현된다.




 위의 두 결과를 보았을 때


 a ∧ b = - (b ∧ a)


 가 됨을 확인할 수 있다.


출저 : https://en.wikipedia.org/wiki/Bivector

'공대생의 팁' 카테고리의 다른 글

Cycle decomposition(순환마디분해)  (0) 2018.06.28
Covector(여벡터)  (0) 2018.06.20
Bivector(이중벡터)  (0) 2018.06.19
Exterior product(바깥적)  (0) 2018.06.18
skew-normal distribution(왜정규분포)  (0) 2018.05.16
Bilinear map(쌍선형사상, 겹선형사상)  (0) 2018.04.28

Exterior product(바깥적)

공대생의 팁 2018.06.18 23:43


  외대수(Exterior algebra)는 exterior product(바깥적[각주:1], 쐐기곱)을 만들어내는 algebraic system(대수계)라 할 수 있다.


 외적(Outer product)의 결과값이 vector라면 바깥적(Exterior product)의 결과값은 bivector(이중벡터)가 된다. 아래의 그림은 Outer product( a × b )와 Exterior product( a ∧ b )의 결과를 이미지로 나타낸 것이다.



 Outer product의 결과는 vector인 a와 b 두 벡터에 모두 직교하는 방향의 vector가 생성된다. 반면 Exterior Product는 a와 b가 평면을 만드는 공간에서 반시계방향의 방향성을 갖는 bivector가 생성된다. 쉽게 말해서 방향성을 가지고 있는 평면이 된다는 의미로 받아들이면 될 것이다.



출저 : https://en.wikipedia.org/wiki/Exterior_algebra

  1. 1.대한수학회에서는 exterior product를 '외적'으로 정의하고 있으나 outer product와의 구분을 위해 부득이하게 '바깥적'으로 표현하였음을 알립니다. [본문으로]

'공대생의 팁' 카테고리의 다른 글

Covector(여벡터)  (0) 2018.06.20
Bivector(이중벡터)  (0) 2018.06.19
Exterior product(바깥적)  (0) 2018.06.18
skew-normal distribution(왜정규분포)  (0) 2018.05.16
Bilinear map(쌍선형사상, 겹선형사상)  (0) 2018.04.28
Borel set(보렐 집합)  (0) 2018.03.10

skew-normal distribution(왜정규분포)

공대생의 팁 2018.05.16 23:22


 확률 이론과 통계에서 왜정규분포(skew-normal distribution)Azzalini에 의해 처음 소개되었으며, 연속확률분포(CDF)로서 우리들이 일반적으로 알고 있는 정규분포(Normal Distribution)에서 skewness(비대칭도 혹은 왜도)가 적용된 것이다.


 먼저 우리들이 흔히 알고있는 표준 정규분포의 확률밀도함수(PDF)는 다음과 같다.



\phi (x)={\frac  {1}{{\sqrt  {2\pi }}}}e^{{-{\frac  {x^{2}}{2}}}}


 이를 다시 연속확률분포(CDF)로 나타내면 다음과 같다.


\Phi (x)=\int _{{-\infty }}^{{x}}\phi (t)\ dt={\frac  {1}{2}}\left[1+\operatorname {erf}\left({\frac  {x}{{\sqrt  {2}}}}\right)\right]


 여기서 파라미터 α를 가진 왜정규분포(skew-normal distribution)의 확률밀도함수(PDF)는 다음과 같이 나타낼 수 있다.



f(x)=2\phi (x)\Phi (\alpha x).\,


 이를 그래프로 나타내면 다음과 같이 나타낼 수 있다.

그림 출저 : https://en.wikipedia.org/wiki/Skew_normal_distribution

 

 

 

 이때 α는 -∞< α <∞ 의 범위를 가지며 이 분포를 SN(α)로 나타낼 수 있다. α = 0 일 때 정규분포가 되며

α ->∞ 일 때 반정규분포(half-normal distribution)의 모양이 된다.



출저 : 나종화, 유혜경 (2013). 왜정규 표본평균의 분포함수에 대한 안장점근사. 한국데이터정보과학회지,
24(6), 1211-1219.