学習環境
- Surface 3 (4G LTE)、Surface 3 タイプ カバー、Surface ペン(端末)
- Windows 10 Pro (OS)
- 数式入力ソフト(TeX, MathML): MathType
- MathML対応ブラウザ: Firefox、Safari
- MathML非対応ブラウザ(Internet Explorer, Google Chrome...)用JavaScript Library: MathJax
集合・位相入門(松坂 和夫(著)、岩波書店)の第1章(集合と写像)、2(集合の間の演算)、問題7.を取り組んでみる。
問題7.
コード(Emacs)
python 3.5
#!/usr/bin/env python3 # -*- coding: utf-8 -*- from matplotlib_venn import venn3_unweighted import matplotlib.pyplot as plt import sympy a = sympy.FiniteSet(*range(1, 15)) b = sympy.FiniteSet(*range(5, 20)) c = sympy.FiniteSet(*range(10, 25)) expr = [ (a.symmetric_difference(b), b.symmetric_difference(a)), (a.symmetric_difference(b), (a | b) - (a & b)), ((a.symmetric_difference(b)).symmetric_difference(c), (a.symmetric_difference(b.symmetric_difference(c)))), (a & b.symmetric_difference(c), (a & b).symmetric_difference(a & c)) ] for i, (left, right) in enumerate(expr): print('{0}: {1}'.format(chr(ord('a') + i), left == right)) plt.figure(figsize=(6, 6)) venn3_unweighted(subsets=(a, b, c), set_labels=('A', 'B', 'C')) plt.savefig('sample7.svg') plt.show()
入出力結果(Terminal, IPython)
$ ./sample7.py a: True b: True c: True d: True $
0 コメント:
コメントを投稿