2019年12月16日月曜日

学習環境

ラング線形代数学(上) (ちくま学現文庫)(S.ラング (著)、芹沢 正三 (翻訳)、筑摩書房)の1章(R^nにおけるベクトル)、6(複素数)、練習問題2の解答を求めてみる。



    1. 1 + i - 1 = 1 - i 1 + 1 = 1 2 - 1 2 i

    2. 1 3 + i = 3 - i 9 + 1 = 3 10 - 1 10 i

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

    4. 1 2 - i = 2 + i 4 + 1 = 2 5 + 1 5 i

    5. 1 + i i = 1 + i - i = 1 - i

    6. i 1 + i = i 1 - i 1 + 1 = 1 2 + 1 2 i

    7. 2 i 3 - i = 2 i 3 + i 9 + 1 = - 1 5 + 3 5 i

    8. 1 - 1 + i = - 1 - i 1 + 1 = - 1 2 - 1 2 i

コード

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

print('2.')


class MyTestCase(TestCase):
    def test(self):
        spam = [(1 + I) ** -1,
                1 / (3 + I),
                (2 + I) / (2 - I),
                1 / (2 - I),
                (1 + I) / I,
                I / (1 + I),
                2 * I / (3 - I),
                1 / (-1 + I)]
        egg = [(Rational(1, 2), -Rational(1, 2)),
               (Rational(3, 10), -Rational(1, 10)),
               (Rational(3, 5), Rational(4, 5)),
               (Rational(2, 5), Rational(1, 5)),
               (1, -1),
               (Rational(1, 2), Rational(1, 2)),
               (-Rational(1, 5), Rational(3, 5)),
               (-Rational(1, 2), -Rational(1, 2))]
        for s, (x, y) in zip(spam, egg):
            self.assertEqual(s.expand(), (x + I * y).expand())


if __name__ == '__main__':
    main()

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

% ./sample2.py -v
2.
test (__main__.MyTestCase) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.009s

OK
%

0 コメント:

コメントを投稿