2017年6月2日金曜日

学習環境

ラング線形代数学(上)(S.ラング (著)、芹沢 正三 (翻訳)、ちくま学芸文庫)の3章(行列)、3(行列の乗法)、練習問題1、2、3、4.を取り組んでみる。


  1. B=IA b ij = e i B j = a ij ( 1in,1jr ) IA=A B=AI b ij = A i e j = a ij ( 1in,1jn ) AI=A

  2. B=AO b ij = A i O j =0 B=O

    1. AB=( 1 2 2 3 ) ( AB )C=( 3 2 4 1 ) BC=( 1 1 1 4 ) A( BC )=( 3 2 4 1 )

    2. AB=( 1 3 11 1 ) ( AB )C=( 10 14 ) BC=( 4 2 0 ) A( BC )=( 10 14 )

    3. AB=( 13 7 1 0 2 5 ) ( AB )C=( 33 37 11 18 ) BC=( 4 3 6 1 1 27 ) A( BC )=( 33 37 11 18 )

  3. A 2 +AB+BA+ B 2 = A 2 +AB+AB+ B 2 = A 2 +2AB+ B 2 A 2 AB+BA B 2 = A 2 AB+AB B 2 = A 2 B 2

コード(Emacs)

Python 3

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

from sympy import pprint, Matrix

for i, (a, b, c) in enumerate([(Matrix([[2, 1],
                                        [3, 1]]),
                                Matrix([[-1, 1],
                                        [1, 0]]),
                                Matrix([[1, 4],
                                        [2, 3]])),
                               (Matrix([[2, 1, -1],
                                        [3, 1, 2]]),
                                Matrix([[1, 1],
                                        [2, 0],
                                        [3, -1]]),
                                Matrix([[1],
                                        [3]])),
                               (Matrix([[2, 4, 1],
                                        [3, 0, -1]]),
                                Matrix([[1, 1, 0],
                                        [2, 1, -1],
                                        [3, 1, 5]]),
                                Matrix([[1, 2],
                                        [3, 1],
                                        [-1, 4]]))]):
    print('({})'.format(chr(ord('a') + i)))
    pprint((a * b) * c)
    pprint(a * (b * c))

入出力結果(Terminal, IPython)

$ ./sample1.py
(a)
⎡3  2⎤
⎢    ⎥
⎣4  1⎦
⎡3  2⎤
⎢    ⎥
⎣4  1⎦
(b)
⎡10⎤
⎢  ⎥
⎣14⎦
⎡10⎤
⎢  ⎥
⎣14⎦
(c)
⎡33  37 ⎤
⎢       ⎥
⎣11  -18⎦
⎡33  37 ⎤
⎢       ⎥
⎣11  -18⎦
$

0 コメント:

コメントを投稿