2020年4月3日金曜日

学習環境

解析入門(上) (松坂和夫 数学入門シリーズ 4) (松坂 和夫(著)、岩波書店)の第10章(n次元空間)、10.2(ベクトル空間)、問題1の解答を求めてみる。


  1. c1a+c2b+c3c=0c1+c2,-c1+2c3,c2+c3=0,0,0

    を満たす

    c1,c2,c3

    を求める。

    c1+c2=0c2=-c1-c1+c3=0c3=c1-c1+2c1=0c1=0c2=0c3=0

    よって、 ベクトル a、 b、 c は1は独立。

    また3次元なので、

    a,b,c

    3

    の基底をなす。

    (証明終)

    座標ベクトルについて。

    x11,-1,0+x21,0,1+x30,2,1=2,4,-1{x1+x2=2-x1+2x3=4x2+x3=-1x2=2-x1x3=-1-2+x1=-3+x1-x1-6+2x1=4x1=10x2=-8x3=7

    よって、 求める座標ベクトルは(10,-8,7)。

コード

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

print('1.')

a = Matrix([1, -1, 0])
b = Matrix([1, 0, 1])
c = Matrix([0, 2, 1])
abcs = [a, b, c]
c1, c2, c3 = symbols('c:3')
linear_combination = c1 * a + c2 * b + c3 * c


class Test(TestCase):
    def test_base(self):
        self.assertEqual(solve(linear_combination), {c1: 0, c2: 0, c3: 0})

    def test_coordinates(self):
        u = Matrix([2, 4, -1])
        self.assertEqual(solve(linear_combination - u),
                         {c1: 10, c2: -8, c3: 7})


if __name__ == "__main__":
    main()

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

% ./sample1.py -v
1.
test_base (__main__.Test) ... ok
test_coordinates (__main__.Test) ... ok

----------------------------------------------------------------------
Ran 2 tests in 0.020s

OK
%

0 コメント:

コメントを投稿