2019年11月12日火曜日

学習環境

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



    1. f , g = - 1 1 f x g x dx = - 1 1 g x f x dx = g , f

    2. f , g + h = - 1 1 f x g + h x dx = - 1 1 f x g x + h x dx = - 1 1 f x g x + f x h x dx = - 1 1 f x g x dx + - 1 1 f x h x dx = f , g + f , h

    3. c f , g = - 1 1 c f x g x dx = c - 1 1 f x g x dx = c f , g

      ことから

      f , f = - 1 1 f x f x dx = - 1 1 0 dx = 0 f , f = - 1 1 f x 2 d x > 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 コメント:

コメントを投稿