기본 콘텐츠로 건너뛰기

10월, 2018의 게시물 표시

통계관련 함수와 메서드 사전

A B C d E F G H I K L M N O P Q R S T U V W Z A statsmodels.ap.stats.anova_lm(x) statsmodels.formula.api.ols 에 의해 생성되는 모형 즉, 클래스 인스턴스(x)를 인수로 받아 anova를 실행합니다. np.argsort(x, axis=-1, kind=None) 객체 x를 정렬할 경우 각 값에 대응하는 인덱스를 반환합니다. Axis는 기준 축을 지정하기 위한 매개변수로서 정렬의 방향을 조정할 수 있음(-1은 기본값으로 마지막 축) pandas.Series.autocorr(lag=1) lag에 전달한 지연수에 따른 값들 사이의 자기상관을 계산 B scipy.stats.bernoulli(x, p) 베르누이분포에 관련된 통계량을 계산하기 위한 클래스를 생성합니다. x: 랜덤변수 p: 단일 시행에서의 확률 scipy.stats.binom(x, n, p) 이항분포에 관련된 통계량을 계산하기 위한 클래스를 생성합니다. x: 랜덤변수 n: 총 시행횟수 p: 단일 시행에서의 확률 C scipy.stats.chi2.pdf(x, df, loc=0, scale=1) 카이제곱분포의 확률밀도함수를 계산 $$f(x, k) =\frac{1}{2^{\frac{k}{2}−1}Γ(\frac{k}{2})}x^{k−1}\exp\left(−\frac{x^2}{2}\right)$$ x: 확률변수 df: 자유도 pd.concat(objs, axis=0, join=’outer’, …) 두 개이상의 객체를 결합한 새로운 객체를 반환. objs: Series, DataFrame 객체. Axis=0은 행단위 즉, 열 방향으로 결합, Axis=1은 열단위 즉, 행 방향으

기저의 변경

기저는 벡터공간 V에서 어떤 선형결합 시스템을 표현할 수 있는 가장 간단한 벡터를 의미합니다. 그러므로 일반적인 좌표시스템에서 좌표는 기저( 좌표벡터 )를 기준으로하여 다른 좌표값으로 나타낼 수 있습니다. 이것은 동일한 좌표를 다른 좌표벡터를 기준으로 다르게 나타낼 수 있음을 의미합니다. >>> import numpy as np >>> from sympy import * >>> import scipy.linalg as LA 1. 두개의 기저공간 B, C를 사용하여 일반좌표계에서 벡터 <1, 5>에 대한 $[X]_B$와 $[X]_C$? $$B=\left\{\left[\begin{array}{r}1\\1\end{array}\right],\; \left[\begin{array}{r}1\\-1\end{array}\right] \right\}$$ $$C=\left\{\left[\begin{array}{r}2\\-1\end{array}\right],\; \left[\begin{array}{r}-1\\1\end{array}\right] \right\}$$ $[X]_B$: Bx=y에 대한 해공간 $[X]_C$: Cx=y에 대한 해공간 >>> B=np.mat("1,1;1,-1"); B matrix([[ 1,  1],         [ 1, -1]]) >>> C=np.mat("2,-1; -1,1");C matrix([[ 2, -1],         [-1,  1]]) >>> y=np.mat("1; 5");y matrix([[1],         [5]]) >>> LA.solve(B, y) array([[ 3.],        [-2.]]) >>> LA.solve(C, y) array([[  6.],        [ 11.]]) 결과로부터

벡터의 좌표시스템

