Degeneration 이란?Degeneration 이란?

Posted at 2017. 12. 11. 05:09 | Posted in 카테고리 없음

아마 전자공학을 배우는 사람이거나

 

아니면, 생물을 배우는 사람이거나

 

수학을 배우는 사람이거나..

 

 

많은 경우 Degenerate라는 용어를 보게 된다.

 

그런데 사전을 찾아보면 뜻이 "축퇴" "감퇴" "타락한"이러한 단어만을 소개하고 있다.

 

 

내 경우에는 전자회로를 배울 때

 

Common Source Stage with Degeneration 을 공부하면서

 

Degeneration이라는 단어를 처음 접한 것으로 기억한다.

 

당시 Sedra 책과 Razavi? Razabi? 책을 두권 다 사서 공부를 했는데

 

Sedra에서는 분명 Common Source Stage with Degeneration이라고 나왔던 것으로 기억하고

 

라자비에서는 어떻게 쓰였는지 기억이 잘 나지 않는다.

 

하지만 Degeneration이라고 분명 나와있을 것이다.

 

 

그래서 축퇴된 common source stage 가 뭘까? 하고 한참을 사전을 뒤적거리다가

 

이내 포기하고, 'degenerate = 저항달린거'라고 공식만 외운 후 넘어간 기억이 있다.

 

 

뭐, 간략히 설명하자면

 

Degeneration은 공학에서 사용할 때

 

"오리지날과 비슷한 기능을 수행하지만,

뭔가 하자가 있는, 뭔가 능력치가 떨어지는" 이정도의 의미가 가장 옳다고 본다.

 

**참고********************************************************************

사실 원서를 읽다보면 degeneration이라고 명사로만 사용하진 않고

~~ is degenerate. 라고 쓰는 경우도 매우매우 많다.

 

이 경우의 해석 방법도 똑같다.

"오리지날과 비슷한데, 하자가 있다." 라고 해석하면 된다.

 

수학 공부를 하다보면 많이 나오는 예가

 

The triangle is degenerate. 라는 문장이 많이 나온다.

삼각형이 degenerate하다라는 건

삼각형의 빗변의 길이가 나머지 두 변의 길이를 합친 길이와 같은 경우를 말한다.

 

다시 말해, 삼각형의 세 점이 한 직선에 놓인 경우를 뜻한다.

 

근데 왜 그냥 "삼각형이 아니다"라고 하면되지

"삼각형이라고 하기엔 하자가 있다"라고 말하는 걸까?

 

왜냐하면 degenerate triangle을 사용하기 때문이다.

 

한가지 예를 들어보자.

 

만약 삼각형의 세 점이 한 직선위에 놓여서

삼각형이 그 물리적인 의미를 잃었다고 했을 때,

그 삼각형을 "하자가 있는 삼각형(degenerate triangle)"이라고 칭해보자.

 

 

그럼, 실험삼아 넓이를 구하는 공식을 그 하자가 있는 삼각형에 넣어보자.

헤론의 공식 같은걸 넣어보자는 것이다.

 

결과는?

 

된다.

 

 

코사인 2법칙이 성립하는지 보자

 

결과는?

 

된다.

 

 

뭔가.. 하자가 있는 삼각형인데, 삼각형의 많은 유용한 공식들이 성립한다는 것이다!

 

그렇다면 발상을 좀 바꿔서

"3개의 점을 이으면, 삼각형이다"라고 해버리면

 

즉, degenerate triangle도 삼각형으로 포함을 시켜버리면

그냥 점만 3개가 있으면 모든게 삼각형이기 때문에

 

어떤 삼각형을 다루는 프로그램을 만들때

"만약 삼각형의 빗변이 다른 두변의 합보다 작거나 같을 경우" 에러를 발생시켜라!

 

이런 걸 따로 안넣어줘도 된다.

그러면 프로그래머 입장에서 프로그램을 만들기가

매우 편하고(조건문을 따로 안써도 되니까),

exeption이 줄어들어 코드가 더 깔끔해진다.

 

***************************************************************************************

 

특히 degeneration은 오리지날을 쓰기에는 뭔가 불편하거나, 힘든 경우,

사용하기 쉽게 변형하거나, 상황에 맞게 타협을 한 결과로 생긴

