2019年1月29日火曜日

学習環境

ラング線形代数学(上)(S.ラング (著)、芹沢 正三 (翻訳)、ちくま学芸文庫)の3章(行列)、2(行列の乗法)、練習問題3の解答を求めてみる。



    1. A B C = [ - 1 2 - 2 3 ] [ 1 4 2 3 ] = [ 3 2 4 1 ] A B C = [ 2 1 3 1 ] [ 1 - 1 1 4 ] = [ 3 2 4 1 ]

    2. A B C = [ 1 3 11 1 ] [ 1 3 ] = [ 10 14 ] A B C = [ 2 1 - 1 3 1 2 ] [ 4 2 0 ] = [ 10 14 ]

    3. A B C = [ 13 7 1 0 2 - 5 ] [ 1 2 3 1 - 1 4 ] = [ 33 37 11 - 18 ] A B C = [ 2 4 1 3 0 - 1 ] [ 4 3 6 1 1 27 ] = [ 33 37 11 - 18 ]

コード

Python 3

#!/usr/bin/env python3
from sympy import pprint, symbols, Matrix
print('3.')

ts = [([[2, 1],
        [3, 1]],
       [[-1, 1],
        [1, 0]],
       [[1, 4],
        [2, 3]]),
      ([[2, 1, -1],
        [3, 1, 2]],
       [[1, 1],
        [2, 0],
        [3, -1]],
       [[1],
        [3]]),
      ([[2, 4, 1],
        [3, 0, -1]],
       [[1, 1, 0],
        [2, 1, -1],
        [3, 1, 5]],
       [[1, 2],
        [3, 1],
        [-1, 4]])]

for i, (a, b, c) in enumerate(ts):
    print(f'({chr(ord("a") + i)})')
    A = Matrix(a)
    B = Matrix(b)
    C = Matrix(c)
    for t in [(A * B) * C, A * (B * C)]:
        pprint(t)
        print()
    print()

入出力結果(cmd(コマンドプロンプト)、Terminal、Jupyter(IPython))

$ python3 sample3.py
3.
(a)
⎡3  2⎤
⎢    ⎥
⎣4  1⎦

⎡3  2⎤
⎢    ⎥
⎣4  1⎦


(b)
⎡10⎤
⎢  ⎥
⎣14⎦

⎡10⎤
⎢  ⎥
⎣14⎦


(c)
⎡33  37 ⎤
⎢       ⎥
⎣11  -18⎦

⎡33  37 ⎤
⎢       ⎥
⎣11  -18⎦


$

0 コメント:

コメントを投稿