- 共形変換でがに移るとき、「ジャンプ」する、という考え方もあるだろうけれど、連続的に変形して、結果としてに移る、ということもありだろう
- 今、という変換だとしたときに、という風にすると、連続的に動かせる
- が、の方が素直だろうか→実際、項ごとの和にすると、連続性が失われたりするようなので、こちらがよさそうだし、よく考えれば、そのはず
- の代わりに、単調増加関数を入れて、とするのもありだろう
- 係数の乗との乗のように変えてやるのは、必要だろうか、それとも、多項式を書き換えれば、そのような違いを入れなくても大丈夫だろうか。また、ごとに、時間の単調増加関数を変える、というのも、一般的に扱うには必要だろうか、それとも、無限級数表示にすればそれは不要だろうか…
- 以下、調整中
k <- 3
conf.fx <- rnorm(k) + 1i * rnorm(k)*5
my.conf.goal <-function(z,cf){
ret <- length(z)
tmp <- matrix(1,length(cf),length(z))
if(length(cf) > 1){
for(i in 2:length(cf)){
tmp[i,] <- z^(i-1)
}
}
apply(tmp * cf,2,sum)
}
k1 <-3
conf.fx.1 <- rnorm(k1) + 1i * rnorm(k1)*5
k2 <- 1
conf.fx.2 <- rnorm(k2) + 1i * rnorm(k2)
conf.ratio.fx <- list(conf.fx.1,conf.fx.2)
my.conf.map <- function(z,t,cf){
cf. <- cf
cf.[1] <- cf.[1] + length(cf)
ret <- matrix(0,length(t),length(z))
tmp <- matrix(1,length(cf),length(z))
if(length(tmp[,1])>1){
cf.[2] <- cf.[2] - 1
for(i in 2:length(tmp[,1])){
tmp[i,] <- z^(i-1)
}
}
for(i in 1:length(ret[,1])){
ret[i,] <- apply((tmp * cf.)^t[i],2,sum)
if(i==1){
tmp.first <- ret[1,]
}
ret[i,] <- ret[i,]-tmp.first + z
}
ret
}
my.conf.map.2 <- function(z,t,cf){
tmp <- my.conf.goal(z,cf)
tmp.2 <- tmp/z
ret <- matrix(0,length(t),length(z))
for(i in 1:length(t)){
ret[i,] <- z * tmp.2^t[i]
}
ret
}
my.conf.map.ratio <- function(z,t,cf.r){
out1 <- my.conf.map.2(z,t,cf.r[[1]])
tmp <- my.conf.goal(z,cf)
ret <- matrix(0,length(t),length(z))
for(i in 1:length(t)){
ret[i,] <- tmp^t[i]
}
out1/ret
}
my.grid <- function(X=(-10):10,Y=(-10):10,n=200){
x=seq(from=min(X),to=max(X),length=n+1)[-1]
y=seq(from=min(Y),to=max(Y),length=n+1)[-1]
as.matrix(rbind(expand.grid(x,Y),expand.grid(X,y)))
}
xy <- my.grid(X=1:3,Y=1:3,n=100)
z <- xy[,1] + 1i * xy[,2]
t <- seq(from=0,to=1,length=1000)
Z <- my.conf.map(z,t,conf.fx)
Z.end <- my.conf.goal(z,conf.fx)
plot(Z[,1])
plot(Z[1,],pch=20,cex=0.3,xlim=range(Re(Z)),ylim=range(Im(Z)))
par(ask=TRUE)
for(i in 1:length(Z[,1])){
plot(Z[i,],pch=20,cex=0.3,xlim=range(Re(Z)),ylim=range(Im(Z)))
}