Processing math: 100%

2018年11月2日金曜日

学習環境

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


  1. 固有多項式。

    f(x)=x4+2x2+1=(x2+1)2=(x+i)2(x-i)2

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

    an=A(n0)in+B(n1)i(n-1)+C(n0)(-i)n+D(n1)(-i)(n-1)=Ain+nBi(n-1)+C(-i)n+nD(-i)(n-1)

    最初の4項より、

    a0=A+C=0a1=Ai+B-Ci+D=1a2=-A+2Bi-C-2Di=2a3=-Ai-3B+Ci-3D=3

    これを解く。

    C=-AAi+B+Ai+D=1-A+2Bi+A-2Di=2-Ai-3B-Ai-3D=32Ai+B+D=1Bi-Di=1-2Ai-3B-3D=3(B-D)i=1B-D=-iD=B+i2Ai+B+B+i=1-2Ai-3B-3B-3i=32Ai+2B=1-i-2Ai-6B=3+3i-4B=4+2iB=-1-12i2Ai-2-i=1-i2Ai=3A=-32iD=-1-12i+i=-1+12iC=32i

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

    an=-32i(n+1)+n(-1-12i)i(n-1)+32i(-i)n+n(-1+12i)(-i)n-1=32((-1)n-1)i(n+1)+n((-1-12i)in-1+(-1+12i)(-1)n-1in-1)=32((-1)n-1)i(n+1)+n(-1-12i+(-1)n+12(-1)n-1i)in-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 コメント:

コメントを投稿