2017年10月6日金曜日

学習環境

ラング線形代数学(上)(S.ラング (著)、芹沢 正三 (翻訳)、ちくま学芸文庫)の1章(R^n におけるベクトル)、5(直線と平面)、練習問題10.を取り組んでみる。


  1. L:X=P+tA ( x 1 , x 2 , x 3 , x 4 )=( 1,2,3,4 )+t( 1,1,1,1 ) ( x 1 , x 2 , x 3 , x 4 )=( 1+t,2+t,3+t,4+t )

    1. ( ( 1+t )4 ) 2 + ( ( 2+t )3 ) 2 + ( ( 3+t )2 ) 2 + ( ( 4+t )1 ) 2 = ( t3 ) 2 + ( t1 ) 2 + ( t+1 ) 2 + ( t+3 ) 2 = 4 t 4 +20 =2 t 4 +5

    2. t = 0の時すなわちX_0 = (1, 2, 3, 4) の時距離が最小値をとり、その値は2√5。


    3. X 0 Q =( 1,2,3,4 )( 4,3,2,1 ) =( 3,1,1,3 ) ( X 0 Q )·( 1,1,1,1 ) =( 3,1,1,3 )·( 1,1,1,1 ) =31+1+3 =0

      よって直線に垂直である。

コード(Emacs)

Python 3

#!/usr/bin/env python3

from sympy import pprint, symbols, Matrix, solve

print('10.')
P = Matrix([1, 2, 3, 4])
Q = Matrix([4, 3, 2, 1])
A = Matrix([1, 1, 1, 1])
t = symbols('t', real=True)
X = P + t * A

for t in [P, Q, A, X]:
    pprint(t.T)
    print()

print('(a)')
pprint((Q - X).norm())
pprint((Q - X).norm().expand())
pprint((Q - X).norm().expand().factor())

print('(b)')
X0 = P
pprint((Q - X0).norm())

print('(c)')
pprint((X0 - Q).dot(A))

入出力結果(Terminal, Jupyter(IPython))

$ ./sample10.py
10.
[1  2  3  4]

[4  3  2  1]

[1  1  1  1]

[t + 1  t + 2  t + 3  t + 4]

(a)
   ___________________________________________
  ╱        2          2          2          2 
╲╱  (t - 3)  + (t - 1)  + (t + 1)  + (t + 3)  
   ___________
  ╱    2      
╲╱  4⋅t  + 20 
     ________
    ╱  2     
2⋅╲╱  t  + 5 
(b)
2⋅√5
(c)
0
$

0 コメント:

コメントを投稿