[Gmm-commits] r17 - in pkg/gmm: . R inst/doc man
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Fri Jan 8 18:53:12 CET 2010
Author: chaussep
Date: 2010-01-08 18:53:12 +0100 (Fri, 08 Jan 2010)
New Revision: 17
Modified:
pkg/gmm/DESCRIPTION
pkg/gmm/NEWS
pkg/gmm/R/gel.R
pkg/gmm/R/getModel.R
pkg/gmm/R/momentEstim.R
pkg/gmm/R/specTest.R
pkg/gmm/inst/doc/gmm_with_R.pdf
pkg/gmm/inst/doc/gmm_with_R.rnw
pkg/gmm/man/gel.Rd
pkg/gmm/man/getLamb.Rd
pkg/gmm/man/rho.Rd
Log:
GEL now uses the new structure
Modified: pkg/gmm/DESCRIPTION
===================================================================
--- pkg/gmm/DESCRIPTION 2009-12-22 15:18:34 UTC (rev 16)
+++ pkg/gmm/DESCRIPTION 2010-01-08 17:53:12 UTC (rev 17)
@@ -1,6 +1,6 @@
Package: gmm
-Version: 1.1-3
-Date: 2009-12-15
+Version: 1.3-0
+Date: 2010-01-08
Title: Generalized Method of Moments and Generalized Empirical Likelihood
Author: Pierre Chausse <pierre.chausse at uqam.ca>
Maintainer: Pierre Chausse <pierre.chausse at uqam.ca>
Modified: pkg/gmm/NEWS
===================================================================
--- pkg/gmm/NEWS 2009-12-22 15:18:34 UTC (rev 16)
+++ pkg/gmm/NEWS 2010-01-08 17:53:12 UTC (rev 17)
@@ -1,3 +1,26 @@
+Changes in version 1.3-0
+
+ o The method "getModel", "momentEstim" is now used also for the gel procedure.
+ o The GEL procedure as been modified. For the case in which the option smooth=TRUE is used,
+ the appropriate scaling parameters have been added following Smith(2004) in the estimation, the covariance matrix of the Lagrange
+ multiplier and the tests of over-identifying restrictions. In this case, only the kernels Truncated and Bartlett are available.
+ For the former, the optimal bandwidth of Andrews(91) for Bartlett is used and for the latter, it is the bandwidth proposed
+ for the Parzen. See Smith(2004) for more details. Also, the option vcov as been removed since it is irrelevant for GEL. By setting smooth to
+ FALSE, it is implied that the data are iid.
+
+Changes in version 1.2-0
+
+The following modifications were suggested by the reviewers of JSS. These changes will not be noticed by users. They are intended to make it easier for
+developpers to contribute.
+
+ o The new method specTest computes the specification tests from objects created by "gmm" or "gel"
+ o The structure of the package has been modified in order to make it more flexible. The changes include:
+ o The new method "getModel" prepares the estimation. It creates what is required by the method "momentEstim".
+ o The method "momentEstim" estimates the model defined by "getModel"
+ o The method "FinRes" finalizes the estimation when it is needed. For now, the method is used only by "gmm" to compute the final resutls.
+ o Some bugs are fixed
+ o The Vignette has been modified a little and the errors in the manual corrected.
+
Changes in version 1.1-0
Modified: pkg/gmm/R/gel.R
===================================================================
--- pkg/gmm/R/gel.R 2009-12-22 15:18:34 UTC (rev 16)
+++ pkg/gmm/R/gel.R 2010-01-08 17:53:12 UTC (rev 17)
@@ -11,12 +11,12 @@
# A copy of the GNU General Public License is available at
# http://www.r-project.org/Licenses/
-rho <- function(x, lamb, derive = 0, type = c("EL", "ET", "CUE"), drop = TRUE)
+rho <- function(x, lamb, derive = 0, type = c("EL", "ET", "CUE"), drop = TRUE, k = 1)
{
type <- match.arg(type)
lamb <- matrix(lamb, ncol = 1)
- gml <- x%*%lamb
+ gml <- x%*%lamb*k
ch <- 0
if (derive == 0)
{
@@ -68,17 +68,18 @@
return(rhom)
}
-getLamb <- function(g, tet, x, type = c('EL', 'ET', 'CUE'), tol_lam = 1e-12, maxiterlam = 1000, tol_obj = 1e-7)
+getLamb <- function(g, tet, x, type = c('EL', 'ET', 'CUE'), tol_lam = 1e-12, maxiterlam = 1000, tol_obj = 1e-7, k = 1)
{
type <- match.arg(type)
gt <- g(tet, x)
+
n <- nrow(gt)
tol_cond=1e-12
gb <- colMeans(gt)
khat <- crossprod(gt)/n
lamb0 <- -solve(khat,gb)
+
conv_mes <- "Normal convergence"
-
singular <-0
crit <-1e30
crit0 <- crit
@@ -89,17 +90,18 @@
j <- 1
while ((crit > tol_lam*( 1 + sqrt( crossprod(lamb0) ) ) ) & (j <= maxiterlam))
{
- rho2 <- as.numeric(rho(gt, lamb0, derive = 2, type = type)$rhomat)
- rho1 <- as.numeric(rho(gt, lamb0, derive = 1, type = type)$rhomat)
+ rho2 <- as.numeric(rho(gt, lamb0, derive = 2, type = type, k = k)$rhomat)
+ rho1 <- as.numeric(rho(gt, lamb0, derive = 1, type = type, k = k)$rhomat)
gblam <- colMeans(rho1*gt)
klam <- crossprod(rho2*gt, gt)/n
chklam <- sum(abs(klam))
if (!is.null(gblam0))
dgblam <- crossprod(gblam) - crossprod(gblam0)
- if (is.na(chklam) | chklam == 0 | chklam == Inf | dgblam > 0 | dgblam == Inf | is.na(dgblam) | dcrit < 0)
+ #if (is.na(chklam) | chklam == 0 | chklam == Inf | dgblam > 0 | dgblam == Inf | is.na(dgblam) | dcrit < 0)
+ if (is.na(chklam) | chklam == 0 | chklam == Inf | dgblam == Inf | is.na(dgblam))
{
- lamb1 <- rep(sqrt(1/n), length(lamb0))
+ lamb1 <- rep(0, length(lamb0))
crit <- 0
singular=2
conv_mes <- "The algorithm produced singular system, NaN or Inf"
@@ -109,12 +111,12 @@
if (rcond(klam) > tol_cond)
{
lamb1 <- lamb0 - solve(klam, gblam)
- crit <- sqrt(crossprod(lamb0 - lamb1))
+ crit <- sqrt(crossprod(lamb0 - lamb1))
lamb0 <- lamb1
}
else
{
- lamb1 <- rep(sqrt(1/n) , length(lamb0))
+ lamb1 <- rep(0 , length(lamb0))
crit <- 0
singular <- 2
conv_mes <- "The algorithm produced singular system"
@@ -126,11 +128,12 @@
crit0 <- crit
}
z <- list("lambda" = lamb1, singular = singular, conv_mes = conv_mes)
- if (j > maxiterlam | max(abs(gblam)) > tol_obj)
+ if (j > maxiterlam)
{
singular <- 1
conv_mes <- "No convergence after 'maxiterlam' iterations"
- z$singular <- singular
+ z$singular <- singular
+ stop("Maxiterlam reached.\n Increase it, try other starting values \n or use the option optlam=\"numeric\".")
}
z$obj <- crossprod(gblam)
return(z)
@@ -171,14 +174,13 @@
}
-gel <- function(g, x, tet0, gradv = NULL, smooth = FALSE, type = c("EL", "ET", "CUE", "ETEL"), vcov = c("HAC", "iid"),
- kernel = c("Bartlett", "Parzen", "Truncated", "Tukey-Hanning"), bw = bwAndrews2, approx = c("AR(1)",
+gel <- function(g, x, tet0, gradv = NULL, smooth = FALSE, type = c("EL", "ET", "CUE", "ETEL"),
+ kernel = c("Truncated", "Bartlett"), bw = bwAndrews2, approx = c("AR(1)",
"ARMA(1,1)"), prewhite = 1, ar.method = "ols", tol_weights = 1e-7, tol_lam = 1e-9, tol_obj = 1e-9,
- tol_mom = 1e-9, maxiterlam = 1000, constraint = FALSE, optfct = c("optim", "optimize", "nlminb"),
+ tol_mom = 1e-9, maxiterlam = 100, constraint = FALSE, optfct = c("optim", "optimize", "nlminb"),
optlam = c("iter", "numeric"), model = TRUE, X = FALSE, Y = FALSE, TypeGel = "baseGel", ...)
{
- vcov <- match.arg(vcov)
type <- match.arg(type)
optfct <- match.arg(optfct)
optlam <- match.arg(optlam)
@@ -186,10 +188,10 @@
approx <- match.arg(approx)
kernel <- match.arg(kernel)
- all_args <- list(g = g, x = x, tet0 = tet0, gradv = gradv, smooth = smooth, type = type, vcov = vcov,
+ all_args <- list(g = g, x = x, tet0 = tet0, gradv = gradv, smooth = smooth, type = type,
kernel = kernel, bw = bw, approx = approx, prewhite = prewhite, ar.method = ar.method,
tol_weights = tol_weights, tol_lam = tol_lam, tol_obj = tol_obj, tol_mom = tol_mom,
- maxiterlam = maxiterlam, constraint = constraint, optfct = optfct,
+ maxiterlam = maxiterlam, constraint = constraint, optfct = optfct, weights = weightsAndrews2,
optlam = optlam, model = model, X = X, Y = Y, TypeGel = TypeGel, call = match.call())
class(all_args)<-TypeGel
@@ -210,17 +212,18 @@
}
else
x <- P$x
+
if (P$optlam == "iter")
{
- lamblist <- getLamb(P$g, tet, x, type = P$typel, tol_lam = P$tol_lam, maxiterlam = P$maxiterlam, tol_obj = P$tol_obj)
+ lamblist <- getLamb(P$g, tet, x, type = P$typel, tol_lam = P$tol_lam, maxiterlam = P$maxiterlam, tol_obj = P$tol_obj, k = P$k1/P$k2)
lamb <- lamblist$lambda
gt <- P$g(tet, x)
- pt <- -rho(gt, lamb, type = P$typet, derive = 1)$rhomat/nrow(gt)
+ pt <- -rho(gt, lamb, type = P$typet, derive = 1, k = P$k1/P$k2)$rhomat/nrow(gt)
checkmom <- sum(as.numeric(pt)*gt)
if (lamblist$singular == 0)
- p <- sum(rho(gt, lamb, type = P$typet)$rhomat) + abs(checkmom)/P$tol_mom
+ p <- sum(rho(gt, lamb, type = P$typet, k = P$k1/P$k2)$rhomat) + abs(checkmom)/P$tol_mom
if (lamblist$singular == 1)
- p <- sum(rho(gt, lamb, type = P$typet)$rhomat) + abs(checkmom)/P$tol_mom + lamblist$obj/P$tol_mom
+ p <- sum(rho(gt, lamb, type = P$typet, k = P$k1/P$k2)$rhomat) + abs(checkmom)/P$tol_mom + lamblist$obj/P$tol_mom
if (lamblist$singular == 2)
p <- 1e50*proc.time()[3]
}
@@ -229,7 +232,7 @@
gt <- P$g(tet, x)
rhofct <- function(lamb)
{
- rhof <- -sum(rho(gt, lamb, type = P$typel)$rhomat)
+ rhof <- -sum(rho(gt, lamb, type = P$typel, k = P$k1/P$k2)$rhomat)
return(rhof)
}
if (ncol(gt) > 1)
@@ -241,7 +244,7 @@
rlamb$value <- rlamb$objective
}
lamb <- rlamb$par
- pt <- -rho(gt, lamb, type = P$typet, derive = 1)$rhomat/nrow(gt)
+ pt <- -rho(gt, lamb, type = P$typet, derive = 1, k = P$k1/P$k2)$rhomat/nrow(gt)
checkmom <- sum(as.numeric(pt)*gt)
p <- -rlamb$value + (checkmom)^2/P$tol_mom + (sum(as.numeric(pt)) - 1)^2/P$tol_mom
}
Modified: pkg/gmm/R/getModel.R
===================================================================
--- pkg/gmm/R/getModel.R 2009-12-22 15:18:34 UTC (rev 16)
+++ pkg/gmm/R/getModel.R 2010-01-08 17:53:12 UTC (rev 17)
@@ -127,26 +127,55 @@
{
clname <- paste(class(P), ".mod", sep = "")
P$gform <- NULL
+ if (!is.function(object$gradv))
+ {
+ P$gradv <- .Gf
+ P$gradvf <- FALSE
+ }
+ else
+ {
+ P$gradvf <- TRUE
+ }
+
}
if (P$smooth)
{
+ if(P$kernel == "Truncated")
+ {
+ P$wkernel <- "Bartlett"
+ P$k1 <- 2
+ P$k2 <- 2
+ }
+ if(P$kernel == "Bartlett")
+ {
+ P$wkernel <- "Parzen"
+ P$k1 <- 1
+ P$k2 <- 2/3
+ }
P$g1 <- P$g
rgmm <- gmm(P$g, x, P$tet0, wmatrix = "ident")
- if (is.function(P$weights))
- P$w <- P$weights(P$g(rgmm$coefficients, x), kernel = P$kernel, bw = P$bw, prewhite = P$prewhite,
+
+ P$bwVal <- P$bw(P$g(rgmm$coefficients, x), kernel = P$wkernel, prewhite = P$prewhite,
+ ar.method = P$ar.method, approx = P$approx)
+ P$w <- P$weights(P$g(rgmm$coefficients, x), kernel = P$kernel, bw = P$bwVal, prewhite = P$prewhite,
ar.method = P$ar.method, approx = P$approx, tol = P$tol_weights)
- else
- P$w <- P$weights
- P$sg <- function(thet, x, g1 = P$g1, w = P$w)
+ P$g <- function(thet, x, g1 = P$g1, w = P$w)
{
gf <- g1(thet, x)
- gt <- smoothG(gf, weights = w)$smoothx
+ gt <- smoothG(gf, weights = w)$smoothx
return(gt)
}
- }
+ }
+ else
+ {
+ P$k1 <- 1
+ P$k2 <- 1
+ P$w <- 1
+ P$bwVal <- 1
+ }
class(P) <- clname
return(P)
}
Modified: pkg/gmm/R/momentEstim.R
===================================================================
--- pkg/gmm/R/momentEstim.R 2009-12-22 15:18:34 UTC (rev 16)
+++ pkg/gmm/R/momentEstim.R 2010-01-08 17:53:12 UTC (rev 17)
@@ -454,8 +454,8 @@
names(z$coefficients) <- paste("Theta[" ,1:k, "]", sep = "")
z$x <- P$x
+ z$gradv <- P$gradv
z$gt <- P$g(z$coefficients, P$x)
- z$gradv <- P$gradv
z$iid <- P$iid
z$g <- P$g
@@ -463,7 +463,6 @@
return(z)
}
-
momentEstim.baseGel.modFormula <- function(object, ...)
{
P <- object
@@ -493,7 +492,7 @@
if (P$optlam == "iter")
{
- rlamb <- getLamb(P$g, res$par, x, type = P$typel, tol_lam = P$tol_lam, maxiterlam = P$maxiterlam, tol_obj = P$tol_obj)
+ rlamb <- getLamb(P$g, res$par, x, type = P$typel, tol_lam = P$tol_lam, maxiterlam = P$maxiterlam, tol_obj = P$tol_obj, k = P$k1/P$k2)
z <- list(coefficients = res$par, lambda = rlamb$lam, conv_lambda = rlamb$conv_mes, conv_par = res$convergence)
z$foc_lambda <- rlamb$obj
}
@@ -503,19 +502,19 @@
gt <- P$g(res$par, x)
rhofct <- function(lamb)
{
- rhof <- -sum(rho(gt, lamb, type = P$typel)$rhomat)
+ rhof <- -sum(rho(gt, lamb, type = P$typel, k = P$k1/P$k2)$rhomat)
return(rhof)
}
rlamb <- optim(rep(0, ncol(gt)), rhofct, control = list(maxit = 1000))
z <- list(coefficients = res$par, conv_par = res$convergence, lambda = rlamb$par)
z$conv_lambda = paste("Lambda by optim. Conv. code = ", rlamb$convergence, sep = "")
- rho1 <- as.numeric(rho(gt, z$lambda, derive = 1, type = P$typel)$rhomat)
+ rho1 <- as.numeric(rho(gt, z$lambda, derive = 1, type = P$typel, k = P$k1/P$k2)$rhomat)
z$foc_lambda <- crossprod(colMeans(rho1*gt))
}
z$type <- P$type
z$gt <- P$g(z$coefficients, x)
- rhom <- rho(z$gt, z$lambda, type = P$typet)
- z$pt <- -rho(z$gt, z$lambda, type = P$typet, derive = 1)$rhomat/n
+ rhom <- rho(z$gt, z$lambda, type = P$typet, k = P$k1/P$k2)
+ z$pt <- -rho(z$gt, z$lambda, type = P$typet, derive = 1, k = P$k1/P$k2)$rhomat/n
z$conv_moment <- colSums(as.numeric(z$pt)*z$gt)
z$conv_pt <- sum(as.numeric(z$pt))
z$objective <- sum(as.numeric(rhom$rhomat) - rho(1, 0, type = P$typet)$rhomat)/n
@@ -543,23 +542,20 @@
names(z$badrho) <- "Number_of_bad_rho"
}
- if (!is.function(P$gradv))
- G <- .Gf(z$coefficients, x, P$g)
- else
- G <- P$gradv(z$coefficients, x)
+ G <- P$gradv(z$coefficients, x)
- if (P$vcov == "iid")
- khat <- crossprod(z$gt)
- else
- khat <- HAC(P$g(z$coefficients, x), kernel = P$kernel, bw = P$bw, prewhite = P$prewhite,
- ar.method = P$ar.method, approx = P$approx, tol = P$tol_weights)
+ khat <- crossprod(z$gt)/(n*P$k2)*P$bwVal
+ G <- G/P$k1
kg <- solve(khat, G)
z$vcov_par <- solve(crossprod(G, kg))/n
- z$vcov_lambda <- ((solve(khat) - kg%*%z$vcov_par%*%t(kg)))/n
-
- if (P$smooth) z$weights <- P$w
+ p_temp <- solve(khat,G)
+ z$vcov_lambda <- solve(khat, ( diag(ncol(khat)) - G %*% (z$vcov_par*n) %*% t(p_temp) ))/n*P$bwVal^2
+ z$weights <- P$w
+ z$bwVal <- P$bwVal
+ names(z$bwVal) <- "Bandwidth"
+
dimnames(z$vcov_par) <- list(names(z$coefficients), names(z$coefficients))
dimnames(z$vcov_lambda) <- list(names(z$lambda), names(z$lambda))
b <- z$coefficients
@@ -575,6 +571,9 @@
if(P$X) z$x <- x
if(P$Y) z$y <- y
z$call <- P$call
+ z$k1 <- P$k1
+ z$k2 <- P$k2
+ z$khat <- khat
class(z) <- paste(P$TypeGel, ".res", sep = "")
return(z)
@@ -606,7 +605,7 @@
if (P$optlam == "iter")
{
- rlamb <- getLamb(P$g, res$par, x, type = P$typel, tol_lam = P$tol_lam, maxiterlam = P$maxiterlam, tol_obj = P$tol_obj)
+ rlamb <- getLamb(P$g, res$par, x, type = P$typel, tol_lam = P$tol_lam, maxiterlam = P$maxiterlam, tol_obj = P$tol_obj, k = P$k1/P$k2)
z <- list(coefficients = res$par, lambda = rlamb$lam, conv_lambda = rlamb$conv_mes, conv_par = res$convergence)
z$foc_lambda <- rlamb$obj
}
@@ -616,22 +615,22 @@
gt <- P$g(res$par, x)
rhofct <- function(lamb)
{
- rhof <- -sum(rho(gt, lamb, type = P$typel)$rhomat)
+ rhof <- -sum(rho(gt, lamb, type = P$typel, k = P$k1/P$k2)$rhomat)
return(rhof)
}
rlamb <- optim(rep(0, ncol(gt)), rhofct, control = list(maxit = 1000))
z <- list(coefficients = res$par, conv_par = res$convergence, lambda = rlamb$par)
z$conv_lambda = paste("Lambda by optim. Conv. code = ", rlamb$convergence, sep = "")
- rho1 <- as.numeric(rho(gt, z$lambda, derive = 1, type = P$typel)$rhomat)
+ rho1 <- as.numeric(rho(gt, z$lambda, derive = 1, type = P$typel, k = P$k1/P$k2)$rhomat)
z$foc_lambda <- crossprod(colMeans(rho1*gt))
}
z$type <- P$type
z$gt <- P$g(z$coefficients, x)
- rhom <- rho(z$gt, z$lambda, type = P$typet)
- z$pt <- -rho(z$gt, z$lambda, type = P$typet, derive = 1)$rhomat/n
+ rhom <- rho(z$gt, z$lambda, type = P$typet, k = P$k1/P$k2)
+ z$pt <- -rho(z$gt, z$lambda, type = P$typet, derive = 1, k = P$k1/P$k2)$rhomat/n
z$conv_moment <- colSums(as.numeric(z$pt)*z$gt)
z$conv_pt <- sum(as.numeric(z$pt))
- z$objective <- sum(as.numeric(rhom$rhomat) - rho(1, 0, type = P$typet)$rhomat)/n
+ z$objective <- sum(as.numeric(rhom$rhomat) - rho(1, 0, type = P$typet, k = P$k1/P$k2)$rhomat)/n
if (P$type == "EL")
{
@@ -639,22 +638,23 @@
names(z$badrho) <- "Number_of_bad_rho"
}
- if (!is.function(P$gradv))
- G <- .Gf(z$coefficients, x, P$g)
- else
+ if(P$gradvf)
G <- P$gradv(z$coefficients, x)
- if (P$vcov == "iid")
- khat <- crossprod(z$gt)
else
- khat <- HAC(P$g(z$coefficients, x), kernel = P$kernel, bw = P$bw, prewhite = P$prewhite,
- ar.method = P$ar.method, approx = P$approx, tol = P$tol_weights)
+ G <- P$gradv(z$coefficients, x, g = P$g)
+
+ khat <- crossprod(z$gt)/(n*P$k2)*P$bwVal
+ G <- G/P$k1
kg <- solve(khat, G)
z$vcov_par <- solve(crossprod(G, kg))/n
- z$vcov_lambda <- ((solve(khat) - kg%*%z$vcov_par%*%t(kg)))/n
+ p_temp <- solve(khat,G)
+ z$vcov_lambda <- solve(khat, ( diag(ncol(khat)) - G %*% (z$vcov_par*n) %*% t(p_temp) ))/n*P$bwVal^2
- if (P$smooth) z$weights <- P$w
-
+ z$weights <- P$w
+ z$bwVal <- P$bwVal
+ names(z$bwVal) <- "Bandwidth"
+
names(z$coefficients) <- paste("Theta[",1:P$k,"]", sep = "")
colnames(z$gt) <- paste("gt[",1:ncol(z$gt),"]", sep = "")
names(z$lambda) <- paste("Lambda[",1:ncol(z$gt),"]", sep = "")
@@ -662,6 +662,9 @@
dimnames(z$vcov_lambda) <- list(names(z$lambda), names(z$lambda))
if(P$X) z$x <- x
z$call <- P$call
+ z$k1 <- P$k1
+ z$k2 <- P$k2
+ z$khat <- khat
class(z) <- paste(P$TypeGel, ".res", sep = "")
return(z)
Modified: pkg/gmm/R/specTest.R
===================================================================
--- pkg/gmm/R/specTest.R 2009-12-22 15:18:34 UTC (rev 16)
+++ pkg/gmm/R/specTest.R 2010-01-08 17:53:12 UTC (rev 17)
@@ -26,11 +26,11 @@
specTest.gel <- function(x, ...)
{
n <- nrow(x$gt)
- khat <- crossprod(x$gt)/n
+ khat <- x$khat
gbar <- colMeans(x$gt)
- LR_test <- 2*x$objective*n
- LM_test <- n*crossprod(x$lambda, crossprod(khat, x$lambda))
- J_test <- n*crossprod(gbar, solve(khat, gbar))
+ LR_test <- 2*x$objective*n*x$k2/(x$bwVal*x$k1^2)
+ LM_test <- n*crossprod(x$lambda, crossprod(khat, x$lambda))/(x$bwVal^2)
+ J_test <- n*crossprod(gbar, solve(khat, gbar))/(x$k1^2)
test <- c(LR_test, LM_test, J_test)
df <- (ncol(x$gt) - length(x$par))
ntest <- noquote(paste("Over-identifying restrictions tests: degrees of freedom is ", df, sep = ""))
Modified: pkg/gmm/inst/doc/gmm_with_R.pdf
===================================================================
--- pkg/gmm/inst/doc/gmm_with_R.pdf 2009-12-22 15:18:34 UTC (rev 16)
+++ pkg/gmm/inst/doc/gmm_with_R.pdf 2010-01-08 17:53:12 UTC (rev 17)
@@ -112,34 +112,37 @@
<< /S /GoTo /D [78 0 R /Fit ] >>
endobj
91 0 obj <<
-/Length 3267
+/Length 3260
/Filter /FlateDecode
>>
stream
-xÚËÛ¸ñ>_Á#UeÑ>°7¯Ëxc×&ëIªRö8g¤ZIÔÇÎ!ß~ %jvÊ5&4~wSiô¥ÑíM*Ïïn^¿/ÒHV¹î"«UQ©U¢îÖÑøíBÅíþ;-<eVæñm¦«á±¿íqbÍF~®
YÆ÷=!X ÀÐã´Õa½øýî(+gÑ(±ªdJ=ñ¸íp~Å4ÿ'àïE¦ã¶Yi<!î f<øùeY¢2
-l#B~àça:Õ-hitRAÿx¤ªkøo7HÝ©ÿú
.⯩ÎyVÆ
-b½ywwóç yT©¨ÈÒäö7_~O£5Ìÿ¥If«è ö1¿>ßüÓw"äRG6±
.N]Ú$·eT¤UbRò{"D¤Ö«h9Göú}5B´Ty¶, J ÑÝFø
-"5À×#¢;.pQàL¸Gv¡Ëø©ç
-x0Ð*mn"A¸¯ñá=Á®u#Ú Þ/tÿ¨6
-¿?²ò ê túë{ÖاÛYnE]ai ÓPKÊ$Öx0êhe¡<øþ¸Þ°ãº¬®ê/í¼Ãå7Ú0¥Þ¬HY¯¶Hi¡cw«u¶´cU ëÊêLÇ2ViêÒ0WÈ?y×´JG[²2ÉÀjdËã~B$Y,smã7|UTÄnK³»¹5)ÔÊ
-Û¯m0´M\W"
-1Àökª²íY2Þ¬tOxÌ9Ld ëu/jtÇITDxOK-3fPç*%êÃúòøjÇjtr{ðj2Rí(*H
gÒ©7úJ7HU4¦k¤G¼Osh¾þpóu4mz¦@Á|Õ(C¹ / Ëd7«&}Q¨|6µ+8ããAVÖßEK~ÀßSÛ-r,mm6KS· ú
-F~yd$òª!ÂÁþḰÛNä+R~ :}ÞÜU5« ¼Â.g| 9_{rÜÎȾ¢sÄ%[pc©²$w1~ö@É
-MÎg¡ÂÝO¤¤Íy¯lkñÐrÅ^û©ÿn;¹`'ÝáíarÓ-Ë ï /EÁ×ÿ!¨¶2öêW¥m®°rémêy:;ÒDåºPþvQ&iVÏ8« ¿°/Í|g̪hÖ,KâÜ ]qÆ|bFn²¥õi5ß½¤z©0.µI-F¹@ì|ÞÌUk0ÞÅ^ZMMóôäÆ7"¦ºç÷ûàº
-í¬¼¶e["BjRò¡B$o9|dìHØkD¨Î[§"Â_çS [üàQM;R+×
Ùãqd»¬¬n0ö¤Âp6>çwô§b&5ç}f°j$»Iu{ýíö&úBý0öÍaÊ"òüY*V¶Òg[½h¬ó$,Èn$qàßjtÝã,ÇÀ§[ÝÇyãAN|»bzU¬?÷E!ÏJtÅæDix@±²90 &k~ÌF:Äq"ÉÂæ=ë×õ ZÇËs
-7²wÉÉ&ðL¨fsLÙ¦!¥®¸ÿYçt½qVøõñ³°éNç,5G]w
-%Ý&nÿFió¦õýNä4Âæ߬8vGOºñw2H3{÷Ã.wB<øc1®¼j~p
-tr!/i
-þ²ýUör²à$ $æ?p6W½á¬¶wy$Zâ8¬yB ÓhãÝ&î8qøú)$J
Ïæð¼yÏvéJÔÈ)âIì0¼à ÛÒÒÓfÑAùIÙ;ÏIO*æ
:ϽñãäJ®ÒQ°s
-++Å-ÏGUyz)]BîH5ë.Àû8ÔËãÍãOy<ǯ\øuy<ULoËÞ×áaØhkÙ~Y9[? BAMÂ#@V®:Ç×=Rv¢PB$òdÛ9ÐuªGß©3õ.[5óÀ¯¦\êcBéͶoÙû°o³ÜGÎïÌ]-
× Öê³$¦8b®]' Cî@bóá [ëUD)¨ïµ¥8 '¤F䪬/|\nd}+§úÔÓ7:´Í\oýÌ
6Tó£w±ä3¸ÔϨÍ>W<À»ö³XÌ$óx¶ W
-áJfsLHqÆFcT
-'öcYá{á Pg®Ôª4ݹ¼É袸Ï)!¼{ª]wJ¢í(akew75âù&ãB«(ã0â}ð¥g{r!gÍxÖ®½5
-û3» YB~&-ª©gÑðvg!pÀZ4M®Ù
-Ð%¥}ãhs²3Χ©XMRÀÁÏÂ9ÒÑm|D§« (&°SúÀÏsJ¥Þ«_ñÈ'\Úrh=z+o$¡O)oòâñÂ¥l8^À¯¿Òz ß]$mfN¦e ,Dg(£)@"ùé³kÁ,3.êظü,1H³ïÆ õ¯2Tð,az'Ñ ÞyW°r¥/b¶uä¼³lh¦ÌÔP
Ö°á<Pм)Þ2¨Ê¥³uk¥¸%¥¦Lf¸ÊwÊÁ[Î ¦;ÏTs¹D¦«Diß(<fDð(0L¢2æ»ëFÀ¤~â¶uB²,OLOÊXÅÁ·Ýº¸ ïÇIB¾p}r4t0ûA|¢±ðzðAÀ¡!}#ÓGTë{ßä){"oÅÞàftÈòY(9Ìö"²jÜkkF( xrz¿ÑH¢âþÉ7ÇÚS&Ö3áqÁ¨2Éʳ¾ÔeÃ9ñY&Fkùz±ó5oY¦yðH©7ä`òÂ礹k
-\á¡«ò
-¨4÷lC¡r#&aÊÄo.ht#43}*añä`a#ÁJ¼ï&)eõ0Ï:zîT\©#tYÕ¨\Jfá£Á.L-1È(§[ôÚSª$»5½\'| Ç 0B´[!öÔ~²,_B¢U¥'K/P`¢Á6ç
-ÇÏKmGµtî{Ô0¯dÄNjDº·äعõW_óä^ô¾r:1Ô.öQy°rN¹]§´¼c³KEIJçÌãæÚ£ìù7ûgʧ"ÖyTT®÷t¡F½#.±pªqÁ®=ÈkYá1ÿYT÷víE· _Ôm²Å|· xÇ=r½<é*ic¦ý EÑ.RMHäaÃJ>»´
g}ÍõSØ°y¦3è3¡¥Cð.ýwbã§|Y2£Æ¡HÒ¯-·ïøÓ_·ï½ÿ§¾ý×;wàu¼~¯Ó|~J~ÝFYbsëzÍca®IðCÏ:aÞ£¹¯uÝÞ²o5çѹLç=¤9©ªûym(UuÁ®×:¿ºÈ¤/s¸¾LaB¯ÌY +«JþÂLü+
S $QNS5kÒü¨¤ù1j fî´<¸hvÈÇ%¾é9uX3NæjEN5t·k^m\=ºf¸±ÕÚøó~òK Oí[Û¶¼ÂSj)dôýdäSño] ¢éÑçJ¨õiA:ú¾ç
-3_Àê˺Bþ:ÁßMº¡32ù,gnÙ(Ügº"¤.Ý ÃMèi®dÁº¯daL³öA®Xï¡à}\A÷ö¸Ïå«( {¯ïìïòPWç¥øëB*ÿípµs)S¿H¯®=?ñù78ð$.Êç¾Á©²q9ý§Uc,égÊ .*yÆ×ïó4ª["¬C¬Ü¯uø[4ôS§ÞÅóg>êÌb±»¯:F¿ÈÀÞTþò3>ªÖUiêkÃæNJíÊn¹¨ñÏóüѧöyÈÅ(ÿû1m>÷s%Óöxëf×¾y3i|Ü>$%b×<ʱÝzü£FíÓ¹ßD4äÿËNf
+xÚÙrÛFò]_G°*1Á1yKR¶ÖY»v7ÖnÕDVx -{¿~û$¤¨\2æìéé»{'IÜÞäòýùîæÍ»*OTiUäî!±:3EÔZeÊØän|NY¨ô¸ÿNçqÃãbYÔezÛa§ë[øìàoû?XóäÇnÎæ=?vÆö ,`Á8à°IÔa½øýîפ¨2SÉ0±ªfL^<ñ-¡¸íq|Å+hüÀßB§m#´òtÜNÎx<Ð¥éRE¦
+
+d#D~5@;@¯,5®Yê\g¶®¥ÑYe*^úOÛ!V}ÇüeØøoXè*ýëbQuÚ!Ô·w7Þ(8 'Jª"ÏÉjóù÷<YÃø¯I¶IhÕ>1×ïO7ÿòÌ0¹ÖÍl¥+ÄS×6+mTy\üÓ=¡¬@TÛÕH¸\{ó® -UYe -K St·zK
+ÐõàN%\¨ C&pÉq¡ëôià
+÷¸3Ò,mî#¸o±ÕñÌÁ®u'Ò Þ/t~ 6·YxíN@:ùÁù=KlËÃÇ>¸ÂÔH§¡.ɬ1ð%9`´ÊJy°ý8ß±ã¼Ì®ÚOí¼Ãå:×Û0¦ß¢ÊY®¶ªi¥Sw«e¶¶±(vUs!Ö1Uåºv+$Á²JÛGÚäÑ¢Î
+ÐÙò¸ß_CÅcY-¥¶éO|UÄ~K³¹±5 ÔÊ«
+vÛfhg¥n¢Ç/¹*:Ö?&µ*x³Ò=¡
+iå8áÌ·1âAQ<à=MØ4̼)ÙÔÖ×Ç?Q:VÑÉÇQp¸Þ|B®4+´0P&
+èÉQctXAbú#¢ô÷)
+2ÝW?`ZÜ}C ÉEd»ÉQðF\¾:ÈAe SÀ Ó¤7«.yQ(|6·+ãýAÕVÖßEJ¾ÃßÓ±_I,Òm6èK·ñÔæemùnQv)à§"m¬Sg~¶ÏN!Uúl0y|¡³<ÅöcÐh&Nã4¹ßîÄ'Û`{i0þEø[²ªIªÈJçè¯.Ǩ&]±¶0g3tbÕc-fZt¤æ05âÇ^hÐIxëñ0Ç»2¾¿(h¾_ÿ»ÚJßË<>g{ajK¯X/SÐÝHÁ¡ëJ]ÝhEåEÌã\X`¬ þ6,ð±É
+SQ¼¢
+¨9B-UiPp´Çy¾÷ÑÙ
+ÖçÕ(Æ÷륪*¸Ô&S¶Iù¢ÎÁüÍägg¯Ý0
+ÉËüºåú7"¤vàö}°ßv¶#áB[Q7ZDdxË>¤`kÊÈ®X¢ÀMõÎã:ú:»¨,¨Ýâ;÷ZÚÁZ¹.Nî²°ÞOÌ©PAç!ð6UQ¼JÇã><XuâÁ¿¬LúÇÄ5»½I>ÓA#CwD24JmôÅVÏë, 3²8ô[E×
+β#|Z°Ñ}µ9Í)$ÉÄG»ÆW¥úüw;ù¢¶éû®ØÑ
+wÈav^EÌÁ?«ëÉ!án3çUÄYؼgùú.£>JëyzNà"(×
¦¦¡âQv"ia©*þDã9½¸pz}ø$dúKæî?<Nf·¥XÄYÓö~'| £
ùËÞÑnüüÌ_ëucäÅqæ'A åÇAgçðÖ`&è/;<KÃA®SrÓèü;éxäY/CØ!\0¸%
++CÐ4Úx³;N¤>
+b'§£Pá7ÄúÐõ¼»ÃôE!êä±$´ì0¼b§{¡bÔbÑAåtIØ{OI
+º,½òãàÊd ìÀÊádJqËKÇQê@¦ÝIÆ,¯!¤ÄuÖ{?4È Ã-Ó¸?G¯Rèu}<¥MoËÖ×Á!X´ã¼WfE=D @AbÜ#¢SxÉsö4ªÄÞ7*ÊLsÆV]<J {B/èHgl¶}°xËÁ»ål«¨åþ¿mt ·d_gÔZ«/b¹vE ©ÍûlmWÁq¤p è¢k
+¼!4z Se}öãt'ó[9Õ¾Ú¡má
+hgf4´ãE-ç?£- ðØì3è0xżi1ÅHH"éO J%T)lé ÉÐXiÊáÄad(kÐòú]8HëÈUâÄè+ +
+÷.îC4úÈîsBm¯@+Q·¢È¢¸zPaxw×"¯6.Ée¹"#Ö«Üs9k³v5®1JîÏNídù¤¨¥ÂEÇÛÀk4¹2LRd7
.(:ãq6-Æb5 +gHg(D·ñ®¬ Âré'Æ)|¯ý{>àÒ]ëÉky¿òZH/¯ìXÎã|ðò+õZãK¥ÌÁ´tdè4¹c4E¬ezúhà9gVçum~Öè¤Yw±gBùk0
ÿE|xçMOåò´¶#ç]DC3i¦,¬²>üUçæýLòVèL5>)Í[«¬®ý[jdæ A«|¹¬å8 ª1¥[ór.0 ×Àt)í«
¡Çå(oùæJRaa\?sí*!EQf¦('%q°m·ÎoBû4ÉUȮϮfFßMt>ïÂØW3½Gµ¾ N¶ü '²ÖEêí,ÜD<>&ÙZDÑĵ¹bR¬r+Üo"JÜ?ùªp,=ufm5S+FÕYQ_Ô¥®«ÎWÌ:3ZËÆÎçD¾nÁ"å&Ý-Á+®4R/@åe¸çÑ´1(*8¢âà)MüêFIèsqg 8g qVbõpix<9L1kǨ?kè¹RñLa¤ÊbÔ©F2
+VaZñAF9Ù¢æÀ
JÞE¤ä28à³ \zÑÝ:0±¥öeùõ¬i(<aXxä n´¹,È8¢Ì¼1{Ê¥ópOìܧ<9©ébÜ}çÖ_}ÍzQ{ådblèQz°rFs¹ ¿iyúf¶,:¸}+²å#Ølg^H?ÐjðX^Q±x¾v¤+Õ8Å¡Î9»ãA\É
+ù·?^UpòUÕ&[ÍW7ÜéíääIUI3Çà
+ià$Õ@6¬ä
Ü
-<ês®ÃÍAñø@(½¶Ô7ÞßZÆ%Oy^2QáÌP$á×Ë÷üù¯Ë÷Þ~Sù÷[wàóyóNç Øü:ø-»MÌÖÕcf]¾ÙdøÚÎ
w($g§AîÉ®ßûw;yh9ÞÈezçì!ÌÉíTÜȺlCªª+6
ø}®ò««Bê2«ËT&ÔÊüËI\e\VòZdÒ;Grybè<W³!ÅFQ !s
äÈ«b\1Nñ¥Oß©Á12ÏfäCWxk)±æù³¥â³ËG×¼îUdµ6ý´üÜcBSûÊÒ¶¡)
+z?úü[çhøÅgAï8ý¢×$/Ù×U
üuÀ¿TCgxòI"ÏÒ²R¸gº*.Ü,Ý«å4Ö,k ²`Þg²0HªÙz'×ÉZo¡ gPµ=ÎàKy
ÅÞ*Aí]òê²{}
HãßW;r9ññÔtåùÅop`I2]Õ/½Á©º~=}Ó*)Á0Öô[i.Î*UFñÍ»2OÌVa³`÷~à~ï48þ£AÇ,»»zÕ1úUæöæòW^Àð~@=]¦)¿6¬î¡´.á çGÖÇ5£üÈùÜo¸OÛWbu¬]øêÕä¸àãöá$IûîQí×ñÏhʧs?$äÿ
+!O
endstream
endobj
78 0 obj <<
@@ -247,44 +250,34 @@
/ProcSet [ /PDF /Text ]
>> endobj
132 0 obj <<
-/Length 3999
+/Length 3997
/Filter /FlateDecode
>>
stream
-xÚÍËã¶ñ¾_¡£¦jD ø+;e¯*ï¦|°}àHF±DEÍwùöô )jfl_R[âÙh ß
-lºØ-ÒÅÛ7_¾óÙ×Õ"K:³Åûí¢Êe^&µÍï7ææç÷16uRØ@з7Ùò»ïnVÖeÓAeeKí_Áï\}ÚCù¿{® ߤʮ±²yR¯4àôÿ ¬Akl=0Ô,¯oL¹üå&/Í®eÄ»S-uÆA¶¶IZè®vÇ£Ç21
Ñ1O¸N3ð
- ÀVÈýÃÍJªr$[l=1ܲ|du¿YEáG<ÝûÍÃ÷rú൰³[*øÓ
-¦Ð'"Û©'tqJÃOXJÅÊ8"]²,/0â¿<Ø>ÐcåªtùpÒ3(íI¿<p@¿å¯2+kÏ@ؾk±BSÜÄþ£FxªÇx¢eýéMØÏѹÀöø¯ ù)ÍSè!NýT2AvÎCºø+O¼ÄA@UfÜÕ| í »lîʤ÷³ãFW*Â\÷¸Ýþåó):KèWpg XzÄãðDd þ%ùâ"ÅÅïß¾Yü¸*ËtùÏÖ#ÿ±i:AëpÏÅ2 3±é9øÙÒ¤©L]ÊqÒBDÓgQÄM~ÑéÆú¡)ø~øCX!Rù,R3CR4¸ðÊVHb0æ
-·hÄsÜ0Òѱ68qC3Ðn_ϱ`7ÉÞX]¼¨ %7«¼Îßv¼âCÓúQD¼9ÝBmµÎW¿W.Æå=8jÞOE´ÿxo.¯Ç{Ã;ÄU õnùÛÁįêgìRFþ%Vû9ñÁ"¤§ºJÙþèù÷îêôR-âC()ª>lD+!f{Fý1´ã}xv;Ç3
-6-ÃÔ¥r>Ô¦ãþXÚ¡
-*´Øt·pGÙeXqKs¦¶c0Ä´Òæ,àulÏ#}¸H¬Â-¿¾©+9ÒÂ-±q÷ÌaôHqfà~Py)N=lyºdÃX½#Z :mz/wwý»¼]#ÍG4Ãþ{q Ìÿã¹âi/ò }Hü{d¨V<jÂuúniß=É${'=P;w01Ys»lJ³ùsÏKA ÕqnÎ^Dºis¹ÛOàúýU´¿réeÔ
-;/É¢ì÷´· ~7:slAVx@²WFöï1
->¯EFs§À]óÚ
-ÐüÌÌÙ7¢¬¼ú÷ÛaÞqEÐqD~g½É¶Îñ¦¢ ±oÊ×û)kî;±?¤{à§{Q#qÝ+C±c04|5á2ÞW'Q;l¸" Ò^Ô°B(ÂFÆ¢¦Jù^ùã !ÊÇçí+{ôÜíÁï_¶kOSÃ_ea«YKŹmÀêOÑXS¥`rö
-ÈO¸qÐ1é<V©¾GÏZ^´·¼Àt[ùJ#d9g@±ÜH8Ñrãß˶º$Ò¸Ùèf,tpBeZf-asô¾{i±ã]kz\Ùd
-+.NÄyÊßØÐHéiúQãéa°ËÇZÚEU?(5veÖöÑÚYMDQË®?Eöþ(RÚ0'¨¬§¤ÛÄ+î¸ó8÷
-Ç0+AÎäÎ4ª6Ç-\"Ö1@²/ºWçY³·¥¸ Ì°-õ̵g¾<Øáw e6l%ÔST:÷Üuâõ¡ÙFH½ÆåEµ|/#§ù1r
- ØCÜ[ÔREW{R"¹î¨ÎÁM.©ÁÑ»ã²&ªUR=3Dñ±2â18~2-~upð
-Yo°i_Ø×jæ´8p1R2²ÎÐ?
-bëöv. ·u¤éó}de®#zð,©1Y´áȸ$«ÜÈDAõúÌý×3[õ£ÌG
-#ºfQý÷÷êáLó&ÆÂFËó&UéÙ$MU-½Í:qàVUÐU5çÓÔ|7
-)d.É:]°sï>L;Ç®26¼ÍG0§®²ÝKD² >âlÑ/OaëÕXP^Y<N
-êæc¹ýMXùfèÑP6Lf;¢:ò¿ÍÔÃɽg|Pµãf%
mCyuureðë3Ky9o/ì
-ùýân½Çål6Þµhlo'ù"
-KmöÚdçí&¶h+qÒ«Z$Zéù{t§D]#KMS í¯KÌW<4dä<_~¡9CÈÚoÎ÷)'Ã:$òWáÐÏ{Ùaâï¹klìH¢`à:è|¢ñËZÆód·ßdýí,°#'Ö|dgì\d'({çõßC+7MÕgNo ¸ ´ÆáèÄÅ=>®i;VY:Ê®×5¨Së1~@pV¹V X3²s¼åÕ;ÁcøÔÖÓ8к*
-¥dʯâWìOA°l®+
ld,'®ø±ÌÝ^Î=MÛëïTû*ÍÀäU>2
Áfã®fÒHß8ÎáEi9Rd&MÜ-
-+2½¡,dêû+°aµÍÇÆ ÕkÄÓþ×+È_HzCûÖÅð}§ÎAVÝÒ§æBò´VãO@ç"f¾"°5ìÛLÄC©.8d =RáÊQ0BÃc(hhøCRÃ/5D®û6©óü7àè@å¾
-!meKñ¨Fú{Î~q.}ìeytWHå@Ò ÇZÿiUbÉ É09aè Ïw®HAËEma27¦
éÎñ¶Ö¹r¤G¡hRºXRÖâ¤é ¾õ¤øbDú·WDäG)"7«ú¨¨#ÃEÃ%L ²±1È6º¼ Y]?{Æí|ÊÖ*VÎ
ĹH¿¹(qíµè^Ò$©+ǹ~17¼à©ËÆ
-T×Ô):Ø5½^ReâÉÀwÛO½qÎ×åò];±4Áà§òv,å5N[fU¨ryz£ËøDÉz©â¬æ¢wàg,õ%Ë®\!iKuw]QÆõ´ÁuO´Cåë¥|
Ûw½jÖµñPFùí_§[9Ëô;Q|¹»ç~©Ò
-ðºLN.¶¢."â5ánÙo ./%®\×Á]üªèRý2ðx½½|<kÇtüÝ(§x2Ðý
%÷Ù³gMØåÏ4Ì^Òçì{8çÁ̾ÄR9ÝE@}9©ZRNÕHµBsKNì¢<ðÑߧ@E-$B½Ø*Â1ìÊ'gÑËǾ XkÂhãW00ìRα5ç»=çæ+¤×ócXÓ<h~ª1 ? ÓU+ÐqÁ÷ÁÉ.üìëXÔ%Ö#ÎtÔ;±ø¦¥Ò7-âפ˷Äí©QCþÉ'r!.YÿTÛÒaºA«ÝÕäàô
-.nlâê"RÎÑ
äp©J¡õhTRÙ'¢
$¤{Ë߯tÞ
êQO=Ês "¨éÛ3ÐeöSÁìw6a¥÷JE"ö²fxÔÔƧëÎ7þÁÊÔµç,÷1L®¸i¿â¾Pb¹K«uEKÏ^Á#Ç)F¨éJýqE¯ÙÆT®«{.¬vêïp¤Y4-ѬXÇwGYe³/ë*Sè\
-ëFö4ÕrÜ cÅÎéß[F{àDÚ³i÷MÓ
-> ³Øù¬FVWfþ¹I´£ßP<ÅpiTÎ{tvÿmÑ[Ùwkw?éU;©ë;ÑXËêH9.HÉ®½>µõå+
³¼Ã\ûço
-Á·¢ÇB VÐÍd ¡ðÃMe5ÈÞB÷ë6|å¥.ôrnùibȧáühd×Ñð1tÌXG½æ¢21Yäígù ,à_¯49É\Ã|ìÜ}"г#Faí¢É ãÔiâ%qòSkúð¥çÎG¦5üaã¥^J;þñUÃxÉ?´3îêÄHð<\5é,Ò¨<É*Ť°bSp ÂÐF ,ë&YZÆy0Ãr @ÊzéË]:É*Øh¿RÄ£s:H³=pÏ?~߸ï¢WG-§ÙîÝÜñAxeÀe¿ÎNUÎ95ó/U£ <cíÔتÞÝ£¾¡R²Þ¦«xì;DMWßçüenª9de-»üjflÒçSd4J&\BȼΧv`
-Ä%Æ?̳P¥µ1Ï~~"[V¹äKàÜ´²#û¹,fbÑ$A¨~F>¬åÏ,*øDºôóùYññòo3W`¤Ð©îÛSE'1fúÃÛvó®Ëë».A»ÖÑ ¹L¤ÇNøáäJ8¹¤Ä=Z{1α/WìDBln9]çÕd+¯6ÛSühßÒTÎx÷jèu¨×¡¯O£_è·&\«ZIfäðó¤Ê¡ .ôÞÃ^Õ±TBà5¸+¼[,ì8(óÅïpq¼[»¼§¹å¿ÂA¹x
\9¹hç¸hн>Ü,lvlx×è£-i¾e¯w(Ò>ÿX#@UÒeTÙ$¿þ¥¾V ¤xyÅS$9õU<%Ð
-ªBìR
WTÁ¿zµÞ©øªFòG²
-K55
-¾ÞÉcO4AÑz½TÓGÜì?úÿ¦8±Ü4°»gaeáÃÀmòX`ü,CqGùÏ¢Yb³ò%Úº×ÐÖþnÚ¯¢Ò÷ãÿÓ
z/íª¹Àt꯬ªÞºÒß8WN#t¶±WÞÉõ=·5\7aeþ-ué7âÞ£ÖïWïßü6X¬
+xÚÍËÛ6ò¦ÊbH$ÁMíÁÙJlÅ»U±·rHràHÔc#QãýõÛO ¤¨IrÙrig£~7àôf{Þ¼}õÕW_|ãn²4©Ó:»ù°¹qÙMUTImëùí/þ cL<(+ë¤4 1oo³Å»w·KcòEÓAeeCí_Ãï{®>î¡|ßë? èW© 2Ác©k,M¸²äÞà5ha
zåÕm^-~½-ÊE³m±î6wqm¥£meeº«íñ(â1yäe®cqfàÖ- þ---úûÛ¥TåH6Øzb¸U=:xduYeéG<îüæaþaÀx-ììVÊÃþ´i#ôÇvê ]ÒâðDåfÛDº$UU1oO0â¿{<Ø>Ðci]º¸?éö$Äß8 ßðWÈVµg l߶X¡©
+nbÿQ£N<Õã½@<ѲÈÆþô&Jìçè\`{üWü)ô§~L ó®Ç~äÊ£'/qc¤°5H;È.»2éNq¶ÜÐa1AàU 0W=n·?bù|ÎúÜÙpë8<YIqsBââo_Ýü´¬ªtñ¯Ö#ÿ±i:Aë=pÏÅ2 3±é)øÙ"OS;ºã¤
¦O¢|ÓéÆú¡)ø~üSX!RÅ,R3CR4¸ðÒ8$1sÃÛÎD4â9néhH±68qC3Ðn_ϱ`7ÉÞX]¼¨ %·Ë¢Îßu¼â}ÓêAD¼9½þÚ0k >®¾S.Æå=8jÞOE´ÿxo¶¨Ç{Ã;ÄU õnøÛÁįêgìRFþ5Vû9ñÁ"¤§ºJÙþèù÷nëôR-âC()ª>lD+!f{FÍþÚñ>¼{=Ç3
+6-ÃÔ¥
+>Ô¦ãþXÚ¡
+*´Øt·pGÙeXqCs¦¶c0Ä´Òæ,àulÏ#}¸H,ËÒ.¾¹uGÁiá8·÷ÌaôHqfà~Py)N=lñ:tɱzG´@tZ÷^îîú3wy»Fhý#÷â:ÿ#rÅÓ^äúø=öÈPx
+ÔëôÝ:Ò¾{Iö^z¡vî`b²fÑþf%òçªã"g:{]é"¦9Ì%æn;>ë÷çhÕÂ˨vν$²ßÓÞøíè̱YáÉîrÙ¿ÇTF4üùH¾9Í
+wÍk7@ó2[2wdß²òêßoyÇAÇùñ&ÛXË:ľ!(_溺¸ïÄþ ~î;w¢Fq]+C±c04|á2ÞW'Q;¬¹" Ò^Ô°B(ÂFÆ¢¦Jy§üñrʧ§í+{ôÜnÁï_¶mOSÃ_daݬ
%bmÊ6`õ§µèF¬©RÈö
+ÈϸqÐ1é<V©¾GÏZµ¯yG5è0'¶òN#d9c¹p¢åÆÍÙêHãzd£±ÐÁ U©Ì1ZÂæè½{n±í]ë<õ¸²3É V]󿱡ÒÓô£*Ç+ÓÃ`-5´ª~PØM:YÛGkg5)F-ÛþiØÝQ¤053aNPYOI·WÜqç8÷5Ç0KAÎWäÎ4ª6Ç
+\"Ö1@²/ºWçY³·¡¸ Ì°©,õV̵g¾<Øáw e6lÔST:÷Üuâõ¡ÙZH½Â¥[|ÃOÓü¹D ì!A
+nÍ-j©¢«=)«BHwT@çà¦ÍÆ?Ô`èÝqYMUÎ*©¢øËOXDñ¿¿º 8xP¬7Ø´¯ÈlÂÆk5sZ¸)Ygè±Uûz. 7u¤éÓ}dU¡#zð©1Y´áȸ$svd¢ zCL}æÈþÞëúÇQæÊ#ÉÇ]³È(GÁþz8Ó¼In`£Õ³yWf:f6IãÜÂ;ѬnUíÜSLS+ðÝXB4¤¹$ëltÁÎ ¼]v]elx+`N]e1+6»eA|Ä#Ù¢_ÂÖÝXP^<N
+êæc¹ý]XùfèÑP6Lf;¢:ò¿ó©SxÏø 6jËÍJ )*
+òêêÊà×gjÞ ^Øò5'úÙÝzËl¼kÑØÞNòEì¥)#É:ÎÛMlÑ, Vâ¤W?´2I´ÒÓ÷>èNºF¦@@Ú_©®xhÈÈE±x£9CÈÚoÎ÷)§uHä¯Ã¡w?²?ÃÄß³×$87#« óQbÄ/+ÏUÜ~õ7³ÀXó]næ";AÙ;¯ÿZ¸i¬>s2Ä|ÅU 0G'^°(îñqMÛ±¢ÌÒQv½®Aoñ³ÊÕ%`ÍtÊVÁaòWï;uâS[Mã@c]JÉßįØ<a'Ù\)[ ÙÈXN"]ñc»¹{¶×ߪö!U)\12
Áf㮵fÒHßXÎáEi9Rdy
7[V#ez7Cã,dêû+°aµÍÇÆ ÕkÄÓþ÷È_HzC_ûÖÅð}§ÎAVÝÒçæB´VãO@ç"f¾"05ì;2S]rÈ&A{¤Â£`ÇP;)ÐÐð"¥#^j\÷7,+MRÅ3n-ÁÑÊ}
+$.B ÚÊâQô÷%üâ\úÙ«$óè®4+¤A µþÛªÄa<³Â4Ñï.\Ú"ÏìJ¦[ËÛZid«
þ¡9JéJ`IY¦/úÖâéß\<uP¥Ü¬ê£¢
+0ȹA¶Ñ=àHwýìw¶ó!*[©XYbk#ýf£Äµ×N¢{Y~ª<Im5¦Ìõ¹áO8¤ZÜ7>T º¦î HÑÁ¶éHìõ*O¾~ês¸®ïÛí 9~OÌ´c)¨qÚ2s¡Ê)æé.ã%ë=$ÇYÍ)DïÀÏXêK]ÚRÒêîÚ²%êhê)h#4Ê×
+K/øJA·ïzÕ¬+â/8¡òÛ¿N×YÃô;Q|¹Ýñ@¿GTiIx]&'Qñp·Èl·W.Ìë`îD~.ºT¿ü^o/ß{ÏÚÁc ÆÄ1×Ê)^«taÈ}ölâY¶aøsÅ
+³4áùûây0³Ï±fFwPBNª©VhnÉS>øû¨¨
D¨[E89%»ÉYô2ÇòoV0ZûÕ¢»sl-xàvϹyôzúâs+:{ÍO5#äcºÊc:.ø#X3ùÑ
_|SÚÄXpDÐ.s'ß´8}Ó"~MºxK|Ð5ä}r©âõOµ°©,¦$¹ÚÝMNß°èâ¹Il]FÊ9º.U)´>¡C"êC*ûD´$ã£toøóuÒ»P=ê©GyTD5}wæ!ºÌ~*òÎ:¬Ôsq§©ôûY$b/kwHM}ºî|ë,óºö¼åþþ"IÓÑ7ÍðWÜJ¬°Ipµ®è0ÐséÓÙ+Xbä8Å5]©¢?î±è5ÛÊuuÏåÕNýýN4¦%ëñá(]Xó]UDò^°n¤hO3Y-wÈ
+0VÊ9ýÞb&ÌÜ>sà¾mºÁÀ£k'è|AV#«]>ÿÜ$ÚÑÃ(b¸´Nrã
+W+~5=²ÜÌ>^ÃGbwJ_´º¼¾Ñé«%ÊAÙÁ7eRdÅå[
³¾Ãü§<,z2Ê]ÙÌJ
+?Þ:£¡öÐý²
+_y/¤=]¼!ý@lù8\¢ñB>ª³ëhøsÏ1Ë(ϳ×T&Æ!|þ¬x&ü¦±2+9k]¼oCzöÑÄè0ùK4¹füM|%NjzM¿ôÜ9öÈ´?lÂÔWéOcÔ?Áj8/YHÙ<ÇxubóHðry¾§7`ÿ«FI£jLJ#69QÅ(
+¤54QËØIî qvâÌ°\8ÐðÝ¥©ÌÕ ºa¿XÄ£s:x³=pÏ?¹ï¢·G-§aYðíÜñAã4 @;*)]Î9Íçß«F¡yÆÛ%©±U}¼}I%f½eW7ñØ#§®¾ÒùÛÜ>1%ärr˪ZvùõÌlÒgUd4J)\B(¢.¦v`
+Ä&¹Íÿ4ÏN at UÆÄ<ûå-lZå/sSgF0÷s¹ÌÄ aP%ü|èçÏ,*dýá|9ÇUùøx@ùK0R'trÑ
+s{
[TRUNCATED]
To get the complete diff run:
svnlook diff /svnroot/gmm -r 17
More information about the Gmm-commits
mailing list