2018年11月2日金曜日

学習環境

線型代数入門(松坂 和夫(著)、岩波書店)の第8章(行列の標準化)、14(漸化式で定められる数列(再論))、問題3.を取り組んでみる。


  1. 固有多項式。

    f x = x 4 + 2 x 2 + 1 = x 2 + 1 2 = x + i 2 x - i 2

    一般項は、 A、 B、 C、 D を定数として、

    a n = A n 0 i n + B n 1 i n - 1 + C n 0 - i n + D n 1 - i n - 1 = A i n + n B i n - 1 + C - i n + n D - i n - 1

    最初の4項より、

    a 0 = A + C = 0 a 1 = A i + B - C i + D = 1 a 2 = - A + 2 B i - C - 2 D i = 2 a 3 = - A i - 3 B + C i - 3 D = 3

    これを解く。

    C = - A A i + B + A i + D = 1 - A + 2 B i + A - 2 D i = 2 - A i - 3 B - A i - 3 D = 3 2 A i + B + D = 1 B i - D i = 1 - 2 A i - 3 B - 3 D = 3 B - D i = 1 B - D = - i D = B + i 2 A i + B + B + i = 1 - 2 A i - 3 B - 3 B - 3 i = 3 2 A i + 2 B = 1 - i - 2 A i - 6 B = 3 + 3 i - 4 B = 4 + 2 i B = - 1 - 1 2 i 2 A i - 2 - i = 1 - i 2 A i = 3 A = - 3 2 i D = - 1 - 1 2 i + i = - 1 + 1 2 i C = 3 2 i

    よって、求める一般項は、

    a n = - 3 2 i n + 1 + n - 1 - 1 2 i i n - 1 + 3 2 i - i n + n - 1 + 1 2 i - i n - 1 = 3 2 - 1 n - 1 i n + 1 + n - 1 - 1 2 i i n - 1 + - 1 + 1 2 i - 1 n - 1 i n - 1 = 3 2 - 1 n - 1 i n + 1 + n - 1 - 1 2 i + - 1 n + 1 2 - 1 n - 1 i i n - 1

コード(Emacs)

Python 3

#!/usr/bin/env python3
from sympy import pprint, symbols, Rational, I, solve

print('3.')


def a(n):
    if n in set(range(4)):
        return n
    return -2 * a(n - 2) - a(n - 4)


n = symbols('n')
an = Rational(3, 2) * ((-1) ** n - 1) * I ** (n + 1) + \
    n * (-1 - Rational(1, 2) * I + (-1) ** n +
         Rational(1, 2) * (-1) ** (n - 1) * I) * I ** (n - 1)

for m in range(10):
    t = a(m)
    s = an.subs({n: m}).simplify()
    print(f'n = {m}, {t}, {s}, {t == s}')

入出力結果(Terminal, Jupyter(IPython))

$ ./sample3.py
3.
n = 0, 0, 0, True
n = 1, 1, 1, True
n = 2, 2, 2, True
n = 3, 3, 3, True
n = 4, -4, -4, True
n = 5, -7, -7, True
n = 6, 6, 6, True
n = 7, 11, 11, True
n = 8, -8, -8, True
n = 9, -15, -15, True
$

0 コメント:

コメントを投稿