'2% 부족한 오리지날'에 많이 사용하는 용어다.

 

아주 극단적으로 간단히 말하자면 이런 느낌인 거다.

 

만약 '오리지날'이 그래픽카드 1080Ti라면

오리지날을 'degenerate'한 것은 GTX 1050이라는 의미이다.

 

근데 실제론 이런 뉘앙스로 degeneration을 쓰는 건 좀 이상하고,

오리지날에 올 수 있는 것은 뭔가 원초적인, 근본적인 뭔가여야 한다.

 

수학적으로 보자면..

$m$을 기울기, $b$를 $y$절편이라고 했을 때,

고등학교? 중학교때 배우는 아래 식은 뭔가 하자가 있는 식이다.

 

$$y=mx +b$$

 

이 식으로는 '$x=1$이고 $y$는 실수전체'라는 직선을 표현하기에 부적합하기 때문이다.

 

그래서

 

오리지날의 식을

 

$$Ax+By+C=0$$

(오리지날은 역시 아름답다.)

이라고 보면, $x=1$과 같은 식을 표현하지 못하는

 

$$y=mx +b$$

 

는 오리지날과 비슷한 기능을 수행하지만

 

뭔가 하자가 있기 때문에

 

오리지날이 degenerate 된 식이라고 말할 수 있다.

 

 

참고로 말하자면,

 

Common Source Stage with Degeneration을 공부하는 것은

 

Degeneration을 했을 때, 즉 source 단에 저항을 붙였을 때

 

저항을 안붙였을 때보다 gain이 떨어지기 때문에

 

 

오리지날(저항을 안붙인 경우) 보다 degenerated(저항을 붙인 경우)가

 

스펙이 떨어지기 때문에, degeneration이라는 용어를 썼구나라고 보면 된다.

//

Stop And StareStop And Stare

Posted at 2017. 12. 1. 16:42 | Posted in 카테고리 없음

 

 

One republic의 히트곡 중 하나

 

Stop and Stare이다.

 

사실 이 곡은 사람에 따라 가사의 해석이 많이 갈리는 곡이다.

 

 

왜냐하면 특정 단어들 You, They, here, there과 같은 대명사들을

 

어떤 의미로 해석하냐에 따라 가사의 뜻이 완전히 달라지기 때문이다.

 

 

임산부에 대한 이야기로 보거나,

 

자살하는 사람의 이야기로 보거나,

 

아니면 한 마을을 떠나는 커플로보는

 

케이스가 대표적인 케이스 인것 같다.

 

 

구글만 뒤져봐도 많은 팬들이

 

이 가사를 가지고 서로 다른 해석을 보여주고 있다.

 

 

One Republic은 이 곡에 대해서

 

This song is about getting stuck in a rut. OneRepublic wrote on their MySpace page that "Stop and Stare" describes the common frustration of getting to a place in life where you think, "How in the world did I end up here, this isn't where I wanted to be, watching what I wanted pass me by." The band added: "The lyrics have shades of melancholy, and there is a definite emotional undercurrent running through them. If you can't tap into emotion, you're just selling catchy tunes."


이 곡은 틀에 박힌 삶에 찌들어감을 표현한 노래다. OneRepublic은 그들의 MySpace 페이지에, 'Stop and Stare'는 내가 진정으로 원했던 것이 나를 지나쳐 가는 것을 보며, "대체 내가 어쩌다 여기까지 온거지, 여긴 내가 원했던 곳이 아닌데"라는 생각이 드는, 삶의 어떤 기로에 섰을 때의 흔한 좌절감을 묘사하고 있다." 라고 적었다. 밴드는 이에 덧붙여서 "이 곡의 가사는 우울한 색을 띄고 있으며, 가사 전체에 감성을 두드리는 뚜렷한 곡조가 숨어있다. 사람의 감성에 다가가지 못한다면, 단순히 중독성 강한 곡을 파는 것 밖에 안된다." 라고 말했다.


Frontman and principal songwriter Ryan Tedder explained to Digital Spy that this song, "was written from the point of total desperation - I was beyond broke, I kept getting eviction notices and I really felt like I was watching my life passing me by."


