2018年11月1日木曜日

学習環境

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



    1. - 3 4 + 1 2 , - 1 = - 3 5 2 , - 1

    2. 12 1 + 9 - 1 , 3 = 6 5 - 1 , 3

    3. - 2 - 1 + 5 4 + 1 + 25 2 , - 1 , 5 = 2 30 2 , - 1 , 5 = 1 15 2 , - 1 , 5

    4. 1 - 6 - 12 1 + 4 + 9 - 1 , - 2 , 3 = - 19 14 - 1 , - 2 , 3

    5. 2 π 2 - 9 - 7 π 2 + 9 + 1 π , 3 , - 1 = 2 π 2 - 16 π 2 + 10 π , 3 , - 1

    6. 15 π - 6 - 4 225 + 4 + 16 15 π , - 2 , 4 = 15 π - 10 245 15 π , - 2 , 4 = 3 π - 2 49 15 π , - 2 , 4

コード(Emacs)

Python 3

#!/usr/bin/env python3
from sympy import pprint, symbols, Matrix, pi

print('4.')

As = [(2, -1),
      (-1, 3),
      (2, -1, 5),
      (-1, -2, 3),
      (pi, 3, -1),
      (15, -2, 4)]
Bs = [(-1, 1),
      (0, 4),
      (-1, 1, 1),
      (-1, 3, -4),
      (2 * pi, -3, 7),
      (pi, 3, -1)]

for i, (a, b) in enumerate(zip(As, Bs), 1):
    print(f'(i)')
    A = Matrix(a)
    B = Matrix(b)
    pprint((A.dot(B) / A.dot(A) * A).T)
    print()

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

コード(Emacs)

Python 3

#!/usr/bin/env python3
from sympy import pprint, symbols, Matrix, pi

print('4.')

As = [(2, -1),
      (-1, 3),
      (2, -1, 5),
      (-1, -2, 3),
      (pi, 3, -1),
      (15, -2, 4)]
Bs = [(-1, 1),
      (0, 4),
      (-1, 1, 1),
      (-1, 3, -4),
      (2 * pi, -3, 7),
      (pi, 3, -1)]

for i, (a, b) in enumerate(zip(As, Bs), 1):
    print(f'({i})')
    A = Matrix(a)
    B = Matrix(b)
    pprint((A.dot(B) / A.dot(A) * A).T)
    print()

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

$ ./sample4.py
4.
(1)
[-6/5  3/5]

(2)
[-6/5  18/5]

(3)
[2/15  -1/15  1/3]

(4)
⎡17        -51 ⎤
⎢──  17/7  ────⎥
⎣14         14 ⎦

(5)
⎡  ⎛         2⎞    ⎛         2⎞   ⎛         2⎞ ⎤
⎢π⋅⎝-16 + 2⋅π ⎠  3⋅⎝-16 + 2⋅π ⎠  -⎝-16 + 2⋅π ⎠ ⎥
⎢──────────────  ──────────────  ──────────────⎥
⎢    2               2               2         ⎥
⎣   π  + 10         π  + 10         π  + 10    ⎦

(6)
⎡  30   45⋅π    6⋅π   4     8    12⋅π⎤
⎢- ── + ────  - ─── + ──  - ── + ────⎥
⎣  49    49      49   49    49    49 ⎦

$

0 コメント:

コメントを投稿