数学のブログ

凸集合 クレイン=ミルマンの定理 n次元空間、球、凸集合、線分

ラング線形代数学(上) (ちくま学芸文庫) (S.ラング(著)、芹沢 正三(翻訳)、筑摩書房)の付録1(凸集合)、4(クレイン=ミルマンの定理)、練習問題2の解答を求めてみる。

X 、 Y を S の任意の2点とする。

このとき

a > 0 , b > 0 , a + b = 1

を満たす 実数 a、 b に対して、

( a X + b Y ) - P
= a X + b Y - ( a + b ) P
= a ( X - P ) + b ( Y - P )
a X - P + b Y - P

また、 X 、 Y は S の点なので、

X - P < c Y - P < c

よって、

( a X + b Y ) - P < a c + b c = c

ゆえに、

a X + b Y

は S の点である。

以上より、 S は凸である。

X - P c

である場合も上記

<

に置き換えて同様 に考えればいい。

(証明終)

コード

#!/usr/bin/env python3
from sympy import Matrix, symbols, solve, pprint
from sympy.plotting import plot3d

print('2.')

P = Matrix([0, 0, 0])
x, y, z = symbols('x, y, z', real=True)
X = Matrix([x, y, z])
c = 2
eq = (X - P).norm() - c
zs = solve(eq, z)
pprint(zs)
p = plot3d(*zs,
           (x, -5, 5),
           (y, -5, 5),
           show=True)
p.save('sample2.png')

入出力結果

% ./sample2.py
2.
⎡    _______________     _______________⎤
⎢   ╱    2    2         ╱    2    2     ⎥
⎣-╲╱  - x  - y  + 4 , ╲╱  - x  - y  + 4 ⎦
%