2019年7月1日月曜日

学習環境

ラング線形代数学(上)(S.ラング (著)、芹沢 正三 (翻訳)、ちくま学芸文庫)の7章(スカラー積と直交性)、3(一般の直交基底)、練習問題1の解答を求めてみる。



    1. u = A v = B - B · A A · A A = 1 , - 1 , 2 - 1 , - 1 , 2 · 1 , 1 , 1 1 , 1 , 1 · 1 , 1 , 1 1 , 1 , 1 = 1 , - 1 , 2 - 1 - 2 + 2 1 + 2 + 1 1 , 1 , 1 = 1 , - 1 , 2 - 1 4 1 , 1 , 1 = 1 4 3 , - 5 , 7

      よって、求める 部分空間の直交基底は、

      1 , 1 , 1 , 3 , - 5 , 7

    2. u = 1 , - 1 , 4 v = - 1 , 1 , 3 - - 1 , 1 , 3 · 1 , - 1 , 4 1 , - 1 , 4 · 1 , - 1 , 4 1 , - 1 , 4 = - 1 , 1 , 3 - - 1 + 3 - 4 + 3 1 - 3 + 4 + 4 1 , - 1 , 4 = - 1 , 1 , 3 - 1 6 1 , - 1 , 4 = 1 6 - 7 , 7 , 14 = 7 6 - 1 , 1 , 2 1 , - 1 , 4 , - 1 , 1 , 2

コード

Python 3

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

print('1.')


def f(X, Y):
    return X[0] * Y[0] + 2 * X[1] * Y[1] + X[2] * Y[2]


def g(X, Y):
    return X[0] * Y[0] - 3 * X[1] * Y[1] + X[0] * Y[2] - X[2] * Y[1]


hs = [f, g]
ABs = [((1, 1, 1), (1, -1, 2)),
       ((1, -1, 4), (-1, 1, 3))]

for i, (h, (a, b)) in enumerate(zip(hs, ABs)):
    print(f'({chr(ord("a") + i)})')
    A = Matrix(a)
    B = Matrix(b)
    B = B - h(B, A) / h(A, A) * A
    for o in [A, B]:
        pprint(o.transpose())
        print()

入出力結果(Bash、cmd.exe(コマンドプロンプト)、Terminal、Jupyter(IPython))

C:\Users\...>py sample1.py
1.
(a)
[1  1  1]

[3/4  -5/4  7/4]

(b)
[1  -1  4]

[-7/6  7/6  7/3]


C:\Users\...>

0 コメント:

コメントを投稿