学習環境
- 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章(集合と写像)、2(集合間の演算)、問題5を取り組んでみる。
コード(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, Interval
print('4.')
X = FiniteSet(*range(7))
A = FiniteSet(*range(5))
B = FiniteSet(*range(1, 6))
C = FiniteSet(*range(2, 7))
for X0 in [X, A, B, C]:
pprint(X0)
XS = [((A - B) - C, A - (B | C)),
(A - (B - C), (A - B) | (A & C))]
for i, (L, R) in enumerate(XS):
print(f'({chr(ord("a") + i)})')
for X in [L, R]:
pprint(X)
print(L == R)
print()
venn3_unweighted(subsets=(A, B, C))
plt.savefig('sample5.svg')
入出力結果(Terminal, Jupyter(IPython))
$ ./sample5.py
4.
{0, 1, 2, 3, 4, 5, 6}
{0, 1, 2, 3, 4}
{1, 2, 3, 4, 5}
{2, 3, 4, 5, 6}
(a)
{0}
{0}
True
(b)
{0, 2, 3, 4}
{0, 2, 3, 4}
True
$
0 コメント:
コメントを投稿