2017年7月7日金曜日

学習環境

ラング線形代数学(上)(S.ラング (著)、芹沢 正三 (翻訳)、ちくま学芸文庫)の5章(線形写像と行列)、3(線形写像に対応する行列)、練習問題6、7.を取り組んでみる。


  1. E 1 '=( cosθ ) E 1 +( sinθ ) E 2 E 2 '=( sinθ ) E 1 +( cosθ ) E 2 ( cosθ ) E 1 '=( cos 2 θ ) E 1 +( sinθcosθ ) E 2 ( sinθ ) E 2 '=( sin 2 θ ) E 1 +( sinθcosθ ) E 2 E 1 =( cosθ ) E 1 '+( sinθ ) E 2 ' ( sinθ ) E 1 '=( sinθcosθ ) E 1 +( sin 2 θ ) E 2 ( cosθ ) E 2 '=( sinθcosθ ) E 1 +( cos 2 θ ) E 2 E 2 =( sinθ ) E 1 '+( cosθ ) E 2 ' F( E 1 )= E 1 '=( cosθ ) E 1 +( sinθ ) E 2 F( E 2 )= E 2 '=( sinθ ) E 1 +( cosθ ) E 2 ( cosθ sinθ sinθ cosθ ) F( x,y )=( xcosθysinθ,xsinθ+ycosθ ) x'=xcosθysinθ y'=xsinθ+ycosθ

  2. F、Θ、x'、y'は前問、問6と同じ。

    ( x,y ) = x 2 + y 2 ( x',y' ) = x 2 cos 2 θ+ y 2 sin 2 θ2xysinθcosθ+ x 2 sin 2 θ+ y 2 cos 2 θ+2xysinθcosθ = x 2 ( sin 2 θ+ cos 2 θ )+ y 2 ( sin 2 θ+ cos 2 θ ) = x 2 + y 2 ( x,y ) = ( x',y' ) = ( F( x ),F( y ) )

コード(Emacs)

Python 3

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from sympy import pprint, symbols, Matrix, cos, sin, sqrt

Θ = symbols('Θ')
M = Matrix([[cos(Θ), -sin(Θ)],
            [sin(Θ), cos(Θ)]])

pprint(M)

f = lambda X: M * X
x, y = symbols('x y')
X = Matrix([x, y])
Y = f(X)
x1, y1 = Y
pprint(Y)
pprint(x1)
pprint(y1)

nx = sqrt(X[0] ** 2 + X[1] ** 2)
ny = sqrt(Y[0] ** 2 + Y[1] ** 2)
pprint(nx)
pprint(ny)
pprint(ny.expand())

入出力結果(Terminal, IPython)

$ ./sample6.py
⎡cos(Θ)  -sin(Θ)⎤
⎢               ⎥
⎣sin(Θ)  cos(Θ) ⎦
⎡x⋅cos(Θ) - y⋅sin(Θ)⎤
⎢                   ⎥
⎣x⋅sin(Θ) + y⋅cos(Θ)⎦
x⋅cos(Θ) - y⋅sin(Θ)
x⋅sin(Θ) + y⋅cos(Θ)
   _________
  ╱  2    2 
╲╱  x  + y  
   _________________________________________________
  ╱                      2                        2 
╲╱  (x⋅sin(Θ) + y⋅cos(Θ))  + (x⋅cos(Θ) - y⋅sin(Θ))  
   ___________________________________________________
  ╱  2    2       2    2       2    2       2    2    
╲╱  x ⋅sin (Θ) + x ⋅cos (Θ) + y ⋅sin (Θ) + y ⋅cos (Θ)
$

0 コメント:

コメントを投稿