내용 벡터의 좌표시스템 좌표 벡터(Coordinate vector) 좌표시스템(Coordinate system) 벡터의 좌표시스템 선형 결합이 자명한(trivial)해 를 갖는다면 그 시스템의 모든 열벡터는 기저(basis) 가 되며 스판의 요소가 됩니다. 선형 결합은 이 기저 벡터들을 이용하여 식 1과 같이 나타낼 수 있습니다. $$\begin{align}\tag{1} x &= c_1b_1 + c_2b_2 + \cdots + c_pb_p\\ &= Bc \end{align}$$ 식 1의 좌항 x는 우항의 기저 벡터들에 의한 벡터 공간 의 부분 공간이 됩니다. 그 기저들로 이루어진 벡터 공간은 다음 식 2의 집합 B와 같습니다. 즉, 부분 공간 H는 집합 B의 스판(span)이 됩니다. $$\begin{align}\tag{2} B &= \{b_1, b_2, \cdots, b_p\}  \\ H &= \mathsf{Span \{b_1, b_2, \cdots, b_p\}} \end{align}$$ 예)   벡터들 v 1 , v 2 들은 벡터 c의 기저 벡터입니까? $$v_1=\begin{bmatrix}3\\6\\2 \end{bmatrix}, \quad v_2= \begin{bmatrix}-1\\0\\1 \end{bmatrix}, \quad c=\begin{bmatrix}3\\12\\7 \end{bmatrix}$$ import numpy as np import numpy.linalg as la import sympy as sp import matplotlib.pyplot as plt v1=np.array([3, 6, 2]).reshape(-1,1) v2=np.array([-1,0,1]).reshape(-1,1) c=np.array([3, 12, 7]).reshape(-1,1) au=np.hstack([v1,v2, c]) # 확대 행렬 au array([[ 3, -1,

선형독립과 기저

내용 기저 벡터 표준기저(Standard basis) 선형 독립과 기저 기저(Basis) 기저는 선형 결합에서 선형 독립 을 이루는 벡터들입니다. 즉, 선형 결합의 결과 벡터를 생성하기 위한 기본이 되는 벡터를 의미합니다. 벡터들의 집합을 벡터 공간이라고 하였습니다. 그 공간에서 두 개 이상의 벡터는 선형 결합으로 그 공간 내에 존재하는 부분 공간 을 만들어 낼 수 있습니다. 이러한 공간의 기본은 선형 독립인 벡터들입니다. 선형 독립 시스템에서의 결과 벡터는 이 기저 벡터들의 방향, 차원 등의 특성을 가진 형태로 그 벡터 공간의 부분 공간이 됩니다. 즉, 기저는 그 부분 공간을 나타내기 위한 기본 축이 될 수 있습니다. 이러한 기저 벡터들은 다음 조건을 만족해야 합니다. 기저 벡터 벡터 H가 벡터 공간 B(b 1 , b 2 , … , b p )의 부분공간인 경우 B = {b 1 , b 2 , … , b p }는 H의 기저(basis)입니다. ⇔ H와 B는 선형 독립: 벡터 공간에서 기저는 선형 독립인 벡터들입니다. ⇔ H = Span{b 1 , b 2 , … , b p } 즉, 집합 B의 벡터들은 H의 부분 공간이며 선형결합이 성립됩니다. 결과적으로 벡터 B 집합은 H(부분공간)의 스판이 되며 B의 선형 결합에 의한 결과 벡터가 H가 된다는 것을 의미합니다. 또한 이 선형결합은 독립이어야 하므로 자명한 해(유일해) 를 가져야 합니다. 표준기저(Standard basis) 항등 행렬의 각 열 벡터는 동일한 차원의 모든 벡터에 대해 스판이며 선형 독립입니다. 예를 들어 3차원의 항등 행렬의 경우 그 행렬에 의한 동차 선형 결합 의 해집합은 0벡터입니다. 즉, 항등 행렬의 선형 결합은 자명한 해를 가지므로 선형 독립입니다. 또한 이 시스템의 표준 행렬 은 정방 행렬이고 독립이기 때문에 0이 아닌 행렬식을 가집니다. import numpy as np import numpy.linalg as

벡터 공간(vector space)과 부분공간

