X := {v ∈ C([0, 1]) | v [xi − 1, xi] 1 } ,
X := { v ∈ X
v(0) = 0 } , Xg1 :=
{ v ∈ X
v(0) = α }
X X Xg1 Xg1 X 1 2 u (W) Find u ∈ Xg1 s.t. ∫ 1
0
J [w].
u(x) = α0(x) + N∑ i=1
aii(x)
6
a1, · · · , aN u (W) ( (V)) a1, . . . , aN 1 {xi} [0, 1] N u xi
Ui
(2 )
•
2 (W) Find u ∈ Xg1 s.t.
(2.6)
∫
∫
} ,
} .
(1
∫ 1
0
∫ 1
0
:
∂u
3 FreeFem++
7
1FreeFem++4 6 J. L. LionsFrederic Hecht, Oliver
Pironneau, A. Le Hyaric, 2, 3 PSE (problem solving environment) (
400, ) (Windows, Mac, Linux) [1]
[2] Poisson
−4 u = f in ,(3.1)
u = g1 in Γ1,(3.2)
∂n = g2 in Γ2(3.3)
( = (0, 1) × (0, 1), Γ1 = {0} × [0, 1] ∪ [0, 1] × {0}, Γ2 = {1} ×
(0, 1] ∪ (0, 1] × {1}, f = 1, g1 = 0, g2 = 0) FreeFEM++
Poisson2.edp // Poisson2.edp
int Gamma1=1, Gamma2=2;
border Gamma10(t=0,1) { x=0; y=1-t; label=Gamma1; }
border Gamma11(t=0,1) { x=t; y=0; label=Gamma1; }
border Gamma20(t=0,1) { x=1; y=t; label=Gamma2; }
border Gamma21(t=0,1) { x=1-t; y=1; label=Gamma2; }
int m=10;
plot(Th, wait=1,ps="Th.eps");
plot(u,ps="contour.eps"); ( Mac mi, 5,
emacs ) FreeFem++ Poisson2.edp return esc
4http://www.freefem.org/ff++/ 5http://
nalab.mind.meiji.ac.jp/~mk/knowhow-2015/node1.html
3.2 FreeFem++ (2)
4 = 0 (in )(3.4)
Γ1 = ∅, Γ2 = ∂, f = 0, g2 = v · n.
= {(x, y) ∈ R2 | x2 + y2 < 1}, v ≡
( 1
2
( x
y
)
// 2 // ,
border Gamma(t=0,2*pi) { x = cos(t); y = sin(t); } // int
m=40;
mesh Th=buildmesh(Gamma(m));
plot(Th, wait=1, ps="Th.eps");
// 2 1 fespace Vh(Th,P1);
Vh phi, v, v1, v2;
// func Vn=x+2*y; // Ω, V=(1,2) Vn=x+2y
// φ () solve Laplace(phi,v) =
int2d(Th)(dx(phi)*dx(v)+dy(phi)*dy(v))
-int1d(Th,Gamma)(Vn*v);
plot(phi,ps="contourpotential.eps",wait=1);
v1=dx(phi); v2=dy(phi);
// plot([v1,v2],phi,ps="both.eps", wait=1); (mi, emacs, Xcode, 7)
FreeFem++ potential2d-v0.edp ( ) Escape
2:
mind.meiji.ac.jp/~mk/knowhow-2015/node1.html
(2018/6/18 08-20180618.pdf ) 4.1 (1) U Cf : U → Cf (conformal
mapping)
f
(2) U , V C f : U → V f (biholomorphic) f f f−1
z ∈ U 2 C1, C2 C1 C2 C1 C2 f
2 t = 0 z φ : (−ε, ε) → U d
dt f(φ(t))
t=0
arg
= arg f ′(z) + argφ′(0).
4.2 w = f(z) f−1(f(z)) = z. (f−1)
′ (w)f ′(z) = 1.
f ′(z) 6= 0.
4.3 () f U f V := f(U) f : U → V
4.4 () z0 ∈ D1, ε ∈ C, |ε| = 1
φ(z) = ε z − z0 1− z0z
(z ∈ D1)
11
φ1 : D1 → D1 φ : D1 → D1
(∃z0 ∈ D1)(∃ε ∈ C : |ε| = 1)(∀z ∈ D1) φ(z) = ε z − z0 1− z0z
(Schwarz )
4.5 H := {z ∈ C | Im z > 0}
φ(z) = z − i
z + i (z ∈ H)
|φ(z)| < 1 φ : H → D1 φ Cayley
4.6 (Schwarz-Cristoffel) ()
f : U → V U V U (V ) f (f−1) V (U) U V 1D1: D1 = D(0; 1) = {w ∈ C |
|w| < 1}. 4.7 (Riemann) U C C U D1 φ : U → D1 φ U U (U
U D1 )
4.8 (1) U 6= C CD1 φ : C → D1 |φ(z)| < 1 φ LiouvilleC
(2) n (n− 1 ) n 2 U U A(0; ρ, 1) ρ U 1 (U modulus) φ 4.9 () U C C
z0 ∈
(4.1) φ(z0) = 0 φ′(z0) > 0
φ : U → D1 12
(5.1) C (Jordan) C U
U U Jordan φ : U → D1 φ : U → D1 (Caratheodry ) φ φ(z0) = 0 z0 ∈
f(z) :=
φ(z)
z→z0
f(z) 6= 0. U log φ(z) z−z0
u, v :
u(z) := Re log φ(z)
φ(z)
(4.3) u(z) = − log |z − z0| (z ∈ ∂U)
z ∈ ∂U φ(z) ∈ ∂D1, |φ(z)| = 1
u(z) = Re log φ(z)
u v u
v(z0) = 0
φ(z) := (z − z0) exp [u(z) + iv(z)]
U D1
(2017/6/28 §6 )
13
5.1 () D Φ: → D Φ Φ: → D Φ−1 : D →
C C Φ Riemann Jordan Φ
5.2 Riemann (…)
U , V C φ : U → V φ φ−1
C C
φ : → D1 = D(0; 1)
(Riemann , 1851) φ , 8 Schwarz-Christoffel mapping
5.3 C C Riemann
φ : → D1 = D(0; 1)
5.1 C C z0
(5.1) φ(z0) = 0, φ′(z0) > 0
φ : → D1 φ1, φ2 ψ := φ2 φ−1
1 ψ : D1 → D1
ψ(0) = φ2
) = φ2(z0) = 0
8 φ′ 6= 0 φ : U → C V := φ(U) φ : z 7→ φ(z) ∈ V (φ′(z) 6= 0
)d
14
z − 0
2(z0) 1
φ′ 1(z0)
ε = 1. ψ(z) = z. φ2 = φ1.
5.4 Jordan Jordan Jordan C Jordan C C “” C C Jordan Jordan Riemann
φ φ φ : → D1 (5.1)
φ : → D1 (Caratheodory ) φ φ φ(z)
z − z0 0
log φ(z)
u(z) + iv(z) := log φ(z)
(5.2) u(z) = − log |z − z0| (z ∈ ∂).
(5.3) 4 u(z) = 0 (z ∈ ).
(5.3), (5.2) Laplace Dirichlet uv u v(z0) = 0 φ
φ(z) = (z − z0) exp [u(z) + iv(z)] .
15
16
5.5 () D1 φ : → D1 C C \ n− 1 n C \ {0} C \D1 C \ {0, 1} (1 C \ 1—
)
21 rA(0; r, 1) = {w ∈ C | r < |w| < 1} φ : → A(0; r, 1)
6 Laplace
6.1 6.1.1
3 E(x) = 1
2π log |x| −4 (the
fundamental solutionn) E :
4E(x) = 0 (x ∈ Rn \ {0}).
()
(6.1) −4E = δ
δ Dirac : E(x)
6.1.2 Poisson
−4U = f
() U Poisson v := u − U 4 v = 0 f = 0 ( U )
17
Green 3 ( Cauchy x Green 0 [3] §3.5)
− ∫
0 (x ∈ Rm \ ).
(x ∈ ∂ 3)
u(x) =
∫ ∂
uu, ∂u/∂n ∂u(x) ( Cauchy ) : ΓN = ∅
1
(b) u ∂ 0 x ∈
− ∫
6.2 ΓN = ∅ Laplace
4 u(x) = 0 (x ∈ ),
u(x) = g1(x) (x ∈ ΓD = ∂)
() u
18
u(N)(x) = N∑ k=1
QkE(x− yk)
(E Laplacian ) Q1, Q2, . . . , QN
4 u(N)(x) = 0 (x ∈ Rn \ {y1, y2, . . . , yN})
u(N)(x) = g1(x) (x ∈ ∂) u(N) ∂ x1, . . . , xN
u(N)(xj) = g1(xj) (j = 1, 2, · · · , N)
Qk
the method of fundamental solutions ( , fundamental solution
method), (charge simulation method)
9
≤ CρN
• u(N)
(boundary element method,
BEM)
§5.4 9y1, . . . , yN Q1, . . . , QN
u(N)
19
u u(N) N ∈ N {ζk}Nk=1 C \
(6.2) u(N)(z) := N∑ k=1
Qk log |z − ζk|
Qk (k = 1, . . . , N){zj}Nj=1 ∂collocation equation
(6.3) u(N)(zj) = − log |zj − z0| (j = 1, . . . , N)
{Qk}
Qk Log z − ζk z0 − ζk
, Q0 := N∑ k=1
Qk log |z0 − ζk|
Re f (N)(z) = N∑ k=1
Qk log |z0 − ζk|+ N∑ k=1
Qk log
f (N)(z0) = Q0 +
= Q0 + N∑ k=1
0 = Q0 ∈ R.
Im f (N)(z0) = 0. f (N) f = u+ iv (1) (6.2), (6.3) {Qk}
(2) (6.4) f (N)
(3) φ(N)(z) := (z − z0) exp f (N)(z) φ(N) φ : → D1
6.4 Eigen Jordan MATLAB C++ Eigen10 (C++ )
WWWeigen-eigen-5a0156e40feb.tar.gz
10http://eigen.tuxfamily.org/
20
cd eigen-eigen-5a0156e40feb
Eigen ~/include
/usr/local/include (Eigen Runge-Kutta http://
nalab.mind.meiji.ac.jp/~mk/complex2/ball-bound.cpp )
= D1 = D(0; 1), z0 = 1/2
φ : → D1
1
* conformalmap.cpp --- ()
* g++ -I/opt/X11/include -I/usr/local/include
conformalmap.cpp
* -L/usr/local/lib -lglscd -L/opt/X11/lib -lX11
* /opt/X11 X * /usr/local Eigen, GLSC * *
* Mac GLSC ~/include, ~/lib * * g++ -I/opt/X11/include -I ~/include
conformalmap.cpp -L ~/lib -lglscd -L/opt/X11/lib -lX11
* Eigen ~/include * */
#include <iostream>
#include <complex>
#include <Eigen/Dense>
extern "C" {
#include <glsc.h>
11http://nalab.mind.meiji.ac.jp/~mk/complex2/conformalmap.cpp
using namespace std;
using namespace Eigen;
// MatrixXd double // d(double) i(int), f(float), cf, cd
(complex<double>) OK
// φ (z0)=0, φ’(z0)>0 complex<double>
phi(complex<double> z,
complex<double> z0)
complex<double> z0,
s += Q(k) * log((z-zeta(k))/(z0-zeta(k)));
return (z-z0) * exp(s);
double theta, pi, dt, R, Q0, r, dr;
// z0=1/2
R = 2;
N = 80;
// |z|=2 for (k = 0; k < N; k++)
zeta(k) = R * exp(I * (k * dt));
// cout << "zeta=" << zeta << endl;
// |z|=1 for (j = 0; j < N; j++)
z(j) = exp(I * (j * dt));
for (k = 0; k < N; k++) {
a(j,k) = log(abs(z(j)-zeta(k)));
b(j) = - log(abs(z(j)-z0));
Q0 += Q(k) * log(abs(z0-zeta(k)));
g_sel_scale(0);
for (i = 1; i <= m; i++) {
r = i * dr;
zp = r * exp(I * (j * dt));
w=f(zp,z0,N,Q0,Q,zeta);
theta = j * dt;
r = i * dr;
g++ -I/opt/X11/include -I ~/include conformalmap.cpp -L ~/lib
-lglscd -L/opt/X11/lib -lX11
(GLSC Mac ~/include, ~/lib Eigen ~/include )
A Poincare-Perron ()