2020年6月8日月曜日

学習環境

ラング線形代数学(上) (ちくま学現文庫)(S.ラング (著)、芹沢 正三 (翻訳)、筑摩書房)の6章(行列式)、4(行列式の存在)、練習問題10の解答を求めてみる。


  1. ddtdet[ftgthtf'tg'th'tf''tg''th''t]
    =ddtftg'th''t-g''th't-ddtgtf'th''t-f''th't+ddthtf'tg''t-f''tg't
    =f'tg'th''t-g''th't+ftg''th''t+g'th'''t-g'''th't-g''th''t
    =f'tg'th''t-f'tg''th't+ftg'th'''t-ftg'''th't-f'tg'th''t+f''tg'th't+f'tgth'''t-f'''tgth't+f'tg''th't-f''tg'th't+f'tg'''tht-f'''tg'tht
    =det[ftfthtf'tg'th'tf'''tg'''th'''t]

    一般化。

    ddtdet[f1tfntf11tfn1tnonef1n-1tfnn-1t]=det[f1tfntf11tfn1tnonef1ntfnnt]

コード

#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import Matrix, Function
from sympy.abc import t

print('10.')


class TestMatrixDetDerivative(TestCase):
    def test(self):
        n = 3
        f = Function('f')(t)
        g = Function('g')(t)
        h = Function('h')(t)
        a = Matrix([[f.diff(t, i), g.diff(t, i), h.diff(t, i)]
                    for i in range(n)]).det().diff(t, 1)
        b = Matrix(
            [[f.diff(t, i), g.diff(t, i), h.diff(t, i)]
             for i in range(n - 1)] +
            [[f.diff(t, n), g.diff(t, n), h.diff(t, n)]]).det()
        self.assertEqual(a.simplify(), b.simplify())


if __name__ == "__main__":
    main()

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

% ./sample10.py -v
10.
test (__main__.TestMatrixDetDerivative) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.418s

OK
%

0 コメント:

コメントを投稿