리드 싱어이자 작곡가인 Ryan Tedder는 Digital Spy측에 다음과 같이 설명했다. "이 곡은 완전한 절망의 시점에서 쓰여졌다. 당시 나는 완전 빈털털이였고, 집에서 나가라는 퇴거 통보를 계속해서 받는 상태였으며, 내가 삶을 움직이는 게 아닌, 삶이 나를 움직이는 그런 삶을 절절하게 느끼고 있었다."


[원문 출처] : http://www.songfacts.com/detail.php?id=10013

 

라고 말했다.

 

 

내 경우에는, '현재의 나'와 '과거의 나'가 서로를 바라보는 관점에서 노래를 해석했는데, 설정은 아래와 같다.

 

과거 나는 이 마을에 초라한 밴드의 리더로서 들어왔다.


우리 밴드는 잘 나아가기 시작 했고, 나는 그것을 발판 삼아 많은 일을 벌인다.


하지만, 그렇게 정신없이 나아가다보니 하나 둘씩 문제가 터지기 시작했고


나는 완전히 빈털털이가 된다.


어느날 나는 '과거의 나'가 처음 도시에 들어와서


밴드원들과 같이 찍은 사진을 보며,


'과거의 나'가 초기에 원했던 모습과 '현재의 나'가 너무나도 동떨어진 모습에


좌절감을 느끼며

 

내가 진정으로 원한 건 무엇이었는지 다시금 물으며


'현재의 나'를 일깨우고자 한다.

 

 

해석을 어떻게 하느냐에 따라 가사의 묘미가 달라지니 각자 나름의 의미를 부여해서 해석해보는 것도 좋을 것 같다.

 


 

This town is colder now
이 도시 사람들이 이젠 차가워

I think it's sick of us
우리가 질려버렸나봐

It's time to make our move
이만 떠나야겠어

I'm shakin off the rust
녹슬어버린 그리움들을 털어내며

I've got my heart set
'현재의 나'는 결정을 해

on anywhere but here
여기만 아니면 된다면서..

I'm staring down myself, counting up the years
'현재의 나' 자신을 내려다보며, 날짜를 세어봐

Steady hands, just take the wheel
제발 손아, 운전대를 잡아줘

And every glance is killing me
근데, 사람들의 눈길 하나하나가 날 미치게 해

 

Time to make one last appeal
이제 이 말을 끝으로 그만하자

for the life I lead
'현재의 나'가 나아가는 삶을 위해서 말야

Stop and stare
멈춰서 보는데

I think I'm moving but I go nowhere
가는 게, 가는 게 아니었어

Yeah I know that everyone gets scared
알아, 사람이란 겁을 먹는 법이니까

But I've become what I can't be, oh
그래도 '과거의 나'로선 상상도 못할 사람이 됐는걸?

Stop and stare
멈춰서 보는데

You start to wonder why you're 'here' not there
'과거의 나'가 왜 저기가 아닌 '여기'에 있냐고 물어

And you'd give anything to get what's fair
'과거의 나'라면, 마땅한 것(인기, 돈)을 얻기 위해서라면 무슨 짓이든 했겠지

But fair ain't what you really need
근데, 네게 정말로 필요한 건 그게 아니잖아

Oh, can u see what I see
'과거의 나'야, 네게도 이게 보이니?

They're tryin to come back
또다시 기억들이 돌아오기 시작해

all my senses push
온 힘을 다해 그 기억들을 밀어내며

Un-tie the weight bags
그렇게 모든 짐들을 버려 버려

I never thought I could
절대 못할 줄 알았는데 말야

Steady feet, don't fail me now
제발 내 다리야, 여기까지 왔는데 실망시키지 말아줘

I'm gonna run till you can't walk
'과거의 나'가 쫒아오지 못할 때까지 달아날거니까

But something pulls my focus out
근데 또 '현재의 나'의 눈엔 뭔가가 걸리고..

And I'm standing down
그렇게 '현재의 나'는 지쳐 서버려

Stop and stare
멈춰서 보는데

I think I'm moving but I go nowhere
가는 게, 가는 게 아니었어

Yeah I know that everyone gets scared
알아, 사람이란 겁을 먹는 법이니까

But I've become what I can't be, oh
그래도 '과거의 나'로선 상상도 못할 사람이 됐는걸?

Stop and stare
멈춰서 보는데

