2019年12月2日月曜日

学習環境

代数への出発 (新装版 数学入門シリーズ) (松坂 和夫(著)、岩波書店)の第2章(整式の計算)、練習問題の問1の解答を求めてみる。



    1. A - B - C = 5 x 2 - 6 x y + 2 y 2

    2. 4 A - 3 B + 2 C = 4 - 9 - 14 x 2 + - 4 - 15 x y + 8 + 12 + 8 y 2 = - 19 x 2 - 19 x y + 28 y 2

    3. 2 A - 3 C - B = 2 A + 3 B - 3 C = 2 + 9 + 21 x 2 + - 2 + 15 x y + 4 - 12 - 12 y 2 = 32 x 2 + 13 x y - 20 y 2

コード

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

print('1.')

x, y = symbols('x, y')
A = x ** 2 - x * y + 2 * y ** 2
B = 3 * x ** 2 + 5 * x * y - 4 * y ** 2
C = -7 * x ** 2 + 4 * y ** 2


class MyTest(TestCase):
    def test(self):
        spam = [A - B - C,
                4 * A - 3 * B + 2 * C,
                2 * A - 3 * (C - B)]
        egg = [(5, -6, 2),
               (-19, -19, 28),
               (32, 13, -20)]
        for s, (a, b, c) in zip(spam, egg):
            self.assertEqual(s, a * x ** 2 + b * x * y + c * y ** 2)


if __name__ == '__main__':
    main()

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

% ./sample1.py -v
1.
test (__main__.MyTest) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.005s

OK
%

0 コメント:

コメントを投稿