2020年1月4日土曜日

学習環境

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



    1. { x 1 - x 2 + x 3 = 1 x 1 + x 2 = 0 x 1 - x 3 = 0 x 2 = - x 1 x 3 = x 1 x 1 + x 1 + x 1 = 1 x 1 = 1 3 1 3 , - 1 3 , 1 3

    2. { x 2 + x 3 = 1 x 1 + x 2 = 1 - x 1 + 2 x 3 = 1 x 1 - x 3 = 0 x 3 = 1 x 1 = 1 x 2 = 0 1 , 0 , 1

    3. { x 1 - x 2 + x 3 = 0 x 1 + x 2 = 0 x 1 - x 3 = 1 x 2 = - x 1 x 3 = x 1 - 1 x 1 + x 1 + x 1 - 1 = 0 x 1 = 1 3 1 3 , - 1 3 , - 2 3

コード

#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import Matrix, Rational

print('3.')


class MyTestCase(TestCase):
    def test(self):
        Xs = [(1, 0, 0), (1, 1, 1), (0, 0, 1)]
        As = [(1, 1, 1), (0, 1, -1), (1, 1, 1)]
        Bs = [(-1, 1, 0), (1, 1, 0), (-1, 1, 0)]
        Cs = [(1, 0, -1), (1, 0, 2), (1, 0, -1)]
        xs = [(Rational(1, 3), -Rational(1, 3), Rational(1, 3)),
              (1, 0, 1),
              (Rational(1, 3), -Rational(1, 3), -Rational(2, 3))]
        for X, A, B, C, (x1, x2, x3) in zip(Xs, As, Bs, Cs, xs):
            self.assertEqual(Matrix(X), x1 * Matrix(A) +
                             x2 * Matrix(B) + x3 * Matrix(C))


if __name__ == '__main__':
    main()

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

% ./sample3.py -v
3.
test (__main__.MyTestCase) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.001s

OK
%

0 コメント:

コメントを投稿