You start to wonder why you're here not there
'과거의 나'가 왜 저기가 아닌 '여기'에 있냐고 물어

And you'd give anything to get what's fair
'과거의 나'라면, 마땅한 것을 얻기 위해서라면 뭐든 하겠지

But fair ain't what you really need
근데, 네게 정말로 필요한 건 그게 아니잖아

Oh, you don't need
그런 건 필요 없어

What u need, what u need
'과거의 나'야, 네게 필요한 건, 필요한 건..

Stop and stare
멈춰서 보는데

I think I'm moving but I go nowhere
가는 게, 가는 게 아니었어

Yeah I know that everyone gets scared
알아, 사람이란 겁을 먹는 법이니까

But I've become what I can't be
그래도 '과거의 나'로선 상상도 못할 사람이 됐는걸?

Oh, do u see what I see
'과거의 나'야, 네게도 이게 보이니?

//

ㄹㄻㄴㅇㄹㄹㄻㄴㅇㄹ

Posted at 2017. 9. 22. 23:23 | Posted in 카테고리 없음

ㅁㄴㅇㄻㄴㅇㄹ

//

Feature creepFeature creep

Posted at 2017. 6. 20. 21:32 | Posted in 카테고리 없음

Feature creep은 requirements creep 또는 scope creep이라고도 불리우는데,

 

제품이나 프로젝트가 개발기간동안

 

본래 의도했던 요구사항보다

 

더욱 증가하는 경향을 말한다.

 

"기능 추가", "기능 과부하", "피쳐 크리프" 이렇게 많이 번역이 돼있는데

 

"기능의 점진적 증가", "기능의 점증" 정도가 더 낫지 않을까 생각한다.

 

feature creep(기능의 점진적 증가)

feature creep(기능의 점증)

 

점증은 너무 어려운 단어이려나..?

//

스트롭스트롭

Posted at 2017. 6. 11. 11:24 | Posted in 카테고리 없음

We are usually able only to approximate ideal programs, but that's no excuse for not trying very hard.

우리는 보통 이상적인 프로그램에 근접할 수 밖에 없다. 하지만 그것이 충분히 노력하지 않아도 된다는 변명이 될 순 없다.

//

버드맨 Birdman버드맨 Birdman

Posted at 2017. 5. 18. 18:56 | Posted in 카테고리 없음

버드맨 영화를 보면, 정말 인상깊은 구절이 나온다.

 

극중 불운한 어린시절을 보내는 여자아이에게

 

남주가 아래와 멘트를 던지는데

 

나이를 먹는 것에 대한 탄식을

 

대사 몇마디로 담아내는 점이 상당히 놀라웠다.

 

 

 

If you weren't afraid, what would you want to do to me?

만약 두렵지 않으시다면, 절 어떻게 하고 싶으신데요?

 

  I'd pull your eyes out of your head...

  네 머리통에서 눈깔을 뽑아다가..

 

 

That's sweet

참 다정도하셔라..

 

  ... and put them in my own skull...

  ... 내 머리통에(내 두개골의 눈깔구멍에) 끼워넣고선...

 

  ... and look around, so I could see the street the way i used to when I was your age.

  ... 주위를 둘러보겠어, 내가 네 나이 때 이 거리를 보던 시선으로 다시 이 거리를 볼 수 있게 말이야..

//

티스토리 수식 입력 안되는 현상티스토리 수식 입력 안되는 현상

Posted at 2017. 5. 3. 22:53 | Posted in 카테고리 없음

티스토리를 사용하는 많은 분들이 MathJax CDN을 사용하는 걸로 안다.

 

2017년 4월 30일을 기점으로 MathJax는 CDN 제공자에서 빠져나가게 됐는데

 

이에 따라 MathJax를 사용하던 분들은 아래와 같이 소스코드를 변경해줄 필요가 있다.

 

<기존의 소스코드>

 

 

<새로 고친 소스코드>

 

 

즉, 기존의

 

src=http://cdn.mathjax.org/mathjax/latest/MathJax.js <--- 이 주소를

src=https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js <-- 이 주소로 바꿔주면 된다는 거!

//

동차, Homogeneous동차, Homogeneous

Posted at 2017. 3. 17. 04:27 | Posted in 카테고리 없음

 

 

