2017年9月27日水曜日

学習環境

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


    1. F( 0,0 )=( 1,0 )0

      線型写像ではない。


    2. F( ( x 1 , y 1 )+( x 2 , y 2 ) ) =F( x 1 + x 2 , y 1 + y 2 ) =( y 1 + y 2 , x 1 + x 2 ) =( y 1 , x 1 )+( y 2 , x 2 ) =F( x 1 , y 1 )+F( x 2 , y 2 ) F( c( x,y ) ) =F( cx,cy ) =( cy,cx ) =c( y,x ) =cF( x,y )

      線型写像である。


    3. F( ( x 1 , y 1 )+( x 2 , y 2 ) ) =F( x 1 + x 2 , y 1 + y 2 ) =( ( x 1 + x 2 ),2( y 1 + y 2 ),0 ) =( x 1 ,2 y 1 ,0 )+( x 2 ,2 y 2 ,0 ) =F( x 1 , y 1 )+F( x 2 , y 2 ) F( c( x,y ) ) =F( cx,cy ) =( cx,2cy,0 ) =c( x,2y,0 ) =cF( x,y )

      線型写像である。


    4. c0 F( c( x,y ) ) =F( cx,cy ) =( c 2 x 2 ,cy ) =c( c x 2 ,y ) =c( ( c x ) 2 ,y ) =cF( c x,y )

      線型写像ではない。


    5. F( ( x 1 , y 1 , z 1 )+( x 2 , y 2 , z 2 ) ) =F( x 1 + x 2 , y 1 + y 2 , z 1 + z 2 ) =( ( y 1 + y 2 )+( z 1 + z 2 ),( z 1 + z 2 )+( x 1 + x 2 ) ) =( y 1 + z 1 , z 1 + x 1 )+( y 2 + z 2 , z 2 + x 2 ) =F( x 1 , y 1 , z 1 )+F( x 2 , y 2 , z 2 ) F( c( x,y,z ) ) =F( cx,cy,cz ) =( cy+cz,cz+cx ) =c( y+z,z+x ) =cF( x,y,z )

      線型写像である。


    6. F( x+y ) =a( x+y )+b =ax+b+ay+bb =F( x )+F( y )b F( cx ) =acx+b =c( ax+b )cb+b =cF( x )+( 1c )b

      bが零ベクトルならば線型写像である。そうではない場合は線型写像ではない。

コード(Emacs)

Python 3

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from sympy import pprint, symbols, Matrix

fs = [lambda m: Matrix([m[0] + 1, m[1]]),
      lambda m: Matrix([m[1], m[0]]),
      lambda m: Matrix([m[0] ** 2, m[1]])]
x = Matrix(symbols('x1 y1'))
y = Matrix(symbols('x2 y2'))
c = symbols('c')

for f in fs:
    pprint(f)
    pprint(f(x + y) == f(x) + f(y))
    pprint(f(c * x) == c * f(x))
    if f(x + y) == f(x) + f(y) and f(c * x) == c * f(x):
        print('線型')
    else:
        print('線型ではない。')

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

$ ./sample3.py
<function <lambda> at 0x103f8cea0>
False
False
線型ではない。
<function <lambda> at 0x10592ef28>
True
True
線型
<function <lambda> at 0x10593a048>
False
False
線型ではない。
$

0 コメント:

コメントを投稿