2017年12月16日土曜日

学習環境

代数系入門 (松坂 和夫(著)、岩波書店)の第1章(整数)、5(素数、素因数分解)、問題12.を取り組んでみる。


  1. p 1 α 1 , , p k α k

    は対ごとに素な0でない整数なので、 前間の間11より、

    1 p 1 ' p k ' = y 1 p 1 ' + + y k p k ' p i ' = p i α i

    を満たす整数

    y 1 , , y k

    が存在する。

    上記の等式の両辺に既約分数の分子 n をかければ

    a = n p 1 ' p 1 ' = n y 1 p 1 ' + + n y k p k '

    となる。

    よって、

    x 1 = a y 1 , , x k = a y k

    とすればいい。

    (証明終)

コード(Emacs)

Python 3

#!/usr/bin/env python3
from sympy import pprint, symbols, Rational, prod, solve
import functools

p1, p2, p3, p4, p5 = symbols('p1, p2, p3, p4, p5', integer=True, positive=True)
x1, x2, x3, x4, x5 = symbols('x1, x2, x3, x4, x5', integer=True)

a = 2 / (p1 ** 5 * p2 ** 4 * p3 ** 3 * p4 ** 2 * p5)
eq = (x1 / p1 ** 5 + x2 / p2 ** 4 + x3 / p3 ** 3 + x4 / p4 ** 2 + x5 / p5) - a
d = {p1: 3, p2: 5, p3: 7, p4: 11, p5: 13}
for t in [eq, eq.subs(d), solve(eq.subs(d, (x1, x2, x3, x4, x5)))]:
    pprint(t)
    print()

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

$ ./sample12.py
x₅    x₄    x₃    x₂    x₁           2         
── + ─── + ─── + ─── + ─── - ──────────────────
p₅     2     3     4     5     5   4   3   2   
     p₄    p₃    p₂    p₁    p₁ ⋅p₂ ⋅p₃ ⋅p₄ ⋅p₅

 x₁    x₂    x₃    x₄   x₅        2     
─── + ─── + ─── + ─── + ── - ───────────
243   625   343   121   13   81942485625

⎡⎧        5        5        5        5                    ⎫⎤
⎢⎪      p₁ ⋅x₅   p₁ ⋅x₄   p₁ ⋅x₃   p₁ ⋅x₂         2       ⎪⎥
⎢⎨x₁: - ────── - ────── - ────── - ────── + ──────────────⎬⎥
⎢⎪        p₅        2        3        4       4   3   2   ⎪⎥
⎣⎩                p₄       p₃       p₂      p₂ ⋅p₃ ⋅p₄ ⋅p₅⎭⎦

$

0 コメント:

コメントを投稿