2019年7月25日木曜日

学習環境

ラング線形代数学(下) (ちくま学現文庫)(S.ラング (著)、芹沢 正三 (翻訳)、筑摩書房)の8章(行列と双線形写像)、2(2次形式)、練習問題4の解答を求めてみる。



    1. 1 4 f x 1 , x 2 + y 1 , y 2 - f x 1 , x 2 - y 1 , y 2 = 1 4 f x 1 + y 1 , x 2 + y 2 - f x 1 - y 1 , x 2 - y 2 = 1 4 x 1 + y 1 x 2 + y 2 - x 1 - y 1 x 2 - y 2 = 1 4 2 x 1 y 2 + 2 x 2 y 1 = 1 2 x 1 y 2 + x 2 y 1

    2. g X , Y = 1 4 f x 1 + y 1 , x 2 + y 2 , x 3 + y 3 , x 4 + y 4 - f x 1 - y 1 , x 2 - y 2 , x 3 - y 3 , x 4 - y 4 = 1 4 x 1 + y 1 x 3 + y 3 + x 4 + y 4 2 - x 1 - y 1 x 3 - y 3 - x 4 - y 4 2 = 1 4 2 x 1 y 3 + 2 x 3 y 1 + 4 x 4 y 4 = 1 2 x 1 y 3 + x 3 y 1 + x 4 y 4

    3. 1 4 2 x 1 + y 1 x 2 + y 2 - x 3 + y 3 x 4 + y 4 - 2 x 1 - y 1 x 2 - y 2 + x 3 - y 3 x 4 - y 4 = 1 4 4 x 1 y 2 + 4 x 2 y 1 - 2 x 3 y 4 - 2 x 4 y 3 = x 1 x 2 + x 2 y 1 - 1 2 x 3 y 4 + x 4 y 3

    4. 1 4 x 1 + y 1 2 - x 1 - y 1 2 - 5 x 2 + y 2 x 3 + y 3 - x 2 - y 2 x 3 - y 3 + x 4 + y 4 2 - x 4 - y 4 2 = 1 4 4 x 1 y 1 - 5 2 x 2 y 3 + x 3 y 2 + 4 x 4 y 4 = x 1 y 1 - 5 2 x 2 y 3 + x 3 y 2 + x 4 y 4

コード

Python 3

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

print('4.')


def g(f, v, w):
    return (f(v + w) - f(v - w)) / 4


def f1(x):
    return x[0] * x[1]


def f2(x):
    return x[0] * x[2] + x[3] ** 2


def f3(x):
    return 2 * x[0] * x[1] - x[2] * x[3]


def f4(x):
    return x[0] ** 2 - 5 * x[1] * x[2] + x[3] ** 2


fs = [f1, f2, f3, f4]
v = Matrix(symbols('x1, x2, x3, x4'))
w = Matrix(symbols('y1, y2, y3, y4'))

for i, f in enumerate(fs):
    print(f'({chr(ord("a")+ i)})')
    pprint(g(f, v, w).expand())
    print()

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

C:\Users\...>py sample4.py
4.
(a)
x₁⋅y₂   x₂⋅y₁
───── + ─────
  2       2  

(b)
x₁⋅y₃   x₃⋅y₁        
───── + ───── + x₄⋅y₄
  2       2          

(c)
                x₃⋅y₄   x₄⋅y₃
x₁⋅y₂ + x₂⋅y₁ - ───── - ─────
                  2       2  

(d)
        5⋅x₂⋅y₃   5⋅x₃⋅y₂        
x₁⋅y₁ - ─────── - ─────── + x₄⋅y₄
           2         2           


C:\Users\...>

0 コメント:

コメントを投稿