동차방정식, 균질성, 호모지니어스하다.

 

Homogeneous란 뭐지? 호모지니어스..?

 

Homogeneous란 단어는 대체 어디서 나온 말일까?

 

 

Homogeneous란 단어를 학생들이 최초로 접하는 시기는

 

아마도 대학교의 칼큘러스나 공업수학을 통해서일 것이다.

 

생김새는 아래와 같다.

 

$$a_ny^{(n)}+a_{n-1}y^{(n-1)}+\cdots +a_1y^{\prime}+a_0y=0$$

 

책에서의 설명은

 

"위 방정식의 우변이 0이 되기 때문에 호모지니어스 합니다."라고 설명한다.

 

쉽게 말해 $=0$꼴이니까 호모지니어스 하다는 것이다.

 

 

내 경우에는 공업수학을 배울 때

 

처음 호모지니어스라는 단어를 접한 것 같은데

 

상당히 당황스러웠다. 내 첫 느낌은 이랬다.

 

"뭐지? 우변이 0이면 그냥 호모지니어스?

 

뭔가.. 단어는 무지막지한데

 

고작 우변이 0인 걸 표기하려고 이런 단어를 쓰나?"

 

 

그래서 그 당시 인터넷을 뒤져본 결과

 

homogeneous equation이란

 

$f(\alpha x)=\alpha ^{n}f(x)$로 표기할 수 있는 방정식을 일컬으며

 

여기서 $n$은 이 homogeneous equation의 차수를 말한다. (알파는 0이 아님)

 

라고 돼있었다.

 

 

그래서 그 당시에 했던 생각은

 

$$f(x)=a_nx^{(n)}+a_{n-1}x^{(n-1)}+\cdots +a_1x^{\prime}+a_0x=0$$

 

으로 놓으면..

 

$f(x)=0$ 이니까

 

$f(\alpha x)=\alpha f(x) =0$ 이고

 

$f(\alpha x)=\alpha ^{2}f(x)=\alpha ^{3}f(x) = \cdots = \alpha^{n}f(x)$

 

로 표기할 수 있어서 homogeneous 이군!

 

이라고 그냥 넘어갔다.

 

 

뭐 이 정도면 착한 학생 아닌가?

 

그런데 이 설명도 나한테는 좀 부족했다.

 

대체 왜 수학자들은

 

$f(\alpha x)=\alpha ^{n}f(x)$ 로 표기할 수 있을 때

 

homogeneous라고 했을까?

 

homogeneous는 균질, 동일과 같은 의미인데

 

왜 수학자들은 저 식에 "동일하다"라는 이름을 붙혀줬을까?

 

이유가 있지 않을까?

 

이런 생각이 뇌리에서 떠나지 않았다.

 

나중에 따로 공부를 하면서 느낀 건

 

homogeneous라는 건 정말정말 중요한 개념이구나

 

라는 사실이었다.

 

 

먼저 왜 이름을 호모지니어스라고 붙혀줬는지 알기 위해

 

한가지 예를 들어보자.

 

두 개의 변수를 가지는 어떤 함수 $f(x,y)$는 아래와 같은 식을 만족할 때

차수는 $\alpha$이며 호모지니어스하다고 말한다.

 

$$f(tx,ty)=t^{\alpha}f(x,y)$$

 

예를 들어 $f(x,y)=x^4y^2+x^3y^3$이라면

 

$$\begin{align}f(tx,ty) & =(tx)^4(ty)^2+(tx)^3(ty)^3 \\ \\ & = t^6(x^4y^2+x^3y^3) \\ \\ & = t^6f(x,y) \end{align}$$

 

이므로 차수 6을 가지며 호모지니어스하다는 것이다.

 

 

근데, 아직도 호모지니어스하다. 동일하다라는 의미를 잘 파악하지 못하겠다.

 

이것만 해보면 된다.

 

$x$와 $y$에 "단위"를 한번 넣어보자.

 

예를 들어 $x$는 m라는 단위를 가지고, $y$도 m라는 단위를 가진다고 하자.

 

그럼 $f(x,y)$와 $f(tx,ty)$의 단위는

 

"$m^6$으로 같다"

 

