Maxima で綴る数学の旅

紙と鉛筆の代わりに、数式処理システムMaxima / Macsyma を使って、数学を楽しみましょう

-数学- 集合演算と陰関数と最大最小とお絵描きと射

f:id:jurupapa:20200823100220j:plain

圏論勉強会のYouTubeビデオで圏論をかじっているのですが、並行して、たまたま、以下の記事が目につきました。

陰関数の不等式(等式)が図形を描く時、2つ以上の陰関数のmaxやminの不等式(や等式)で図形の共通部分や合併、境界を書くことができる、というお話です。

ちょっと子熊の顔を描いてみましょう。

(%i1) load(draw)$

(%i2) draw2d(x_voxel=50,y_voxel=50,proportional_axes=xy,
region(min(x^2+y^2-1,
    (x+0.75)^2+(y-1)^2-1/4,
    (x-0.75)^2+(y-1)^2-1/4)
<=0,x,-1.5,1.5,y,-1.5,2)),keepfloat:true$

f:id:jurupapa:20200823012001p:plain

 

3つの点集合\(\{(x,y) | x^2+y^2-1 \leq 0\}\)、\(\{(x,y) | (x+0.75)^2+(y-1)^2 -  \frac{1}{4} \leq 0\}\)及び\(\{(x,y) | (x-0.75)^2+(y-1)^2 - \frac{1}{4} \leq 0\}\)の和集合を求めることと、3つの陰関数\(x^2+y^2-1 ,\, (x+0.75)^2+(y-1)^2 -  \frac{1}{4},\, (x-0.75)^2+(y-1)^2 - \frac{1}{4}\)の各点ごとの最小値を求めることに対応があることがわかります。

この対応を圏論風に書いてみます。圏IFは陰関数がオブジェクト、陰関数を複数集めて(積をとっています)、射minで新しい陰関数を作ります。圏Rでは点集合を複数集めて(積をとっています)、射\(\cup\)で新しい点集合を和集合として作ります。

$$ \xymatrix{
圏IF & \prod_{i}{IF_i} \ar[r]^{min} & IF \ar[d]^{ \leq 0}\\
圏R & \prod_{i}{R_i}  \ar[r]_{\cup} \ar[u]^{forget\, \leq 0} & R
} $$

こんな感じでしょうか。 陰関数表示された点集合から陰関数を取り出すことと、陰関数に述語\( \leq 0\)を適用して点集合を作ることが函手になっている風です。「点集合の和集合を作る」とは「陰関数表示された点集合から、上向きの函手で陰関数を取り出し」、「そのminをとることで新しい陰関数を作り」、「下向きの函手でその陰関数に対応する和集合を得る」というような意味です。

 

このレベルでも対応の仕組みが分かりやすく書けるのは少しうれしい感じです。

 

最初にご紹介した記事では、minとmaxと集合の和集合、積集合、領域の内側、外側などの話がわかりやすく説明されています。