내용 벡터공간에서의 연산법칙 부분공간 부분공간의 차원 기저벡터(basis vector) 부분공간의 차원 벡터공간 이 글은 선형시스템 또는 선형결합 에 대한 지식이 필요합니다. 벡터들과 스칼라간의 연산에 의해 선형결합의 성립될 수 있으며 그 결과벡터는 연산에 사용된 벡터들이 존재하는 공간의 부분으로 존재합니다. 이렇게 벡터들이 존재하는 공간을 벡터 공간 (Vector space)이라고 합니다. 선형결합 에 의한 벡터 공간에서 벡터와 스칼라 간에 다음과 같은 다양한 연산 법칙이 성립됩니다. 벡터 공간에서의 연산 법칙 u, v &in; Vector → u+v &in; Vector u, v가 모두 벡터이면 그들의 합은 벡터(u+v) α &in; scalar, u &in; Vector → ;αu &in; Vector α가 스칼라(C)이고 u가 벡터라면 이 둘의 곱인 αu는 벡터 u + v = v + u 벡터들의 합은 교환법칙 성립 u + (v + w) = ( u + v) + w 벡터들의 합은 결합법칙 성립 모든 요소가 0인 0벡터(zero vector)가 존재 u가 벡터이고 -u 역시 벡터라면 u + (-u) = 0 α, β &in; scalar, u &in; Vector → α(βu) = (α β) u 스칼라 배수 법칙 성립 α &in; scalar and u &in; Vector → α(u + v) = α u + α v 스칼라와 벡터의 곱에서 분배법칙이 성립 α, β &in; scalar u &in; Vector → (α + β)u = α u + β u 두 개의 스칼라와 한 개의 벡터사이에 분배법칙이 성립 u &in; V → 1·u = u 부분공간 일반적으로 벡터 공간 (Vector sp

행렬식

행렬식 정방행렬에서 계산되는 행렬식(determinant)은   연립방정식의 해의 존재 여부를 판단하기 위해 시작되었으며   행렬의 열벡터로 부터 생성되는 도형의 면적이나 부피를 나타내기 위해 사용합니다. 행렬식(determinant)의 계산은 python의 numpy 또는 scipy 모듈의 함수를 사용하여 계산할 수 있습니다. <span style="background-color: #f6b26b;"><br /></span><span style="background-color: white;">&amp; 다음 두 행렬을 사용하여 다음을 검사해봅니다.<br /> numpy.linalg.det(x)(=np.linalg.det(x)) scipy.linalg.det(x)(or LA.det(x)) 행렬 A, B모두 n$\times$n 정방행렬이면 다음이 성립합니다. det AB=(det A)(det B) 다음 두 행렬을 사용하여 다음을 검사해봅니다. import numpy as np import numpy.linag as la A=np.mat("6,1;3,2"); A        matrix([[6, 1],         [3, 2]]) detA=la.det(A); np.around(detA, 3)        9.0 B=np.mat("4,3;1,2"); B        matrix([[4, 3],        [1, 2]]) detB=la.det(B); np.round(detB, 3)        5.0 np.allclose(detA*detB, la.det(np.dot(A, B)))        True 행렬곱에서는 성립되지만 덧셈의 경우는 성립되지 않습니다. det A + det B ≠ det AB A_B=A+B; A_B        matrix([[10,  4],  

급수(Rank)

내용 급수 급수정리 선형독립 정리 행렬의 차원과 급수 급수(Rank) 부분 공간 H의 차원 은 그 공간을 구성하는 기저 벡터의 수 입니다. 그 기저 벡터의 수를 급수 (rank)라고 합니다. 예)  다음 동차 방정식의 급수를 결정해 봅니다. $$\begin{align} &3x_1 + 6x_2 - x_3 + x_4 + 7x_5 = 0\\ &x_1 - 2x_2 + 2x_3 + 3x_4 - x_5 = 0\\ &2x_1 - x_2 + 5x_3 + 8x_4 - 4x_5 = 0 \end{align}$$ A=np.array([[-3,6,-1,1,7], [1,-2,2,3,-1], [2, -4, 5, 8, -4]]) c=np.array([0,0,0]).reshape(-1,1) au=np.hstack([A,c]) au array([[-3, 6, -1, 1, 7, 0], [ 1, -2, 2, 3, -1, 0], [ 2, -4, 5, 8, -4, 0]]) sp.Matrix(au).rref() (Matrix([ [1, -2, 0, -1, 0, 0], [0, 0, 1, 2, 0, 0], [0, 0, 0, 0, 1, 0]]), (0, 2, 4)) 위 결과에 의하면 피벗 열은 0, 2, 4열이므로 이 열에 대응되는 열벡터들은 기저 벡터가 됩니다. 그러므로 나머지 각각의 열벡터와 기저 벡터들간에 선형 독립 관계가 성립합니다. P=A[:, [0, 2, 4]];P array([[-3, -1, 7], [ 1, 2, -1], [ 2, 5, -4]]) sp.Matrix(np.hstack([P, A[:,1].reshape(-1,1)])).rref()[0] $\small \color{navy}{\left[\begin{matrix}1 & 0 & 0 & -2\\0 & 1 &a

영공간(Nullspace)과 열공간(Column space)

내용 영공간과 열공간 영공간(Null Space) 영공간 영공간의 수 열공간 (Column space) 열공간(column space) 선형결합 과 선형독립과 종속 에 대한 이해가 필요합니다. 영공간(Nullspace)과 열공간(Column space) 영공간과 열공간 행렬 A에 대해 Ax=0을 만족하는 관계를 선형 결합이라고 하며 이 선형 결합에는 선형 종속과 선형독립으로 구분합니다. 선형독립인 경우 이 식의 해는 자명한 해로 유일한 해 집합을, 선형종속인 경우 1개 이상의 다양한 해집합을 가집니다. 이러한 해집합의 기저 (basis)를 영공간 (Nullspace)과 열공간 (Column space)이라 합니다. 영공간은 선형종속 관계의 다양한 해들 중의 기저 벡터, 열공간은 선형독립이 성립되는 기저 벡터들을 의미합니다. 이 관계에서 의하면 영공간 역시 다양한 해집합들로부터 유도되는 열공간이라 할 수 있습니다. 영공간(Null Space) m×n 형태의 2차원 행렬 A의 영공간 (Nul A)은 동차 선형 시스템(Ax=0)의 모든 해집합의 기저입니다. 그러므로 영공간은 기본적으로 0벡터를 포함합니다. 영공간 영공간은 동차 시스템의 해 집합의 기저입니다. 벡터 u가 행렬 A의 영 공간에 포함 여부를 결정한다는 것은 Ax=0의 동차 선형 시스템에서 변수 벡터 x를 벡터 u로 치환할 경우 성립하는지를 결정하는 것입니다. import numpy as np import numpy.linalg as la import sympy as spM A=np.array([[1,-3,-2],[-5, 9, 1]]); AM array([[ 1, -3, -2], [-5, 9, 1]]) u=np.array([5,3,-2]).reshape(-1,1); uM array([[ 5], [ 3],

행렬변환의 응용

>>> import numpy as np >>> import scipy.linalg as LA >>> from sympy import * >>> import matplotlib.pyplot as plt 1. 다음은 N 모양을 좌표로 인식하여 작성된 행렬입니다. >>> x=np.array([0, 0.5, 0.5, 6, 6, 5.5, 5.5, 0]).reshape(1,8) >>> y=np.array([0,0,6.42, 0, 8,8,1.58,8]).reshape(1,8) >>> D=np.r_[x, y];D array([[ 0.  ,  0.5 ,  0.5 ,  6.  ,  6.  ,  5.5 ,  5.5 ,  0.  ],        [ 0.  ,  0.  ,  6.42,  0.  ,  8.  ,  8.  ,  1.58,  8.  ]]) 위의 좌표를 그래프로 그리면 다음과 같습니다. 위 그래프의 작성 코드는 다음과 같습니다. id=[[7,0], [2,1], [1,0], [3,2], [6, 7], [5,6], [4,3], [4,5]] plt.figure(figsize=(10, 5)) plt.xlim(-1, 10) plt.ylim(-1,15) for i in id:     plt.arrow(D[0,i[0]], D[1,i[0]], D[0,i[1]]-D[0,i[0]], D[1,i[1]]-D[1,i[0]]) plt.savefig("C:\\ubuntu_docu\\선형대수\\blogFig\\trans1.png" ) plt.show() 위의 N 형태의 변형에 대한 그래프를 작성하기 위해 함수로 작성하여 사용합니다. def NplotS(M, path):     id=[[7,0], [2,1], [1,0], [3,2], [6, 7], [5,6], [4,3], [4,5]]     plt.figure(figsize=(

행렬 연산

행렬 A, B, C, 항등행렬 I, 스칼라 r, s 사이에서의 연산  A+B=B+A,   (A+B)+C=A+(B+C),  A+0=A r(A+B)=rA+rB,  (r+s)A=rA+sA,   r(sA)=(rs)A A(BC) =(AB)C,   A(B+C)=AB+AC,  (B+C)A=BA+CA r(AB)=(rA)B=A(rC),  IA=AI=A >>> import numpy as np >>> import scipy.linalg as LA >>> from sympy import * 1.행렬 A,B,C에서의 연산 >>> A=np.mat("4,0,5;-1,3,2");A matrix([[ 4,  0,  5],         [-1,  3,  2]]) >>> B=np.mat("1,1,1; 3,5,7");B matrix([[1, 1, 1],         [3, 5, 7]]) >>> C=np.mat("2,-3; 0,1");C matrix([[ 2, -3],         [ 0,  1]]) >>> A+B matrix([[5, 1, 6],         [2, 8, 9]]) >>> try: ...     A+C ... except: ...     print("행렬의 사칙연산은 동일한 차원에서 실행됩니다.") ... 행렬의 사칙연산은 동일한 차원에서 실행됩니다. >>> 2*B matrix([[ 2,  2,  2],         [ 6, 10, 14]]) >>> A-2*B matrix([[  2,  -2,   3],         [ -7,  -7, -12]]) 행렬곱 두 행렬 m$\times$n차원의 A와 n$\times$p차원의 B사이의 행렬곱 AB=A[$b_1, b_2, ..., b

bash script_Hello world

#!/bin/sh #This is a comment! echo Hello World #여기 역시 주석입니다. 스크립트의 첫 줄에 사용하는 '#!'는 이 스크립트의 해석기의 종류를 지정하기 위해 사용합니다.  이 경우를 제외하고 #는 주석을 사용을 위한 기호입니다. 이 스크립트를 실행하기 위해서는 실행파일로 전환해 주어야 합니다. sgoing@sgoing-virtual-machine:~/문서/script$ ls -l 합계 28 ... -rw-r--r-- 1 sgoing sgoing   81 10월 17 16:33 first.sh ... 위의 리스트의 권한 표시 -rw-r--r--가 x로 끝나는 경우가 실행파일입이다. 이러한 형식으로 전환하기 위해 다음의 명령을 사용합니다. sgoing@sgoing-virtual-machine:~/문서/script$ chmod +x first.sh sgoing@sgoing-virtual-machine:~/문서/script$ ls -l ... -rwxr-xr-x 1 sgoing sgoing   81 10월 17 16:33 first.sh ... sgoing@sgoing-virtual-machine:~/문서/script$ ./first.sh Hello World 위의 스크립트에서 명령어 echo는 인자를 모니터에 출력하는 것으로 다음과 같이 하나의 인자를 갖습니다. 즉, 인자로 문자열(string)가 매우 길거나 공백을 가지고 있고 또는 몇개의 문자 또는 문자열로 구성이 된다 할지라도 하나로 취급함을 의미합니다.   echo [SHORT-OPTION]... [STRING]... echo LONG-OPTION #!/bin/sh #This is a comment! echo Hello World #여기 역시 주석입니다. echo "Hello" "world" echo Hello * world sgoing@sgoing

bash 스크립트 소개

Shell  shell은 당신이 명령어들을 사용하여 컴퓨터와 상호작용하도록 합니다. 데이터를 주고 받고 또는 저장하는 등의 간단한 작업에서 부터 매우 복잡한 작업등의 일을 할 수 있게 하지요. 터미널에서 date, cal, pwd, ls 등을 실행해 볼까요? sgoing@sgoing-virtual-machine:~/문서/script$ date 2018. 10. 15. (월) 14:13:20 KST sgoing@sgoing-virtual-machine:~/문서/script$ cal       10월 2018        일 월 화 수 목 금 토      1  2  3  4  5  6   7  8  9 10 11 12 13  14 15 16 17 18 19 20  21 22 23 24 25 26 27  28 29 30 31                                 sgoing@sgoing-virtual-machine:~/문서/script$ pwd /home/sgoing/문서/script sgoing@sgoing-virtual-machine:~/문서/script$ ls a.log  b.log  bak  c.log  hello.sh 위와같이 터미널에 명령어를 입력하면 shell은 이 명령을 해석하여 kernel로 전달하고 kernel은 컴퓨터의 하드웨어에 명령에 부합하는 정보를 추출 또는 계산하여 다시 shell로 전달하고 이 결과를 모니터에 출력합니다. Scripting 만일 위의 작업을 매일 한번 이상 자주 실행한다면 매번 위와 같은 작업을 반복하기란 번거롭지요. 만일 위의 명령들을 한번에 실행하도록 프로그램화 하여 저장한다면 편리할 것입니다. 이러한 작업을 스크립팅이라고 합니다. 실행 적당한 편집기로 파일을 작성한 다음 이렇게 만들어진 파일을 다음과 같이 실행파일로 만들어야 합니다. "chmod +x 파일이름" 파일의 권한에 --x를 첨가하여mode를 변경하는 것 입니다. 권한에 --x가 있으면 실행파일

선형독립과 선형종속

내용 가역적 그리고 독립 선형 독립과 종속 정리 선형 독립과 선형 종속 $\mathbb{R}$ 공간의 벡터들$(v_1, v_2, \cdots, v_p) $와 스칼라$(c_1, c_2,\cdots, c_p)$의 동차 선형 결합은 식 1과 같이 행렬 방정식의 형태로 나타낼 수 있습니다. $$\begin{align}\tag{1} \begin{matrix}c_1v_1 + c_2v_2 + \cdots + c_pv_p= 0\\\Downarrow \\\begin{matrix}\begin{bmatrix}v_{11}& v_{12}& \cdots&v_{1p}\\ v_{21}& v_{22}& \cdots &v_{2p}\\ \vdots &\vdots &\ddots & \vdots \\v_{n1}& v_{n2}& \cdots &v_{np} \end{bmatrix} \begin{bmatrix}c_1\\c_2\\ \vdots \\c_p \end{bmatrix}=\begin{bmatrix}0\\0\\\vdots \\0 \end{bmatrix} \end{matrix} \end{matrix} \end{align}$$ 동차 선형 결합이 자명한 해(trivial solution) 를 갖는다면 선형 독립 (linear independent)라고 하고 위 식을 만족시키기 위한 자명하지 않은 해(nontrivial solution)을 갖는다면 선형 종속 (linear dependent)이라고 합니다. 예)   다음시스템의 선형 독립성을 결정합니다. $$\begin{aligned} &x_1 + 4x_2 + 2x_3 = 0\\ &2x_1 + 5x_2 + x_3 = 0\\ &3x_1 + 6x_2 = 0 \end{aligned}$$ import numpy as np import numpy.linalg as la import sympy as sp import mat

선형시스템(Linear System): 선형결합

내용 선형결합(Linear Combination) 스판 (Span) 모순된 시스템 동차 선형결합(Homogeneous Linear Combination) 선형시스템(Linear System) 선형결합(Linear Combination) 벡터 집합 R = {v 1 , v 2 , …, v n } 즉, 행렬 R과 스칼라집합 c={c 1 , c 2 , …, c n } 사이에 식 1과 같이 y가 정의된다면 그 식을 행렬 R과 스칼라(가중치, weight)-c-와의 선형 결합 (linear combination)이라고 합니다. $$\begin{align}\tag{1} y &= c_1v_1 + c_2v_2 + \cdots + c_nv_n\\ &= \begin{bmatrix}c_1&c_2&\cdots&c_n\end{bmatrix}\begin{bmatrix}v_1\\v_2\\\vdots\\v_n\end{bmatrix}\\ &= CV \end{align}$$ 식 1에서 C는 선형결합의 계수행렬로 표준행렬(standard matrix) , V는 변수벡터 또는 행렬을 나타냅니다. 예를 들어 다음 변수 벡터인 w=<x, y>와 세 벡터 a 1 , a 2 , b 사이에 다음의 관계가 성립하면 선형 결합이라고 합니다. b = x·a 1 + y·a 2 import numpy as np import numpy.linalg as la import sympy as sp import matplotlib.pyplot as plt a1=np.array([1,-2,-5]).reshape(-1,1) a2=np.array([2,5,6]).reshape(-1,1) b=np.array([7,4,-3]).reshape(-1,1) A=np.hstack([a1, a2]) A array([[ 1, 2], [-2, 5], [-5, 6]]) 위 결

리눅스의 파일 시스템

1. 파일시스템  다음은 리눅스 계열에서 기본적인 파일시스템의 계통을 나타냅니다. '/' :root directory of the entire file system hierarchy   --> /bin/ : Enssential usser command binaries   --> /boot/ : Static files of the boot loader   --> /dev/ : Device Files   --> /etc/: Host-specific system configuration (required dorectories : OPT, Xlt, SGML, XML)   --> /home/ : User home directory            --> /home/--/ -->                                      --> ...            --> /home/--/ --> ...   --> /lib/ :Essential shared libraries and kernel moudles   --> /media/ : Mount point for removable media   --> /mnt/ : Mount point for a temporarily mounted filesystem   --> /opt/ : add-on application software packages   --> /sbin/ : system binaries   --> /srv/ : Data for services produced by this system   --> /tmp/ : tempory file   --> /usr/ : (Multi-)user utilities and applications (Secodary hirearachy provied directories: BIN, INCLUDE,  LIB, LOCAL, S