만약 $f(x,y)$가 호모지니어스 하지 않다면 어떨까

 

$f(x,y)=x^3+x^2+y$라고 해보자.

 

이 식은 $$f(tx,ty)=t^{\alpha}f(x,y)$$이 안되므로 호모지니어스하지 않다.

 

또한 단위를 대입해보면 $m^3,\; m^2,\; m$ 이렇게 따로따로의 단위가 된다.

 

따라서 물리적인 단위가 다르기 때문에,

 

결과값들을 합해줄 수가 없고,

 

결론적으로 말해

 

물리적인 의미가 없어진다.

 

 

따라서 정리하면

 

호모지니어스하다는 것은

 

$f(x,y)$가 $f(tx,ty)$와 "종류가 같다", "카테고리가 같다"라는 의미에서 나온 것이다.

 

$f(x,y)$의 $x$와 $y$를 동일한 비율로 다르게 넣어주어도

 

$(x,y)=(1,1)$을 넣어주든, $(x,y)=(2,2)$를 넣어주든

 

그 결과는

 

"물리적인 의미가 같은 결과"

 

"카테고리가 같은 결과"가 나온다는 것이다.

 

 

 

 

여기서부터 의미가 확장돼서

 

$f(x,y)$가 0차수에서 호모지니어스 일 때

 

$$f(x,y)=f(1,\frac{y}{x})=g(\frac{y}{x})$$

 

이렇게 꼴을 만들어서 미분방정식을 풀 수 있으므로

 

상수계수를 가지는 미분방정식이 호모지니어스하면

 

저 꼴로 변형해서 "풀수 있다"라는 결과가 된 것이다.

 

 

또한 호모지니어스는

 

선형대수에서 solution space를 의미하며

 

사영에서는 homogeneous coordinates라는 개념으로 확장된다.

 

이것은 선형대수와 사영분야를 공부하면 알 수 있는 내용이므로

 

다루지 않기로 한다.

//

선형성, Linearity선형성, Linearity

Posted at 2017. 3. 17. 03:17 | Posted in 카테고리 없음

 

 

선형성이란 건 대체 뭘까.

 

 

공학분야를 공부하다 보면 선형성(linearity)이라는 말이 자주 나온다.

 

신호쪽에서 Linear Time Invariant System(줄여서 LTI 시스템)을 공부할 때라든지

 

선형대수에서 Linear Transform (선형변환)을 배울 때라든지 등등.

 

 

 

 

그 때마다 어김없이 등장하는 것이

 

"선형성을 만족한다는 것은 아래의 두 조건을 만족한다는 것이다"

 

$$\begin{align} & (i)\;f(\mathbf{x+y})=f(\mathbf{x})+f(\mathbf{y}) \\ \\ & (ii)\; f(k\mathbf{x})=kf(\mathbf{x})\end{align}$$

 

그러면서 한마디가 더 붙는다. (i) 는 additivity 성질이며, (ii)는 homogeneity 성질이라고.

 

 

 

그런데 사실 의문이 든다.

 

"선형성은 선을 나타내는 거 아닌가? 왜 갑자기 뜬금없이 수식이 나와?"

 

 

 

선형성은 수학 및 공학에서 여러가지 의미로 사용된다.

 

 

우리가 처음으로 접하는 선형이라는 단어는

 

아마도 고등학교(?) 시절 접하는 선형 함수일 것이다.

 

$y=x+1$ 은 선형 함수라고 하면서 배운다.

 

이 때의 선형의 의미는 "차수가 1 이하인 다항식"정도 일 것이다.

 

 

그런데, "차수가 1 이하인 다항식"은

 

그래프 상에 "직선", "선"을 그리기 때문에

 

마치, "선형함수는 직선함수"

 

"선형이란 마치 선을 그리는 무엇"과 같은 관념이 생기나보다.

 

 

그래서 맨 처음 선형성이라는 것을 배울 때

 

"$f(x)=x+1$ 은 선형함수이니까. 선형성을 가지겠지?"라며

 

$$\begin{align} & (i)\;f(\mathbf{x+y})=f(\mathbf{x})+f(\mathbf{y}) \\ \\ & (ii)\; f(k\mathbf{x})=kf(\mathbf{x})\end{align}$$

 

