Ejemplo n.º 1
0
#!/usr/bin/python
import sys
import numpy as np
import matrixFunctions2d
from scipy.linalg import expm, logm

matrix = matrixFunctions2d.read2dMatrix(sys.argv[1])

Norm = matrixFunctions2d.normalize2dMatrix(matrix, 0)
logd = logm(Norm)

#mat = expm(matrix)
#matrixFunctions2d.printDetailedBalanceftxt(mat, "quickout.txt")
matrixFunctions2d.printDetailedBalanceftxt(
    logd, "detailedBalance_%s.dat" % sys.argv[1])
#matrixFunctions2d.printDetailedBalanceftxt(matrix, "quickout.txt")
Ejemplo n.º 2
0
import sys
import math
import EMHelper


def gammaFunction(R, N, alpha=1, beta=1):
    beta += R
    beta = 1 / beta
    alpha += N
    return np.random.gamma(alpha, beta, 1)


##################initialize sampling
#read in distribution to match
fname = sys.argv[1]
MATRIX = matrixFunctions2d.read2dMatrix(fname)
distribution = matrixFunctions2d.normalize2dMatrix(MATRIX,
                                                   0)  #normalize along rows
n = MATRIX.shape[0]
#make random initial generator matrix
Q = np.zeros_like(MATRIX)

#generate alpha matrix using an EM, set alpha[i,j] = 1 if EM[i,j]>1e-14 else alpha[i,j]=0
#code from expectationMaximization.py
logd = logm(distribution)
diag = matrixFunctions2d.diagonalAdjustment2d(logd)
epsilon = 0.0001
i = 0
maxIters = 200
exit = 0
maxiters = 200