2018年11月1日木曜日

学習環境

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


  1. 固有多項式は、

    f x = x 3 - 6 x 2 + 12 x - 8 = x - 2 x 2 - 4 x + 4 = x - 2 x - 2 2 = x - 2 3

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

    a n = A · 2 n + B n 1 2 n - 1 + C n 2 2 n - 2 = A · 2 n + B n 2 n - 1 + C n n - 1 2 n - 3

    最初の3項より、

    a 0 = A = 3 a 1 = 2 A + B = 3 a 2 = 4 A + 4 B + C = 6

    これを解く。

    6 + B = 3 B = - 3 C = 6

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

    a n = 3 · 2 n - 3 · n · 2 n - 1 + 6 n n - 1 · 2 n - 3 = 3 · 2 n - 3 n 2 n - 1 + 3 n 2 · 2 n - 2 - 3 n · 2 n - 2 = 3 · 2 n - 2 4 - 2 n + n 2 - n = 3 · 2 n - 2 n 2 - 3 n + 4

コード(Emacs)

Python 3

#!/usr/bin/env python3
from sympy import pprint, symbols, Matrix

print('2.')


def a(n):
    if n == 0:
        return 3
    if n == 1:
        return 3
    if n == 2:
        return 6
    return 6 * a(n - 1) - 12 * a(n - 2) + 8 * a(n - 3)


n = symbols('n')
an = 3 * 2 ** (n - 2) * (n ** 2 - 3 * n + 4)


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

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

$ ./sample1.py
2.
n = 0, 3, 3, True
n = 1, 3, 3, True
n = 2, 6, 6, True
n = 3, 24, 24, True
n = 4, 96, 96, True
n = 5, 336, 336, True
n = 6, 1056, 1056, True
n = 7, 3072, 3072, True
n = 8, 8448, 8448, True
n = 9, 22272, 22272, True
$

0 コメント:

コメントを投稿