2017年5月25日木曜日

学習環境

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


  1. A+B=( 0 7 1 1 2 1 ) 3B=( 3 15 6 6 6 3 ) 2B=( 2 10 4 4 4 2 ) A+2B=( 1 12 3 3 4 0 ) 2A+B=( 1 9 4 0 2 3 ) AB=( 2 3 5 3 2 3 ) A2B=( 3 8 7 5 4 4 ) BA=( 2 3 5 3 2 3 )

  2. A+B=( 0 0 2 1 ) 3B=( 3 3 0 9 ) 2B=( 2 2 0 6 ) A+2B=( 1 1 2 4 ) AB=( 2 2 2 5 ) BA=( 2 2 2 5 )

  3. A t =( 1 1 2 0 3 2 ) B t =( 1 2 5 2 2 1 )

  4. A t =( 1 2 1 2 ) B t =( 1 0 1 3 )

  5. ( i,j ) A+B: a ij + b ij ( A+B ) t : a ji + b ji A t + B t : a ji + b ji ( A+B ) t = A t + B t

コード(Emacs)

Python 3

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

from sympy import Matrix, pprint, symbols, randMatrix
import random

print('1.')
a = Matrix([[1, 2, 3],
            [-1, 0, 2]])
b = Matrix([[-1, 5, -2],
            [2, 2, -1]])
for m in [a + b, 3 * b, -2 * b, a + 2 * b, 2 * a + b, a - b, a - 2 * b, b - a]:
    pprint(m)

print('2.')
a = Matrix([[1, -1],
            [2, 2]])
b = Matrix([[-1, 1],
            [0, -3]])
for m in [a + b, 3 * b, -2 * b, a + 2 * b, a - b, b - a]:
    pprint(m)

print('3.')
a = Matrix([[1, 2, 3],
            [-1, 0, 2]])
b = Matrix([[-1, 5, -2],
            [2, 2, -1]])
pprint(a.transpose())
pprint(b.transpose())

print('4.')
a = Matrix([[1, -1],
            [2, 2]])
b = Matrix([[-1, 1],
            [0, -3]])
pprint(a.transpose())
pprint(b.transpose())

print('5.')
for _ in range(5):
    m = random.randrange(1, 100)
    n = random.randrange(1, 100)
    print(m, n)
    a = randMatrix(m, n)
    b = randMatrix(m, n)
    print((a + b).transpose() == a.transpose() + b.transpose())

入出力結果(Terminal, IPython)

$ ./sample1.py
1.
⎡0  7  1⎤
⎢       ⎥
⎣1  2  1⎦
⎡-3  15  -6⎤
⎢          ⎥
⎣6   6   -3⎦
⎡2   -10  4⎤
⎢          ⎥
⎣-4  -4   2⎦
⎡-1  12  -1⎤
⎢          ⎥
⎣3   4   0 ⎦
⎡1  9  4⎤
⎢       ⎥
⎣0  2  3⎦
⎡2   -3  5⎤
⎢         ⎥
⎣-3  -2  3⎦
⎡3   -8  7⎤
⎢         ⎥
⎣-5  -4  4⎦
⎡-2  3  -5⎤
⎢         ⎥
⎣3   2  -3⎦
2.
⎡0  0 ⎤
⎢     ⎥
⎣2  -1⎦
⎡-3  3 ⎤
⎢      ⎥
⎣0   -9⎦
⎡2  -2⎤
⎢     ⎥
⎣0  6 ⎦
⎡-1  1 ⎤
⎢      ⎥
⎣2   -4⎦
⎡2  -2⎤
⎢     ⎥
⎣2  5 ⎦
⎡-2  2 ⎤
⎢      ⎥
⎣-2  -5⎦
3.
⎡1  -1⎤
⎢     ⎥
⎢2  0 ⎥
⎢     ⎥
⎣3  2 ⎦
⎡-1  2 ⎤
⎢      ⎥
⎢5   2 ⎥
⎢      ⎥
⎣-2  -1⎦
4.
⎡1   2⎤
⎢     ⎥
⎣-1  2⎦
⎡-1  0 ⎤
⎢      ⎥
⎣1   -3⎦
5.
45 90
True
48 15
True
40 54
True
73 68
True
59 17
True
$

0 コメント:

コメントを投稿