学習環境
- Surface 3 (4G LTE)、Surface 3 タイプ カバー、Surface ペン(端末)
- Windows 10 Pro (OS)
- 数式入力ソフト(TeX, MathML): MathType
- MathML対応ブラウザ: Firefox、Safari
- MathML非対応ブラウザ(Internet Explorer, Microsoft Edge, Google Chrome...)用JavaScript Library: MathJax
- 参考書籍
集合論入門(基礎数学シリーズ)(松村 英之(著)、朝倉書店)の1.(集合算)、1.3(和集合と共通部分)の練習問題1、2.を取り組んでみる。
コード(Emacs)
Python 3
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from matplotlib_venn import venn3_unweighted
import matplotlib.pyplot as plt
from sympy import pprint, FiniteSet
A = FiniteSet(*range(10))
B = FiniteSet(*range(2, 11))
C = FiniteSet(*range(3, 12))
D = FiniteSet(*range(4, 14))
for X in [A, B, C, D]:
pprint(X)
print('1.')
X1 = (A | B) & (C | D)
X2 = (A & C) | (A & D) | (B & C) | (B & D)
for X in [X1, X2]:
pprint(X)
print(X1 == X2)
print('2.')
X1 = (A & B) | (B & C) | (C & A)
X2 = (A | B) & (B | C) & (C | A)
for X in [X1, X2]:
pprint(X)
print(X1 == X2)
venn3_unweighted(subsets=(A, B, C))
plt.savefig('sample2.svg')
入出力結果(Terminal, Jupyter(IPython))
$ ./sample1.py
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
{2, 3, 4, 5, 6, 7, 8, 9, 10}
{3, 4, 5, 6, 7, 8, 9, 10, 11}
{4, 5, 6, 7, 8, 9, 10, 11, 12, 13}
1.
{3, 4, 5, 6, 7, 8, 9, 10}
{3, 4, 5, 6, 7, 8, 9, 10}
True
2.
{2, 3, 4, 5, 6, 7, 8, 9, 10}
{2, 3, 4, 5, 6, 7, 8, 9, 10}
True
$
0 コメント:
コメントを投稿