위 식에 대입한 후, "뭐야 왜 안돼?"라고 따지는 "나 같은" 사람도 있을 것이다.

 

 

하지만 공학에서의 "선형성"은 "선형적인 비례"라는 의미가 강하다.

 

위의 $f(x)=x+1$을 예로 들자면

 

$f(x)=$출력, $x=$입력이라고 정의하고

 

출력$=$입력$+1$이라고 다시 쓰면

 

입력에 10을 주면 출력에 11이 나오니까

입력에 20을 주면 출력에 22라는 "비례하는" 값이 나오길 기대한다는 의미로 사용된다는 것이다.

 

 

그리고 이 선형적인 비례라는 개념은

"독립성"이라는 개념으로 확장된다.

 

선형성을 가지면

어떤 임의의 입력을 가해도,

하나의 입력을 가하든,

입력을 섞어서 가하든

출력은 그 입력에 비례하는 값이 나오니까

 

임의의 입력들을 "섞어서" 가해도

출력은 그 입력들에 비례하는 각각의 값들을

"섞은(합한)" 값이 나오겠지?"

라는 의미로 확장된다는 것이다.

 

 

이에 따라, 신호 및 시스템에서는

 

superpose ~위에 얹어놓다라는 의미에서

 

입력 위에 어떤 입력을 얹어서

 

선형시스템에 집어넣으면

 

각 입력에 대한 출력을 얹어놓은 값이 나온다라고 해서

 

$$\mathbf{if}\; y_1=f(x_1)\;\mathbf{and}\;y_2=f(x_2)\;\mathbf{then}\; f(x_1+x_2)=y_1+y_2$$

 

이므로 superposition principle이 성립한다라고 하면서,

 

선형성을 가지면 superposition을 가진다라고 배우게 되며,

 

실공간에서는 연속이고 superposition이면 선형성을 가지지만

 

복소공간에서는 $f(a+bi)=a$ 일 때

 

$f(0+1\cdot i)=f(i)=0$ 이므로

 

$f(-i\cdot i)=f(1)=1\neq -if(i)=-i\cdot 0=0$

($f(\alpha x)=\alpha f(x)$ : homogeneity 성질)

 

homogeneity를 만족하지 않아

 

Superposition을 가진다고 해서 반드시 선형성을 가지진 않는다고 배운다.

 

 

양자역학에서는 이 superposition이라는 의미가 조금 다른 의미로 사용되는데..

 

이렇게 꼬리에 꼬리를 물고 설명하게 되면 글이 너무 길어지므로

 

이 정도에서 멈추기로 하자.

 

 

 

정리하면

 

학창시절에 배운 선형함수에서의 선형은

1차 이하의 다항식을 그래프로 나타낼 때,

선형으로 나타나기 때문에 정의된 용어라면,

 

대학교시절부터 배우는 선형성은

선형변환(선형대수에서 나오는 개념)을 나타내기 위한

비례관계를 말한다는 것이다.

(사실 비례라는 단어 하나로 정의하기에는 무리가 있지만

 간단히 이해하자면 이렇다.)

 

 

그러면 또 의문을 표하는 경우가 생긴다.

 

"아니 대학교 1학년 때, 칼큘러스에서 linear, homogeneous ordinary differential equations를 배우는데

 

여기서 linear는 뭐죠?"

 

아마 많은 학생들이 의문을 품을 것이다.

 

이걸 선형 동차 미분방정식(?) 이런 용어로 부르는데

(상수계수를 가진다고 가정하자)

 

$$a_ny^{n}+a_{n-1}y^{n-1}+\cdots +a_1y^{\prime}+a_0y=0$$

 

이렇게 생긴 놈이다.

 

앞에서도 이미 말했으니까

 

"아니 이거 직선형태의 함수가 아닌데 왜 linear냐고요"

 

라고 따지지말자.

 

"이건 선형대수의 선형변환이라는 아이디어 때문에"

"linear"라는 이름이 붙은 식이다.

 

이것은 선형대수학을 안배운 사람이라면

왜 linear라고 하는지 확 와닿지 않는 개념이기 때문에

자세한 설명은 선형대수학의 선형변환을 참조하길 바란다.

 

아무튼 중요한 건, 선형성이 "비례"의 느낌을 많이 갖는다는 것이다.

 

 

 

 

 

 

 

