Processing math: 100%

2017年12月25日月曜日

学習環境

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


  1. もとめる三角形の面積は、ベクトル

    (x2-x1y2-y1),(x3-x1y3-y1)

    で張られる平行四辺形の面積の半分なので、

    S=12|det(x2-x1x3-x1y2-y1y3-y1)|

    また、

    12|det(111x1x2x3y1y2y3)|=12|det(100x1x2-x1x3-x1y1y2-y1y3-y1)|=12|det(x2-x1x3-x1y2-y1y3-y1)|

    よって、

    S=12|det(111x1x2x3y1y2y3)|

    (証明終)

コード(Emacs)

Python 3

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

x1, x2, x3, y1, y2, y3 = symbols('x1, x2, x3, y1, y2, y3', real=True)
t = Triangle(Point2D(x1, y1), Point2D(x2, y2), Point2D(x3, y3))
ts = t.area
m = Matrix([[1, 1, 1],
            [x1, x2, x3],
            [y1, y2, y3]])
s = m.det() / 2

for o in [t, ts, m, s, ts == s]:
    pprint(o)
    print()

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

$ ./sample40.py
Triangle(Point2D(x1, y1), Point2D(x2, y2), Point2D(x3, y3))

x₁⋅y₂   x₁⋅y₃   x₂⋅y₁   x₂⋅y₃   x₃⋅y₁   x₃⋅y₂
───── - ───── - ───── + ───── + ───── - ─────
  2       2       2       2       2       2  

⎡1   1   1 ⎤
⎢          ⎥
⎢x₁  x₂  x₃⎥
⎢          ⎥
⎣y₁  y₂  y₃⎦

x₁⋅y₂   x₁⋅y₃   x₂⋅y₁   x₂⋅y₃   x₃⋅y₁   x₃⋅y₂
───── - ───── - ───── + ───── + ───── - ─────
  2       2       2       2       2       2  

True

$

0 コメント:

コメントを投稿