学習環境
- 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.を取り組んでみる。
(A∪B)∩(C∪D)=((A∪B)∩C)∪((A∪B)∩D)=((A∩C)∪(B∩C))∪((A∩D)∪(B∩D))=(A∩C)∪(B∩C)∪(A∩D)∪(B∩D)=(A∩C)∪(A∩D)∪(B∩C)∪(B∩D)
(A∩B)∪(B∩C)∪(C∩A)=(((A∩B)∪B)∩((A∩B)∪C))∪(C∩A)=(B∩((A∪C)∩(B∪C)))∪(C∩A)=(B∩(A∪C)∩(B∪C))∪(C∩A)=(B∩(A∪C))∪(C∩A)=(B∪(C∩A))∩((A∪C)∪(C∩A))=((B∪C)∩(B∪A))∩(A∪C)=(A∪B)∩(B∪C)∩(C∪A)
コード(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 コメント:
コメントを投稿