2017年7月20日木曜日

学習環境

線型代数入門(松坂 和夫(著)、岩波書店)の第1章(2次元と3次元の簡単な幾何学)、10(空間における直線・平面の方程式)、問5.を取り組んでみる。


      1. 4 t 2 +16 t 2 +25 t 2 =1 t 2 = 1 45 t= 1 3 5 2 3 5 x 4 3 5 y+ 5 3 5 z= 4 5 2 3 5 x 4 3 5 y+ 5 3 z= 4 5

      2. 4 t 2 +9 t 2 + t 2 =1 t 2 = 1 14 t= 1 14 2 14 x+ 3 14 y 1 14 z= 1 14

      3. 36 t 2 +9 t 2 +4 t 2 =1 t 2 = 1 49 t= 1 7 6 7 x+ 3 7 y+ 2 7 z=4

    1. t 2 a 2 + t 2 b 2 + t 2 c 2 =1 ( b 2 c 2 + c 2 a 2 + a 2 b 2 ) t 2 = a 2 b 2 c 2 t 2 = a 2 b 2 c 2 b 2 c 2 + c 2 a 2 + a 2 b 2 t= | abc | b 2 c 2 + c 2 a 2 + a 2 b 2 | abc | a b 2 c 2 + c 2 a 2 + a 2 b 2 x+ | abc | b b 2 c 2 + c 2 a 2 + a 2 b 2 u+ | abc | c b 2 c 2 + c 2 a 2 + a 2 b 2 z= | abc | b 2 c 2 + c 2 a 2 + a 2 b 2

コード(Emacs)

Python 3

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

from sympy import pprint, symbols, sqrt

print('5.')
a, b, c = symbols('a b c', nonzero=True)
eqs = [(-1 / (3 * sqrt(5)), (2, 4, -5)),
       (-1 / sqrt(14), (2, -3, 1)),
       (1 / 7, (6, 3, 2))]

for i, (t, nums) in enumerate(eqs):
    print(f'({chr(ord("a") + i)})')
    pprint(t)
    print(nums)
    result = sum(map(lambda x: (t * x) ** 2, nums))
    pprint(result)
    print(float(result) == 1)

t = abs(a * b * c) / sqrt((b * c) ** 2 + (c * a) ** 2 + (a * b) ** 2)
nums = (1 / a, 1 / b, 1 / c)
pprint(t)
print(nums)
result = sum(map(lambda x: (t * x) ** 2, nums))
pprint(result)
pprint(result.factor() == 1)

入出力結果(Terminal, IPython)

$ ./sample5.py
5.
(a)
-√5 
────
 15 
(2, 4, -5)
1
True
(b)
-√14 
─────
  14 
(2, -3, 1)
1
True
(c)
0.14285714285714285
(6, 3, 2)
0.9999999999999999
False
         │a⋅b⋅c│          
──────────────────────────
   _______________________
  ╱  2  2    2  2    2  2 
╲╱  a ⋅b  + a ⋅c  + b ⋅c  
(1/a, 1/b, 1/c)
         2  2                    2  2                    2  2        
        a ⋅b                    a ⋅c                    b ⋅c         
───────────────────── + ───────────────────── + ─────────────────────
 2  2    2  2    2  2    2  2    2  2    2  2    2  2    2  2    2  2
a ⋅b  + a ⋅c  + b ⋅c    a ⋅b  + a ⋅c  + b ⋅c    a ⋅b  + a ⋅c  + b ⋅c 
True
$

0 コメント:

コメントを投稿