2017年10月29日日曜日

学習環境

線型代数入門(松坂 和夫(著)、岩波書店)の第3章(線型写像)、9(線型写像の像と核)、問題8.を取り組んでみる。

  1. X1、X2を任意の2次元行列とする。

    F( X 1 + X 2 ) =A( X 1 + X 2 ) =A X 1 +A X 2 =F( X 1 )+F( X 2 )

    Xを任意の二次元の行列、cをスカラーとする。

    F( cX ) =A( cX ) =c( AX ) =cF( X )

    よって、FはM2(R)の線型変換。

    F( ( 1 0 0 0 ) )=A( 1 0 0 0 ) =( 1 1 4 4 )( 1 0 0 0 ) =( 1 0 4 0 ) F( ( 0 1 0 0 ) )=A( 0 1 0 0 ) =( 1 1 4 4 )( 0 1 0 0 ) =( 0 1 0 4 ) F( ( 0 0 1 0 ) )=A( 0 0 1 0 ) =( 1 1 4 4 )( 0 0 1 0 ) =( 1 0 4 0 ) F( ( 0 0 0 1 ) )=A( 0 0 0 1 ) =( 1 1 4 4 )( 0 0 0 1 ) =( 0 1 0 4 ) a 1 =( 1 0 4 0 ), a 2 =( 0 1 0 4 ), a 3 =( 1 0 4 0 ), a 4 =( 0 1 0 4 ) a 3 = a 1 , a 4 = a 2 ImF= a 1 , a 2 rankF=2

    よって、線型変換の階数は2。

    F( ( a b c d ) )=O A( a b c d )=O ( 1 1 4 4 )( a b c d )=O ( ac bd 4a+4c 4b+4d )=O ac=0 bd=0 4a+4c=0 4b+4d=0 c=a d=b ( a b c d )=( a b a b ) =a( 1 0 1 0 )+b( 0 1 0 1 ) KerF= ( 1 0 1 0 ),( 0 1 0 1 ) nullityF=2

    よって、線型変換の退化次数は2。

コード(Emacs)

Python 3

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

print('8.')
A = Matrix([[1, -1],
            [-1, 0]])
X1 = Matrix([symbols('a b'),
             symbols('c d')])
X2 = Matrix([symbols('e f'),
             symbols('g h')])
Z = Matrix([[0, 0],
            [0, 0]])
F = lambda X: A * X
k = symbols('k')
for t in [A, X1, X2, F(X1 + X2), F(X1) + F(X2), F(X1 + X2) == F(X1) + F(X2),
          F(k * X1), k * F(X1), F(k * X1) == k * F(X1)]:
    pprint(t)
    print()

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

$ ./sample8.py
8.
⎡1   -1⎤
⎢      ⎥
⎣-1  0 ⎦

⎡a  b⎤
⎢    ⎥
⎣c  d⎦

⎡e  f⎤
⎢    ⎥
⎣g  h⎦

⎡a - c + e - g  b - d + f - h⎤
⎢                            ⎥
⎣   -a - e         -b - f    ⎦

⎡a - c + e - g  b - d + f - h⎤
⎢                            ⎥
⎣   -a - e         -b - f    ⎦

True

⎡a⋅k - c⋅k  b⋅k - d⋅k⎤
⎢                    ⎥
⎣  -a⋅k       -b⋅k   ⎦

⎡k⋅(a - c)  k⋅(b - d)⎤
⎢                    ⎥
⎣  -a⋅k       -b⋅k   ⎦

False

$

0 コメント:

コメントを投稿