#!/usr/bin/env python # coding: utf-8 # # Table of Contents #

1  1(a)
1.1  b
2  2(a)
2.1  2(b)
3  3(a)
3.1  3(b)
# # 1(a) # In[52]: from sympy import * init_printing() t = symbols('t') # In[53]: x = cos(t)+t*sin(t) y = sin(t)-t*cos(t) # In[54]: from sympy import * from sympy.plotting import plot_parametric p = plot_parametric(x,y,(t,-2*pi,2*pi), show=False) p.show() # In[55]: dx_dt = diff(x,t) dy_dt = diff(y,t) # In[56]: dy_dx = dy_dt/dx_dt dy_dx # ## b # In[57]: get_ipython().run_line_magic('matplotlib', 'inline') from sympy import * init_printing() x = symbols('x') f11=sin(x)*sin(x) f23=sin(2*x)*sin(3*x) f24=sin(2*x)*sin(4*x) p = plot(f11, f23, f24, (x, -pi, pi), ylim=[-1,1], legend=True, show=False) p[0].line_color = 'b' p[1].line_color = 'r' p.show() # $n\neq m$の場合は,位相のずれのために$0\dots-\pi$あるいは$-\pi \dots 0$において正の図形と負の図形がちょうど同じとなるため,積分はゼロとなる.一方$n\neq m$の場合はそれぞれの領域で正となる図形しか現れない.従って,面積を有する. # # 2(a) # In[58]: from sympy import * A=Matrix([[1,0,-2],[0,2,0],[-2,0,1]]) B=Matrix([[3,0,2],[0,-3,0],[2,0,3]]) pprint(B) # In[59]: A*B # In[60]: B*A # In[61]: PA,D = A.diagonalize() pprint(PA) PA.T*A*PA # In[62]: PB,D = B.diagonalize() pprint(PB) PB.T*B*PB # In[63]: PA.T*B*PA # PAとPBでは行列の列要素が食い違っている.しかし,行列の固有値には順番がないので,食い違いは問題なく,どちらの直交化行列PA, PBを使ってもA,Bは同時に対角化される. # ## 2(b) # In[66]: from sympy import * A = Matrix([[3,2,2],[2,2,0],[2,0,4]]) A # In[67]: x,y,z = symbols('x y z') xx = Matrix([x,y,z]) # In[72]: expand(xx.T*A*xx) # In[117]: P,D = A.diagonalize() P # In[97]: c0=P[:,0]/P[:,0].norm() c1=P[:,1]/P[:,1].norm() c2=P[:,2]/P[:,2].norm() # In[102]: PP = c0.col_insert(1,c1).col_insert(2,c2) PP # In[120]: Py = (PP*xx) Py.T # In[123]: expand(Py.T*A*Py) # # 3(a) # In[219]: from sympy import * init_session() a,b,c, x = symbols('a b c x') # In[220]: a_b_c = 1 ab_bc_ca = -2 abc = -1 # In[221]: expand((a+b+c)**2-2*(a*b+b*c+c*a)) # In[222]: a2_b2_c2 = a_b_c**2-2*ab_bc_ca a2_b2_c2 # $$ # a^2+b^2+c^2 = (a+b+c)^2 - 2(ab+bc+ca) \\ # = 1 - 2(-2) \\ # = 5 # $$ # ア, これをa2_b2_c2とする. # In[223]: together(1/a+1/b+1/c) # In[224]: a1_b1_c1 = ab_bc_ca/abc a1_b1_c1 # $$ # \frac{1}{a}+\frac{1}{b}+\frac{1}{c} = # \frac{ab+bc+ca}{abc} \\ # = \frac{-2}{-1} # $$ # イ, a1_b1_c1とする. # In[225]: expand((1/a+1/b+1/c)**2) # In[226]: together(2/(b*c)+2/(a*c)+2/(a*b)) # In[227]: expand((1/a+1/b+1/c)**2-(2/(b*c)+2/(a*c)+2/(a*b))) # $$ # \frac{1}{c^{2}} + \frac{1}{b^{2}} + \frac{1}{a^{2}} = # \left( # \frac{1}{a}+\frac{1}{b}+\frac{1}{c} # \right)^2 - \frac{2(a+b+c)}{abc} \\ # = 2^2-2*1/(-1) # $$ # ウ,a12_b12_c12とする. # In[228]: a12_b12_c12 = a1_b1_c1**2 - 2*(a_b_c)/(abc) a12_b12_c12 # In[229]: collect(expand((a*x-1/a)**2+ (b*x-1/b)**2+ (c*x-1/c)**2),x) # In[230]: A = a2_b2_c2 * x**2 -6*x + a12_b12_c12 A # In[231]: solve(A-7,x) # こいつはどうしようもない.Aの中に浮動小数点数が入っているので,解析的に求められない.整数の式に書き直して解く. # In[232]: solve(5*x**2-6*x-6-7,x) # ## 3(b) # In[233]: from sympy import * init_session() a,b,c, x = symbols('a b c x') # In[234]: a_b_c = 1.1 ab_bc_ca = -2.2 abc = -1.1 # In[235]: expand((a+b+c)**2-2*(a*b+b*c+c*a)) # In[236]: a2_b2_c2 = a_b_c**2-2*ab_bc_ca a2_b2_c2 # $$ # a^2+b^2+c^2 = (a+b+c)^2 - 2(ab+bc+ca) \\ # = 1 - 2(-2) \\ # = 5 # $$ # ア, これをa2_b2_c2とする. # In[237]: together(1/a+1/b+1/c) # In[238]: a1_b1_c1 = ab_bc_ca/abc a1_b1_c1 # $$ # \frac{1}{a}+\frac{1}{b}+\frac{1}{c} = # \frac{ab+bc+ca}{abc} \\ # = \frac{-2}{-1} # $$ # イ, a1_b1_c1とする. # In[239]: expand((1/a+1/b+1/c)**2) # In[240]: together(2/(b*c)+2/(a*c)+2/(a*b)) # In[241]: expand((1/a+1/b+1/c)**2-(2/(b*c)+2/(a*c)+2/(a*b))) # $$ # \frac{1}{c^{2}} + \frac{1}{b^{2}} + \frac{1}{a^{2}} = # \left( # \frac{1}{a}+\frac{1}{b}+\frac{1}{c} # \right)^2 - \frac{2(a+b+c)}{abc} \\ # = 2^2-2*1/(-1) # $$ # ウ,a12_b12_c12とする. # In[242]: a12_b12_c12 = a1_b1_c1**2 - 2*(a_b_c)/(abc) a12_b12_c12 # In[243]: collect(expand((a*x-1/a)**2+ (b*x-1/b)**2+ (c*x-1/c)**2),x) # In[244]: A = a2_b2_c2 * x**2 -6*x + a12_b12_c12 A # In[245]: solve(A-7,x) # In[ ]: