2016年9月29日木曜日

学習環境

代数系入門 (松坂 和夫(著)、岩波書店)の第1章(整数)、4(最小公倍数)、問題2.を取り組んでみる。

学習環境

集合・位相入門(松坂 和夫(著)、岩波書店)の第1章(集合と写像)、2(集合の間の演算)、問題4.を取り組んでみる。

問題4.


  1. xA( BC ) xAxBC xA( xBxC ) ( xA B c )( xA C c ) x( AB )( AC )

  2. xA( BC ) xAxBC xA( x B c x C c ) xA B c xA C c xABxAC x( AB )( AC )

  3. x( AB )C x( AB )x C c ( xAxB )x C c ( xAx C c )( xBx C c ) x( AC )x( BC ) x( AC )( BC )

  4. x( AB )C xABx C c ( xAxB )x C c ( xAx C c )( xBx C c ) xACxBC x( AC )( BC )

  5. xA( BC ) xAxBx C c xABx C c ( xAxB )x C c ( xAxB )( x A c x C c ) xABxAC x( AB )( AC )

コード(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(15))
b = sympy.FiniteSet(*range(5, 20))
c = sympy.FiniteSet(*range(10, 25))

print('a')
print(a - (b | c) == (a - b) & (a - c))

print('b')
print(a - (b & c) == (a - b) | (a - c))

print('c')
print((a | b) - c == (a - c) | (b - c))

print('d')
print((a & b) - c == (a - c) & (b - c))

print('e')
print(a & (b - c) == (a & b) - (a & c))

plt.figure(figsize=(6, 6))
venn3_unweighted(subsets=(a, b, c), set_labels=('A', 'B', 'C'))
plt.savefig('sample4.svg')
plt.show()

入出力結果(Terminal, IPython)

$ ./sample4.py
a
True
b
True
c
True
d
True
e
True
$

開発環境

アルゴリズムパズル(Anany Levitin (著)、Maria Levitin (著)、黒川 洋 (翻訳)、松崎 公紀 (翻訳)、オライリージャパン)の中級パズル、58.(ソートして、もう1回ソート(Sorting Once, Sorting Twice)))をJavaScriptで。

開発環境

Exercises for Programmers: 57 Challenges to Develop Your Coding Skills (Brian P. Hogan 著、Pragmatic Bookshelf)のChapter 8(Working with Files)、46(Word Frequency Finder)を取り組んでみる。

参考書籍

  1. 英語は絶対、勉強するな!―学校行かない・お金かけない・だけどペラペラ 鄭 讃容 (著, 原著), 金 淳鎬 (原著, 翻訳)

2016年9月28日水曜日

開発環境

Exercises for Programmers: 57 Challenges to Develop Your Coding Skills (Brian P. Hogan 著、Pragmatic Bookshelf)のChapter 8(Working with Files)、45(Word Finder)を取り組んでみる。

学習環境

代数系入門 (松坂 和夫(著)、岩波書店)の第1章(整数)、4(最小公倍数)、問題1.を取り組んでみる。

学習環境

集合・位相入門(松坂 和夫(著)、岩波書店)の第1章(集合と写像)、2(集合の間の演算)、問題3.を取り組んでみる。

問題3.


  1. xAB xAxB xABxB x( AB )B xAxB xAxBA xA( AB ) xAxAB xA( x A c x B c ) xAx B c xA B c xAx B c xAB

  2. AB=A ( ( xABxA )( xAxAB ) ) ( ( xABxA )( xAxAB ) ) ( ( ( xAx B c )xA )( xA( xAx B c ) ) ) ( ( ( xAx B c )xA )( xA( xAx B c ) ) ) ( xA( xAx B c ) ) ( x A c x B c ) ( xABxϕ ) ( ( xABxϕ )( xϕxAB ) ) AB=ϕ

  3. AB=ϕ ( ( xABxϕ )( xϕxAB ) ) ( ( ( xAx B c )xϕ )( xϕ( xAx B c ) ) ) ( ( xAx B c )xϕ ) xAxB ( xAxB ) AB

コード(Emacs)

python 3.5

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from matplotlib_venn import venn2
import matplotlib.pyplot as plt
import sympy

