学習環境
- Surface、Surface ペン(端末)
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad Pro 10.5 + Apple Pencil
- MyScript Nebo - MyScript(iPad アプリ(iOS))
- 参考書籍
新装版 数学読本2 (松坂 和夫(著)、岩波書店)の第7章(急速・緩慢に変化する関係 - 指数関数・対数関数)、7.1(指数の拡張)、指数の拡張(1)の問6の解答を求めてみる。
コード
Python 3
#!/usr/bin/env python3
from sympy import pprint, symbols, sqrt, root, Rational, simplify
from unittest import TestCase, main
import random
print('6.')
class MyTestCase(TestCase):
def setUp(self):
pass
def tearDown(self):
pass
def test_symbol(self):
a = symbols('a')
spam = [Rational(1, 2), Rational(4, 3), 1.75, -Rational(5, 4)]
egg = [(2, 1), (3, 4), (4, 7), (4, -5)]
for s, (t, u) in zip(spam, egg):
self.assertEqual(simplify((a ** s)), simplify(root(a ** u, t)))
def test_int(self):
spam = [Rational(1, 2), Rational(4, 3), 1.75, -Rational(5, 4)]
egg = [(2, 1), (3, 4), (4, 7), (4, -5)]
for _ in range(10):
a = random.randrange(1, 101)
for s, (t, u) in zip(spam, egg):
self.assertEqual(float((a ** s)), float(root(a ** u, t)))
def test_int_almost(self):
spam = [Rational(1, 2), Rational(4, 3), 1.75, -Rational(5, 4)]
egg = [(2, 1), (3, 4), (4, 7), (4, -5)]
for _ in range(10):
a = random.randrange(1, 101)
for s, (t, u) in zip(spam, egg):
self.assertAlmostEqual(float((a ** s)), float(root(a ** u, t)))
if __name__ == '__main__':
main()
入出力結果(Bash、cmd.exe(コマンドプロンプト)、Terminal、Jupyter(IPython))
C:\Users\...>py sample6.py
6.
test_int (__main__.MyTestCase) ... FAIL
test_int_almost (__main__.MyTestCase) ... ok
test_symbol (__main__.MyTestCase) ... FAIL
======================================================================
FAIL: test_int (__main__.MyTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "./sample6.py", line 29, in test_int
self.assertEqual(float((a ** s)), float(root(a ** u, t)))
AssertionError: 0.012180114016663296 != 0.012180114016663295
======================================================================
FAIL: test_symbol (__main__.MyTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "./sample6.py", line 21, in test_symbol
self.assertEqual(simplify((a ** s)), simplify(root(a ** u, t)))
AssertionError: a**(4/3) != (a**4)**(1/3)
----------------------------------------------------------------------
Ran 3 tests in 0.251s
FAILED (failures=2)
C:\Users\...>
0 コメント:
コメントを投稿