2017年9月3日日曜日

学習環境

ラング線形代数学(上)(S.ラング (著)、芹沢 正三 (翻訳)、ちくま学芸文庫)の1章(R^n におけるベクトル)、1(n次元空間の点の定義)、練習問題1、2、3、4、5、6.を取り組んでみる。


  1. A+B=( 1,0 ) AB=( 3,2 ) 3A=( 6,3 ) 2B=( 2,2 )

  2. A+B=( 1,7 ) AB=( 1,1 ) 3A=( 3,9 ) 2B=( 0,8 )

  3. A+B=( 1,0,6 ) AB=( 3,2,4 ) 3A=( 6,3,15 ) 2B=( 2,2,2 )

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

  5. A+B=( 3π,0,6 ) AB=( π,6,8 ) 3A=( 3π,9,3 ) 2B=( 4π,6,14 )

  6. A+B=( 15+π,1,3 ) AB=( 15π,5,5 ) 3A=( 45,6,12 ) 2B=( 2π,6,2 )

コード(Emacs)

Python 3

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

from sympy import pprint, symbols, Matrix, pi


a = [((2, -1), (-1, 1)),
     ((-1, 3), (0, 4)),
     ((2, -1, 5), (-1, 1, 1)),
     ((-1, -2, 3), (-1, 3, -4)),
     ((pi, 3, -1), (2 * pi, -3, 7)),
     ((15, -2, 4), (pi, 3, -1))]

for i, (a, b) in enumerate(a, 1):
    print(f'{i}.')
    A = Matrix(a).T
    B = Matrix(b).T
    print('A')
    pprint(A)
    print('B')
    pprint(B)
    print('A + B')
    pprint(A + B)
    print('A - B')
    pprint(A - B)
    print('3A')
    pprint(3 * A)
    print('-2B')
    pprint(-2 * B)
    print()

入出力結果(Terminal, IPython)

$ ./sample1.py
1.
A
[2  -1]
B
[-1  1]
A + B
[1  0]
A - B
[3  -2]
3A
[6  -3]
-2B
[2  -2]

2.
A
[-1  3]
B
[0  4]
A + B
[-1  7]
A - B
[-1  -1]
3A
[-3  9]
-2B
[0  -8]

3.
A
[2  -1  5]
B
[-1  1  1]
A + B
[1  0  6]
A - B
[3  -2  4]
3A
[6  -3  15]
-2B
[2  -2  -2]

4.
A
[-1  -2  3]
B
[-1  3  -4]
A + B
[-2  1  -1]
A - B
[0  -5  7]
3A
[-3  -6  9]
-2B
[2  -6  8]

5.
A
[π  3  -1]
B
[2⋅π  -3  7]
A + B
[3⋅π  0  6]
A - B
[-π  6  -8]
3A
[3⋅π  9  -3]
-2B
[-4⋅π  6  -14]

6.
A
[15  -2  4]
B
[π  3  -1]
A + B
[π + 15  1  3]
A - B
[-π + 15  -5  5]
3A
[45  -6  12]
-2B
[-2⋅π  -6  2]

$

0 コメント:

コメントを投稿