//

Color is life, for a world without colors appears to us as dead.Color is life, for a world without colors appears to us as dead.

Posted at 2017. 3. 16. 06:40 | Posted in 카테고리 없음

Color is life, for a world without colors appears to us as dead. Colors are primordial ideas, children of the aborginal colorless light and its counterpart, colorless darkness. As flame begets light, so light engenders colors. Colors are the children of light, and light is their mother. Light, that first phenomenon of the world, reveals to us the spirit and living soul of the world through colors. - Johannes Itten (1888-1967)

 

색은 삶이며, 색이 없는 세상은 죽은 것처럼 보인다. 색은 태초적 관념이며, [최초의 무색 빛]과, 그것의 짝인 [최초의 무색 어둠]의 자식이다. 불꽃이 빛을 낳듯, 빛도 색을 불러일으킨다. 색은 빛의 자식이며, 빛은 색의 부모이다. 빛은 바로 이 세상에 생긴 첫번째 현상이며, 색을 통해 우리들에게 세상의 생령과 영혼을 보여준다. - 요하네스 이텐

 

 

 

감탄이 절로 나오는, 정말정말 아름다운 글귀다.

//

The display is the computerThe display is the computer

Posted at 2017. 3. 16. 06:22 | Posted in 카테고리 없음

 

The display is the computer.

  - 젠슨 황( Nvidia 사장 )

 

 

엔비디아의 모토이다.

 

"The display is the computer"는

"디스플레이가 곧 컴퓨터이다"를 의미한다. 

 

 

이 말은 당신이 컴퓨터로 보는 것이 곧,

당신이 컴퓨터로 체험하는 모든 것임을 의미한다.

 

 

즉, 컴퓨터로 게임을 하든, 계산을 하든,

드라마를 보든, 영화를 보든,

사용자가 컴퓨터로 얻는 모든 감정과 경험은

사용자가 바라보고 있는 디스플레이로부터 얻기 때문에

디스플레이가 곧 컴퓨터라는 말이다.

 

 

 

//

Embarrassingly parallelEmbarrassingly parallel

Posted at 2017. 2. 9. 16:26 | Posted in 카테고리 없음

Peter Pacheco의 병렬 프로그래밍 책을 읽다보면

 

Embarrassingly parallel 라는 말이 나온다.

 

 

한국어로 곤란한 병렬화라고 말을 해석하는 사람들이 있지만

 

내 생각에는

 

"(병렬화를 했다고 말하기에는) 다소 부끄러운 병렬구조"이라는 말로 해석해야한다고 생각한다.

 

 

Embarrassingly parallel 라는 말의 어원은

 

"프로그래머들의 프로적인 태도"에서 나온 말이다.

 

만약 아래와 같은 A[100]이라는 배열을 0이라는 값으로 초기화하는 반복문이 있다고 하자.

 

void main ( ){

 

int A[100];

 

int i;

 

for(i=0 ; i<100 ; i++)

A[i] = 0;

 

}

 

만약, 이 초기화 반복문을

 

병렬화해야한다면

 

너무 간단하다.

 

 

내가 가지고 있는 코어의 수에 맞게

 

반복문을 쪼개서 할당해주면 되기 때문이다.

 

 

다시 말해, 내가 가지고 있는 코어의 개수가 2개라면

 

아래의 코드와 같이

 

void main ( ){

 

int A[100];

 

int i;

 

if( 첫번째 코어라면 )

for(i=0 ; i<50 ; i++)

A[i] = 0;

 

     else // 두번째 코어라면

for(i=50 ; i<100 ; i++)

A[i] = 0;

}

 

A[0]~A[49]는 첫번째 코어에서

 

A[50]~A[99]는 두번째 코어에서 초기화를 해주도록

 

"병렬화"해주면 된다는 것이다.

 

 

즉, 한눈에 봐서 병렬화하기에 너무도 손쉬운 구조이기 때문에

 

프로 프로그래머 입장에서는

 

"내가 이 코드를 병렬화했다고 자신있게 말하기에는 다소 낯뜨겁기 때문에"

 

Embarrassingly parallel 한 구조라고 말하는 것이다.

 

 

 

 

 

 

 

 

 

 

//