2018年11月22日木曜日

学習環境

線型代数入門 (松坂和夫 数学入門シリーズ 2) (松坂 和夫(著)、岩波書店)の第9章(エルミート双1次形式、内積空間)、2(双1次形式・共役双1次形式の行列表現)、問題3.を取り組んでみる。


  1. 成分について 考える。
    A が対称行列の場合について。

    P T A P = k = 1 n p k i a k j p i j = l = 1 n k = 1 n p k i a k l p l j

    (j, i)成分 について。

    l = 1 n k = 1 n p k j a k l p l i = l = 1 n k = 1 n p k i a l k p l j = l = 1 n k = 1 n p k i a k l p l j

    よって、

    P T A P

    も対称行列である。

    A がエルミート行列の場合。

    (i, j)成分。

    P * A P = l = 1 n k = 1 n p k - i a k l p l j

    (j, i)成分。

    l = 1 n k = 1 n p k - j a k l p l i = l = 1 n k = 1 n p k i a l k p l - j = l = 1 n k = 1 n p k i a k l - p l - j

    よって、

    P * A P

    も エルミート行列である。

コード(Emacs)

Python 3

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

print('3.')


def func(M, i, j):
    if i <= j:
        return random.randrange(-10, 11) + random.randrange(-10, 11) * I
    return M[j, i].conjugate()


for n in range(2, 5):
    A = zeros(n, n)
    for i in range(n):
        for j in range(n):
            A[i, j] = func(A, i, j).conjugate()

    P = Matrix([[random.randrange(-10, 11) + random.randrange(-10, 11) * I
                 for _ in range(n)]
                for _ in range(n)])

    PAP = P.T * A * P
    for t in [A, P, PAP.expand()]:
        pprint(t)
        print()
    print()

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

$ ./sample3.py
3.
⎡ 9 + 8⋅ⅈ    -10 - 10⋅ⅈ⎤
⎢                      ⎥
⎣-10 - 10⋅ⅈ   -8 + 6⋅ⅈ ⎦

⎡5 + 6⋅ⅈ   -1 - 8⋅ⅈ⎤
⎢                  ⎥
⎣-6 + 9⋅ⅈ  7 - 3⋅ⅈ ⎦

⎡2289 + 2546⋅ⅈ  -261 - 2778⋅ⅈ ⎤
⎢                             ⎥
⎣-261 - 2778⋅ⅈ  -1203 + 1896⋅ⅈ⎦


⎡-2 + 4⋅ⅈ   -6 + ⅈ      7    ⎤
⎢                            ⎥
⎢ -6 + ⅈ     -10     -6 + 8⋅ⅈ⎥
⎢                            ⎥
⎣   7      -6 + 8⋅ⅈ  -1 - 7⋅ⅈ⎦

⎡ 5 + ⅈ    -10 - 5⋅ⅈ  6 - 10⋅ⅈ⎤
⎢                             ⎥
⎢2 - 4⋅ⅈ       9       8 + ⅈ  ⎥
⎢                             ⎥
⎣-7 - 7⋅ⅈ     -10     1 - 8⋅ⅈ ⎦

⎡474 - 1046⋅ⅈ  978 - 400⋅ⅈ    712 + 926⋅ⅈ ⎤
⎢                                         ⎥
⎢978 - 400⋅ⅈ   2190 - 980⋅ⅈ  368 + 1288⋅ⅈ ⎥
⎢                                         ⎥
⎣712 + 926⋅ⅈ   368 + 1288⋅ⅈ  -839 + 1485⋅ⅈ⎦


⎡-2 + 3⋅ⅈ    -10⋅ⅈ    10 - 10⋅ⅈ  -10 - 4⋅ⅈ⎤
⎢                                         ⎥
⎢  -10⋅ⅈ    3 + 10⋅ⅈ  -8 + 3⋅ⅈ       0    ⎥
⎢                                         ⎥
⎢10 - 10⋅ⅈ  -8 + 3⋅ⅈ  -4 - 8⋅ⅈ     -4⋅ⅈ   ⎥
⎢                                         ⎥
⎣-10 - 4⋅ⅈ     0        -4⋅ⅈ      2 + 7⋅ⅈ ⎦

⎡9 + 9⋅ⅈ   9 - 10⋅ⅈ  4 - 4⋅ⅈ   -2 - 6⋅ⅈ⎤
⎢                                      ⎥
⎢-8 - 6⋅ⅈ  9 + 7⋅ⅈ   -1 + 7⋅ⅈ  -3 + 4⋅ⅈ⎥
⎢                                      ⎥
⎢-8 + 9⋅ⅈ  2 + 5⋅ⅈ   -4 + 3⋅ⅈ  10 - 7⋅ⅈ⎥
⎢                                      ⎥
⎣   0       -6 + ⅈ   -3 + 7⋅ⅈ  9 - 6⋅ⅈ ⎦

⎡-9590 + 5648⋅ⅈ  5864 + 4346⋅ⅈ   1573 + 3887⋅ⅈ  5689 - 1224⋅ⅈ ⎤
⎢                                                             ⎥
⎢5864 + 4346⋅ⅈ   2258 - 4508⋅ⅈ   2369 - 2293⋅ⅈ  -3204 - 2878⋅ⅈ⎥
⎢                                                             ⎥
⎢1573 + 3887⋅ⅈ   2369 - 2293⋅ⅈ   1368 - 1084⋅ⅈ  -354 - 1545⋅ⅈ ⎥
⎢                                                             ⎥
⎣5689 - 1224⋅ⅈ   -3204 - 2878⋅ⅈ  -354 - 1545⋅ⅈ  -2801 - 415⋅ⅈ ⎦


$

0 コメント:

コメントを投稿