projects
/
valse.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add a few indications for debug
[valse.git]
/
src
/
test
/
generate_test_data
/
helpers
/
EMGLLF.R
diff --git
a/src/test/generate_test_data/helpers/EMGLLF.R
b/src/test/generate_test_data/helpers/EMGLLF.R
index
7c80081
..
7100f29
100644
(file)
--- a/
src/test/generate_test_data/helpers/EMGLLF.R
+++ b/
src/test/generate_test_data/helpers/EMGLLF.R
@@
-72,7
+72,8
@@
EMGLLF = function(phiInit,rhoInit,piInit,gamInit,mini,maxi,gamma,lambda,X,Y,tau)
pi2AllPositive = all(pi2 >= 0)
kk = kk+1
}
pi2AllPositive = all(pi2 >= 0)
kk = kk+1
}
-
+
+#if (ite==2) browser()
#t[m] la plus grande valeur dans la grille O.1^k tel que ce soit décroissante ou constante
while( kk < 1000 && -a/n + lambda * sum(pi^gamma * b) <
-sum(gam2 * log(pi2))/n + lambda * sum(pi2^gamma * b) )
#t[m] la plus grande valeur dans la grille O.1^k tel que ce soit décroissante ou constante
while( kk < 1000 && -a/n + lambda * sum(pi^gamma * b) <
-sum(gam2 * log(pi2))/n + lambda * sum(pi2^gamma * b) )
@@
-95,6
+96,8
@@
EMGLLF = function(phiInit,rhoInit,piInit,gamInit,mini,maxi,gamma,lambda,X,Y,tau)
}
ps[mm,r] = sum(ps1[,mm,r])
nY2[mm,r] = sum(nY21[,mm,r])
}
ps[mm,r] = sum(ps1[,mm,r])
nY2[mm,r] = sum(nY21[,mm,r])
+
+#TODO: debug rho computation
rho[mm,mm,r] = (ps[mm,r]+sqrt(ps[mm,r]^2+4*nY2[mm,r]*gam2[r])) / (2*nY2[mm,r])
}
}
rho[mm,mm,r] = (ps[mm,r]+sqrt(ps[mm,r]^2+4*nY2[mm,r]*gam2[r])) / (2*nY2[mm,r])
}
}
@@
-135,7
+138,7
@@
EMGLLF = function(phiInit,rhoInit,piInit,gamInit,mini,maxi,gamma,lambda,X,Y,tau)
{
#FIXME: numerical problems, because 0 < det(Rho[,,r] < EPS; what to do ?!
# consequence: error in while() at line 77
{
#FIXME: numerical problems, because 0 < det(Rho[,,r] < EPS; what to do ?!
# consequence: error in while() at line 77
- Gam[i,r] = pi[r] * exp(-0.5*sqNorm2[r] + shift) * det(rho[,,r])
+ Gam[i,r] = pi[r] * exp(-0.5*sqNorm2[r] + shift)
#
* det(rho[,,r])
sumLLF1 = sumLLF1 + Gam[i,r] / (2*base::pi)^(m/2)
}
sumLogLLF2 = sumLogLLF2 + log(sumLLF1)
sumLLF1 = sumLLF1 + Gam[i,r] / (2*base::pi)^(m/2)
}
sumLogLLF2 = sumLogLLF2 + log(sumLLF1)