Loading [MathJax]/jax/output/CommonHTML/jax.js

2017年10月6日金曜日

学習環境

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


  1. L:X=P+tA(x1,x2,x3,x4)=(1,2,3,4)+t(1,1,1,1)(x1,x2,x3,x4)=(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=4t4+20=2t4+5

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


    3. X0Q=(1,2,3,4)(4,3,2,1)=(3,1,1,3)(X0Q)·(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 コメント:

コメントを投稿