{"id":7562,"date":"2007-07-10T10:58:00","date_gmt":"2007-07-10T10:58:00","guid":{"rendered":"http:\/\/melotopia.net\/b\/?p=7562"},"modified":"2007-07-10T10:58:00","modified_gmt":"2007-07-10T10:58:00","slug":"%ea%b3%a0%ec%9c%a0%ea%b0%92-%ea%b3%a0%ec%9c%a0%eb%b2%a1%ed%84%b0-%ea%b5%ac%ed%95%98%ea%b8%b0","status":"publish","type":"post","link":"http:\/\/melotopia.net\/b\/?p=7562","title":{"rendered":"\uace0\uc720\uac12, \uace0\uc720\ubca1\ud130 \uad6c\ud558\uae30"},"content":{"rendered":"<div class=\"desc\">\n        \ub0b4\uac00 \uc774\uac78 \uc65c \ub9cc\ub4e4\uc5c8\uc9c0.<br \/>\n        <br \/>\n        \uc544\ubb34\ud2bc, \ubcf5\uc18c\uc218\ub85c 3\ucc28 \uc815\uc0ac\uac01\ud615 \ud589\ub82c\uc758 eigenvalue\uc640 eigenvector \ucc3e\ub294 \ud504\ub85c\uadf8\ub7a8 \uc18c\uc2a4\ub2e4. \uc0ac\uc6a9\ubc95\uc740 \uac01\uc790 \uacf5\ubd80\ud574 \ubcf4\uc2dc\uae38. \uc815 \ubaa8\ub974\uaca0\uc73c\uba74 \ub313\uae00\ub85c \ubb38\uc758\ubc14\ub78c. \uc784\uc758\uc758 n\ucc28 \ud589\ub82c\uc774\uc5c8\uc73c\uba74 \uc5b4\ub518\uac00\uc5d0 \uc62c\ub838\uc744\uc9c0\ub3c4 \ubaa8\ub974\uc9c0\ub9cc, \uadf8\ub0e5 3\ucc28 \ud589\ub82c\ub85c \uace0\uc815\ub418\uc5b4 \uc788\uc74c. \ud3ec\uc778\ud130\uac19\uc740\uac70 \uc804\ud600 \uc5c6\uc774 \uc804\ubd80 \ubcc0\uc218\ub85c\ub9cc \ub118\uaca8\uc90c. \uc5b8\uc820\uac00 \ud3ec\uc778\ud130\ub85c \ubcc0\uc218 \ub118\uaca8\uc8fc\ub294 \ud504\ub85c\uadf8\ub7a8\uc73c\ub85c \ubc14\uafb8\uace0 \uc2f6\uc74c.<br \/>\n        <br \/>\n        \ud639\uc2dc \ubc84\uadf8 \ubc1c\uacac\ud558\uac8c \ub418\uba74 \uc54c\ub824\uc8fc\uc2dc\uae30 \ubc14\ub78c.<br \/>\n        <br \/>\n        \uc0b0\uc218 \uacf5\ubd80\ud558\ub294\ub370 \ub3c4\uc6c0\uc774 \ub420\uae4c \ud558\uc5ec, \uc5f0\uad6c\uc640 \uad00\ub828\ub41c \ubd80\ubd84\uc744 \ube7c\uace0 \uc62c\ub9bc. \ube7c\ub294 \uacfc\uc815\uc5d0\uc11c \ubb54\uac00 \uc774\uc0c1\ud574\uc9c8\uc218\ub3c4 \uc788\uc74c.<br \/>\n        <br \/>\n        gcc\ub85c \ucef4\ud30c\uc77c \ud560 \ub54c\ub294 -lm(link math)\uc635\uc158\uc774 \ud544\uc694\ud568.<br \/>\n        <br \/>\n        \ub77c\uc774\uc13c\uc2a4\ub294 GPL\uc774\uba70, \ud2b9\ubcc4\ud788 \ubb38\uc758\ud574\ub3c4 \uc88b\uc74c.<br \/>\n        <br \/>\n<span style=\"font-weight: bold;\"><br \/>\n         *\ucd5c\uc801\ud654\uac19\uc740\uac70 \uc804\ud600 \uc2e0\uacbd\uc4f0\uc9c0 \uc54a\uc558\uc74c.<br \/>\n        <\/span><\/p>\n<p class=\"moreless_fold\" id=\"more348_0\">\n<span onclick=\"toggleMoreLess(this, '348_0','eigenvector.h','eigenvector.h'); return false;\" style=\"cursor: pointer;\"><br \/>\n          eigenvector.h<br \/>\n         <\/span>\n<\/p>\n<div class=\"moreless_content\" id=\"content348_0\" style=\"display: none;\">\n         \/\/This source is under GNU Public License.<br \/>\n         <br \/>\n         \/\/Copyright @ Kee-Hwan Nam, all right reserved.<br \/>\n         <br \/>\n         \/\/You can use this source under GPL, or after asking to me.<br \/>\n         <br \/>\n         \/\/email : snowall a_t gmail d_o_t com (a_t = @ \/ d_o_t = . )<\/p>\n<p>         #include<math.h><br \/>\n         <br \/>\n         #define PI (3.141592653589793)<br \/>\n         <br \/>\n         #define TRUE 1 \/\/True<br \/>\n         <br \/>\n         #define FALSE 0 \/\/False<br \/>\n         <br \/>\n         #define DEBUG<\/p>\n<p>         \/\/the type definition of complex number<br \/>\n         <br \/>\n         typedef struct {<br \/>\n         <br \/>\n         double x;<br \/>\n         <br \/>\n         double y;<br \/>\n         <br \/>\n         } cnumber;<\/p>\n<p>         \/\/the type definition of 3&#215;3 matrix with complex elements<br \/>\n         <br \/>\n         typedef struct {<br \/>\n         <br \/>\n         cnumber a[3][3];<br \/>\n         <br \/>\n         } matrix;<\/p>\n<p>         \/\/the type definition of coefficient for dealing the characteristic equation of the 3&#215;3 matrix<br \/>\n         <br \/>\n         typedef struct {<br \/>\n         <br \/>\n         cnumber a;<br \/>\n         <br \/>\n         cnumber b;<br \/>\n         <br \/>\n         cnumber c;<br \/>\n         <br \/>\n         cnumber d;<br \/>\n         <br \/>\n         } coeff;<\/p>\n<p>         \/\/the type definition of roots of cubic equations<br \/>\n         <br \/>\n         typedef struct {<br \/>\n         <br \/>\n         cnumber a[3];<br \/>\n         <br \/>\n         \/\/    cnumber b;<br \/>\n         <br \/>\n         \/\/    cnumber c;<br \/>\n         <br \/>\n         } cbeqrt;<\/p>\n<p>         \/\/the type definitions of vectors<br \/>\n         <br \/>\n         typedef struct {<br \/>\n         <br \/>\n         cnumber x;<br \/>\n         <br \/>\n         cnumber y;<br \/>\n         <br \/>\n         cnumber z;<br \/>\n         <br \/>\n         } vector;<\/p>\n<p>\n         \/\/function declarifications<br \/>\n         <br \/>\n         cbeqrt eigenvalue_find(matrix mix);<br \/>\n         <br \/>\n         cbeqrt find_cubic(coeff x);<br \/>\n         <br \/>\n         cnumber add_cnum(cnumber z, cnumber w);<br \/>\n         <br \/>\n         cnumber arccos_cnum(cnumber y);<br \/>\n         <br \/>\n         cnumber cbrt_cnum(cnumber z);<br \/>\n         <br \/>\n         cnumber conj_cnum(cnumber z);<br \/>\n         <br \/>\n         double alpha, double beta, int evnumber);<br \/>\n         <br \/>\n         cnumber div_cnum(cnumber z, cnumber w);<br \/>\n         <br \/>\n         cnumber dotproduct(vector a, vector b);<br \/>\n         <br \/>\n         cnumber log_cnum(cnumber y);<br \/>\n         <br \/>\n         cnumber minus_cnum(cnumber z);<br \/>\n         <br \/>\n         cnumber mul_cnum(cnumber z, cnumber w);<br \/>\n         <br \/>\n         cnumber pow_cnum(cnumber z,double k);<br \/>\n         <br \/>\n         cnumber sqrt_cnum(cnumber z);<br \/>\n         <br \/>\n         cnumber sub_cnum(cnumber z, cnumber w);<br \/>\n         <br \/>\n         cnumber det_matrix(matrix m);<br \/>\n         <br \/>\n         coeff character_matrix(matrix m);<br \/>\n         <br \/>\n         double absolute(double a);<br \/>\n         <br \/>\n         double arg_cnum(cnumber z);<br \/>\n         <br \/>\n         double norm_cnum(cnumber z);<br \/>\n         <br \/>\n         double norm_vec(vector a);<br \/>\n         <br \/>\n         int equality(cnumber a,cnumber b);<br \/>\n         <br \/>\n         matrix echelon(matrix);<br \/>\n         <br \/>\n         matrix eigenvectoreq(matrix m,cbeqrt z,int k);<br \/>\n         <br \/>\n         vector add_vec(vector a, vector b);<br \/>\n         <br \/>\n         vector col_vector(matrix m,int i);<br \/>\n         <br \/>\n         vector eigenvector_find(matrix mix,int i,int j);<br \/>\n         <br \/>\n         vector equationsystem(matrix m,int k);<br \/>\n         <br \/>\n         vector normalize(vector);<br \/>\n         <br \/>\n         vector opposite_vec(vector a);<br \/>\n         <br \/>\n         vector row_vector(matrix m,int i);<br \/>\n         <br \/>\n         vector scalar_mul_vec(cnumber a, vector b);<br \/>\n         <br \/>\n         vector sub_vec(vector a, vector b);<br \/>\n         <br \/>\n         void printing_cnum(cnumber c);<br \/>\n         <br \/>\n         void printing_matrix(matrix);<br \/>\n         <br \/>\n         void printing_vec(vector v);<\/p>\n<p>\n         \/\/The absolute value of the given real number a<br \/>\n         <br \/>\n         double absolute(double a){<br \/>\n         <br \/>\n         if(a>0){<br \/>\n         <br \/>\n         return a;<br \/>\n         <br \/>\n         }<br \/>\n         <br \/>\n         else if(a<0){\n         <br \/>\n         return -a;<br \/>\n         <br \/>\n         }<br \/>\n         <br \/>\n         else if(a=0){<br \/>\n         <br \/>\n         return a;<br \/>\n         <br \/>\n         }<br \/>\n         <br \/>\n         }<\/p>\n<p>         \/\/Following definitions are the functions for dealing complex numbers, complex vectors, and complex matrices.<br \/>\n         <br \/>\n         \/\/The addition of two complex numbers z and w<br \/>\n         <br \/>\n         cnumber add_cnum(cnumber z, cnumber w){<br \/>\n         <br \/>\n         cnumber a={z.x+w.x,z.y+w.y};<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\nadd_cnum\\n&#8221;);printing_cnum(z);printing_cnum(w);printing_cnum(a);printf(&#8220;\\n&#8221;);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         return a;<br \/>\n         <br \/>\n         }<\/p>\n<p>         \/\/The negative number of the given complex number z<br \/>\n         <br \/>\n         cnumber minus_cnum(cnumber z){<br \/>\n         <br \/>\n         z.x=-z.x;<br \/>\n         <br \/>\n         z.y=-z.y;<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\nminus_cnum\\n&#8221;);printing_cnum(z);printf(&#8220;\\n&#8221;);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         return z;<br \/>\n         <br \/>\n         }<\/p>\n<p>         \/\/Subtracting w from z<br \/>\n         <br \/>\n         cnumber sub_cnum(cnumber z, cnumber w){<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\nsub_cnum\\n&#8221;);printing_cnum(z);printing_cnum(w);printf(&#8220;\\n&#8221;);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         return add_cnum(z,minus_cnum(w));<br \/>\n         <br \/>\n         }<\/p>\n<p>         \/\/Multiplication of z by w<br \/>\n         <br \/>\n         cnumber mul_cnum(cnumber z, cnumber w){<br \/>\n         <br \/>\n         cnumber a;<br \/>\n         <br \/>\n         a.x=z.x*w.x-z.y*w.y;<br \/>\n         <br \/>\n         a.y=z.x*w.y+z.y*w.x;<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\nmul_cnum\\n&#8221;);printing_cnum(z);printing_cnum(w);printing_cnum(a);printf(&#8220;\\n&#8221;);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         return a;<br \/>\n         <br \/>\n         }<\/p>\n<p>         \/\/Complex conjugate of the given complex number z<br \/>\n         <br \/>\n         cnumber conj_cnum(cnumber z){<br \/>\n         <br \/>\n         cnumber a;<br \/>\n         <br \/>\n         a.x=z.x;<br \/>\n         <br \/>\n         a.y=-z.y;<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\nconj_cnum\\n&#8221;);printing_cnum(z);printing_cnum(a);printf(&#8220;\\n&#8221;);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         return a;<br \/>\n         <br \/>\n         }<\/p>\n<p>         \/\/The norm of the given complex number z<br \/>\n         <br \/>\n         double norm_cnum(cnumber z){<br \/>\n         <br \/>\n         double a;<br \/>\n         <br \/>\n         a=sqrt(z.x*z.x+z.y*z.y);<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\nnorm_cnum\\n&#8221;);printing_cnum(z);printf(&#8220;%lf&#8221;,a);printf(&#8220;\\n&#8221;);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         return a;<br \/>\n         <br \/>\n         }<\/p>\n<p>         \/\/z is divided by w<br \/>\n         <br \/>\n         cnumber div_cnum(cnumber z, cnumber w){<br \/>\n         <br \/>\n         cnumber a;<br \/>\n         <br \/>\n         a=mul_cnum(z,conj_cnum(w));<br \/>\n         <br \/>\n         a.x=a.x\/(norm_cnum(w)*norm_cnum(w));<br \/>\n         <br \/>\n         a.y=a.y\/(norm_cnum(w)*norm_cnum(w));<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\ndiv_cnum\\n&#8221;);printing_cnum(z);printing_cnum(w);printing_cnum(a);printf(&#8220;\\n&#8221;);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         return a;<br \/>\n         <br \/>\n         }<\/p>\n<p>         \/*<br \/>\n         <br \/>\n         \/\/Real part of the given complex number z<br \/>\n         <br \/>\n         double re_cnum(cnumber z){<br \/>\n         <br \/>\n         double a;<br \/>\n         <br \/>\n         a=z.x;<br \/>\n         <br \/>\n         return a;<br \/>\n         <br \/>\n         }<\/p>\n<p>         \/\/Imaginary part of the given complex number z<br \/>\n         <br \/>\n         double im_cnum(cnumber z){<br \/>\n         <br \/>\n         double a;<br \/>\n         <br \/>\n         a=z.y;<br \/>\n         <br \/>\n         return a;<br \/>\n         <br \/>\n         }<\/p>\n<p>\n         \/\/complex phase transformation of the given complex number z by k<br \/>\n         <br \/>\n         cnumber phase_cnum(cnumber z, double k){<br \/>\n         <br \/>\n         cnumber x={cos(k),sin(k)};<br \/>\n         <br \/>\n         cnumber m=mul_cnum(z,x);<br \/>\n         <br \/>\n         return m;<br \/>\n         <br \/>\n         }<br \/>\n         <br \/>\n         *\/<\/p>\n<p>         \/\/The argument of the given complex number z<br \/>\n         <br \/>\n         double arg_cnum(cnumber z){<br \/>\n         <br \/>\n         double x=atan2(z.y,z.x);<br \/>\n         <br \/>\n         return x;<\/p>\n<p>         }<\/p>\n<p>         cnumber log_cnum(cnumber y){<br \/>\n         <br \/>\n         cnumber a;<br \/>\n         <br \/>\n         a.x=log(norm_cnum(y));<br \/>\n         <br \/>\n         a.y=arg_cnum(y);<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\nlog_cnum\\n&#8221;);printing_cnum(y);printing_cnum(a);printf(&#8220;%lflf,%lf\\n&#8221;,a.x,a.y);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         return a;<br \/>\n         <br \/>\n         }<\/p>\n<p>         cnumber arccos_cnum(cnumber y){<br \/>\n         <br \/>\n         cnumber a;<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\narccos_cnum_start\\n&#8221;);printing_cnum(y);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         cnumber minus_image={0.0,-1.0};<br \/>\n         <br \/>\n         cnumber one={1.0,0.0};<br \/>\n         <br \/>\n         a=mul_cnum(minus_image,log_cnum(add_cnum(y,sqrt_cnum(sub_cnum(mul_cnum(y,y),one)))));<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\narccos_cnum\\n&#8221;);printing_cnum(y);printing_cnum(a);printf(&#8220;\\n&#8221;);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         return a;<br \/>\n         <br \/>\n         }<\/p>\n<p>         \/\/complex square-root<br \/>\n         <br \/>\n         cnumber sqrt_cnum(cnumber z){<br \/>\n         <br \/>\n         cnumber a;<br \/>\n         <br \/>\n         a.x=sqrt(norm_cnum(z))*cos(arg_cnum(z)\/2.0);<br \/>\n         <br \/>\n         a.y=sqrt(norm_cnum(z))*sin(arg_cnum(z)\/2.0);<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\nsqrt_cnum\\n&#8221;);printing_cnum(z);printing_cnum(a);printf(&#8220;\\n&#8221;);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         return a;<br \/>\n         <br \/>\n         }<\/p>\n<p>         cnumber double_sqrt_cnum(cnumber z,int i){<br \/>\n         <br \/>\n         while(i&#8211;){<br \/>\n         <br \/>\n         z=sqrt_cnum(z);<br \/>\n         <br \/>\n         }<br \/>\n         <br \/>\n         return z;<br \/>\n         <br \/>\n         }<br \/>\n         <br \/>\n         \/\/complex cubic-root<br \/>\n         <br \/>\n         cnumber cbrt_cnum(cnumber z){<\/p>\n<p>         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\ncbrt_cnum\\n&#8221;);printing_cnum(z);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         cnumber w;<br \/>\n         <br \/>\n         z=sqrt_cnum(sqrt_cnum(z));<br \/>\n         <br \/>\n         z=mul_cnum(z,double_sqrt_cnum(z,2));<br \/>\n         <br \/>\n         z=mul_cnum(z,double_sqrt_cnum(z,4));<br \/>\n         <br \/>\n         z=mul_cnum(z,double_sqrt_cnum(z,8));<br \/>\n         <br \/>\n         z=mul_cnum(z,double_sqrt_cnum(z,16));<br \/>\n         <br \/>\n         z=mul_cnum(z,double_sqrt_cnum(z,32));<br \/>\n         <br \/>\n         z=mul_cnum(z,double_sqrt_cnum(z,64));<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\ncbrt_cnum\\n&#8221;);printing_cnum(z);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         return z;<br \/>\n         <br \/>\n         }<br \/>\n         <br \/>\n         \/*<br \/>\n         <br \/>\n         \/\/complex power function<br \/>\n         <br \/>\n         cnumber pow_cnum(cnumber z,double k){<br \/>\n         <br \/>\n         cnumber a;<br \/>\n         <br \/>\n         a.x=pow(norm_cnum(z),k)*cos(arg_cnum(z)*k);<br \/>\n         <br \/>\n         a.y=pow(norm_cnum(z),k)*sin(arg_cnum(z)*k);<br \/>\n         <br \/>\n         return a;<br \/>\n         <br \/>\n         }<br \/>\n         <br \/>\n         *\/<br \/>\n         <br \/>\n         \/*<br \/>\n         <br \/>\n         \/\/equality<br \/>\n         <br \/>\n         int equality(cnumber a,cnumber b){<br \/>\n         <br \/>\n         if((a.x==b.x)||(a.y==b.y))<br \/>\n         <br \/>\n         return TRUE;<br \/>\n         <br \/>\n         else<br \/>\n         <br \/>\n         return FALSE;<br \/>\n         <br \/>\n         }<br \/>\n         <br \/>\n         *\/<br \/>\n         <br \/>\n         \/\/Complex dot product : (a^*).b<br \/>\n         <br \/>\n         cnumber dotproduct(vector a, vector b){<br \/>\n         <br \/>\n         cnumber p;<br \/>\n         <br \/>\n         p=add_cnum(mul_cnum(conj_cnum(a.x),b.x),add_cnum(mul_cnum(conj_cnum(a.y),b.y),mul_cnum(conj_cnum(a.z),b.z)));<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\ndotproduct\\n&#8221;);printing_vec(a);printing_vec(b);printing_cnum(p);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         return p;<br \/>\n         <br \/>\n         }<\/p>\n<p>         \/\/The addition of two vectors a and b<br \/>\n         <br \/>\n         vector add_vec(vector a, vector b){<br \/>\n         <br \/>\n         vector c;<br \/>\n         <br \/>\n         c.x=add_cnum(a.x,b.x);<br \/>\n         <br \/>\n         c.y=add_cnum(a.y,b.y);<br \/>\n         <br \/>\n         c.z=add_cnum(a.z,b.z);<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\nadd_vec\\n&#8221;);printing_vec(a);printing_vec(b);printing_vec(c);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         return c;<\/p>\n<p>         }<\/p>\n<p>         \/\/The opposite vector of the given vector a<br \/>\n         <br \/>\n         vector opposite_vec(vector a){<br \/>\n         <br \/>\n         a.x=minus_cnum(a.x);<br \/>\n         <br \/>\n         a.y=minus_cnum(a.y);<br \/>\n         <br \/>\n         a.z=minus_cnum(a.z);<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\nopposite_vec\\n&#8221;);printing_vec(a);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         return a;<br \/>\n         <br \/>\n         }<\/p>\n<p>         \/\/The vector subtraction of b from a<br \/>\n         <br \/>\n         vector sub_vec(vector a, vector b){<br \/>\n         <br \/>\n         vector c;<br \/>\n         <br \/>\n         c=add_vec(a,opposite_vec(b));<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\nsub_vec\\n&#8221;);printing_vec(a);printing_vec(b);printing_vec(c);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         return c;<br \/>\n         <br \/>\n         }<\/p>\n<p>         \/\/The vector scalar multiplication of a by b<br \/>\n         <br \/>\n         vector scalar_mul_vec(cnumber a, vector b){<br \/>\n         <br \/>\n         vector c;<br \/>\n         <br \/>\n         c.x=mul_cnum(a,b.x);<br \/>\n         <br \/>\n         c.y=mul_cnum(a,b.y);<br \/>\n         <br \/>\n         c.z=mul_cnum(a,b.z);<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\nscalar_vec\\n&#8221;);printing_cnum(a);printing_vec(b);printing_vec(c);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         return c;<br \/>\n         <br \/>\n         }<\/p>\n<p>         \/\/The norm of the given vector a<br \/>\n         <br \/>\n         double norm_vec(vector a){<br \/>\n         <br \/>\n         double b;<br \/>\n         <br \/>\n         b=sqrt(norm_cnum(dotproduct(a,a)));<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\nnorm_vec\\n&#8221;);printing_vec(a);printf(&#8220;%lf&#8221;,b);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         return b;<br \/>\n         <br \/>\n         }<\/p>\n<p>         \/\/The normalzation : the unit vector with the same direction to the given vector a<br \/>\n         <br \/>\n         vector normalize(vector a){<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\nnormalize_vec1\\n&#8221;);printing_vec(a);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         cnumber norm;<br \/>\n         <br \/>\n         norm.x=1.0\/norm_vec(a);<br \/>\n         <br \/>\n         norm.y=0.0;<br \/>\n         <br \/>\n         a=scalar_mul_vec(norm,a);<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\nnormalize_vec\\n&#8221;);printing_vec(a);printing_cnum(norm);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         return a;<br \/>\n         <br \/>\n         }<\/p>\n<p>         \/\/For a given matrix m having 3 rows and 3 columns, finding the coefficients of the characteristic equation of m<br \/>\n         <br \/>\n         \/\/k.a, k.b, k.c, k.d are the coefficients of cubic term, square term, linear term, constant term respectively.<br \/>\n         <br \/>\n         coeff character_matrix(matrix m){<br \/>\n         <br \/>\n         cnumber minus_one={-1.0,0.0};<\/p>\n<p>         coeff k;<br \/>\n         <br \/>\n         k.d=det_matrix(m);<br \/>\n         <br \/>\n         k.b=add_cnum(add_cnum(m.a[0][0],m.a[1][1]),m.a[2][2]); \/\/trace of matrix m<br \/>\n         <br \/>\n         k.c=minus_cnum(mul_cnum(conj_cnum(k.b),k.d));<br \/>\n         <br \/>\n         k.a=minus_one;<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\ncharacter_matrix\\n&#8221;);printing_matrix(m);printing_cnum(k.a);printing_cnum(k.b);printing_cnum(k.c);printing_cnum(k.d);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         return k;<br \/>\n         <br \/>\n         }<\/p>\n<p>         cnumber det_matrix(matrix m){<br \/>\n         <br \/>\n         cnumber a[6],b;<br \/>\n         <br \/>\n         a[0]=mul_cnum(mul_cnum(m.a[0][0],m.a[1][1]),m.a[2][2]);<br \/>\n         <br \/>\n         a[1]=mul_cnum(mul_cnum(m.a[1][0],m.a[2][1]),m.a[0][2]);<br \/>\n         <br \/>\n         a[2]=mul_cnum(mul_cnum(m.a[0][1],m.a[1][2]),m.a[2][0]);<br \/>\n         <br \/>\n         a[3]=minus_cnum(mul_cnum(mul_cnum(m.a[2][0],m.a[1][1]),m.a[0][2]));<br \/>\n         <br \/>\n         a[4]=minus_cnum(mul_cnum(mul_cnum(m.a[1][0],m.a[0][1]),m.a[2][2]));<br \/>\n         <br \/>\n         a[5]=minus_cnum(mul_cnum(mul_cnum(m.a[2][1],m.a[1][2]),m.a[0][0]));<br \/>\n         <br \/>\n         int i;<br \/>\n         <br \/>\n         b=add_cnum(add_cnum(add_cnum(a[0],a[1]),add_cnum(a[2],a[3])),add_cnum(a[4],a[5]));<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\ndet_matrix\\n&#8221;);printing_matrix(m);printing_cnum(b);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         return b;<br \/>\n         <br \/>\n         }<\/p>\n<p>         \/\/finding the roots of the given cubic equation<br \/>\n         <br \/>\n         cbeqrt find_cubic(coeff x){<br \/>\n         <br \/>\n         cnumber one={1.0,0.0};<br \/>\n         <br \/>\n         cnumber two={2.0,0.0};<br \/>\n         <br \/>\n         cnumber three={3.0,0.0};<br \/>\n         <br \/>\n         cnumber two_over_27={2.0\/27.0,0.0};<br \/>\n         <br \/>\n         cnumber twentyseven={27.0,0.0};<br \/>\n         <br \/>\n         cnumber imaginary={0.0,1.0};<br \/>\n         <br \/>\n         cnumber twelve={12.0,0.0};<br \/>\n         <br \/>\n         cnumber eightyone={81.0,0.0};<br \/>\n         <br \/>\n         cnumber fiftyfour={54.0,0.0};<br \/>\n         <br \/>\n         cnumber thirtysix={36.0,0.0};<br \/>\n         <br \/>\n         cnumber eight={8.0,0.0};<br \/>\n         <br \/>\n         cnumber one08={108.0,0.0};<br \/>\n         <br \/>\n         cnumber six={6.0,0.0};<br \/>\n         <br \/>\n         cbeqrt z;<br \/>\n         <br \/>\n         cnumber p,q,D;<br \/>\n         <br \/>\n         cnumber u,v;<br \/>\n         <br \/>\n         cnumber y1,y2,y3;<\/p>\n<p>         \/\/    printing_cnum(x.a);printing_cnum(x.b);printing_cnum(x.c);printing_cnum(x.d);<br \/>\n         <br \/>\n         D=add_cnum(add_cnum(add_cnum(mul_cnum(mul_cnum(mul_cnum(x.c,x.c),x.c),minus_cnum(twelve)),mul_cnum(mul_cnum(mul_cnum(x.b,x.b),mul_cnum(x.c,x.c)),minus_cnum(three))),add_cnum(mul_cnum(mul_cnum(x.c,mul_cnum(x.b,x.d)),fiftyfour),mul_cnum(mul_cnum(mul_cnum(x.b,x.b),x.b),mul_cnum(twelve,x.d)))),mul_cnum(eightyone,mul_cnum(x.d,x.d)));<br \/>\n         <br \/>\n         u=div_cnum(cbrt_cnum(add_cnum(add_cnum(mul_cnum(mul_cnum(x.c,six),mul_cnum(x.b,six)),mul_cnum(one08,x.d)),add_cnum(mul_cnum(eight,mul_cnum(mul_cnum(x.b,x.b),x.b)),mul_cnum(twelve,sqrt_cnum(D))))),six);<br \/>\n         <br \/>\n         v=div_cnum(add_cnum(div_cnum(x.c,three),mul_cnum(div_cnum(x.b,three),div_cnum(x.b,three))),u);<\/p>\n<p>         y1=add_cnum(u,v);<br \/>\n         <br \/>\n         y2=add_cnum(minus_cnum(div_cnum(y1,two)),mul_cnum(mul_cnum(imaginary,div_cnum(sub_cnum(u,v),two)),sqrt_cnum(three)));<br \/>\n         <br \/>\n         y3=sub_cnum(minus_cnum(div_cnum(y1,two)),mul_cnum(mul_cnum(imaginary,div_cnum(sub_cnum(u,v),two)),sqrt_cnum(three)));<\/p>\n<p>         z.a[0]=add_cnum(y1,div_cnum(x.b,three));<br \/>\n         <br \/>\n         z.a[1]=add_cnum(y2,div_cnum(x.b,three));<br \/>\n         <br \/>\n         z.a[2]=add_cnum(y3,div_cnum(x.b,three));<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\nfind_cubic\\n&#8221;);printing_cnum(x.a);printing_cnum(x.b);printing_cnum(x.c);printing_cnum(x.d);printing_cnum(D);printing_cnum(u);printing_cnum(v);printing_cnum(z.a[0]);printing_cnum(z.a[1]);printing_cnum(z.a[2]);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         return z;<br \/>\n         <br \/>\n         \/\/    printf(&#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-\\n&#8221;);<br \/>\n         <br \/>\n         }<\/p>\n<p>         \/\/finding the eivencector equation : m -> m-ik<br \/>\n         <br \/>\n         matrix eigenvectoreq(matrix m,cbeqrt z,int k){<br \/>\n         <br \/>\n         \/\/    cnumber one={1.0,0.0};<br \/>\n         <br \/>\n         m.a[0][0]=sub_cnum(m.a[0][0],z.a[k]);<br \/>\n         <br \/>\n         m.a[1][1]=sub_cnum(m.a[1][1],z.a[k]);<br \/>\n         <br \/>\n         m.a[2][2]=sub_cnum(m.a[2][2],z.a[k]);<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\neigenvectoreq\\n&#8221;);printing_matrix(m);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         return m;<br \/>\n         <br \/>\n         }<\/p>\n<p>         \/\/making the given matrix echelon form<br \/>\n         <br \/>\n         matrix echelon(matrix m){<br \/>\n         <br \/>\n         int i,j;<br \/>\n         <br \/>\n         cnumber k;<br \/>\n         <br \/>\n         for(i=1;i<3;i++){\n         <br \/>\n         k=m.a[i][0];<br \/>\n         <br \/>\n         for(j=0;j<3;j++){\n         <br \/>\n         m.a[i][j]=sub_cnum(m.a[i][j],div_cnum(mul_cnum(m.a[0][j],k),m.a[0][0]));<br \/>\n         <br \/>\n         }<br \/>\n         <br \/>\n         }<br \/>\n         <br \/>\n         for(i=2;i<3;i++){\n         <br \/>\n         k=m.a[i][1];<br \/>\n         <br \/>\n         for(j=1;j<3;j++){\n         <br \/>\n         m.a[i][j]=sub_cnum(m.a[i][j],div_cnum(mul_cnum(m.a[1][j],k),m.a[1][1]));<br \/>\n         <br \/>\n         }<br \/>\n         <br \/>\n         }<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\nechelon\\n&#8221;);printing_matrix(m);<br \/>\n         <br \/>\n         #endif<\/p>\n<p>         return m;<br \/>\n         <br \/>\n         }<\/p>\n<p>         \/\/solving the matrix equation mx=0<br \/>\n         <br \/>\n         vector equationsystem(matrix m,int k){<br \/>\n         <br \/>\n         \/\/printing_matrix(m);<br \/>\n         <br \/>\n         cnumber zero={0.0,0.0};<br \/>\n         <br \/>\n         cnumber one={1.0,0.0};<br \/>\n         <br \/>\n         cnumber image={0.0,1.0};<br \/>\n         <br \/>\n         cnumber a,b,c,d,e,f,g,h,i,j;<br \/>\n         <br \/>\n         vector v;<\/p>\n<p>         \/\/    m=echelon(m);<br \/>\n         <br \/>\n         a=m.a[0][0];<br \/>\n         <br \/>\n         b=m.a[0][1];<br \/>\n         <br \/>\n         c=m.a[0][2];<\/p>\n<p>         d=m.a[1][0];<br \/>\n         <br \/>\n         e=m.a[1][1];<br \/>\n         <br \/>\n         f=m.a[1][2];<\/p>\n<p>         h=m.a[2][0];<br \/>\n         <br \/>\n         j=m.a[2][1];<br \/>\n         <br \/>\n         i=m.a[2][2];<\/p>\n<p>         \/*    if(norm_cnum(e)==norm_cnum(zero)) \/\/degenerated case of 1 and 2<br \/>\n         <br \/>\n         {<br \/>\n         <br \/>\n         v.z=zero;<br \/>\n         <br \/>\n         v.y=one;<br \/>\n         <br \/>\n         v.x=minus_cnum(div_cnum(b,a));<br \/>\n         <br \/>\n         }<br \/>\n         <br \/>\n         else\/\/degenerated case of 1 and 3<br \/>\n         <br \/>\n         {<br \/>\n         <br \/>\n         v.z=one;<br \/>\n         <br \/>\n         v.y=minus_cnum(div_cnum(f,e));<br \/>\n         <br \/>\n         v.x=minus_cnum(div_cnum(add_cnum(mul_cnum(v.y,b),c),a));<br \/>\n         <br \/>\n         }<br \/>\n         <br \/>\n         *\/<br \/>\n         <br \/>\n         v.x=sub_cnum(mul_cnum(m.a[1][2],m.a[0][1]),mul_cnum(m.a[1][1],m.a[0][2]));<br \/>\n         <br \/>\n         v.y=sub_cnum(mul_cnum(m.a[1][0],m.a[0][2]),mul_cnum(m.a[0][0],m.a[1][2]));<br \/>\n         <br \/>\n         v.z=sub_cnum(mul_cnum(m.a[0][0],m.a[1][1]),mul_cnum(m.a[0][1],m.a[1][0]));<\/p>\n<p>         \/\/printing_matrix(m);<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\nequationsystem\\n&#8221;);printing_vec(v);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         return normalize(v);<br \/>\n         <br \/>\n         }<\/p>\n<p>         \/\/finding the eigenvalues of the given matrix m<br \/>\n         <br \/>\n         \/\/now, it is set that output is always (1,1,1)<br \/>\n         <br \/>\n         cbeqrt eigenvalue_find(matrix m){<br \/>\n         <br \/>\n         coeff abcd=character_matrix(m);<br \/>\n         <br \/>\n         cbeqrt z=find_cubic(abcd);<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\neigenvalue_find\\n&#8221;);printing_cnum(z.a[0]);printing_cnum(z.a[1]);printing_cnum(z.a[2]);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         return z;<\/p>\n<p>         }<\/p>\n<p>         \/\/finding the i-th eigenvectors of the given matrix m<br \/>\n         <br \/>\n         vector eigenvector_find(matrix m,int i,int j){<br \/>\n         <br \/>\n         \/\/    printing_matrix(m);<br \/>\n         <br \/>\n         cbeqrt z=eigenvalue_find(m);<br \/>\n         <br \/>\n         vector v;<br \/>\n         <br \/>\n         v=equationsystem(eigenvectoreq(m,z,i),j);<br \/>\n         <br \/>\n         \/\/    printing_vec(v);<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\neigenvector_find\\n&#8221;);<br \/>\n         <br \/>\n         printing_cnum(z.a[i]);printing_vec(v);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         return normalize(v);<br \/>\n         <br \/>\n         }<\/p>\n<p>         \/\/the i-th row vector of the given matrix m<br \/>\n         <br \/>\n         vector row_vector(matrix m,int i){<br \/>\n         <br \/>\n         vector v;<br \/>\n         <br \/>\n         v.x=m.a[i][0];<br \/>\n         <br \/>\n         v.y=m.a[i][1];<br \/>\n         <br \/>\n         v.z=m.a[i][2];<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\nrow_vector\\n&#8221;);printing_matrix(m);printing_vec(v);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         return v;<br \/>\n         <br \/>\n         }<\/p>\n<p>         \/\/the i-th column vector of the given matrix m<br \/>\n         <br \/>\n         vector col_vector(matrix m,int i){<br \/>\n         <br \/>\n         vector v;<br \/>\n         <br \/>\n         v.x=m.a[0][i];<br \/>\n         <br \/>\n         v.y=m.a[1][i];<br \/>\n         <br \/>\n         v.z=m.a[2][i];<br \/>\n         <br \/>\n         #ifdef DEBUG<br \/>\n         <br \/>\n         printf(&#8220;\\ncol_vector\\n&#8221;);printing_matrix(m);printing_vec(v);<br \/>\n         <br \/>\n         #endif<br \/>\n         <br \/>\n         return v;<br \/>\n         <br \/>\n         }<\/p>\n<p>         \/\/Printing functions (for debugging)<br \/>\n         <br \/>\n         void printing_vec(vector v){<br \/>\n         <br \/>\n         printf(&#8220;\\nprinting_vec\\n&#8221;);<br \/>\n         <br \/>\n         printf(&#8220;%lf+%lf*I,%lf+%lf*I,%lf+%lf*I\\n&#8221;,v.x.x,v.x.y,v.y.x,v.y.y,v.z.x,v.z.y);<br \/>\n         <br \/>\n         }<\/p>\n<p>         void printing_cnum(cnumber c){<br \/>\n         <br \/>\n         printf(&#8220;%lf+%lf*I\\n &#8220;,c.x,c.y);<br \/>\n         <br \/>\n         }<\/p>\n<p>         void printing_matrix(matrix mix)<br \/>\n         <br \/>\n         {<br \/>\n         <br \/>\n         printf(&#8220;[[&#8220;);<br \/>\n         <br \/>\n         printf(&#8220;%lf+&#8221;,mix.a[0][0].x);<br \/>\n         <br \/>\n         printf(&#8220;%lf*I&#8221;,mix.a[0][0].y);<br \/>\n         <br \/>\n         printf(&#8220;,%lf+&#8221;,mix.a[0][1].x);<br \/>\n         <br \/>\n         printf(&#8220;%lf*I&#8221;,mix.a[0][1].y);<br \/>\n         <br \/>\n         printf(&#8220;,%lf+&#8221;,mix.a[0][2].x);<br \/>\n         <br \/>\n         printf(&#8220;%lf*I&#8221;,mix.a[0][2].y);<br \/>\n         <br \/>\n         printf(&#8220;],\\n[&#8220;);<br \/>\n         <br \/>\n         printf(&#8220;%lf+&#8221;,mix.a[1][0].x);<br \/>\n         <br \/>\n         printf(&#8220;%lf*I&#8221;,mix.a[1][0].y);<br \/>\n         <br \/>\n         printf(&#8220;,%lf+&#8221;,mix.a[1][1].x);<br \/>\n         <br \/>\n         printf(&#8220;%lf*I&#8221;,mix.a[1][1].y);<br \/>\n         <br \/>\n         printf(&#8220;,%lf+&#8221;,mix.a[1][2].x);<br \/>\n         <br \/>\n         printf(&#8220;%lf*I&#8221;,mix.a[1][2].y);<br \/>\n         <br \/>\n         printf(&#8220;],\\n[&#8220;);<br \/>\n         <br \/>\n         printf(&#8220;%lf+&#8221;,mix.a[2][0].x);<br \/>\n         <br \/>\n         printf(&#8220;%lf*I&#8221;,mix.a[2][0].y);<br \/>\n         <br \/>\n         printf(&#8220;,%lf+&#8221;,mix.a[2][1].x);<br \/>\n         <br \/>\n         printf(&#8220;%lf*I&#8221;,mix.a[2][1].y);<br \/>\n         <br \/>\n         printf(&#8220;,%lf+&#8221;,mix.a[2][2].x);<br \/>\n         <br \/>\n         printf(&#8220;%lf*I&#8221;,mix.a[2][2].y);<br \/>\n         <br \/>\n         printf(&#8220;]]&#8221;);<br \/>\n         <br \/>\n         printf(&#8220;\\n&#8221;);<br \/>\n         <br \/>\n         }<\/p>\n<p>\n<\/div>\n<p><\/p>\n<div style=\"width:100%;margin-top:30px;clear:both;height:30px\">\n<div style=\"width:31px;float:left;\">\n<a href=\"\/toolbar\/popup\/abuseReport\/?entryId=348\" onclick=\"window.open(this.href, 'tistoryThisBlogPopup', 'width=550, height=510, toolbar=no, menubar=no, status=no, scrollbars=no'); return false;\"><br \/>\n<img data-recalc-dims=\"1\" decoding=\"async\" alt=\"\uc2e0\uace0\" src=\"https:\/\/i0.wp.com\/t1.daumcdn.net\/tistory_admin\/static\/ico\/ico_spam_report.png\" style=\"border:0\"\/><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\ub0b4\uac00 \uc774\uac78 \uc65c \ub9cc\ub4e4\uc5c8\uc9c0. \uc544\ubb34\ud2bc, \ubcf5\uc18c\uc218\ub85c 3\ucc28 \uc815\uc0ac\uac01\ud615 \ud589\ub82c\uc758 eigenvalue\uc640 eigenvector \ucc3e\ub294 \ud504\ub85c\uadf8\ub7a8 \uc18c\uc2a4\ub2e4. \uc0ac\uc6a9\ubc95\uc740 \uac01\uc790 \uacf5\ubd80\ud574 \ubcf4\uc2dc\uae38. \uc815 \ubaa8\ub974\uaca0\uc73c\uba74 \ub313\uae00\ub85c \ubb38\uc758\ubc14\ub78c. \uc784\uc758\uc758 n\ucc28 \ud589\ub82c\uc774\uc5c8\uc73c\uba74 \uc5b4\ub518\uac00\uc5d0 \uc62c\ub838\uc744\uc9c0\ub3c4 \ubaa8\ub974\uc9c0\ub9cc, \uadf8\ub0e5 3\ucc28 \ud589\ub82c\ub85c \uace0\uc815\ub418\uc5b4 \uc788\uc74c. \ud3ec\uc778\ud130\uac19\uc740\uac70 \uc804\ud600 \uc5c6\uc774 \uc804\ubd80 \ubcc0\uc218\ub85c\ub9cc \ub118\uaca8\uc90c. \uc5b8\uc820\uac00 \ud3ec\uc778\ud130\ub85c \ubcc0\uc218 \ub118\uaca8\uc8fc\ub294 \ud504\ub85c\uadf8\ub7a8\uc73c\ub85c \ubc14\uafb8\uace0 \uc2f6\uc74c. \ud639\uc2dc \ubc84\uadf8 \ubc1c\uacac\ud558\uac8c \ub418\uba74 \uc54c\ub824\uc8fc\uc2dc\uae30 \ubc14\ub78c. \uc0b0\uc218 \uacf5\ubd80\ud558\ub294\ub370 \ub3c4\uc6c0\uc774 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[12],"tags":[],"class_list":["post-7562","post","type-post","status-publish","format-standard","hentry","category-12"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8o6gA-1XY","jetpack-related-posts":[],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"http:\/\/melotopia.net\/b\/index.php?rest_route=\/wp\/v2\/posts\/7562","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/melotopia.net\/b\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/melotopia.net\/b\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/melotopia.net\/b\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/melotopia.net\/b\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7562"}],"version-history":[{"count":0,"href":"http:\/\/melotopia.net\/b\/index.php?rest_route=\/wp\/v2\/posts\/7562\/revisions"}],"wp:attachment":[{"href":"http:\/\/melotopia.net\/b\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7562"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/melotopia.net\/b\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7562"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/melotopia.net\/b\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7562"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}