2019年11月12日火曜日

学習環境

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



    1. f,g=-11fxgxdx=-11gxfxdx=g,f

    2. f,g+h=-11fxg+hxdx=-11fxgx+hxdx=-11fxgx+fxhxdx=-11fxgxdx+-11fxhxdx=f,g+f,h

    3. cf,g=-11cfxgxdx=c-11fxgxdx=cf,g

      ことから

      f,f=-11fxfxdx=-110dx=0f,f=-11fx2dx>0

      (証明終)

コード

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

print('4.')

x, c = symbols('x, c')
f = x ** 2
g = x ** 3
h = x


def dot(f, g):
    return Integral(f * g, (x, -1, 1)).doit()


class MyTestCase(TestCase):
    def test1(self):
        self.assertEqual(dot(f, g), dot(g, f))

    def test2(self):
        self.assertEqual(dot(f, g + h), dot(f, g) + dot(f, h))

    def test3(self):
        self.assertEqual(dot(c * f, g), c * dot(f, g))

    def test4_1(self):
        self.assertEqual(dot(0, 0), 0)

    def test4_2(self):
        self.assertGreater(dot(f, f), 0)


if __name__ == '__main__':
    main()

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

% ./sample5.py -v
5.
test1 (__main__.MyTestCase) ... ok
test2 (__main__.MyTestCase) ... ok
test3 (__main__.MyTestCase) ... ok
test4_1 (__main__.MyTestCase) ... ok
test4_2 (__main__.MyTestCase) ... ok

----------------------------------------------------------------------
Ran 5 tests in 0.049s

OK
%

0 コメント:

コメントを投稿