Loading [MathJax]/jax/output/HTML-CSS/jax.js

2017年11月27日月曜日

学習環境

数学読本〈5〉微分法の応用/積分法/積分法の応用/行列と行列式(松坂 和夫(著)、岩波書店)の第21章(もう1つの数学の基盤 - 行列と行列式)、21.1(行列とその演算)、逆行列、問18.を取り組んでみる。


  1. 行列 C を

    C=(xuyv)

    とおく。

    CA=(xuyv)(abcd)=(ax+cubx+duay+cvby+dv)
    ax+cu=1bx+du=0ay+cv=0by+dv=1
    adx+cdu=dbcx+cdu=0ady+cdv=0bcy+cdv=c
    (ad-bc)x=d-(ad-bc)y=c
    ad-bc0x=dad-bcy=-cad-bc
    abx+bcu=babx+adu=0aby+bcv=0aby+adv=a
    -(ad-bc)u=b(ad-bc)v=a
    u=-bad-bcv=aad-bc

    よって、

    C=1ad-bc(d-b-ca)

    また、

    ad-bc=0

    の場合は等式と矛盾するので逆行列は存在しない。

    ゆえに、 C は本文の行列 B と一致する。

コード(Emacs)

Python 3

#!/usr/bin/env python3
from sympy import pprint, symbols, Matrix, solve

x, y, u, v, a, b, c, d = symbols('x, y, z, u, a, b, c, d')
A = Matrix([[a, b],
            [c, d]])
X = Matrix([[x, u],
            [y, v]])

E = Matrix([[1 if i == j else 0 for j in range(2)]
            for i in range(2)])

for t in [A, X, E, solve(A * X - E, (x, y, u, v)), solve(X * A - E, (x, y, u, v))]:
    pprint(t)
    print()

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

$ ./sample18.py
⎡a  b⎤
⎢    ⎥
⎣c  d⎦

⎡x  z⎤
⎢    ⎥
⎣y  u⎦

⎡1  0⎤
⎢    ⎥
⎣0  1⎦

⎧       a             d            -c            -b    ⎫
⎨u: ─────────, x: ─────────, y: ─────────, z: ─────────⎬
⎩   a⋅d - b⋅c     a⋅d - b⋅c     a⋅d - b⋅c     a⋅d - b⋅c⎭

⎧       a             d            -c            -b    ⎫
⎨u: ─────────, x: ─────────, y: ─────────, z: ─────────⎬
⎩   a⋅d - b⋅c     a⋅d - b⋅c     a⋅d - b⋅c     a⋅d - b⋅c⎭

$

0 コメント:

コメントを投稿