x = sympy.FiniteSet(*range(15))
a = sympy.FiniteSet(*range(10))
b = sympy.FiniteSet(*range(5, 15))

print('a')
for s in [a - b, (a | b) - b, a - (a & b), a & (x - b)]:
    print(s)

plt.figure(figsize=(5, 5))
venn2(subsets=(a, b), set_labels=('A', 'B'))
plt.savefig('sample3_a.png')
plt.show()

print('b')
a = sympy.FiniteSet(*range(5))
b = sympy.FiniteSet(*range(5, 10))
print(a - b, a, a & b, sep='\n')

plt.figure(figsize=(5, 5))
venn2(subsets=(a, b), set_labels=('A', 'B'))
plt.savefig('sample3_b.png')
plt.show()

print('c')
a = sympy.FiniteSet(*range(5))
b = sympy.FiniteSet(*range(10))
print(a, b, a - b, a.is_subset(b), sep='\n')

plt.figure(figsize=(5, 5))
venn2(subsets=(a, b), set_labels=('A', 'B'))
plt.savefig('sample3_c.png')
plt.show()

入出力結果(Terminal, IPython)

$ ./sample3.py
a
{0, 1, 2, 3, 4}
{0, 1, 2, 3, 4}
{0, 1, 2, 3, 4}
{0, 1, 2, 3, 4}
b
{0, 1, 2, 3, 4}
{0, 1, 2, 3, 4}
EmptySet()
c
{0, 1, 2, 3, 4}
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
EmptySet()
True
$

開発環境

アルゴリズムパズル(Anany Levitin (著)、Maria Levitin (著)、黒川 洋 (翻訳)、松崎 公紀 (翻訳)、オライリージャパン)の中級パズル、57.(フィボナッチのウサギ問題(Fibonacci's Rabbits Problem))をJavaScriptで。

参考書籍

  1. 英語は絶対、勉強するな!―学校行かない・お金かけない・だけどペラペラ 鄭 讃容 (著, 原著), 金 淳鎬 (原著, 翻訳)

2016年9月27日火曜日

開発環境

計算機プログラムの構造と解釈[第2版](ハロルド エイブルソン (著)、ジュリー サスマン (著)、ジェラルド・ジェイ サスマン (著)、Harold Abelson (原著)、Julie Sussman (原著)、Gerald Jay Sussman (原著)、和田 英一 (翻訳)、翔泳社、原著: Structure and Interpretation of Computer Programs (MIT Electrical Engineering and Computer Science)(SICP))の第1章(手続きによる抽象の構築)、1.3(高階手続きによる抽象)、1.3.3(一般的方法としての手続き)、問題1.39.を JavaScript で取り組んでみる。

その他参考書籍

開発環境

計算機プログラムの構造と解釈[第2版](ハロルド エイブルソン (著)、ジュリー サスマン (著)、ジェラルド・ジェイ サスマン (著)、Harold Abelson (原著)、Julie Sussman (原著)、Gerald Jay Sussman (原著)、和田 英一 (翻訳)、翔泳社、原著: Structure and Interpretation of Computer Programs (MIT Electrical Engineering and Computer Science)(SICP))の第1章(手続きによる抽象の構築)、1.3(高階手続きによる抽象)、1.3.3(一般的方法としての手続き)、問題1.39.を取り組んでみる。

その他参考書籍

学習環境

集合・位相入門(松坂 和夫(著)、岩波書店)の第1章(集合と写像)、2(集合の間の演算)、問題2.を取り組んでみる。

問題2.

コード(Emacs)

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from matplotlib_venn import venn2
import matplotlib.pyplot as plt
import sympy

a = sympy.FiniteSet(*range(5))
b = sympy.FiniteSet(*range(5, 10))

plt.figure(figsize=(5, 5))
venn2(subsets=(a, b), set_labels=('A', 'B'))
plt.savefig('sample2.svg')
plt.show()

入出力結果(Terminal, IPython)

$ ./sample2.py
$

学習環境/開発環境

数学読本〈3〉平面上のベクトル/複素数と空間のベクトル/空間図形/2次曲線/数列 (松坂 和夫(著)、岩波書店)の第11章(立体的な広がりの中の図形 - 空間図形)、11.2(空間のベクトル)、有向線分とベクトル、問1.を取り組んでみる。