2020年1月2日木曜日

学習環境

ラング線形代数学(上) (ちくま学現文庫)(S.ラング (著)、芹沢 正三 (翻訳)、筑摩書房)の2章(ベクトル空間)、3(基底)、練習問題1の解答を求めてみる。



    1. a 1 , 1 , 1 + b 0 , 1 , - 1 = O a = 0 b = 0

      よって1次独立。


    2. a + b = 0 b = 0 a = 0

    3. - a = 0 a + b = 0 2 b = 0 a = 0 b = 0

    4. 2 a + b = 0 - a = 0 a = 0 b = 0

    5. a π = 0 b = 0 a = 0

    6. a + b = 0 2 a + 3 b = 0 b = - a 2 a - 3 b = 0 b = 0 a = 0

    7. { a + b = 0 a + b + c = 0 b - c = 0 b = - a c = - a a - a - a = 0 a = 0 b = 0 c = 0

    8. c = 0 a + 2 b = 0 a + b = 0 b = 0 a = 0

コード

#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import symbols, Matrix, solve, pi

print('1')

a, b, c = symbols('a, b, c')


class MyTestCase(TestCase):
    def test2(self):
        egg = [((1, 1, 1), (0, 1, -1)),
               ((1, 0), (1, 1)),
               ((-1, 1, 0), (0, 1, 2)),
               ((2, -1), (1, 0)),
               ((pi, 0), (0, 1)),
               ((1, 2), (1, 3))]
        for u, v in egg:
            s = solve(a * Matrix(u) + b * Matrix(v))
            for n in s.values():
                self.assertEqual(n, 0)

    def test3(self):
        egg = [((1, 1, 0), (1, 1, 1), (0, 1, -1)),
               ((0, 1, 1), (0, 2, 1), (1, 5, 3))]
        for u, v, w in egg:
            s = solve(a * Matrix(u) + b * Matrix(v) + c * Matrix(w))
            for n in s.values():
                self.assertEqual(n, 0)


if __name__ == '__main__':
    main()

入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))

% ./sample1.py -v
1
test2 (__main__.MyTestCase) ... ok
test3 (__main__.MyTestCase) ... ok

----------------------------------------------------------------------
Ran 2 tests in 0.083s

OK
%

0 コメント:

コメントを投稿