Loading [MathJax]/jax/output/CommonHTML/jax.js

2019年9月12日木曜日

学習環境

ラング線形代数学(下) (ちくま学現文庫)(S.ラング (著)、芹沢 正三 (翻訳)、筑摩書房)の12章(多項式と素因子分解)、7(多項式の α - 進展開)、練習問題2の解答を求めてみる。



    1. a+b(t-3)+c(t-3)2=a+bt-3b+ct2-6ct+9ca-3b+9c=-1b-6c=0c=1b=6a-18+9=-1a=8

      よって、問題の 多項式の3-進展開は、

      t2-1=8+6(t-3)+(t-3)2

    2. a+b(t-3)+c(t-3)2+(t-3)3=a+bt-3b+ct2-6ct+9c+t3-9t2+27t-27c-9=0c=9b-54+27=1b=28a-84+81-27=-1a=29t3+t-1=29+28(t-3)+9(t-3)2+(t-3)3

    3. a+b(t-3)+(t-3)2=a+bt-3b+t2-6t+9b-6=0b=6a-18+9=3a=12t2+3=12+6(t-3)+(t-3)2

    4. a+b(t-3)+c(t-3)2+d(t-3)3+(t-3)4=a+bt-3b+ct2-6ct+9c+dt3-9dt2+27dt-27d+t4-12t3+54t2-108t+81d-12=2d=14c-126+54=0c=72b-432+378-108=-1b=161a-483+648-378+81=5a=137t4+2t3-t+5=137+161(t-3)+72(t-3)2+14(t-3)3+(t-3)4

コード

Python 3

#!/usr/bin/env python3
from sympy import pprint, symbols
from unittest import TestCase, main


print('2.')


class MyTest(TestCase):
    def setUp(self):
        pass

    def tearDown(self):
        pass

    def test(self):
        t = symbols('t')
        coefficients1 = [(-1, 0, 1),
                         (-1, 1, 0, 1),
                         (3, 0, 1),
                         (5, -1, 0, 2, 1)]
        coefficients2 = [(8, 6, 1),
                         (29, 28, 9, 1),
                         (12, 6, 1),
                         (137, 161, 72, 14, 1)]

        for cs1, cs2 in zip(coefficients1, coefficients2):
            self.assertEqual(
                sum([c * t ** i for i, c in enumerate(cs1)]),
                sum([c * (t - 3) ** i for i, c in enumerate(cs2)]).expand())


if __name__ == '__main__':
    main()

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

C:\Users\...>py sample2.py
2.
.
----------------------------------------------------------------------
Ran 1 test in 0.010s

OK

C:\Users\...>

0 コメント:

コメントを投稿