arxiv.org
- 団代数の n x n exchange matrix(skew-symmetric)Bに対して、次のような正方行列(k番による変異のための行列)を定める
-
- このとき、変異後の置換行列はとなることが知られている
- 検算
my.B.mut <- function(B,k){
new.B <- B
n <- length(B[,1])
new.B[k,] <- - B[k,]
new.B[,k] <- - B[,k]
for(i in 1:n){
for(j in 1:n){
if(i != k){
if(j != k){
new.B[i,j] <- B[i,j] + sign(B[i,k]) * max(B[i,k]*B[k,j],0)
}
}
}
}
return(new.B)
}
d <- 5
B <- matrix(sample(1:9,d^2,replace=TRUE),d,d)
B <- B - t(B)
B
my.mat.mut.B <- function(B,k){
b <- B[,k]
b. <- cbind(b,rep(0,length(b)))
b. <- apply(b.,1,max)
b.[k] <- -1
ret <- diag(rep(1,length(b)))
ret[,k] <- b.
return(ret)
}
W <- my.mat.mut.B(B,2)
W %*% B %*% t(W)
my.B.mut(B,2)