計算機科学のブログ

集合の基礎 集合と演算、和と差

情報系のための離散数学 (猪股 俊光 (著)、南野 謙一 (著)、共立出版)の第2章(集合の基礎)、章末問題の2.2の解答を求めてみる。

( A D ) \ C = ( { 1 , 2 , 4 } { 7 , 8 , 9 } ) \ { 1 , 3 , 5 , 7 , 9 } = { 1 , 2 , 4 , 7 , 8 , 9 } \ { 1 , 3 , 5 , 7 , 9 } = { 2 , 4 , 8 }

コード

#!/usr/bin/env python3
import matplotlib.pyplot as plt
from matplotlib_venn import venn3
import sympy as sp

a = sp.FiniteSet(1, 2, 4)
c = sp.FiniteSet(1, 3, 5, 7, 9)
d = sp.FiniteSet(7, 8, 9)

venn3([a, c, d], ['A', 'C', 'D'])
plt.savefig('sample2.svg')

print((a | d)-c)

入出力結果

% ./sample2.py  
FiniteSet(2, 4, 8)
%