[Robast-commits] r79 - in pkg: ROptEst ROptEst/R ROptEst/man RobAStBase RobAStBase/R RobAStBase/chm RobAStBase/man

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Wed Mar 26 02:14:36 CET 2008


Author: ruckdeschel
Date: 2008-03-26 02:14:35 +0100 (Wed, 26 Mar 2008)
New Revision: 79

Added:
   pkg/ROptEst/R/getInfV.R
   pkg/ROptEst/man/getInfV.Rd
   pkg/RobAStBase/R/Weights.R
   pkg/RobAStBase/R/control.R
   pkg/RobAStBase/R/generateICfct.R
   pkg/RobAStBase/chm/BdStWeight-class.html
   pkg/RobAStBase/chm/BoundedWeight-class.html
   pkg/RobAStBase/chm/HampelWeight-class.html
   pkg/RobAStBase/chm/RobAStControl-class.html
   pkg/RobAStBase/chm/RobWeight-class.html
   pkg/RobAStBase/chm/generateICfct.html
   pkg/RobAStBase/chm/getweight.html
   pkg/RobAStBase/chm/makeIC.html
   pkg/RobAStBase/man/BdStWeight-class.Rd
   pkg/RobAStBase/man/BoundedWeight-class.Rd
   pkg/RobAStBase/man/HampelWeight-class.Rd
   pkg/RobAStBase/man/RobAStControl-class.Rd
   pkg/RobAStBase/man/RobWeight-class.Rd
   pkg/RobAStBase/man/generateICfct.Rd
   pkg/RobAStBase/man/getweight.Rd
   pkg/RobAStBase/man/makeIC.Rd
Modified:
   pkg/ROptEst/NAMESPACE
   pkg/ROptEst/R/AllGeneric.R
   pkg/ROptEst/R/getAsRisk.R
   pkg/ROptEst/R/getInfCent.R
   pkg/ROptEst/R/getInfGamma.R
   pkg/ROptEst/R/getInfRobIC_asBias.R
   pkg/ROptEst/R/getInfRobIC_asGRisk.R
   pkg/ROptEst/R/getInfRobIC_asHampel.R
   pkg/ROptEst/R/getInfStand.R
   pkg/ROptEst/R/getRiskIC.R
   pkg/ROptEst/R/lowerCaseRadius.R
   pkg/ROptEst/man/getAsRisk.Rd
   pkg/ROptEst/man/lowerCaseRadius.Rd
   pkg/RobAStBase/NAMESPACE
   pkg/RobAStBase/R/AllClass.R
   pkg/RobAStBase/R/AllGeneric.R
   pkg/RobAStBase/R/ContIC.R
   pkg/RobAStBase/R/IC.R
   pkg/RobAStBase/R/TotalVarIC.R
   pkg/RobAStBase/chm/00Index.html
   pkg/RobAStBase/chm/ContIC-class.html
   pkg/RobAStBase/chm/ContIC.html
   pkg/RobAStBase/chm/RobAStBase.chm
   pkg/RobAStBase/chm/RobAStBase.hhp
   pkg/RobAStBase/chm/RobAStBase.toc
   pkg/RobAStBase/chm/TotalVarIC-class.html
   pkg/RobAStBase/chm/TotalVarIC.html
   pkg/RobAStBase/man/ContIC-class.Rd
   pkg/RobAStBase/man/ContIC.Rd
   pkg/RobAStBase/man/TotalVarIC-class.Rd
   pkg/RobAStBase/man/TotalVarIC.Rd
Log:
introduced weight classes;
still some problems; try to fix it soon

Modified: pkg/ROptEst/NAMESPACE
===================================================================
--- pkg/ROptEst/NAMESPACE	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/ROptEst/NAMESPACE	2008-03-26 01:14:35 UTC (rev 79)
@@ -14,6 +14,7 @@
               "getInfGamma", 
               "getInfCent", 
               "getInfStand", 
+              "getInfV", 
               "getRiskIC", 
               "optRisk", 
               "radiusMinimaxIC", 

Modified: pkg/ROptEst/R/AllGeneric.R
===================================================================
--- pkg/ROptEst/R/AllGeneric.R	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/ROptEst/R/AllGeneric.R	2008-03-26 01:14:35 UTC (rev 79)
@@ -34,6 +34,10 @@
     setGeneric("getInfStand", 
         function(L2deriv,  neighbor, biastype, ...) standardGeneric("getInfStand"))
 }
+if(!isGeneric("getInfV")){
+    setGeneric("getInfV", 
+        function(L2deriv,  neighbor, biastype, ...) standardGeneric("getInfV"))
+}
 if(!isGeneric("getRiskIC")){
     setGeneric("getRiskIC", 
         function(IC, risk,  neighbor, L2Fam, ...) standardGeneric("getRiskIC"))

Modified: pkg/ROptEst/R/getAsRisk.R
===================================================================
--- pkg/ROptEst/R/getAsRisk.R	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/ROptEst/R/getAsRisk.R	2008-03-26 01:14:35 UTC (rev 79)
@@ -116,22 +116,64 @@
 setMethod("getAsRisk", signature(risk = "asCov",
                                  L2deriv = "RealRandVariable",
                                  neighbor = "ContNeighborhood", biastype = "BiasType"),
-    function(risk, L2deriv, neighbor, biastype = symmetricBias(), Distr, clip, cent, stand){
-        Y <- as(stand %*% L2deriv - cent, "EuclRandVariable")
-        absY <- sqrt(Y %*% Y)
-        
-        nrvalues <- nrow(stand)
-        ICfct <- vector(mode = "list", length = nrvalues)
-        for(i in 1:nrvalues){
-            ICfct[[i]] <- function(x){ Yi(x)*pmin(1, b/absY(x)) }
-            body(ICfct[[i]]) <- substitute({ Yi(x)*pmin(1, b/absY(x)) },
-                                    list(Yi = Y at Map[[i]], absY = absY at Map[[1]], b = clip))
+    function(risk, L2deriv, neighbor, biastype = symmetricBias(), Distr, clip, cent, 
+             stand, norm = EuclideanNorm){
+
+                 return(list(asCov = .asCovMB(L2deriv, stand, cent, clip, Distr, 
+                             norm = norm)))
+        })
+
+
+#        Y <- as(stand %*% L2deriv - cent, "EuclRandVariable")
+#        absY <- sqrt(Y %*% Y)
+#        
+#        nrvalues <- nrow(stand)
+#        ICfct <- vector(mode = "list", length = nrvalues)
+#        for(i in 1:nrvalues){
+#            ICfct[[i]] <- function(x){ Yi(x)*pmin(1, b/absY(x)) }
+#            body(ICfct[[i]]) <- substitute({ Yi(x)*pmin(1, b/absY(x)) },
+#                                    list(Yi = Y at Map[[i]], absY = absY at Map[[1]], b = clip))
+#        }
+#        IC <- RealRandVariable(Map = ICfct, Domain = Y at Domain, Range = Y at Range)
+#        Cov <- matrix(E(Distr, IC %*% t(IC)), ncol = nrvalues)
+#
+#        return(list(asCov = Cov))
+#    })
+
+### helping function
+
+.asCovMB <- function(L2, stand, cent, clip, Distr, norm){                 
+                 p <- nrow(stand)
+                 idx <- matrix(1:p^2,p,p)
+                 idx <- idx[col(idx)<=row(idx)]
+                 Cv <- matrix(0,p,p)
+
+                 if (clip == 0){
+                     Cv[idx] <- E(object = Distr, fun = function(x){
+                                X <- evalRandVar(L2, as.matrix(x))[,,1] - cent
+                                Y <- stand %*% X
+                                norm0 <- norm(Y)                      
+                                ind <- 1-.eq(norm0)                   
+                                Y0 <- Y*ind/(norm0+1-ind)
+                                Y02 <- apply(Y0,2,function(x)x%*%t(x))[idx,]
+                                }, useApply = FALSE)
+                 }else{
+                    Cv[idx] <- E(object = Distr, fun = function(x){
+                               X <- evalRandVar(L2, as.matrix(x))[,,1] - cent
+                               Y <- stand %*% X
+                               norm0 <- norm(Y)                      
+                               ind2 <- (norm0 < b/2)
+                               norm1 <- ind2*clip/2 + (1-ind2)*norm0
+                               ind1 <- (norm0 < b)
+                               ind1 + (1-ind1)*clip/norm1
+                               Y0 <- Y*ind1
+                               Y02 <- apply(Y0,2,function(x)x%*%t(x))[idx,]
+                       }, useApply = FALSE)
+                 }
+                 dCv <- diag(Cv)
+                 return(PosSemDefSymmMatrix(Cv + t(Cv) - dCv))
         }
-        IC <- RealRandVariable(Map = ICfct, Domain = Y at Domain, Range = Y at Range)
-        Cov <- matrix(E(Distr, IC %*% t(IC)), ncol = nrvalues)
 
-        return(list(asCov = Cov))
-    })
 
 ###############################################################################
 ## trace of asymptotic covariance

Modified: pkg/ROptEst/R/getInfCent.R
===================================================================
--- pkg/ROptEst/R/getInfCent.R	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/ROptEst/R/getInfCent.R	2008-03-26 01:14:35 UTC (rev 79)
@@ -34,34 +34,26 @@
         return(uniroot(g.fct, lower = lower, upper = upper, tol = tol.z, 
                     c0 = clip, D1 = D1)$root)
     })
+
 setMethod("getInfCent", signature(L2deriv = "RealRandVariable",
                                   neighbor = "ContNeighborhood",
                                   biastype = "BiasType"),
     function(L2deriv, neighbor, biastype = symmetricBias(), 
-             Distr, z.comp, stand, cent, clip){
-        integrand1 <- function(x, L2, clip, cent, stand){
-            X <- evalRandVar(L2, as.matrix(x))[,,1] - cent
-            Y <- apply(X, 2, "%*%", t(stand)) 
-            h.vct <- sqrt(colSums(Y^2))
-            ind2 <- (h.vct < clip/2)
-            h.vct <- ind2*clip/2 + (1-ind2)*h.vct
-            ind1 <- (h.vct < clip)
-
-            return(ind1 + (1-ind1)*clip/h.vct)
+             Distr, z.comp, w){
+        integrand1 <- function(x){
+            weight(w)(evalRandVar(L2deriv, as.matrix(x)) [,,1]) 
         }
-        integrand2 <- function(x, L2.i, L2, clip, cent, stand){
-            return(L2.i(x)*integrand1(x = x, L2 = L2, clip = clip, cent = cent, stand = stand))
+        integrand2 <- function(x, L2.i){
+            return(L2.i(x)*integrand1(x))
         }
 
-        res1 <- E(object = Distr, fun = integrand1, L2 = L2deriv, clip = clip, 
-                  cent = cent, stand = stand, useApply = FALSE)
+        res1 <- E(object = Distr, fun = integrand1, useApply = FALSE)
         nrvalues <- length(L2deriv)
         res2 <- numeric(nrvalues)
         for(i in 1:nrvalues){
             if(z.comp[i]){
-                res2[i] <- E(object = Distr, fun = integrand2, L2.i = L2deriv at Map[[i]], 
-                             L2 = L2deriv, clip = clip, cent = cent, stand = stand,
-                             useApply = FALSE)
+                 res2[i] <- E(object = Distr, fun = integrand2, 
+                              L2.i = L2deriv at Map[[i]], useApply = FALSE)
             }else{            
                 res2[i] <- 0
             }

Modified: pkg/ROptEst/R/getInfGamma.R
===================================================================
--- pkg/ROptEst/R/getInfGamma.R	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/ROptEst/R/getInfGamma.R	2008-03-26 01:14:35 UTC (rev 79)
@@ -27,11 +27,12 @@
                                    risk = "asMSE", 
                                    neighbor = "ContNeighborhood",
                                    biastype = "BiasType"),
-    function(L2deriv, risk, neighbor, biastype = symmetricBias(), Distr, stand, cent, clip){
+    function(L2deriv, risk, neighbor, biastype = symmetricBias(), Distr, 
+             stand, cent, clip){
         integrandG <- function(x, L2, stand, cent, clip){ 
             X <- evalRandVar(L2, as.matrix(x))[,,1] - cent
-            Y <- apply(X, 2, "%*%", t(stand)) 
-            res <- sqrt(colSums(Y^2)) - clip
+            Y <- stand %*% X
+            res <- norm(risk)(Y) - clip
 
             return((res > 0)*res)
         }

Modified: pkg/ROptEst/R/getInfRobIC_asBias.R
===================================================================
--- pkg/ROptEst/R/getInfRobIC_asBias.R	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/ROptEst/R/getInfRobIC_asBias.R	2008-03-26 01:14:35 UTC (rev 79)
@@ -15,7 +15,7 @@
     function(L2deriv, risk, neighbor, Distr, DistrSymm, L2derivSymm, 
              L2derivDistrSymm, Finfo, z.start, A.start, trafo, upper, 
              maxiter, tol, warn){                
-        minmaxBias(L2deriv, neighbor, biastype(risk), 
+        minmaxBias(L2deriv, neighbor, biastype(risk), normtype(risk),
              Distr, DistrSymm, L2derivSymm, L2derivDistrSymm, Finfo, 
              z.start, A.start, trafo, upper, 
              maxiter, tol, warn)
@@ -45,7 +45,15 @@
         asCov <- b^2*(1-ws0) + b^2*d^2*ws0
         Risk <- list(asBias = b, asCov = asCov)
 
-        return(list(A = A, a = zi*z, b = b, d = d, risk = Risk, info = info))    
+        w <- new("HampelWeight")
+        cent(w) <- z
+        stand(w) <- A
+        clip(w) <- b
+        weight(w) <- minbiasweight(w, neighbor = neighbor, biastype = biastype, 
+                                   normtype = NormType())
+
+        return(list(A = A, a = zi*z, b = b, d = d, risk = Risk, info = info, 
+                    w = w, biastype = biastype, normtype = NormType()))    
     })
 
 setMethod("minmaxBias", signature(L2deriv = "UnivariateDistribution", 
@@ -71,32 +79,44 @@
         info <- c("minimum asymptotic bias (lower case) solution")
         Risk <- list(asCov = a^2*(p0-ws0) + (zi*a+b)^2*(1-p0), asBias = b)
 
-        return(list(A = A, a = a, b = b, d = 1, risk = Risk, info = info))
+        w <- new("BdStWeight")
+        stand(w) <- A
+        clip(w) <- c(a, a+b)
+        weight(w) <- minbiasweight(w, neighbor = neighbor, biastype = biastype, 
+                               normtype = NormType())
+
+        return(list(A = A, a = a, b = b, d = 1, risk = Risk, info = info, 
+                    w = w, biastype = biastype, normtype = NormType()))
     })
 
 setMethod("minmaxBias", signature(L2deriv = "RealRandVariable", 
                                    neighbor = "ContNeighborhood", 
                                    biastype = "BiasType"),
     function(L2deriv, neighbor, biastype = symmetricBias(), 
-             Distr, DistrSymm, L2derivSymm, L2derivDistrSymm, Finfo, 
-             z.start, A.start, trafo, upper, 
+             normtype = NormType(), Distr, DistrSymm, L2derivSymm, 
+             L2derivDistrSymm, Finfo, z.start, A.start, trafo, upper, 
              maxiter, tol, warn){                
         if(is.null(z.start)) z.start <- numeric(ncol(trafo))
         if(is.null(A.start)) A.start <- trafo
 
-        abs.fct <- function(x, L2, stand, cent){ 
+
+        
+        abs.fct <- function(x, L2, stand, cent, norm){ 
             X <- evalRandVar(L2, as.matrix(x))[,,1] - cent
-            Y <- apply(X, 2, "%*%", t(stand)) 
+            Y <- stand %*% X
+            return(fct(norm)(Y))
+        }
 
-            return(sqrt(colSums(Y^2)))
-        }
         bmin.fct <- function(param, L2deriv, Distr, trafo, z.comp){
             p <- nrow(trafo)
             k <- ncol(trafo)
             A <- matrix(param[1:(p*k)], ncol=k, nrow=p)
             z <- numeric(k)
             z[z.comp] <- param[(p*k+1):length(param)]
-
+            aL <- list(normtype = normtype, FI = Finfo, 
+                       L2 = L2deriv, stand = A, cent = z, clip = 0, 
+                       Distr = Distr, norm = fct(normtype))
+            normtype <<- do.call(updateNorm, aL) 
             return(E(object = Distr, fun = abs.fct, L2 = L2deriv, stand = A, 
                      cent = z, useApply = FALSE)/sum(diag(A %*% t(trafo))))
         }
@@ -109,6 +129,7 @@
                     z.comp[i] <- FALSE
 
         A.vec <- as.vector(A.start)
+        force(normtype)
         erg <- optim(c(A.vec, z.start[z.comp]), bmin.fct, method = "Nelder-Mead", 
                     control = list(reltol = tol, maxit = 100*maxiter), 
                     L2deriv = L2deriv, Distr = Distr, trafo = trafo, z.comp = z.comp)
@@ -126,7 +147,15 @@
         info <- c("minimum asymptotic bias (lower case) solution")
         Risk <- list(asBias = b)
 
-        return(list(A = A, a = a, b = b, d = d, risk = Risk, info = info))
+        w <- new("HampelWeight")
+        cent(w) <- z
+        stand(w) <- A
+        clip(w) <- b
+        weight(w) <- minbiasweight(w, neighbor = neighbor, biastype = biastype, 
+                               normtype = normtype)
+
+        return(list(A = A, a = a, b = b, d = d, risk = Risk, info = info, 
+                    w = w, biastype = biastype, normtype = normtype))
     })
 
 setMethod("minmaxBias", signature(L2deriv = "UnivariateDistribution", 
@@ -160,40 +189,69 @@
         asCov <- b2^2*(1-p)+b1^2*(p-ws0) + b^2*d^2*ws0
         Risk <- list(asBias = b, asCov = asCov)
 
-        return(list(A = A, a = zi*z, b = b, d = d, risk = Risk, info = info))
+        w <- new("HampelWeight")
+        cent(w) <- z
+        stand(w) <- A
+        clip(w) <- c(b1,b2)
+        weight(w) <- minbiasweight(w, neighbor = neighbor, biastype = biastype)
+
+        return(list(A = A, a = zi*z, b = b, d = d, risk = Risk, info = info, 
+                    w = w, biastype = biastype, normtype = NormType()))
            })
 
 setMethod("minmaxBias", signature(L2deriv = "UnivariateDistribution", 
                                    neighbor = "ContNeighborhood", 
-                                   biastype = "asymmetricBias"),
+                                   biastype = "onesidedBias"),
     function(L2deriv, neighbor, biastype, symm, 
              Finfo, trafo, upper, maxiter, tol, warn){                
-        nu1 <- nu(biastype)[1]
-        nu2 <- nu(biastype)[2]
-        zi <- sign(as.vector(trafo))
-        A <- as.matrix(zi)
-        z <- q(L2deriv)(nu1/(nu1+nu2))
-        b <- zi*as.vector(trafo)/E(L2deriv, function(x, z){(x - z)*(x>z)/nu2 +
-                 (z-x)*(z>x)/nu1}, z = z)
 
-        b1 <- b / nu1
-        b2 <- b / nu2
+        infotxt <- c("minimum asymptotic bias (lower case) solution")
+        noIC <- function(){
+                warntxt <- gettext("There exists no IC attaining the infimal maxBias.")
+                warning(warntxt)
+                return(list(A = 1, a = 1, d = 0, b = 0,
+                       Risk = list(asBias = 0, asCov = 0, warning = warntxt),
+                       info = infotxt, w = NULL, biastype = biastype, 
+                       normtype = NormType()))}
+        if(!is(L2deriv, "DiscreteDistribution"))
+           { if(is.finite(lowerCaseRadius(L2deriv, neighbor, risk = asMSE(), biastype)))
+                {
+                 sign <- sign(biastype)
+                 w0 <- options("warn")
+                 options(warn = -1)
+        
+                 l <- length(support(L2deriv))
+                 if (sign>0)
+                      {z0 <- support(L2deriv)[1] 
+                       deltahat <- support(L2deriv)[2]-z0
+                 }else{
+                       z0 <- support(L2deriv)[l]
+                       deltahat <- z0-support(L2deriv)[l-1]
+                 }
+                 p0 <- d(L2deriv)(z0)   
+                 v1 <- (1-p0)/p0/z0
+                 v2 <- -1/z0
+                 c0 <- deltahat*p0/2
+                 A0 <- abs(1/z0/c0)
+                 zc <- z0+sign(biastype)*deltahat*(1-p0)/2
+                 a0 <- A0*zc
+                 b0 <- abs(1/z0)
+                 d0  <- 0 
+                 asCov <- v1^2*(1-p0)+v2^2*p0
+                 Risk0 <- list(asBias = b0, asCov = asCov)
 
-        p <- p(L2deriv)(z)
+                 w <- new("HampelWeight")
+                 cent(w) <- z0
+                 stand(w) <- A0
+                 clip(w) <- b0
+                 weight(w) <- minbiasweight(w, neighbor = neighbor, 
+                               biastype = biastype)
+                               
+                }else{return(noIC())}
+            }else{return(noIC())}                    
+        return(list(A = A0, a = a0, b = b0, d = d0, risk = Risk0, 
+                    info = infotxt, w = w, biastype = biastype, 
+                    normtype = NormType()))
+           })
 
-        if(is(L2deriv, "AbscontDistribution"))
-            ws0 <- 0
-        else
-            ws0 <- d(L2deriv)(z)
-        if(ws0 > 0)
-            d <- (-b2*(1-p)+b1*(p-ws0))/ws0/b
-        else
-            d <- 0
-
-        info <- c("minimum asymptotic bias (lower case) solution")
-        asCov <- b2^2*(1-p)+b1^2*(p-ws0) + b^2*d^2*ws0
-        Risk <- list(asBias = b, asCov = asCov)
-
-        return(list(A = A, a = zi*z, b = b, d = d, risk = Risk, info = info))
-           })
            
\ No newline at end of file

Modified: pkg/ROptEst/R/getInfRobIC_asGRisk.R
===================================================================
--- pkg/ROptEst/R/getInfRobIC_asGRisk.R	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/ROptEst/R/getInfRobIC_asGRisk.R	2008-03-26 01:14:35 UTC (rev 79)
@@ -4,8 +4,7 @@
 setMethod("getInfRobIC", signature(L2deriv = "UnivariateDistribution", 
                                    risk = "asGRisk", 
                                    neighbor = "UncondNeighborhood"),
-    function(L2deriv, risk, neighbor, symm, Finfo, trafo, 
-            upper, maxiter, tol, warn){
+    function(L2deriv, risk, neighbor, symm, Finfo, trafo, upper, maxiter, tol, warn){
         biastype <- biastype(risk)
         radius <- neighbor at radius
         if(identical(all.equal(radius, 0), TRUE)){
@@ -51,7 +50,8 @@
                 if(warn) cat("The IC algorithm did not converge!\n", 
                              "'radius >= maximum radius' for the given risk?\n",
                              "=> the minimum asymptotic bias (lower case) solution is returned\n")
-                res <- getInfRobIC(L2deriv = L2deriv, risk = asBias(), 
+                res <- getInfRobIC(L2deriv = L2deriv, risk = asBias(biastype = biastype(risk),
+                                                              normtype = normtype(risk)), 
                                 neighbor = neighbor, Finfo = Finfo, 
                                 symm = symm, trafo = trafo, upper = upper, 
                                 maxiter = maxiter, tol = tol, warn = warn)
@@ -81,15 +81,27 @@
                           trafo = trafo)
         Risk <- c(Risk, list(asBias = b))
 
-        return(list(A = A, a = a, b = b, d = NULL, risk = Risk, info = info))
+        w <- new("HampelWeight")
+        cent(w) <- z
+        stand(w) <- A
+        clip(w) <- b
+        
+        weight(w) <- getweight(w, neighbor = neighbor, biastype = biastype, 
+                               normtype = normtype(risk))
+
+        return(list(A = A, a = a, b = b, d = NULL, risk = Risk, info = info, w = w,
+                    biastype = biastype, normtype = normtype(risk)))
     })
 setMethod("getInfRobIC", signature(L2deriv = "RealRandVariable", 
                                    risk = "asGRisk", 
                                    neighbor = "ContNeighborhood"),
     function(L2deriv, risk, neighbor, Distr, DistrSymm, L2derivSymm, 
-             L2derivDistrSymm, Finfo, trafo, z.start, A.start, upper, 
-             maxiter, tol, warn){
+             L2derivDistrSymm, Finfo, trafo, onesetLM = FALSE, 
+             z.start, A.start, upper, maxiter, 
+             tol, warn){
         biastype <- biastype(risk)
+        normtype <- normtype(risk)
+        
         if(is.null(z.start)) z.start <- numeric(ncol(trafo))
         if(is.null(A.start)) A.start <- trafo %*% solve(Finfo)
 
@@ -125,6 +137,7 @@
             }
         A.comp[col(A.comp) < row(A.comp)] <- A.comp[col(A.comp) > row(A.comp)]
 
+        w <- new("HampelWeight")
         z <- z.start
         A <- A.start
         b <- 0
@@ -134,6 +147,16 @@
             z.old <- z
             b.old <- b
             A.old <- A
+            ##
+            cent(w) <- z 
+            stand(w) <- A 
+            
+            normtype <- update(normtype = normtype, FI = Finfo, 
+                   L2 = L2deriv, stand = A, cent = z, clip = b,
+                   Distr = Distr, norm = fct(normtype))
+
+            weight(w) <- getweight(w, neighbor = neighbor, biastype = biastype, 
+                                   normtype = normtype)
             ## new
             lower0 <- getL1normL2deriv(L2deriv = L2deriv, cent = z, stand = A, 
                                        Distr = Distr)/(1+neighbor at radius^2)
@@ -156,7 +179,8 @@
                              "=> the minimum asymptotic bias (lower case) solution is returned\n",
                              "If 'no' => Try again with modified starting values ",
                              "'z.start' and 'A.start'\n")
-                res <- getInfRobIC(L2deriv = L2deriv, risk = asBias(), 
+                res <- getInfRobIC(L2deriv = L2deriv, risk =  asBias(biastype = biastype(risk),
+                                                              normtype = normtype(risk)), 
                                 neighbor = neighbor, Distr = Distr, DistrSymm = DistrSymm,
                                 L2derivSymm = L2derivSymm, L2derivDistrSymm = L2derivDistrSymm,
                                 z.start = z.start, A.start = A.start, trafo = trafo, 
@@ -167,12 +191,18 @@
                 res$risk <- c(Risk, res$risk)
                 return(res)
             }
+            clip(w) <- b
+            normtype <- update(normtype = normtype, FI = Finfo, 
+                   L2 = L2deriv, stand = A, cent = z, clip = b,
+                   Distr = Distr, norm = fct(normtype))
+
+            weight(w) <- getweight(w, neighbor = neighbor, biastype = biastype, 
+                                   normtype = normtype)
             z <- getInfCent(L2deriv = L2deriv, neighbor = neighbor,  biastype = biastype,
-                            Distr = Distr, z.comp = z.comp, stand = A, cent = z, clip = b)
+                            Distr = Distr, z.comp = z.comp, stand = A, cent = z, clip = b, w = w)
             A <- getInfStand(L2deriv = L2deriv, neighbor = neighbor, 
                          biastype = biastype, Distr = Distr, A.comp = A.comp, 
-                         stand = A, clip = b, cent = z, 
-                        trafo = trafo)
+                         stand = A, clip = b, cent = z, w = w, trafo = trafo)
             prec <- max(abs(b-b.old), max(abs(A-A.old)), max(abs(z-z.old)))
             cat("current precision in IC algo:\t", prec, "\n")
             if(prec < tol) break
@@ -181,6 +211,16 @@
                 break
             }
         }
+        if (onesetLM){
+            cent(w) <- z 
+            stand(w) <- A 
+            normtype <- update(normtype = normtype, FI = Finfo, 
+                   L2 = L2deriv, stand = A, cent = z, clip = b,
+                   Distr = Distr, norm = fct(normtype))
+
+            weight(w) <- getweight(w, neighbor = neighbor, biastype = biastype, 
+                                   normtype = normtype)
+        }
         a <- as.vector(A %*% z)
         info <- paste("optimally robust IC for", sQuote(class(risk)[1]))
         Risk <- getAsRisk(risk = risk, L2deriv = L2deriv, neighbor = neighbor, 
@@ -188,5 +228,6 @@
                           trafo = trafo)
         Risk <- c(Risk, list(asBias = b))
 
-        return(list(A = A, a = a, b = b, d = NULL, risk = Risk, info = info))    
+        return(list(A = A, a = a, b = b, d = NULL, risk = Risk, info = info, w = w, 
+                    biastype = biastype, normtype = normtype))    
     })

Modified: pkg/ROptEst/R/getInfRobIC_asHampel.R
===================================================================
--- pkg/ROptEst/R/getInfRobIC_asHampel.R	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/ROptEst/R/getInfRobIC_asHampel.R	2008-03-26 01:14:35 UTC (rev 79)
@@ -7,8 +7,10 @@
     function(L2deriv, risk, neighbor, symm, Finfo, trafo, 
              upper, maxiter, tol, warn){
         biastype <- biastype(risk)
+        normtype <- normtype(risk)
         A <- trafo / E(L2deriv, function(x){x^2})
         b <- risk at bound
+
         bmax <- abs(as.vector(A))*max(abs(q(L2deriv)(0)), q(L2deriv)(1))
         if(b >= bmax){
             if(warn) cat("'b >= maximum asymptotic bias' => (classical) optimal IC\n", 
@@ -18,12 +20,13 @@
             return(res)
         }
 
-        bmin <- getAsRisk(risk = asBias(), L2deriv = L2deriv, neighbor = neighbor, 
+        bmin <- getAsRisk(risk = asBias(biastype = biastype, normtype = normtype), 
+                          L2deriv = L2deriv, neighbor = neighbor, 
                           biastype = biastype, trafo = trafo)$asBias
         if(b <= bmin){
             if(warn) cat("'b <= minimum asymptotic bias'\n",
                          "=> the minimum asymptotic bias (lower case) solution is returned\n")
-            res <- getInfRobIC(L2deriv = L2deriv, risk = asBias(), 
+            res <- getInfRobIC(L2deriv = L2deriv, risk = asBias(biastype = biastype), 
                             neighbor = neighbor, symm = symm, 
                             trafo = trafo, maxiter = maxiter, tol = tol)
             Risk <- list(asMSE = res$risk$asCov + neighbor at radius^2*bmin^2)
@@ -59,19 +62,34 @@
         }
         info <- paste("optimally robust IC for 'asHampel' with bound =", round(b,3))
         a <- as.vector(A)*z
-        Cov <- getAsRisk(risk = asCov(), L2deriv = L2deriv, neighbor = neighbor, 
-                         biastype = biastype, clip = b, cent = a, stand = A)$asCov
+        Cov <- getInfV(L2deriv = L2deriv, neighbor = neighbor, 
+                       biastype = biastype, clip = c0, cent = z, stand = stand)
+        
+        # getAsRisk(risk = asHampel(), L2deriv = L2deriv, neighbor = neighbor, 
+        #          biastype = biastype, clip = b, cent = a, stand = A)$asCov
         Risk <- list(asCov = Cov, asBias = b, asMSE = Cov + neighbor at radius^2*b^2)
 
-        return(list(A = A, a = a, b = b, d = NULL, risk = Risk, info = info))
+        w <- new("HampelWeight")
+        clip(w) <- b
+        cent(w) <- z 
+        stand(w) <- A 
+            
+        weight(w) <- getweight(w, neighbor = neighbor, biastype = biastype, 
+                                   normtype = NormType())
+
+        return(list(A = A, a = a, b = b, d = NULL, risk = Risk, info = info, 
+                    w = w, biastype = biastype, normtype = NormType()))
     })
+
 setMethod("getInfRobIC", signature(L2deriv = "RealRandVariable", 
                                    risk = "asHampel", 
                                    neighbor = "ContNeighborhood"),
     function(L2deriv, risk, neighbor, Distr, DistrSymm, L2derivSymm,
-             L2derivDistrSymm, Finfo, trafo, z.start, A.start, upper, maxiter, tol, warn){
+             L2derivDistrSymm, Finfo, trafo, onesetLM = FALSE,
+             z.start, A.start, upper, maxiter, tol, warn){
 
         biastype <- biastype(risk)
+        normtype <- normtype(risk)
 
         if(is.null(z.start)) z.start <- numeric(ncol(trafo))
         if(is.null(A.start)) A.start <- trafo
@@ -91,20 +109,17 @@
                                 Distr = Distr, Finfo = Finfo, trafo = trafo)
             return(res)
         }
-        bmin <- getAsRisk(risk = asBias(), L2deriv = L2deriv, neighbor = neighbor, 
-                          biastype = biastype,  Distr = Distr, 
-                          L2derivDistrSymm = L2derivDistrSymm, 
-                          trafo = trafo, z.start = z.start, A.start = A.start, 
-                          maxiter = maxiter, tol = tol)$asBias
+        res <- getInfRobIC(L2deriv = L2deriv, 
+                               risk = asBias(biastype = biastype, normtype = normtype), 
+                               neighbor = neighbor, Distr = Distr, DistrSymm = DistrSymm, 
+                               L2derivSymm = L2derivSymm, L2derivDistrSymm = L2derivDistrSymm, 
+                               z.start = z.start, A.start = A.start, trafo = trafo, 
+                               maxiter = maxiter, tol = tol, warn = warn)
+        bmin <- res$b
         cat("minimal bound:\t", bmin, "\n")
         if(b <= bmin){
             if(warn) cat("'b <= minimum asymptotic bias'\n",
                          "=> the minimum asymptotic bias (lower case) solution is returned\n")
-            res <- getInfRobIC(L2deriv = L2deriv, risk = asBias(), neighbor = neighbor, 
-                                Distr = Distr, DistrSymm = DistrSymm, L2derivSymm = L2derivSymm,
-                               L2derivDistrSymm = L2derivDistrSymm, z.start = z.start, 
-                               A.start = A.start, trafo = trafo, maxiter = maxiter, 
-                               tol = tol, warn = warn)
             return(res)
         }
         nrvalues <- length(L2deriv)
@@ -140,11 +155,21 @@
             iter <- iter + 1
             z.old <- z
             A.old <- A
+            cent(w) <- z 
+            stand(w) <- A 
+            normtype <- update(normtype = normtype, FI = Finfo, 
+                   L2 = L2deriv, stand = A, cent = z, clip = b,
+                   Distr = Distr, norm = fct(normtype))
+
+            weight(w) <- getweight(w, neighbor = neighbor, biastype = biastype, 
+                                   normtype = normtype)
+
             z <- getInfCent(L2deriv = L2deriv, neighbor = neighbor,  biastype = biastype,
-                            Distr = Distr, z.comp = z.comp, stand = A, cent = z, clip = b)
+                            Distr = Distr, z.comp = z.comp, stand = A, cent = z, clip = b, 
+                            w = w)
             A <- getInfStand(L2deriv = L2deriv, neighbor = neighbor,  biastype = biastype, 
                              clip = b, cent = z,  A.comp = A.comp, trafo = trafo, 
-                             Distr = Distr, stand = A)
+                             Distr = Distr, stand = A, w = w)
             prec <- max(max(abs(A-A.old)), max(abs(z-z.old)))
             cat("current precision in IC algo:\t", prec, "\n")
             if(prec < tol) break
@@ -153,12 +178,26 @@
                 break
             }
         }
+        if (onesetLM){
+            cent(w) <- z 
+            stand(w) <- A 
+            normtype <- update(normtype = normtype, FI = Finfo, 
+                   L2 = L2deriv, stand = A, cent = z, clip = b,
+                   Distr = Distr, norm = fct(normtype))
+
+            weight(w) <- getweight(w, neighbor = neighbor, biastype = biastype, 
+                                   normtype = normtype)
+        }
         info <- paste("optimally robust IC for 'asHampel' with bound =", round(b,3))
         a <- as.vector(A %*% z)
-        Cov <- getAsRisk(risk = asCov(), L2deriv = L2deriv, neighbor = neighbor, 
-                         biastype = biastype, Distr = Distr, clip = b, cent = a, 
-                         stand = A)$asCov
-        Risk <- list(asCov = Cov, asBias = b, asMSE = sum(diag(Cov)) + neighbor at radius^2*b^2)
+        Cov <- getInfV(L2deriv = L2deriv, neighbor = neighbor, 
+                       biastype = biastype, clip = c0, cent = z, stand = stand,
+                       Distr = Distr, V.comp = A.comp, w = w)
+        #getAsRisk(risk = asCov(), L2deriv = L2deriv, neighbor = neighbor, 
+        #          biastype = biastype, Distr = Distr, clip = b, cent = a, 
+        #          stand = A)$asCov
+        Risk <- list(trAsCov = sum(diag(Cov)), asCov = Cov, asBias = b, asMSE = sum(diag(Cov)) + neighbor at radius^2*b^2)
 
-        return(list(A = A, a = a, b = b, d = NULL, risk = Risk, info = info))
+        return(list(A = A, a = a, b = b, d = NULL, risk = Risk, info = info, 
+                    w = w, biastype = biastype, normtype = normtype))
     })

Modified: pkg/ROptEst/R/getInfStand.R
===================================================================
--- pkg/ROptEst/R/getInfStand.R	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/ROptEst/R/getInfStand.R	2008-03-26 01:14:35 UTC (rev 79)
@@ -22,20 +22,12 @@
                                    neighbor = "ContNeighborhood",
                                    biastype = "BiasType"),
     function(L2deriv, neighbor, biastype = symmetricBias(), 
-             Distr, A.comp, stand, clip, cent, trafo){
-        w.fct <- function(x, L2, stand, cent, clip){
-            X <- evalRandVar(L2, as.matrix(x))[,,1] - cent
-            Y <- apply(X, 2, "%*%", t(stand)) 
-            h.vct <- sqrt(colSums(Y^2))
-            ind2 <- (h.vct < clip/2)
-            h.vct <- ind2*clip/2 + (1-ind2)*h.vct
-            ind1 <- (h.vct < clip)
-
-            return(ind1 + (1-ind1)*clip/h.vct)
+             Distr, A.comp, cent, trafo, w){
+        w.fct <- function(x){
+            weight(w)(evalRandVar(L2deriv, as.matrix(x)) [,,1]) 
         }
-        integrandA <- function(x, L2.i, L2.j, i, j, L2, stand, cent, clip){
-            return((L2.i(x) - cent[i])*(L2.j(x) - cent[j])*w.fct(x = x, L2 = L2, 
-                                                stand = stand, cent = cent, clip = clip))
+        integrandA <- function(x, L2.i, L2.j, i, j){
+            return((L2.i(x) - cent[i])*(L2.j(x) - cent[j])*w.fct(x = x))
         }
 
         nrvalues <- length(L2deriv)
@@ -43,9 +35,9 @@
         for(i in 1:nrvalues)
             for(j in i:nrvalues)
                 if(A.comp[i,j])
-                    erg[i, j] <- E(object = Distr, fun = integrandA, L2.i = L2deriv at Map[[i]], 
-                                   L2.j = L2deriv at Map[[j]], i = i, j = j, L2 = L2deriv, 
-                                   stand = stand, cent = cent, clip = clip, 
+                    erg[i, j] <- E(object = Distr, fun = integrandA, 
+                                   L2.i = L2deriv at Map[[i]], 
+                                   L2.j = L2deriv at Map[[j]], i = i, j = j, 
                                    useApply = FALSE)
 
         erg[col(erg) < row(erg)] <- erg[col(erg) > row(erg)]

Added: pkg/ROptEst/R/getInfV.R
===================================================================
--- pkg/ROptEst/R/getInfV.R	                        (rev 0)
+++ pkg/ROptEst/R/getInfV.R	2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,97 @@
+###############################################################################
+## asyVar 
+###############################################################################
+setMethod("getInfV", signature(L2deriv = "UnivariateDistribution",
+                                   neighbor = "ContNeighborhood",
+                                   biastype = "BiasType"),
+    function(L2deriv, neighbor, biastype = symmetricBias(), clip, cent, stand){
+        c1 <- cent - clip
+        c2 <- cent + clip
+        return(stand^2*(m2df(L2deriv, c2) - m2df(L2deriv, c1)
+                + 2 * cent *(m1df(L2deriv, c1) - m1df(L2deriv, c2))
+                + cent^2 * (p(L2deriv)(c2) -p(L2deriv)(c1))
+                + clip^2 * (1-p(L2deriv)(c2) +p(L2deriv)(c1))
+                ))
+    })
+
+
+setMethod("getInfV", signature(L2deriv = "UnivariateDistribution",
+                                  neighbor = "TotalVarNeighborhood",
+                                  biastype = "BiasType"),
+    function(L2deriv, neighbor, biastype = positiveBias(), clip, cent, stand){
+        c1 <- cent
+        c2 <- clip+clip
+        return(stand^2*(m2df(L2deriv, c2) - m2df(L2deriv, c1)
+                + c2^2 * (1-p(L2deriv)(c2)) + c1^2* p(L2deriv)(c1)
+                ))
+    })
+
+setMethod("getInfV", signature(L2deriv = "RealRandVariable",
+                                   neighbor = "ContNeighborhood",
+                                   biastype = "BiasType"),
+    function(L2deriv, neighbor, biastype = symmetricBias(), Distr, V.comp, 
+             clip, cent, stand, w){
+        w.fct <- function(x){
+            (weight(w)(evalRandVar(L2deriv, as.matrix(x)) [,,1]))^2 
+        }
+        integrandV <- function(x, L2.i, L2.j, i, j){
+            return((L2.i(x) - cent[i])*(L2.j(x) - cent[j])*w.fct(x = x))
+        }
+
+        nrvalues <- length(L2deriv)
+        erg <- matrix(0, ncol = nrvalues, nrow = nrvalues)
+        for(i in 1:nrvalues)
+            for(j in i:nrvalues)
+                if(V.comp[i,j])
+                    erg[i, j] <- E(object = Distr, fun = integrandV, 
+                                   L2.i = L2deriv at Map[[i]], 
+                                   L2.j = L2deriv at Map[[j]], i = i, j = j, 
+                                   useApply = FALSE)
+
+        erg[col(erg) < row(erg)] <- erg[col(erg) > row(erg)]
+
+        return(stand %*% erg %*% t(stand))
+    })
+###############################################################################
+## standardizing constant for one-sided bias
+###############################################################################
+setMethod("getInfV", signature(L2deriv = "UnivariateDistribution",
+                                   neighbor = "ContNeighborhood",
+                                   biastype = "onesidedBias"),
+    function(L2deriv, neighbor, biastype = positiveBias(), clip, cent, stand){
+        c1 <- if (sign(biastype)<0) cent - clip else -Inf
+        c2 <- if (sign(biastype)>0) cent + clip else Inf
+        V1 <- if (sign(biastype)<0) m2df(L2deriv, c1) else 0
+        V2 <- if (sign(biastype)>0) m2df(L2deriv, c2) else E(L2deriv, function(x)x^2)
+        E1 <- if (sign(biastype)<0) m2df(L2deriv, c1) else 0
+        E2 <- if (sign(biastype)>0) m2df(L2deriv, c2) else 0
+        F1 <- if (sign(biastype)<0) p(L2deriv)(c1) else 0
+        F2 <- if (sign(biastype)>0) p(L2deriv)(c2, lower.tail = FALSE) else 0
+        c10 <- if (sign(biastype)<0) c1*m1df(L2deriv, c1) else 0
+        c20 <- if (sign(biastype)>0) c2*m1df(L2deriv, c2) else 0
+        c1 <- cent - clip
+        c2 <- cent + clip
+        return(stand^2*(V2 - V1 + 2 * cent * (E1 - E2) 
+                + cent^2 * (1 - F2 - F1)
+                + clip^2 * (F2 + F1)
+                ))
+    })
+
+
+###############################################################################
+## standardizing constant for asymmetric bias
+###############################################################################
+setMethod("getInfV", signature(L2deriv = "UnivariateDistribution",
+                                   neighbor = "ContNeighborhood",
+                                   biastype = "asymmetricBias"),
+    function(L2deriv, neighbor, biastype = positiveBias(), clip, cent, stand){
+        nu1 <- nu(biastype)[1]
+        nu2 <- nu(biastype)[2]
+        c1 <- cent - clip/nu1
+        c2 <- cent + clip/nu2
+        return(stand^2*(m2df(L2deriv, c2) - m2df(L2deriv, c1)
+                + 2 * cent *(m1df(L2deriv, c1) - m1df(L2deriv, c2))
+                + cent^2 * (p(L2deriv)(c2) -p(L2deriv)(c1))
+                + clip^2 * (1-p(L2deriv)(c2)/nu2^2 +p(L2deriv)(c1)/nu1^2)
+                ))
+    })

Modified: pkg/ROptEst/R/getRiskIC.R
===================================================================
--- pkg/ROptEst/R/getRiskIC.R	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/ROptEst/R/getRiskIC.R	2008-03-26 01:14:35 UTC (rev 79)
@@ -13,18 +13,6 @@
 
         bias <- E(L2Fam, IC1)
         Cov <- E(L2Fam, IC1 %*% t(IC1))
-
-        slots = slotNames(L2Fam at distribution@param)
-        slots = slots[slots != "name"]
-        nrvalues = length(slots)
-        if (nrvalues > 0) {
-            values = numeric(nrvalues)
-            for (i in 1:nrvalues) 
-                values[i] = attributes(attributes(L2Fam at distribution)$param)[[slots[i]]]
-
-            paramstring = paste("(", paste(values, collapse = ", "), ")", sep = "")
-        }
-        distr <- paste(class(L2Fam at distribution)[1], paramstring, sep = "")
         
         prec <- checkIC(IC, out = FALSE)
         if(prec > tol)
@@ -32,8 +20,9 @@
                     "\nThis is larger than the specified 'tol' ",
                     "=> the result may be wrong")
         
-        return(list(asCov = list(distribution = distr, value = Cov - bias %*% t(bias))))
+        return(list(asCov = list(distribution = .getDistr(L2Fam), value = Cov - bias %*% t(bias))))
     })
+
 setMethod("getRiskIC", signature(IC = "IC", 
                                  risk = "asCov",
                                  neighbor = "missing",
@@ -48,25 +37,13 @@
         bias <- E(L2Fam, IC1)
         Cov <- E(L2Fam, IC1 %*% t(IC1))
 
-        slots = slotNames(L2Fam at distribution@param)
-        slots = slots[slots != "name"]
-        nrvalues = length(slots)
-        if (nrvalues > 0) {
-            values = numeric(nrvalues)
-            for (i in 1:nrvalues) 
-                values[i] = attributes(attributes(L2Fam at distribution)$param)[[slots[i]]]
-
-            paramstring = paste("(", paste(values, collapse = ", "), ")", sep = "")
-        }
-        distr <- paste(class(L2Fam at distribution)[1], paramstring, sep = "")
-
         prec <- checkIC(IC, L2Fam, out = FALSE)
         if(prec > tol)
             warning("The maximum deviation from the exact IC properties is", prec, 
                     "\nThis is larger than the specified 'tol' ",
                     "=> the result may be wrong")
 
-        return(list(asCov = list(distribution = distr, value = Cov - bias %*% t(bias))))
+        return(list(asCov = list(distribution = .getDistr(L2Fam), value = Cov - bias %*% t(bias))))
     })
 
 ###############################################################################
@@ -116,14 +93,14 @@
                                  neighbor = "UncondNeighborhood",
                                  L2Fam = "missing"),
     function(IC, risk, neighbor, tol = .Machine$double.eps^0.25){
-             getBiasIC(IC, neighbor, biastype(risk), tol)
+             getBiasIC(IC, neighbor, biastype(risk), normtype(risk), tol)
     })
 setMethod("getRiskIC", signature(IC = "IC",
                                  risk = "asBias",
                                  neighbor = "UncondNeighborhood",
                                  L2Fam = "L2ParamFamily"),
     function(IC, risk, neighbor, L2Fam, tol = .Machine$double.eps^0.25){
-             getBiasIC(IC, neighbor, L2Fam, biastype(risk), tol)
+             getBiasIC(IC, neighbor, L2Fam, biastype(risk), normtype(risk), tol)
     })
 ###############################################################################
 ## asymptotic MSE
@@ -139,18 +116,6 @@
         trCov <- getRiskIC(IC = IC, risk = trAsCov())
         Bias <- getRiskIC(IC = IC, risk = asBias(), neighbor = neighbor)
 
-        L2Fam <- eval(IC at CallL2Fam)
-        slots = slotNames(L2Fam at distribution@param)
-        slots = slots[slots != "name"]
-        nrvalues = length(slots)
-        if (nrvalues > 0) {
-            values = numeric(nrvalues)
-            for (i in 1:nrvalues) 
-                values[i] = attributes(attributes(L2Fam at distribution)$param)[[slots[i]]]
-
-            paramstring = paste("(", paste(values, collapse = ", "), ")", sep = "")
-        }
-        distr <- paste(class(L2Fam at distribution)[1], paramstring, sep = "")
         nghb <- paste(neighbor at type, "with radius", neighbor at radius)
 
         prec <- checkIC(IC, out = FALSE)
@@ -159,7 +124,8 @@
                     "\nThis is larger than the specified 'tol' ",
                     "=> the result may be wrong")
 
-        return(list(asMSE = list(distribution = distr, neighborhood = nghb,
+        return(list(asMSE = list(distribution = .getDistr(eval(IC at CallL2Fam)), 
+                                 neighborhood = nghb,
                                  value = trCov$trAsCov$value + rad^2*Bias$asBias$value^2)))
     })
 setMethod("getRiskIC", signature(IC = "IC", 
@@ -177,25 +143,16 @@
         Bias <- getRiskIC(IC = IC, risk = asBias(), neighbor = neighbor, L2Fam = L2Fam, 
                           biastype = biastype(risk))
 
-        slots = slotNames(L2Fam at distribution@param)
-        slots = slots[slots != "name"]
-        nrvalues = length(slots)
-        if (nrvalues > 0) {
-            values = numeric(nrvalues)
-            for (i in 1:nrvalues) 
-                values[i] = attributes(attributes(L2Fam at distribution)$param)[[slots[i]]]
-
-            paramstring = paste("(", paste(values, collapse = ", "), ")", sep = "")
-        }
-        distr <- paste(class(L2Fam at distribution)[1], paramstring, sep = "")
-
         prec <- checkIC(IC, L2Fam, out = FALSE)
         if(prec > tol)
             warning("The maximum deviation from the exact IC properties is", prec, 
                     "\nThis is larger than the specified 'tol' ",
                     "=> the result may be wrong")
 
-        return(list(asMSE = list(distribution = distr, neighborhood = neighbor at type,
+        nghb <- paste(neighbor at type, "with radius", neighbor at radius)
+
+        return(list(asMSE = list(distribution = .getDistr(L2Fam), 
+                                 neighborhood = nghb,
                                  radius = neighbor at radius, 
                                  value = trCov$trAsCov$value + rad^2*Bias$asBias$value^2)))
     })
@@ -269,20 +226,10 @@
                   + m2df(L2deriv, g0+c0) - m2df(L2deriv, g0))
         erg <- pnorm(-risk at width*s)
 
-        slots = slotNames(L2Fam at distribution@param)
-        slots = slots[slots != "name"]
-        nrvalues = length(slots)
-        if (nrvalues > 0) {
-            values = numeric(nrvalues)
-            for (i in 1:nrvalues) 
-                values[i] = attributes(attributes(L2Fam at distribution)$param)[[slots[i]]]
-
-            paramstring = paste("(", paste(values, collapse = ", "), ")", sep = "")
-        }
-        distr <- paste(class(L2Fam at distribution)[1], paramstring, sep = "")
         nghb <- paste(neighbor at type, "with radius", neighbor at radius)
 
-        return(list(asUnOvShoot = list(distribution = distr, neighborhood = nghb, value = erg)))
+        return(list(asUnOvShoot = list(distribution = .getDistr(L2Fam), 
+                    neighborhood = nghb, value = erg)))
     })
 ###############################################################################
 ## finite-sample under-/overshoot risk
@@ -381,21 +328,10 @@
             }
         }
 
-        L2Fam <- eval(IC at CallL2Fam)
-        slots = slotNames(L2Fam at distribution@param)
-        slots = slots[slots != "name"]
-        nrvalues = length(slots)
-        if (nrvalues > 0) {
-            values = numeric(nrvalues)
-            for (i in 1:nrvalues) 
-                values[i] = attributes(attributes(L2Fam at distribution)$param)[[slots[i]]]
-
-            paramstring = paste("(", paste(values, collapse = ", "), ")", sep = "")
-        }
-        distr <- paste(class(L2Fam at distribution)[1], paramstring, sep = "")
         nghb <- paste(neighbor at type, "with radius", neighbor at radius)
 
-        return(list(fiUnOvShoot = list(distribution = distr, neighborhood = nghb, value = erg)))
+        return(list(fiUnOvShoot = list(distribution = .getDistr(eval(IC at CallL2Fam)), 
+                    neighborhood = nghb, value = erg)))
     })
 setMethod("getRiskIC", signature(IC = "IC", 
                                  risk = "fiUnOvShoot",
@@ -491,21 +427,10 @@
             }
         }
 
-        L2Fam <- eval(IC at CallL2Fam)
-        slots = slotNames(L2Fam at distribution@param)
-        slots = slots[slots != "name"]
-        nrvalues = length(slots)
-        if (nrvalues > 0) {
-            values = numeric(nrvalues)
-            for (i in 1:nrvalues) 
-                values[i] = attributes(attributes(L2Fam at distribution)$param)[[slots[i]]]
-
-            paramstring = paste("(", paste(values, collapse = ", "), ")", sep = "")
-        }
-        distr <- paste(class(L2Fam at distribution)[1], paramstring, sep = "")
         nghb <- paste(neighbor at type, "with radius", neighbor at radius)
 
-        return(list(fiUnOvShoot = list(distribution = distr, neighborhood = nghb, value = erg)))
+        return(list(fiUnOvShoot = list(distribution = .getDistr(eval(IC at CallL2Fam)), 
+                    neighborhood = nghb, value = erg)))
     })
 
 
@@ -515,7 +440,7 @@
 setMethod("getBiasIC", signature(IC = "IC",
                                  neighbor = "UncondNeighborhood"),
     function(IC, neighbor, L2Fam, biastype = symmetricBias(), 
-             tol = .Machine$double.eps^0.25){
+             normtype = NormType(), tol = .Machine$double.eps^0.25){
         if(missing(L2Fam)) 
            {misF <- TRUE; L2Fam <- eval(IC at CallL2Fam)}
         D1 <- L2Fam at distribution
@@ -526,20 +451,36 @@
         x <- as.matrix(x[!duplicated(x),])  
 
         Bias <- .evalBiasIC(IC = IC, neighbor = neighbor, biastype = biastype, 
-                            x = x, trafo = L2Fam at param@trafo)
+                            normtype = normtype, x = x, trafo = L2Fam at param@trafo)
 
-        slots <- slotNames(L2Fam at distribution@param)
-        slots <- slots[slots != "name"]
-        nrvalues <- length(slots)
-        if (nrvalues > 0) {
-            values <- numeric(nrvalues)
-            for (i in 1:nrvalues) 
-                values[i] <- attributes(attributes(L2Fam at distribution)$param)[[slots[i]]]
+        prec <- if(misF) checkIC(IC, out = FALSE) else 
+                         checkIC(IC, L2Fam, out = FALSE) 
+        if(prec > tol)
+            warning("The maximum deviation from the exact IC properties is", prec, 
+                    "\nThis is larger than the specified 'tol' ",
+                    "=> the result may be wrong")
 
-            paramstring <- paste("(", paste(values, collapse = ", "), ")", sep = "")
-        }
-        distr <- paste(class(L2Fam at distribution)[1], paramstring, sep = "")
+        return(list(asBias = list(distribution = .getDistr(L2Fam), 
+                    neighborhood = neighbor at type, value = Bias)))
+    })
 
+setMethod("getBiasIC", signature(IC = "ContIC",
+                                 neighbor = "UncondNeighborhood"),
+    function(IC, neighbor, L2Fam, biastype = symmetricBias(), 
+             normtype = NormType(), tol = .Machine$double.eps^0.25){
+        if(missing(L2Fam)) 
+           {misF <- TRUE; L2Fam <- eval(IC at CallL2Fam)}
+        D1 <- L2Fam at distribution
+        if(dimension(Domain(IC at Curve[[1]])) != dimension(img(D1)))
+            stop("dimension of 'Domain' of 'Curve' != dimension of 'img' of 'distribution' of 'L2Fam'")
+        
+        x <- as.matrix(r(D1)(1e5))
+        x <- as.matrix(x[!duplicated(x),])  
+
+        Bias <- .evalBiasIC(IC = IC, neighbor = neighbor, biastype = biastype, 
+                            normtype = normtype, x = x, trafo = L2Fam at param@trafo)
+
+
         prec <- if(misF) checkIC(IC, out = FALSE) else 
                          checkIC(IC, L2Fam, out = FALSE) 
         if(prec > tol)
@@ -547,23 +488,24 @@
                     "\nThis is larger than the specified 'tol' ",
                     "=> the result may be wrong")
 
-        return(list(asBias = list(distribution = distr, neighborhood = neighbor at type, value = Bias)))
+        return(list(asBias = list(distribution = .getDistr(L2Fam), 
+                    neighborhood = neighbor at type, value = Bias)))
     })
 
-
 setMethod(".evalBiasIC", signature(IC = "IC",
                                  neighbor = "ContNeighborhood",
                                  biastype = "BiasType"),
-    function(IC, neighbor, biastype, x, trafo){
-        IC1 <- as(diag(dimension(IC at Curve)) %*% IC at Curve, "EuclRandVariable")
-        absIC1 <- sqrt(IC1 %*% IC1)
-        return(max(evalRandVar(absIC1, x)))}
+    function(IC, neighbor, biastype, normtype, x, trafo){
+        ICx <- evalRandVar(as(diag(dimension(IC at Curve)) %*% IC at Curve, 
+                            "EuclRandVariable"),x)
+        
+        return(max(fct(normtype)(ICx)))}
     )
 
 setMethod(".evalBiasIC", signature(IC = "IC",
                                  neighbor = "TotalVarNeighborhood",
                                  biastype = "BiasType"),
-    function(IC, neighbor, biastype, x, trafo){
+    function(IC, neighbor, biastype, normtype, x, trafo){
         if(nrow(trafo) > 1)
             stop("not yet implemented for dimension > 1")
         IC1 <- as(diag(nrow(trafo)) %*% IC at Curve, "EuclRandVariable")
@@ -595,3 +537,17 @@
         return(max(res)/nu(biastype)[2] - 
                min(res)/nu(biastype)[1])}
     )
+
+.getDistr <- function(L2Fam){
+        slots <- slotNames(L2Fam at distribution@param)
+        slots <- slots[slots != "name"]
+        nrvalues <- length(slots)
+        if (nrvalues > 0) {
+            values = numeric(nrvalues)
+            for (i in 1:nrvalues) 
+                values[i] <- attributes(attributes(L2Fam at distribution)$param)[[slots[i]]]
+
+            paramstring <- paste("(", paste(values, collapse = ", "), ")", sep = "")
+        }
+        distr <- paste(class(L2Fam at distribution)[1], paramstring, sep = "")
+}
\ No newline at end of file

Modified: pkg/ROptEst/R/lowerCaseRadius.R
===================================================================
--- pkg/ROptEst/R/lowerCaseRadius.R	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/ROptEst/R/lowerCaseRadius.R	2008-03-26 01:14:35 UTC (rev 79)
@@ -118,6 +118,35 @@
        return(rad)
     })
 
+# trick to make it callable from minmaxBias
+setMethod("lowerCaseRadius", signature(L2Fam = "UnivariateDistribution",
+                                       neighbor = "ContNeighborhood",
+                                       risk = "asMSE",
+                                       biastype = "onesidedBias"),
+    function(L2Fam, neighbor, risk, biastype){
+
+        L2deriv <- D1 <- L2Fam
+        if(!is(D1, "DiscreteDistribution")) stop("not yet implemented")
+
+        sign <- sign(biastype)
+        w0 <- options("warn")
+        options(warn = -1)
+        
+        l <- length(support(L2deriv))
+        if (sign>0)
+           {z0 <- support(L2deriv)[1]; deltahat <- support(L2deriv)[2]-z0
+        }else{
+            z0 <- support(L2deriv)[l]; deltahat <- z0-support(L2deriv)[l-1]}
+        p0 <- d(L2deriv)(z0)   
+        
+        rad <- sqrt((abs(z0)/deltahat-(1-p0))/p0)
+        names(rad) <- "lower case radius"
+
+       options(w0)
+       return(rad)
+    })
+
+
  setMethod("lowerCaseRadius", signature(L2Fam = "L2ParamFamily",
                                        neighbor = "ContNeighborhood",
                                        risk = "asMSE",
@@ -195,3 +224,4 @@
        options(w0)
        return(rad)            
     })
+

Modified: pkg/ROptEst/man/getAsRisk.Rd
===================================================================
--- pkg/ROptEst/man/getAsRisk.Rd	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/ROptEst/man/getAsRisk.Rd	2008-03-26 01:14:35 UTC (rev 79)
@@ -27,7 +27,7 @@
 
 \S4method{getAsRisk}{asMSE,UnivariateDistribution,Neighborhood,BiasType}(risk, L2deriv, neighbor, biastype, clip, cent, stand, trafo)
 
-\S4method{getAsRisk}{asMSE,EuclRandVariable,Neighborhood,BiasType}(risk, L2deriv, neighbor, biastype, clip, cent, stand, trafo)
+\S4method{getAsRisk}{asMSE,EuclRandVariable,Neighborhood,BiasType}(risk, L2deriv, neighbor, biastype, clip, cent, stand, trafo, norm = EuclideanNorm)
 
 \S4method{getAsRisk}{asBias,UnivariateDistribution,ContNeighborhood,BiasType}(risk, L2deriv, neighbor, biastype, trafo)
 
@@ -38,17 +38,17 @@
 \S4method{getAsRisk}{asBias,UnivariateDistribution,TotalVarNeighborhood,BiasType}(risk, L2deriv, neighbor, biastype, trafo)
 
 \S4method{getAsRisk}{asBias,RealRandVariable,ContNeighborhood,BiasType}(risk, L2deriv, neighbor, biastype, Distr, L2derivDistrSymm, trafo, 
-             z.start, A.start, maxiter, tol)
+             z.start, A.start, maxiter, tol, norm = EuclideanNorm)
 
 \S4method{getAsRisk}{asCov,UnivariateDistribution,ContNeighborhood,BiasType}(risk, L2deriv, neighbor, biastype, clip, cent, stand)
 
 \S4method{getAsRisk}{asCov,UnivariateDistribution,TotalVarNeighborhood,BiasType}(risk, L2deriv, neighbor, biastype, clip, cent, stand)
 
-\S4method{getAsRisk}{asCov,RealRandVariable,ContNeighborhood,BiasType}(risk, L2deriv, neighbor, biastype, Distr, clip, cent, stand)
+\S4method{getAsRisk}{asCov,RealRandVariable,ContNeighborhood,BiasType}(risk, L2deriv, neighbor, biastype, Distr, clip, cent, stand, norm = EuclideanNorm)
 
 \S4method{getAsRisk}{trAsCov,UnivariateDistribution,UncondNeighborhood,BiasType}(risk, L2deriv, neighbor, biastype, clip, cent, stand)
 
-\S4method{getAsRisk}{trAsCov,RealRandVariable,ContNeighborhood,BiasType}(risk, L2deriv, neighbor, biastype, Distr, clip, cent, stand)
+\S4method{getAsRisk}{trAsCov,RealRandVariable,ContNeighborhood,BiasType}(risk, L2deriv, neighbor, biastype, Distr, clip, cent, stand, norm = EuclideanNorm)
 
 \S4method{getAsRisk}{asUnOvShoot,UnivariateDistribution,UncondNeighborhood,BiasType}(risk, L2deriv, neighbor, biastype, clip, cent, stand, trafo)
 
@@ -72,6 +72,7 @@
   \item{A.start}{ initial value for the standardizing matrix. }
   \item{maxiter}{ the maximum number of iterations }
   \item{tol}{ the desired accuracy (convergence tolerance).}
+  \item{norm}{function; norm for the parameter space}
 }
 %\details{}
 \value{The asymptotic risk is computed.}

Added: pkg/ROptEst/man/getInfV.Rd
===================================================================
--- pkg/ROptEst/man/getInfV.Rd	                        (rev 0)
+++ pkg/ROptEst/man/getInfV.Rd	2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,48 @@
+\name{getInfV}
+\alias{getInfV}
+\alias{getInfV-methods}
+\alias{getInfV,UnivariateDistribution,ContNeighborhood,BiasType-method}
+\alias{getInfV,UnivariateDistribution,TotalVarNeighborhood,BiasType-method}
+\alias{getInfV,EuclRandVariable,ContNeighborhood,BiasType-method}
+\alias{getInfV,UnivariateDistribution,ContNeighborhood,onesidedBias-method}
+\alias{getInfV,UnivariateDistribution,ContNeighborhood,asymmetricBias-method}
+
+\title{Generic Function for the Computation of the asymptotic Variance of a Hampel type IC}
+\description{
+  Generic function for the computation of the optimal clipping bound
+  in case of infinitesimal robust models. This function is rarely called 
+  directly. It is used to compute optimally robust ICs.
+}
+\usage{
+getInfV(L2deriv, neighbor, biastype, clip, cent, stand)
+}
+\arguments{
+  \item{L2deriv}{ L2-derivative of some L2-differentiable family 
+    of probability measures. }
+  \item{neighbor}{ object of class \code{"Neighborhood"}. }
+  \item{\dots}{ additional parameters. }
+  \item{biastype}{ object of class \code{"BiasType"} }
+  \item{clip}{ positive real: clipping bound }
+  \item{cent}{ optimal centering constant. }
+  \item{stand}{ standardizing matrix. }
+}
+%\details{}
+\value{The asymptotic variance of an ALE to IC of Hampel type is computed.}
+\references{
+  Rieder, H. (1980) Estimates derived from robust tests. Ann. Stats. \bold{8}: 106--115.
+
+  Rieder, H. (1994) \emph{Robust Asymptotic Statistics}. New York: Springer.
+
+  Ruckdeschel, P. (2005) Optimally One-Sided Bounded Influence Curves.
+  Mathematical Methods in Statistics \emph{14}(1), 105-131.
+
+  Kohl, M. (2005) \emph{Numerical Contributions to the Asymptotic Theory of Robustness}. 
+  Bayreuth: Dissertation.
+}
+\author{Matthias Kohl \email{Matthias.Kohl at stamats.de},
+        Peter Ruckdeschel \email{Peter.Ruckdeschel at uni-bayreuth.de}}
+%\note{}
+\seealso{\code{\link[RobAStBase]{ContIC-class}}, \code{\link[RobAStBase]{TotalVarIC-class}}}
+%\examples{}
+\concept{influence curve}
+\keyword{}

Modified: pkg/ROptEst/man/lowerCaseRadius.Rd
===================================================================
--- pkg/ROptEst/man/lowerCaseRadius.Rd	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/ROptEst/man/lowerCaseRadius.Rd	2008-03-26 01:14:35 UTC (rev 79)
@@ -4,6 +4,7 @@
 \alias{lowerCaseRadius,L2ParamFamily,ContNeighborhood,asMSE,ANY-method}
 \alias{lowerCaseRadius,L2ParamFamily,TotalVarNeighborhood,asMSE,ANY-method}
 \alias{lowerCaseRadius,L2ParamFamily,ContNeighborhood,asMSE,onesidedBias-method}
+\alias{lowerCaseRadius,UnivariateDistribution,ContNeighborhood,asMSE,onesidedBias-method}
 \alias{lowerCaseRadius,L2ParamFamily,ContNeighborhood,asMSE,asymmetricBias-method}
 
 \title{Computation of the lower case radius}
@@ -44,6 +45,10 @@
         biastype = "asymmetricBias"}{
     lower case radius for risk \code{"asMSE"} in case of \code{"ContNeighborhood"}
     for asymmetric bias.}
+
+  \item{L2Fam = "UnivariateDistribution", neighbor = "ContNeighborhood", risk = "asMSE",
+        biastype = "onesidedBias"}{ used only internally; 
+    trick to be able to call lower case radius from within minmax bias solver}
 }}
 \references{
   Kohl, M. (2005) \emph{Numerical Contributions to the Asymptotic Theory of Robustness}. 

Modified: pkg/RobAStBase/NAMESPACE
===================================================================
--- pkg/RobAStBase/NAMESPACE	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/NAMESPACE	2008-03-26 01:14:35 UTC (rev 79)
@@ -14,6 +14,8 @@
               "IC", 
               "ContIC", 
               "TotalVarIC")
+exportClasses("RobAStControl", "RobWeight", "BoundedWeight",
+              "BdStWeight", "HampelWeight") 
 exportMethods("show", 
               "plot")
 exportMethods("type", "radius")
@@ -38,6 +40,14 @@
               "optIC") 
 exportMethods("oneStepEstimator", 
               "locMEstimator")
+exportMethods("weight", "weight<-", 
+              "clip", "clip<-", 
+              "stand", "stand<-", 
+              "cent", "cent<-", 
+              "getweight", "minbiasweight", 
+              "generateIC.fct",
+              "makeIC")
 export("ContNeighborhood", "TotalVarNeighborhood") 
 export("FixRobModel", "InfRobModel") 
 export("InfluenceCurve", "IC", "ContIC", "TotalVarIC")
+export("EuclideanNorm", "QuadFormNorm")

Modified: pkg/RobAStBase/R/AllClass.R
===================================================================
--- pkg/RobAStBase/R/AllClass.R	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/R/AllClass.R	2008-03-26 01:14:35 UTC (rev 79)
@@ -50,6 +50,22 @@
                     stop("'radius' has to be in [0, Inf]")
                 else return(TRUE)
             })
+# Weights
+setClass("RobAStControl", representation(name ="character"),
+          contains = "VIRTUAL")
+          
+setClass("RobWeight", representation(name = "character", weight = "function"), 
+          prototype(name = "some weight", weight = function(x) 1))
+setClass("BoundedWeight", representation(clip = "numeric"), 
+          prototype(clip = 1), contains = "RobWeight")
+setClass("BdStWeight", representation(stand = "matrix"), 
+          prototype(stand = matrix(1)), contains = "BoundedWeight")
+setClass("HampelWeight", representation(cent = "numeric"), 
+          prototype(cent = 0), contains = "BdStWeight")
+
+
+
+
 # Influence curve/function with domain: EuclideanSpace
 setClass("InfluenceCurve", 
             representation(name = "character", 
@@ -94,7 +110,10 @@
                            cent = "numeric",
                            stand = "matrix",
                            lowerCase = "OptionalNumeric",
-                           neighborRadius = "numeric"), 
+                           neighborRadius = "numeric",
+                           weight = "HampelWeight",
+                           biastype = "BiasType",
+                           normtype = "NormType"), 
             prototype(name = "IC of contamination type",
                       Curve = EuclRandVarList(RealRandVariable(Map = list(function(x){x}), 
                                                     Domain = Reals())),
@@ -104,7 +123,8 @@
                       CallL2Fam = call("L2ParamFamily"),
                       clip = Inf, cent = 0, stand = as.matrix(1),
                       lowerCase = NULL,
-                      neighborRadius = 0),
+                      neighborRadius = 0, weight = new("HampelWeight"),
+                      biastype = symmetricBias(), NormType = NormType()),
             contains = "IC",
             validity = function(object){
                 if(any(object at neighborRadius < 0)) # radius vector?!
@@ -127,7 +147,8 @@
                            clipUp = "numeric",
                            stand = "matrix",
                            lowerCase = "OptionalNumeric",
-                           neighborRadius = "numeric"),
+                           neighborRadius = "numeric",
+                           weight = "BdStWeight"),
             prototype(name = "IC of total variation type",
                       Curve = EuclRandVarList(RealRandVariable(Map = list(function(x){x}),
                                                                Domain = Reals())),
@@ -137,7 +158,7 @@
                       CallL2Fam = call("L2ParamFamily"),
                       clipLo = -Inf, clipUp = Inf, stand = as.matrix(1),
                       lowerCase = NULL,
-                      neighborRadius = 0),
+                      neighborRadius = 0, weight = new("BdStWeight")),
             contains = "IC",
             validity = function(object){
                 if(any(object at neighborRadius < 0)) # radius vector?!
@@ -151,3 +172,5 @@
                     stop(paste("dimension of 'trafo' of 'param' != dimension of 'stand'"))
                 return(TRUE)
             })
+
+

Modified: pkg/RobAStBase/R/AllGeneric.R
===================================================================
--- pkg/RobAStBase/R/AllGeneric.R	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/R/AllGeneric.R	2008-03-26 01:14:35 UTC (rev 79)
@@ -49,6 +49,9 @@
 if(!isGeneric("evalIC")){
     setGeneric("evalIC", function(IC, x) standardGeneric("evalIC"))
 }
+if(!isGeneric("makeIC")){
+    setGeneric("makeIC", function(IC, L2Fam, ...) standardGeneric("makeIC"))
+}
 if(!isGeneric("clip")){
     setGeneric("clip", function(object) standardGeneric("clip"))
 }
@@ -104,3 +107,50 @@
 if(!isGeneric("optIC")){
     setGeneric("optIC", function(model, risk, ...) standardGeneric("optIC"))
 }
+
+
+if(!isGeneric("weight")){
+    setGeneric("weight",
+        function(object, ...) standardGeneric("weight"))
+}
+if(!isGeneric("weight<-")){
+    setGeneric("weight<-",
+        function(object, value,  ...) standardGeneric("weight<-"))
+}
+if(!isGeneric("clip")){
+    setGeneric("clip",
+        function(object, ...) standardGeneric("clip"))
+}
+if(!isGeneric("clip<-")){
+    setGeneric("clip<-",
+        function(object, value, ...) standardGeneric("clip<-"))
+}
+if(!isGeneric("stand")){
+    setGeneric("stand",
+        function(object, ...) standardGeneric("stand"))
+}
+if(!isGeneric("stand<-")){
+    setGeneric("stand<-",
+        function(object, value, ...) standardGeneric("stand<-"))
+}
+if(!isGeneric("cent")){
+    setGeneric("cent",
+        function(object, ...) standardGeneric("cent"))
+}
+if(!isGeneric("cent<-")){
+    setGeneric("cent<-",
+        function(object, value, ...) standardGeneric("cent<-"))
+}
+
+if(!isGeneric("getweight")){
+    setGeneric("getweight",
+        function(Weight, neighbor, biastype, ...) standardGeneric("getweight"))
+}
+
+if(!isGeneric("minbiasweight")){
+    setGeneric("minbiasweight",
+        function(Weight, neighbor, biastype, ...) standardGeneric("minbiasweight"))
+}
+if(!isGeneric("generateIC.fct")){
+    setGeneric("generateIC.fct", function(neighbor, L2Fam, ...) standardGeneric("generateIC.fct"))
+}

Modified: pkg/RobAStBase/R/ContIC.R
===================================================================
--- pkg/RobAStBase/R/ContIC.R	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/R/ContIC.R	2008-03-26 01:14:35 UTC (rev 79)
@@ -2,7 +2,8 @@
 ContIC <- function(name, CallL2Fam = call("L2ParamFamily"),
                    Curve = EuclRandVarList(RealRandVariable(Map = c(function(x){x}), Domain = Reals())), 
                    Risks, Infos, clip = Inf, cent = 0, stand = as.matrix(1), 
-                   lowerCase = NULL, neighborRadius = 0){
+                   lowerCase = NULL, neighborRadius = 0, w = new("HampelWeight"),
+                   normtype = NormType(), biastype = symmetricBias()){
     if(missing(name))
         name <- "IC of contamination type"
     if(missing(Risks))
@@ -35,6 +36,9 @@
     contIC at stand <- stand
     contIC at lowerCase <- lowerCase
     contIC at neighborRadius <- neighborRadius
+    contIC at weight <- w
+    contIC at biastype <- biastype
+    contIC at normtype <- normtype
 
     return(contIC)
 #    return(new("ContIC", name = name, Curve = Curve, Risks = Risks, Infos = Infos,
@@ -42,8 +46,8 @@
 #               lowerCase = lowerCase, neighborRadius = neighborRadius))
 }
 
-## generate IC
-## for internal use only!
+
+
 setMethod("generateIC", signature(neighbor = "ContNeighborhood", 
                                   L2Fam = "L2ParamFamily"),
     function(neighbor, L2Fam, res){
@@ -51,40 +55,9 @@
         a <- res$a
         b <- res$b
         d <- res$d
-        nrvalues <- nrow(A)
-        ICfct <- vector(mode = "list", length = nrvalues)
-        Y <- as(A %*% L2Fam at L2deriv - a, "EuclRandVariable")
-        if(nrvalues == 1){
-            if(!is.null(d)){
-                ICfct[[1]] <- function(x){ 
-                                    ind <- (Y(x) != 0) 
-                                    b*(ind*Y(x)/(ind*absY(x) + (1-ind)) + zi*(1-ind)*d)
-                              }
-                body(ICfct[[1]]) <- substitute(
-                                        { ind <- (Y(x) != 0) 
-                                          b*(ind*Y(x)/(ind*absY(x) + (1-ind)) + zi*(1-ind)*d) },
-                                        list(Y = Y at Map[[1]], absY = abs(Y)@Map[[1]], b = b, d = d, 
-                                             zi = sign(L2Fam at param@trafo)))
-            }else{
-                ICfct[[1]] <- function(x){ Y(x)*pmin(1, b/absY(x)) }
-                body(ICfct[[1]]) <- substitute({ Y(x)*pmin(1, b/absY(x)) },
-                                                 list(Y = Y at Map[[1]], absY = abs(Y)@Map[[1]], b = b))
-            }
-        }else{
-            absY <- sqrt(Y %*% Y)
-            if(!is.null(d))
-                for(i in 1:nrvalues){
-                    ICfct[[i]] <- function(x){ ind <- (Yi(x) != 0) ; ind*b*Yi(x)/absY(x) + (1-ind)*d }
-                    body(ICfct[[i]]) <- substitute({ ind <- (Yi(x) != 0) ; ind*b*Yi(x)/absY(x) + (1-ind)*d },
-                                                 list(Yi = Y at Map[[i]], absY = absY at Map[[1]], b = b, d = d[i]))
-                }
-            else
-                for(i in 1:nrvalues){
-                    ICfct[[i]] <- function(x){ Yi(x)*pmin(1, b/absY(x)) }
-                    body(ICfct[[i]]) <- substitute({ Yi(x)*pmin(1, b/absY(x)) },
-                                                 list(Yi = Y at Map[[i]], absY = absY at Map[[1]], b = b))
-                }
-        }
+        normtype <-  res$normtype
+        biastype <-  res$biastype
+        w <- res$w        
         return(ContIC(
                 name = "IC of contamination type", 
                 CallL2Fam = call("L2ParamFamily", 
@@ -101,22 +74,27 @@
                                 L2derivDistrSymm = L2Fam at L2derivDistrSymm,
                                 FisherInfo = L2Fam at FisherInfo,
                                 FisherInfo.fct = L2Fam at FisherInfo.fct),
-                Curve = EuclRandVarList(EuclRandVariable(Map = ICfct, Domain = Y at Domain, 
-                                         Range = Y at Range)),
+                Curve = generateIC.fct(neighbor, L2Fam, res),
                 clip = b,
                 cent = a,
                 stand = A,
                 lowerCase = d,
+                w = w,
                 neighborRadius = neighbor at radius,
+                normtype = normtype,
+                biastype = biastype,
                 Risks = res$risk,
                 Infos = matrix(res$info, ncol = 2, 
                             dimnames = list(character(0), c("method", "message")))))
     })
 
 ## Access methods
+setMethod("biastype", "ContIC", function(object) object at biastype)
+setMethod("normtype", "ContIC", function(object) object at normtype)
 setMethod("clip", "ContIC", function(object) object at clip)
 setMethod("cent", "ContIC", function(object) object at cent)
 setMethod("stand", "ContIC", function(object) object at stand)
+setMethod("weight", "ContIC", function(object) object at weight)
 setMethod("lowerCase", "ContIC", function(object) object at lowerCase)
 setMethod("neighborRadius", "ContIC", function(object) object at neighborRadius)
 

Modified: pkg/RobAStBase/R/IC.R
===================================================================
--- pkg/RobAStBase/R/IC.R	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/R/IC.R	2008-03-26 01:14:35 UTC (rev 79)
@@ -20,7 +20,7 @@
         stop("'Infos' must have two columns")
 
     L2Fam <- eval(CallL2Fam)
-    trafo <- L2Fam at param@trafo
+    trafo <- trafo(L2Fam at param)
     if(nrow(trafo) != dimension(Curve))
         stop("wrong dimension of 'Curve'")
     if(dimension(Domain(L2Fam at L2deriv[[1]])) != dimension(Domain(Curve[[1]])))
@@ -50,7 +50,7 @@
 setMethod("checkIC", signature(IC = "IC", L2Fam = "missing"), 
     function(IC, out = TRUE){ 
         L2Fam <- eval(IC at CallL2Fam)
-        trafo <- L2Fam at param@trafo
+        trafo <- trafo(L2Fam at param)
         IC1 <- as(diag(nrow(trafo)) %*% IC at Curve, "EuclRandVariable")
 
         cent <- E(L2Fam, IC1)
@@ -76,7 +76,7 @@
         if(dimension(Domain(IC at Curve[[1]])) != dimension(img(D1)))
             stop("dimension of 'Domain' of 'Curve' != dimension of 'img' of 'distribution' of 'L2Fam'")
 
-        trafo <- L2Fam at param@trafo
+        trafo <- trafo(L2Fam at param)
         IC1 <- as(diag(dimension(IC at Curve)) %*% IC at Curve, "EuclRandVariable")
         cent <- E(D1, IC1)
         if(out)
@@ -96,6 +96,7 @@
 
         return(prec)
     })
+
 ## evaluate IC
 setMethod("evalIC", signature(IC = "IC", x = "numeric"), 
     function(IC, x){ 
@@ -124,3 +125,44 @@
         else
             return(evalRandVar(Curve, x)[,,1])
     })
+
+## make some L2function a pIC at a model
+setMethod("makeIC", signature(IC = "IC", L2Fam = "missing"), 
+    function(IC){ 
+        L2Fam <- eval(IC at CallL2Fam)
+        trafo <- trafo(L2Fam at param)
+        IC1 <- as(diag(nrow(trafo)) %*% IC at Curve, "EuclRandVariable")
+
+        cent <- E(L2Fam, IC1)
+
+        dims <- length(L2Fam at param)
+        L2deriv <- as(diag(dims) %*% L2Fam at L2deriv, "EuclRandVariable")
+        E1 <- matrix(E(L2Fam, as(IC1 %*% t(L2deriv),"EuclRandVariable")),
+                     nrow(trafo),dims)
+        stand <- trafo %*% solve(E1) 
+        return(IC(name = name(IC),                            
+               Curve = as(stand %*% (L2Fam at L2deriv - cent), "EuclRandVariable"), 
+               Risks="", Infos="", CallL2Fam = call(L2Fam)))
+    })
+
+## make some L2function a pIC at a model
+setMethod("makeIC", signature(IC = "IC", L2Fam = "L2ParamFamily"), 
+    function(IC, L2Fam){ 
+        D1 <- L2Fam at distribution
+        if(dimension(Domain(IC at Curve[[1]])) != dimension(img(D1)))
+            stop("dimension of 'Domain' of 'Curve' != dimension of 'img' of 'distribution' of 'L2Fam'")
+
+        trafo <- trafo(L2Fam at param)
+        IC1 <- as(diag(dimension(IC at Curve)) %*% IC at Curve, "EuclRandVariable")
+        cent <- E(D1, IC1)
+
+        dims <- length(L2Fam at param)
+        L2deriv <- as(diag(dims) %*% L2Fam at L2deriv, "EuclRandVariable")
+
+        E1 <- matrix(E(L2Fam, as(IC1 %*% t(L2deriv),"EuclRandVariable")),
+                     nrow(trafo),dims)
+        stand <- trafo %*% solve(E1) 
+        return(IC(name = name(IC),                            
+               Curve = as(stand %*% (L2Fam at L2deriv - cent), "EuclRandVariable"), 
+               Risks="", Infos="", CallL2Fam = call(L2Fam)))
+    })

Modified: pkg/RobAStBase/R/TotalVarIC.R
===================================================================
--- pkg/RobAStBase/R/TotalVarIC.R	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/R/TotalVarIC.R	2008-03-26 01:14:35 UTC (rev 79)
@@ -2,7 +2,7 @@
 TotalVarIC <- function(name, CallL2Fam = call("L2ParamFamily"),
                     Curve = EuclRandVarList(RealRandVariable(Map = c(function(x){x}), Domain = Reals())), 
                     Risks, Infos, clipLo = -Inf, clipUp = Inf, stand = as.matrix(1),
-                    lowerCase = NULL, neighborRadius = 0){
+                    lowerCase = NULL, neighborRadius = 0, w = new("BdStWeight")){
     if(missing(name))
         name <- "IC of total variation type"
     if(missing(Risks))
@@ -30,6 +30,7 @@
     IC1 at stand <- stand
     IC1 at lowerCase <- lowerCase
     IC1 at neighborRadius <- neighborRadius
+    IC1 at weight <- w
 
     return(IC1)
 }
@@ -42,25 +43,9 @@
         A <- res$A
         a <- sign(as.vector(A))*res$a
         b <- res$b
+        w <- res$w
         ICfct <- vector(mode = "list", length = 1)
         Y <- as(A %*% L2Fam at L2deriv, "EuclRandVariable")
-        if(!is.null(res$d)){
-            a <- as.vector(A)*a
-            ICfct[[1]] <- function(x){ ind1 <- (Y(x) > 0); ind2 <- (Y(x) < 0)
-                                       (a+b)*ind1 + a*ind2 }
-            body(ICfct[[1]]) <- substitute({ ind1 <- (Y(x) > 0); ind2 <- (Y(x) < 0)
-                                             (a+b)*ind1 + a*ind2 },
-                                             list(Y = Y at Map[[1]], a = a, b = b))
-        }else{
-            if((a == -Inf)&&(b == Inf)){
-                ICfct[[1]]<- function(x){ Y(x) }
-                body(ICfct[[1]]) <- substitute({ Y(x) }, list(Y = Y at Map[[1]]))
-            }else{
-                ICfct[[1]] <- function(x){ min(max(a, Y(x)), a+b) }
-                body(ICfct[[1]]) <- substitute({ min(max(a, Y(x)), a+b) },
-                                                 list(Y = Y at Map[[1]], a = a, b = b))
-            }
-        }
         if((a == -Inf) & (b == Inf))
             clipUp <- Inf
         else
@@ -81,13 +66,13 @@
                                 L2derivDistrSymm = L2Fam at L2derivDistrSymm,
                                 FisherInfo = L2Fam at FisherInfo,
                                 FisherInfo.fct = L2Fam at FisherInfo.fct),
-                Curve = EuclRandVarList(EuclRandVariable(Map = ICfct, Domain = Y at Domain, 
-                            Range = Y at Range)),
+                Curve = generateIC.fct(neighbor, L2Fam, res),
                 clipUp = clipUp,
                 clipLo = a,
                 stand = A,
                 lowerCase = res$d, 
-                neighborRadius = neighbor at radius,
+                weight = w,
+                neighborRadius = neighbor at radius,           
                 Risks = res$risk,
                 Infos = matrix(res$info, ncol = 2, 
                             dimnames = list(character(0), c("method", "message")))))
@@ -97,6 +82,7 @@
 setMethod("clipLo", "TotalVarIC", function(object) object at clipLo)
 setMethod("clipUp", "TotalVarIC", function(object) object at clipUp)
 setMethod("stand", "TotalVarIC", function(object) object at stand)
+setMethod("weight", "TotalVarIC", function(object) object at weight)
 setMethod("lowerCase", "TotalVarIC", function(object) object at lowerCase)
 setMethod("neighborRadius", "TotalVarIC", function(object) object at neighborRadius)
 

Added: pkg/RobAStBase/R/Weights.R
===================================================================
--- pkg/RobAStBase/R/Weights.R	                        (rev 0)
+++ pkg/RobAStBase/R/Weights.R	2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,170 @@
+.eq <-function(x,y = 0*x, tol = 1e-7) abs(x-y)<tol
+
+setMethod("name", "RobWeight", function(object) object at name)
+setReplaceMethod("name", "RobWeight", function(object,value) 
+                  {object at name <- value; object})
+
+
+setMethod("clip", "BoundedWeight", function(object) object at clip)
+setReplaceMethod("clip", "BoundedWeight", function(object,value) 
+                   {object at clip <- value; object})
+
+
+setMethod("stand", "BdStWeight", function(object) object at stand)
+setReplaceMethod("stand", "BdStWeight", function(object,value) 
+                  {object at stand <- value; object})
+
+
+setMethod("cent", "HampelWeight", function(object) object at cent)
+setReplaceMethod("cent", "HampelWeight", function(object,value) 
+                   {object at cent <- value; object})
+
+setMethod("weight", "RobWeight", function(object) object at weight)
+
+setReplaceMethod("weight", "RobWeight", function(object,value) 
+                 {object at weight <- value; object})
+
+setMethod("getweight",
+          signature(Weight = "HampelWeight", neighbor = "ContNeighborhood",
+                    biastype = "BiasType"),# normtype = "NormType"),
+          function(Weight, neighbor, biastype, normtype)
+               {A <- stand(Weight)
+                b <- clip(Weight)
+                z <- cent(Weight)
+                function(x){
+                   y <- A%*%(x-z)
+                   norm0 <- fct(normtype)(y) 
+                   ind2 <- (norm0 < b/2)
+                   norm1 <- ind2*b/2 + (1-ind2)*norm0
+                   ind1 <- (norm0 < b)
+                   ind1 + (1-ind1)*b/norm1
+                   }
+                }
+          )
+
+
+setMethod("getweight",
+          signature(Weight = "HampelWeight", neighbor = "ContNeighborhood",
+                    biastype = "onesidedBias"),#  norm = "missing"),
+          function(Weight, neighbor, biastype)
+               {A <- stand(Weight)
+                b <- clip(Weight)
+                z <- cent(Weight)
+                function(x){
+                   y <- A*(x-z)*sign(biastype) 
+                   norm1 <- pmax(y,b/2)
+                   pmin(1,b/norm1) 
+                   }
+                }
+          )
+
+setMethod(getweight,
+          signature(Weight = "HampelWeight", neighbor = "ContNeighborhood",
+                    biastype = "asymmetricBias"),# norm = "missing"),
+          function(Weight, neighbor, biastype)
+               {A <- stand(Weight)
+                b <- clip(Weight)
+                b1 <- b/nu(biastype)[1]
+                b2 <- b/nu(biastype)[2]
+                z <- cent(Weight)
+                function(x){
+                   y <- A*(x-z)
+                   norm1 <- pmax(-y,b1/2)
+                   norm2 <- pmax(y,b2/2)
+                   pmin(1,b1/norm1,b2/norm2) 
+                   }
+                }
+          )
+
+
+setMethod(getweight,
+          signature(Weight = "BdStWeight", neighbor = "TotalVarNeighborhood",
+                    biastype = "BiasType"),#  norm = "missing"),
+          function(Weight, neighbor, biastype)
+               {A <- stand(Weight)
+                b <- clip(Weight)
+                a <- A * cent(Weight)
+                b1 <- a
+                b2 <- b + a
+                function(x){
+                   y <- A*x
+                   norm1 <- pmax(-y,b1/2)
+                   norm2 <- pmax(y,b2/2)
+                   pmin(1,b1/norm1,b2/norm2) 
+                   }
+                }
+          )
+
+setMethod(minbiasweight,
+          signature(Weight = "HampelWeight", neighbor = "ContNeighborhood",
+                    biastype = "BiasType"),#  norm = "NormType"),
+          function(Weight, neighbor, biastype, normtype)
+               {A <- stand(Weight)
+                b <- clip(Weight)
+                z <- cent(Weight)
+                function(x){
+                   y <- A%*%(x-z)
+                   norm0 <- fct(normtype)(y) 
+                   ind <- 1-.eq(norm0)                   
+                   ind*b/(norm0+1-ind)
+                   }
+                }
+          )
+
+
+setMethod(minbiasweight,
+          signature(Weight = "HampelWeight", neighbor = "ContNeighborhood",
+                    biastype = "asymmetricBias"),#  norm = "missing"),
+          function(Weight, neighbor, biastype)
+               {A <- stand(Weight)
+                b <- clip(Weight)
+                b1 <- b/nu(biastype)[1]
+                b2 <- b/nu(biastype)[2]
+                z <- cent(Weight)
+                function(x){
+                   y <- A*(x-z)
+                   norm1 <- abs(y[y>0]) 
+                   norm2 <- abs(y[y<0])
+                   ind1 <- 1-.eq(norm1)                   
+                   ind2 <- 1-.eq(norm2)                   
+                   ind1*b1/(norm1+1-ind1) + ind2*b2/(norm2+1-ind2)
+                   }
+                }
+          )
+
+setMethod(minbiasweight,
+          signature(Weight = "HampelWeight", neighbor = "ContNeighborhood",
+                    biastype = "onesidedBias"),#  norm = "missing"),
+          function(Weight, neighbor, biastype)
+               {A <- stand(Weight)
+                b <- clip(Weight)
+                z <- cent(Weight)
+                function(x){
+                   y <- A*(x-z)
+                   norm1 <- abs(y[y * sign(biastype)>0]) 
+                   ind1 <- 1-.eq(norm1)                   
+                   ind1*b1/(norm1+1-ind1)
+                   }
+                }
+          )
+
+
+setMethod(minbiasweight,
+          signature(Weight = "BdStWeight", neighbor = "TotalVarNeighborhood",
+                    biastype = "BiasType"),#  norm = "missing"),
+          function(Weight, neighbor, biastype)
+               {A <- stand(Weight)
+                b <- clip(Weight)
+                a <- A * cent(Weight)
+                b1 <- a
+                b2 <- b + a
+                function(x){
+                   y <- A*x
+                   norm1 <- abs(y[y>0]) 
+                   norm2 <- abs(y[y<0])
+                   ind1 <- 1-.eq(norm1)                   
+                   ind2 <- 1-.eq(norm2)                   
+                   ind1*b1/(norm1+1-ind1) + ind2*b2/(norm2+1-ind2)
+                   }
+                }
+          )

Added: pkg/RobAStBase/R/control.R
===================================================================
--- pkg/RobAStBase/R/control.R	                        (rev 0)
+++ pkg/RobAStBase/R/control.R	2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,2 @@
+setMethod("name", "RobAStControl", function(object) object at name)
+setReplaceMethod("name", "RobAStControl", function(object,value) {object at name <- value; object})

Added: pkg/RobAStBase/R/generateICfct.R
===================================================================
--- pkg/RobAStBase/R/generateICfct.R	                        (rev 0)
+++ pkg/RobAStBase/R/generateICfct.R	2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,47 @@
+## generate IC
+## for internal use only!
+setMethod("generateIC.fct", signature(neighbor = "UncondNeighborhood", L2Fam = "L2ParamFamily"),
+    function(neighbor, L2Fam, res){
+        A <- res$A
+        a <- res$a
+        b <- res$b
+        d <- res$d
+        w <- weight(res$w)
+        nrvalues <- nrow(A)
+        ICfct <- vector(mode = "list", length = nrvalues)
+        Y <- as(A %*% L2Fam at L2deriv - a, "EuclRandVariable")
+        L <- as(L2Fam at L2deriv, "EuclRandVariable")
+        if(nrvalues == 1){
+            if(!is.null(d)){
+                ICfct[[1]] <- function(x){}
+                body(ICfct[[1]]) <- substitute(
+                                        { ind <- 1-.eq(Y(x))
+                                          b*(Y(x)*w(L(x)) + zi*(1-ind)*d) },
+                                        list(Y = Y at Map[[1]], L = L at Map[[1]], w = w, b = b, d = d,
+                                             zi = sign(L2Fam at param@trafo), .eq = .eq))
+            }else{
+                ICfct[[1]] <- function(x){}
+                body(ICfct[[1]]) <- substitute({ Y(x)*w(L(x)) },
+                                                 list(Y = Y at Map[[1]], L = L at Map[[1]], w = w))
+            }
+        }else{
+            if(!is.null(d))
+                for(i in 1:nrvalues){
+                    ICfct[[i]] <- function(x){}
+                    body(ICfct[[i]]) <- substitute({ind <- 1-.eq(Y(x))
+                                                    ind*b*Yi(x)*w(L(x)) + (1-ind)*d
+                                                    },
+                                                 list(Yi = Y at Map[[i]], L = L at Map[[1]], w = w,
+                                                      b = b, d = d[i],  .eq = .eq))
+                }
+            else
+                for(i in 1:nrvalues){
+                    ICfct[[i]] <- function(x){}
+                    body(ICfct[[i]]) <- substitute({  Yi(x)*w(L(x))  },
+                                                 list(Yi = Y at Map[[i]], L = L at Map[[1]], w = w))
+                }
+        }
+        return(EuclRandVarList(EuclRandVariable(Map = ICfct, Domain = Y at Domain,
+                                         Range = Y at Range)))
+    })
+

Modified: pkg/RobAStBase/chm/00Index.html
===================================================================
--- pkg/RobAStBase/chm/00Index.html	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/chm/00Index.html	2008-03-26 01:14:35 UTC (rev 79)
@@ -14,11 +14,13 @@
 
 <p align="center">
 <a href="#A">A</a>
+<a href="#B">B</a>
 <a href="#C">C</a>
 <a href="#D">D</a>
 <a href="#E">E</a>
 <a href="#F">F</a>
 <a href="#G">G</a>
+<a href="#H">H</a>
 <a href="#I">I</a>
 <a href="#L">L</a>
 <a href="#M">M</a>
@@ -29,6 +31,7 @@
 <a href="#S">S</a>
 <a href="#T">T</a>
 <a href="#U">U</a>
+<a href="#W">W</a>
 </p>
 <table width="100%">
 </table>
@@ -42,6 +45,17 @@
 <td>Influence curve</td></tr>
 </table>
 
+<h2><a name="B">-- B --</a></h2>
+
+<table width="100%">
+<tr><td width="25%"><a href="BdStWeight-class.html">BdStWeight-class</a></td>
+<td>Robust Weight classes for bounded, standardized weights</td></tr>
+<tr><td width="25%"><a href="ContIC-class.html">biastype,ContIC-method</a></td>
+<td>Influence curve of contamination type</td></tr>
+<tr><td width="25%"><a href="BoundedWeight-class.html">BoundedWeight-class</a></td>
+<td>Robust Weight classes for bounded weights</td></tr>
+</table>
+
 <h2><a name="C">-- C --</a></h2>
 
 <table width="100%">
@@ -59,8 +73,12 @@
 <td>Influence curve of contamination type</td></tr>
 <tr><td width="25%"><a href="ContIC-class.html">cent,ContIC-method</a></td>
 <td>Influence curve of contamination type</td></tr>
+<tr><td width="25%"><a href="HampelWeight-class.html">cent,HampelWeight-method</a></td>
+<td>Robust Weight classes for weights of Hampel type</td></tr>
 <tr><td width="25%"><a href="ContIC-class.html">cent&lt;-,ContIC-method</a></td>
 <td>Influence curve of contamination type</td></tr>
+<tr><td width="25%"><a href="HampelWeight-class.html">cent&lt;-,HampelWeight-method</a></td>
+<td>Robust Weight classes for weights of Hampel type</td></tr>
 <tr><td width="25%"><a href="RobModel-class.html">center</a></td>
 <td>Robust model</td></tr>
 <tr><td width="25%"><a href="RobModel-class.html">center,RobModel-method</a></td>
@@ -75,8 +93,12 @@
 <td>Influence curve</td></tr>
 <tr><td width="25%"><a href="ContIC-class.html">clip</a></td>
 <td>Influence curve of contamination type</td></tr>
+<tr><td width="25%"><a href="BoundedWeight-class.html">clip,BoundedWeight-method</a></td>
+<td>Robust Weight classes for bounded weights</td></tr>
 <tr><td width="25%"><a href="ContIC-class.html">clip,ContIC-method</a></td>
 <td>Influence curve of contamination type</td></tr>
+<tr><td width="25%"><a href="BoundedWeight-class.html">clip&lt;-,BoundedWeight-method</a></td>
+<td>Robust Weight classes for bounded weights</td></tr>
 <tr><td width="25%"><a href="ContIC-class.html">clip&lt;-,ContIC-method</a></td>
 <td>Influence curve of contamination type</td></tr>
 <tr><td width="25%"><a href="TotalVarIC-class.html">clipLo</a></td>
@@ -141,8 +163,33 @@
 <td>Influence curve of contamination type</td></tr>
 <tr><td width="25%"><a href="TotalVarIC-class.html">generateIC,TotalVarNeighborhood,L2ParamFamily-method</a></td>
 <td>Influence curve of total variation type</td></tr>
+<tr><td width="25%"><a href="generateICfct.html">generateIC.fct</a></td>
+<td>Generic Function for making ICs consistent at a possibly different model</td></tr>
+<tr><td width="25%"><a href="generateICfct.html">generateIC.fct,UncondNeighborhood,L2ParamFamily-method</a></td>
+<td>Generic Function for making ICs consistent at a possibly different model</td></tr>
+<tr><td width="25%"><a href="generateICfct.html">generateIC.fct-methods</a></td>
+<td>Generic Function for making ICs consistent at a possibly different model</td></tr>
+<tr><td width="25%"><a href="getweight.html">getweight</a></td>
+<td>Generating weights</td></tr>
+<tr><td width="25%"><a href="getweight.html">getweight,BdStWeight,TotalVarNeighborhood,BiasType-method</a></td>
+<td>Generating weights</td></tr>
+<tr><td width="25%"><a href="getweight.html">getweight,HampelWeight,ContNeighborhood,asymmetricBias-method</a></td>
+<td>Generating weights</td></tr>
+<tr><td width="25%"><a href="getweight.html">getweight,HampelWeight,ContNeighborhood,BiasType-method</a></td>
+<td>Generating weights</td></tr>
+<tr><td width="25%"><a href="getweight.html">getweight,HampelWeight,ContNeighborhood,onesidedBias-method</a></td>
+<td>Generating weights</td></tr>
+<tr><td width="25%"><a href="getweight.html">getweight-methods</a></td>
+<td>Generating weights</td></tr>
 </table>
 
+<h2><a name="H">-- H --</a></h2>
+
+<table width="100%">
+<tr><td width="25%"><a href="HampelWeight-class.html">HampelWeight-class</a></td>
+<td>Robust Weight classes for weights of Hampel type</td></tr>
+</table>
+
 <h2><a name="I">-- I --</a></h2>
 
 <table width="100%">
@@ -194,8 +241,28 @@
 <h2><a name="M">-- M --</a></h2>
 
 <table width="100%">
+<tr><td width="25%"><a href="makeIC.html">makeIC</a></td>
+<td>Generic Function for making ICs consistent at a possibly different model</td></tr>
+<tr><td width="25%"><a href="makeIC.html">makeIC,IC,L2ParamFamily-method</a></td>
+<td>Generic Function for making ICs consistent at a possibly different model</td></tr>
+<tr><td width="25%"><a href="makeIC.html">makeIC,IC,missing-method</a></td>
+<td>Generic Function for making ICs consistent at a possibly different model</td></tr>
+<tr><td width="25%"><a href="makeIC.html">makeIC-methods</a></td>
+<td>Generic Function for making ICs consistent at a possibly different model</td></tr>
 <tr><td width="25%"><a href="InfluenceCurve-class.html">Map,InfluenceCurve-method</a></td>
 <td>Influence curve</td></tr>
+<tr><td width="25%"><a href="getweight.html">minbiasweight</a></td>
+<td>Generating weights</td></tr>
+<tr><td width="25%"><a href="getweight.html">minbiasweight,BdStWeight,TotalVarNeighborhood,BiasType-method</a></td>
+<td>Generating weights</td></tr>
+<tr><td width="25%"><a href="getweight.html">minbiasweight,HampelWeight,ContNeighborhood,asymmetricBias-method</a></td>
+<td>Generating weights</td></tr>
+<tr><td width="25%"><a href="getweight.html">minbiasweight,HampelWeight,ContNeighborhood,BiasType-method</a></td>
+<td>Generating weights</td></tr>
+<tr><td width="25%"><a href="getweight.html">minbiasweight,HampelWeight,ContNeighborhood,onesidedBias-method</a></td>
+<td>Generating weights</td></tr>
+<tr><td width="25%"><a href="getweight.html">minbiasweight-methods</a></td>
+<td>Generating weights</td></tr>
 </table>
 
 <h2><a name="N">-- N --</a></h2>
@@ -203,10 +270,18 @@
 <table width="100%">
 <tr><td width="25%"><a href="InfluenceCurve-class.html">name,InfluenceCurve-method</a></td>
 <td>Influence curve</td></tr>
+<tr><td width="25%"><a href="RobAStControl-class.html">name,RobAStControl-method</a></td>
+<td>Control classes in package RobAStBase</td></tr>
 <tr><td width="25%"><a href="RobModel-class.html">name,RobModel-method</a></td>
 <td>Robust model</td></tr>
+<tr><td width="25%"><a href="RobWeight-class.html">name,RobWeight-method</a></td>
+<td>Robust Weight classes</td></tr>
 <tr><td width="25%"><a href="InfluenceCurve-class.html">name&lt;-,InfluenceCurve-method</a></td>
 <td>Influence curve</td></tr>
+<tr><td width="25%"><a href="RobAStControl-class.html">name&lt;-,RobAStControl-method</a></td>
+<td>Control classes in package RobAStBase</td></tr>
+<tr><td width="25%"><a href="RobWeight-class.html">name&lt;-,RobWeight-method</a></td>
+<td>Robust Weight classes</td></tr>
 <tr><td width="25%"><a href="RobModel-class.html">neighbor</a></td>
 <td>Robust model</td></tr>
 <tr><td width="25%"><a href="RobModel-class.html">neighbor,RobModel-method</a></td>
@@ -229,6 +304,8 @@
 <td>Influence curve of contamination type</td></tr>
 <tr><td width="25%"><a href="TotalVarIC-class.html">neighborRadius&lt;-,TotalVarIC-method</a></td>
 <td>Influence curve of total variation type</td></tr>
+<tr><td width="25%"><a href="ContIC-class.html">normtype,ContIC-method</a></td>
+<td>Influence curve of contamination type</td></tr>
 </table>
 
 <h2><a name="O">-- O --</a></h2>
@@ -276,8 +353,12 @@
 <td>Influence curve</td></tr>
 <tr><td width="25%"><a href="InfluenceCurve-class.html">Risks&lt;-,InfluenceCurve-method</a></td>
 <td>Influence curve</td></tr>
+<tr><td width="25%"><a href="RobAStControl-class.html">RobAStControl-class</a></td>
+<td>Control classes in package RobAStBase</td></tr>
 <tr><td width="25%"><a href="RobModel-class.html">RobModel-class</a></td>
 <td>Robust model</td></tr>
+<tr><td width="25%"><a href="RobWeight-class.html">RobWeight-class</a></td>
+<td>Robust Weight classes</td></tr>
 </table>
 
 <h2><a name="S">-- S --</a></h2>
@@ -299,10 +380,14 @@
 <td>Influence curve of total variation type</td></tr>
 <tr><td width="25%"><a href="ContIC-class.html">stand</a></td>
 <td>Influence curve of contamination type</td></tr>
+<tr><td width="25%"><a href="BdStWeight-class.html">stand,BdStWeight-method</a></td>
+<td>Robust Weight classes for bounded, standardized weights</td></tr>
 <tr><td width="25%"><a href="ContIC-class.html">stand,ContIC-method</a></td>
 <td>Influence curve of contamination type</td></tr>
 <tr><td width="25%"><a href="TotalVarIC-class.html">stand,TotalVarIC-method</a></td>
 <td>Influence curve of total variation type</td></tr>
+<tr><td width="25%"><a href="BdStWeight-class.html">stand&lt;-,BdStWeight-method</a></td>
+<td>Robust Weight classes for bounded, standardized weights</td></tr>
 <tr><td width="25%"><a href="ContIC-class.html">stand&lt;-,ContIC-method</a></td>
 <td>Influence curve of contamination type</td></tr>
 <tr><td width="25%"><a href="TotalVarIC-class.html">stand&lt;-,TotalVarIC-method</a></td>
@@ -330,4 +415,19 @@
 <tr><td width="25%"><a href="UncondNeighborhood-class.html">UncondNeighborhood-class</a></td>
 <td>Unconditional neighborhood</td></tr>
 </table>
+
+<h2><a name="W">-- W --</a></h2>
+
+<table width="100%">
+<tr><td width="25%"><a href="RobWeight-class.html">weight</a></td>
+<td>Robust Weight classes</td></tr>
+<tr><td width="25%"><a href="ContIC-class.html">weight,ContIC-method</a></td>
+<td>Influence curve of contamination type</td></tr>
+<tr><td width="25%"><a href="RobWeight-class.html">weight,RobWeight-method</a></td>
+<td>Robust Weight classes</td></tr>
+<tr><td width="25%"><a href="TotalVarIC-class.html">weight,TotalVarIC-method</a></td>
+<td>Influence curve of total variation type</td></tr>
+<tr><td width="25%"><a href="RobWeight-class.html">weight&lt;-,RobWeight-method</a></td>
+<td>Robust Weight classes</td></tr>
+</table>
 </body></html>

Added: pkg/RobAStBase/chm/BdStWeight-class.html
===================================================================
--- pkg/RobAStBase/chm/BdStWeight-class.html	                        (rev 0)
+++ pkg/RobAStBase/chm/BdStWeight-class.html	2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,103 @@
+<html><head><title>Robust Weight classes for bounded, standardized weights</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="Rchm.css">
+</head>
+<body>
+
+<table width="100%"><tr><td>BdStWeight-class(RobAStBase)</td><td align="right">R Documentation</td></tr></table><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
+<param name="keyword" value="R:   BdStWeight-class">
+<param name="keyword" value="R:   stand,BdStWeight-method">
+<param name="keyword" value="R:   stand<-,BdStWeight-method">
+<param name="keyword" value=" Robust Weight classes for bounded standardized weights">
+</object>
+
+
+<h2>Robust Weight classes for bounded standardized weights</h2>
+
+
+<h3>Description</h3>
+
+<p>
+Classes for bounded, robust, standardized weights.
+</p>
+
+
+<h3>Objects from the Class</h3>
+
+<p>
+Objects can be created by calls of the form <code>new("BdStWeight", ...)</code>; 
+to fill slot <code>weight</code>, you will use the generating functions 
+<code><a href="getweight.html">getweight</a></code> and <code><a href="getweight.html">minbiasweight</a></code>.
+</p>
+
+
+<h3>Slots</h3>
+
+<dl>
+<dt><code>name</code>:</dt><dd>Object of class <code>"character"</code>; inherited from class <code>RobWeight</code>. </dd>
+<dt><code>weight</code>:</dt><dd>Object of class <code>"function"</code> &mdash; the weight function; inherited from class <code>RobWeight</code>.</dd>
+<dt><code>clip</code>:</dt><dd>Object of class <code>"numeric"</code> &mdash; clipping bound(s); inherited from class <code>BoundedWeight</code>.</dd>
+<dt><code>stand</code>:</dt><dd>Object of class <code>"matrix"</code> &mdash; standardization.</dd>
+</dl>
+
+<h3>Extends</h3>
+
+<p>
+Class <code>"RobWeight"</code>, via class <code>"BoundedWeight"</code>.
+Class <code>"BoundedWeight"</code>, directly.
+</p>
+
+
+<h3>Methods</h3>
+
+<dl>
+<dt>stand</dt><dd><code>signature(object = "BdStWeight")</code>:
+accessor function for slot <code>stand</code>. </dd>
+
+
+<dt>stand&lt;-</dt><dd><code>signature(object = "BdStWeight", value = "matrix")</code>:
+replacement function for slot <code>stand</code>. </dd>
+
+<p>
+</dl>
+
+<h3>Author(s)</h3>
+
+<p>
+Peter Ruckdeschel <a href="mailto:Peter.Ruckdeschel at uni-bayreuth.de">Peter.Ruckdeschel at uni-bayreuth.de</a>
+</p>
+
+
+<h3>References</h3>
+
+<p>
+Hampel et al. (1986) <EM>Robust Statistics</EM>.
+The Approach Based on Influence Functions. New York: Wiley.
+</p>
+<p>
+Rieder, H. (1994) <EM>Robust Asymptotic Statistics</EM>. New York: Springer.
+</p>
+<p>
+Kohl, M. (2005) <EM>Numerical Contributions to the Asymptotic Theory of Robustness</EM>.
+Bayreuth: Dissertation.
+</p>
+
+
+<h3>See Also</h3>
+
+<p>
+<code><a href="BoundedWeight-class.html">BoundedWeight-class</a></code>, <code><a href="RobWeight-class.html">RobWeight-class</a></code>,
+<code><a href="IC.html">IC</a></code>, <code><a href="InfluenceCurve-class.html">InfluenceCurve-class</a></code>
+</p>
+
+
+<h3>Examples</h3>
+
+<pre>
+</pre>
+
+
+
+<hr><div align="center">[Package <em>RobAStBase</em> version 0.1.0 <a href="00Index.html">Index]</a></div>
+
+</body></html>

Added: pkg/RobAStBase/chm/BoundedWeight-class.html
===================================================================
--- pkg/RobAStBase/chm/BoundedWeight-class.html	                        (rev 0)
+++ pkg/RobAStBase/chm/BoundedWeight-class.html	2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,98 @@
+<html><head><title>Robust Weight classes for bounded weights</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="Rchm.css">
+</head>
+<body>
+
+<table width="100%"><tr><td>BoundedWeight-class(RobAStBase)</td><td align="right">R Documentation</td></tr></table><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
+<param name="keyword" value="R:   BoundedWeight-class">
+<param name="keyword" value="R:   clip,BoundedWeight-method">
+<param name="keyword" value="R:   clip<-,BoundedWeight-method">
+<param name="keyword" value=" Robust Weight classes for bounded weights">
+</object>
+
+
+<h2>Robust Weight classes for bounded weights</h2>
+
+
+<h3>Description</h3>
+
+<p>
+Classes for bounded, robust weights.
+</p>
+
+
+<h3>Objects from the Class</h3>
+
+<p>
+Objects can be created by calls of the form <code>new("BoundedWeight", ...)</code>.
+</p>
+
+
+<h3>Slots</h3>
+
+<dl>
+<dt><code>name</code>:</dt><dd>Object of class <code>"character"</code>; inherited from class <code>RobWeight</code>. </dd>
+<dt><code>weight</code>:</dt><dd>Object of class <code>"function"</code> &mdash; the weight function; inherited from class <code>RobWeight</code>.</dd>
+<dt><code>clip</code>:</dt><dd>Object of class <code>"numeric"</code> &mdash; clipping bound(s).</dd>
+</dl>
+
+<h3>Extends</h3>
+
+<p>
+Class <code>"RobWeight"</code>, directly.
+</p>
+
+
+<h3>Methods</h3>
+
+<dl>
+<dt>clip</dt><dd><code>signature(object = "BoundedWeight")</code>:
+accessor function for slot <code>clip</code>. </dd>
+
+
+<dt>clip&lt;-</dt><dd><code>signature(object = "BoundedWeight", value = "numeric")</code>:
+replacement function for slot <code>clip</code>. </dd>
+
+<p>
+</dl>
+
+<h3>Author(s)</h3>
+
+<p>
+Peter Ruckdeschel <a href="mailto:Peter.Ruckdeschel at uni-bayreuth.de">Peter.Ruckdeschel at uni-bayreuth.de</a>
+</p>
+
+
+<h3>References</h3>
+
+<p>
+Hampel et al. (1986) <EM>Robust Statistics</EM>.
+The Approach Based on Influence Functions. New York: Wiley.
+</p>
+<p>
+Rieder, H. (1994) <EM>Robust Asymptotic Statistics</EM>. New York: Springer.
+</p>
+<p>
+Kohl, M. (2005) <EM>Numerical Contributions to the Asymptotic Theory of Robustness</EM>.
+Bayreuth: Dissertation.
+</p>
+
+
+<h3>See Also</h3>
+
+<p>
+<code><a href="RobWeight-class.html">RobWeight-class</a></code>, <code><a href="IC.html">IC</a></code>, <code><a href="InfluenceCurve-class.html">InfluenceCurve-class</a></code>
+</p>
+
+
+<h3>Examples</h3>
+
+<pre>
+</pre>
+
+
+
+<hr><div align="center">[Package <em>RobAStBase</em> version 0.1.0 <a href="00Index.html">Index]</a></div>
+
+</body></html>

Modified: pkg/RobAStBase/chm/ContIC-class.html
===================================================================
--- pkg/RobAStBase/chm/ContIC-class.html	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/chm/ContIC-class.html	2008-03-26 01:14:35 UTC (rev 79)
@@ -27,6 +27,9 @@
 <param name="keyword" value="R:   stand,ContIC-method">
 <param name="keyword" value="R:   stand<-">
 <param name="keyword" value="R:   stand<-,ContIC-method">
+<param name="keyword" value="R:   weight,ContIC-method">
+<param name="keyword" value="R:   biastype,ContIC-method">
+<param name="keyword" value="R:   normtype,ContIC-method">
 <param name="keyword" value="R:   generateIC,ContNeighborhood,L2ParamFamily-method">
 <param name="keyword" value="R:   show,ContIC-method">
 <param name="keyword" value=" Influence curve of contamination type">
@@ -93,6 +96,14 @@
 standardizing matrix. </dd>
 
 
+<dt><code>weight</code>:</dt><dd>object of class <code>"HampelWeight"</code>:
+weight function </dd>
+<dt><code>biastype</code>:</dt><dd>object of class <code>"BiasType"</code>:
+bias type (symmetric/onsided/asymmetric) </dd>
+<dt><code>normtype</code>:</dt><dd>object of class <code>"NormType"</code>:
+norm type (Euclidean, information/self-standardized)</dd>
+
+
 <dt><code>lowerCase</code>:</dt><dd>object of class <code>"OptionalNumeric"</code>:
 optional constant for lower case solution. </dd>
 
@@ -141,6 +152,12 @@
 replacement function for slot <code>stand</code>. </dd>
 
 
+<dt>weight</dt><dd><code>signature(object = "ContIC")</code>: 
+accessor function for slot <code>weight</code>. </dd>
+<dt>biastype</dt><dd><code>signature(object = "ContIC")</code>: 
+accessor function for slot <code>biastype</code>. </dd>
+<dt>normtype</dt><dd><code>signature(object = "ContIC")</code>: 
+accessor function for slot <code>normtype</code>. </dd>
 <dt>lowerCase</dt><dd><code>signature(object = "ContIC")</code>: 
 accessor function for slot <code>lowerCase</code>. </dd>
 

Modified: pkg/RobAStBase/chm/ContIC.html
===================================================================
--- pkg/RobAStBase/chm/ContIC.html	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/chm/ContIC.html	2008-03-26 01:14:35 UTC (rev 79)
@@ -33,7 +33,8 @@
        Curve = EuclRandVarList(RealRandVariable(Map = c(function(x){x}), 
                                                 Domain = Reals())), 
        Risks, Infos, clip = Inf, cent = 0, stand = as.matrix(1), 
-       lowerCase = NULL, neighborRadius = 0)
+       lowerCase = NULL, neighborRadius = 0, w = new("HampelWeight"),
+       normtype = NormType(), biastype = symmetricBias())
 </pre>
 
 
@@ -68,6 +69,9 @@
 <tr valign="top"><td><code>stand</code></td>
 <td>
 matrix: standardizing matrix </td></tr>
+<tr valign="top"><td><code>w</code></td>
+<td>
+HampelWeight: weight object</td></tr>
 <tr valign="top"><td><code>lowerCase</code></td>
 <td>
 optional constant for lower case solution. </td></tr>
@@ -75,6 +79,12 @@
 <td>
 radius of the corresponding (unconditional) 
 contamination neighborhood. </td></tr>
+<tr valign="top"><td><code>biastype</code></td>
+<td>
+BiasType: type of the bias</td></tr>
+<tr valign="top"><td><code>normtype</code></td>
+<td>
+NormType: type of the norm</td></tr>
 </table>
 
 <h3>Value</h3>

Added: pkg/RobAStBase/chm/HampelWeight-class.html
===================================================================
--- pkg/RobAStBase/chm/HampelWeight-class.html	                        (rev 0)
+++ pkg/RobAStBase/chm/HampelWeight-class.html	2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,106 @@
+<html><head><title>Robust Weight classes for weights of Hampel type</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="Rchm.css">
+</head>
+<body>
+
+<table width="100%"><tr><td>HampelWeight-class(RobAStBase)</td><td align="right">R Documentation</td></tr></table><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
+<param name="keyword" value="R:   HampelWeight-class">
+<param name="keyword" value="R:   cent,HampelWeight-method">
+<param name="keyword" value="R:   cent<-,HampelWeight-method">
+<param name="keyword" value=" Robust Weight classes for weights of Hampel type">
+</object>
+
+
+<h2>Robust Weight classes for weights of Hampel type</h2>
+
+
+<h3>Description</h3>
+
+<p>
+Classes for weights of Hampel type.
+</p>
+
+
+<h3>Objects from the Class</h3>
+
+<p>
+Objects can be created by calls of the form <code>new("HampelWeight", ...)</code>;
+to fill slot <code>weight</code>, you will use the generating functions 
+<code><a href="getweight.html">getweight</a></code> and <code><a href="getweight.html">minbiasweight</a></code>.
+</p>
+
+
+<h3>Slots</h3>
+
+<dl>
+<dt><code>name</code>:</dt><dd>Object of class <code>"character"</code>; inherited from class <code>RobWeight</code>. </dd>
+<dt><code>weight</code>:</dt><dd>Object of class <code>"function"</code> &mdash; the weight function; inherited from class <code>RobWeight</code>.</dd>
+<dt><code>clip</code>:</dt><dd>Object of class <code>"numeric"</code> &mdash; clipping bound(s); inherited from class <code>BoundedWeight</code>.</dd>
+<dt><code>stand</code>:</dt><dd>Object of class <code>"matrix"</code> &mdash; standardization; inherited from class <code>BdStWeight</code>.</dd>
+<dt><code>cent</code>:</dt><dd>Object of class <code>"numeric"</code> &mdash; centering.</dd>
+</dl>
+
+<h3>Extends</h3>
+
+<p>
+Class <code>"RobWeight"</code>, via class <code>"BoundedWeight"</code>.
+Class <code>"BoundedWeight"</code>, via class <code>"BdStWeight"</code>.
+Class <code>"BdStWeight"</code>, directly.
+</p>
+
+
+<h3>Methods</h3>
+
+<dl>
+<dt>cent</dt><dd><code>signature(object = "HampelWeight")</code>:
+accessor function for slot <code>cent</code>. </dd>
+
+
+<dt>cent&lt;-</dt><dd><code>signature(object = "HampelWeight", value = "matrix")</code>:
+replacement function for slot <code>cent</code>. </dd>
+
+<p>
+</dl>
+
+<h3>Author(s)</h3>
+
+<p>
+Peter Ruckdeschel <a href="mailto:Peter.Ruckdeschel at uni-bayreuth.de">Peter.Ruckdeschel at uni-bayreuth.de</a>
+</p>
+
+
+<h3>References</h3>
+
+<p>
+Hampel et al. (1986) <EM>Robust Statistics</EM>.
+The Approach Based on Influence Functions. New York: Wiley.
+</p>
+<p>
+Rieder, H. (1994) <EM>Robust Asymptotic Statistics</EM>. New York: Springer.
+</p>
+<p>
+Kohl, M. (2005) <EM>Numerical Contributions to the Asymptotic Theory of Robustness</EM>.
+Bayreuth: Dissertation.
+</p>
+
+
+<h3>See Also</h3>
+
+<p>
+<code><a href="BdStWeight-class.html">BdStWeight-class</a></code>,
+<code><a href="BoundedWeight-class.html">BoundedWeight-class</a></code>, <code><a href="RobWeight-class.html">RobWeight-class</a></code>,
+<code><a href="IC.html">IC</a></code>, <code><a href="InfluenceCurve-class.html">InfluenceCurve-class</a></code>
+</p>
+
+
+<h3>Examples</h3>
+
+<pre>
+</pre>
+
+
+
+<hr><div align="center">[Package <em>RobAStBase</em> version 0.1.0 <a href="00Index.html">Index]</a></div>
+
+</body></html>

Modified: pkg/RobAStBase/chm/RobAStBase.chm
===================================================================
(Binary files differ)

Modified: pkg/RobAStBase/chm/RobAStBase.hhp
===================================================================
--- pkg/RobAStBase/chm/RobAStBase.hhp	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/chm/RobAStBase.hhp	2008-03-26 01:14:35 UTC (rev 79)
@@ -12,12 +12,15 @@
 
 [FILES]
 00Index.html
+BdStWeight-class.html
+BoundedWeight-class.html
 ContIC-class.html
 ContIC.html
 ContNeighborhood-class.html
 ContNeighborhood.html
 FixRobModel-class.html
 FixRobModel.html
+HampelWeight-class.html
 IC-class.html
 IC.html
 InfRobModel-class.html
@@ -25,7 +28,9 @@
 InfluenceCurve-class.html
 InfluenceCurve.html
 Neighborhood-class.html
+RobAStControl-class.html
 RobModel-class.html
+RobWeight-class.html
 TotalVarIC-class.html
 TotalVarIC.html
 TotalVarNeighborhood-class.html
@@ -34,7 +39,10 @@
 checkIC.html
 evalIC.html
 generateIC.html
+generateICfct.html
+getweight.html
 infoPlot.html
 locMEstimator.html
+makeIC.html
 oneStepEstimator.html
 optIC.html

Modified: pkg/RobAStBase/chm/RobAStBase.toc
===================================================================
--- pkg/RobAStBase/chm/RobAStBase.toc	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/chm/RobAStBase.toc	2008-03-26 01:14:35 UTC (rev 79)
@@ -26,6 +26,18 @@
 <param name="Local" value="InfluenceCurve-class.html">
 </OBJECT>
 <LI> <OBJECT type="text/sitemap">
+<param name="Name" value="BdStWeight-class">
+<param name="Local" value="BdStWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="biastype,ContIC-method">
+<param name="Local" value="ContIC-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="BoundedWeight-class">
+<param name="Local" value="BoundedWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
 <param name="Name" value="CallL2Fam">
 <param name="Local" value="IC-class.html">
 </OBJECT>
@@ -58,6 +70,10 @@
 <param name="Local" value="ContIC-class.html">
 </OBJECT>
 <LI> <OBJECT type="text/sitemap">
+<param name="Name" value="cent,HampelWeight-method">
+<param name="Local" value="HampelWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
 <param name="Name" value="cent<-">
 <param name="Local" value="ContIC-class.html">
 </OBJECT>
@@ -66,6 +82,10 @@
 <param name="Local" value="ContIC-class.html">
 </OBJECT>
 <LI> <OBJECT type="text/sitemap">
+<param name="Name" value="cent<-,HampelWeight-method">
+<param name="Local" value="HampelWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
 <param name="Name" value="center">
 <param name="Local" value="RobModel-class.html">
 </OBJECT>
@@ -98,6 +118,10 @@
 <param name="Local" value="ContIC-class.html">
 </OBJECT>
 <LI> <OBJECT type="text/sitemap">
+<param name="Name" value="clip,BoundedWeight-method">
+<param name="Local" value="BoundedWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
 <param name="Name" value="clip,ContIC-method">
 <param name="Local" value="ContIC-class.html">
 </OBJECT>
@@ -106,6 +130,10 @@
 <param name="Local" value="ContIC-class.html">
 </OBJECT>
 <LI> <OBJECT type="text/sitemap">
+<param name="Name" value="clip<-,BoundedWeight-method">
+<param name="Local" value="BoundedWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
 <param name="Name" value="clip<-,ContIC-method">
 <param name="Local" value="ContIC-class.html">
 </OBJECT>
@@ -202,6 +230,46 @@
 <param name="Local" value="TotalVarIC-class.html">
 </OBJECT>
 <LI> <OBJECT type="text/sitemap">
+<param name="Name" value="generateIC.fct">
+<param name="Local" value="generateICfct.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="generateIC.fct,UncondNeighborhood,L2ParamFamily-method">
+<param name="Local" value="generateICfct.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="generateIC.fct-methods">
+<param name="Local" value="generateICfct.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="getweight">
+<param name="Local" value="getweight.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="getweight,BdStWeight,TotalVarNeighborhood,BiasType-method">
+<param name="Local" value="getweight.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="getweight,HampelWeight,ContNeighborhood,asymmetricBias-method">
+<param name="Local" value="getweight.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="getweight,HampelWeight,ContNeighborhood,BiasType-method">
+<param name="Local" value="getweight.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="getweight,HampelWeight,ContNeighborhood,onesidedBias-method">
+<param name="Local" value="getweight.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="getweight-methods">
+<param name="Local" value="getweight.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="HampelWeight-class">
+<param name="Local" value="HampelWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
 <param name="Name" value="IC">
 <param name="Local" value="IC.html">
 </OBJECT>
@@ -286,22 +354,78 @@
 <param name="Local" value="TotalVarIC-class.html">
 </OBJECT>
 <LI> <OBJECT type="text/sitemap">
+<param name="Name" value="makeIC">
+<param name="Local" value="makeIC.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="makeIC,IC,L2ParamFamily-method">
+<param name="Local" value="makeIC.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="makeIC,IC,missing-method">
+<param name="Local" value="makeIC.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="makeIC-methods">
+<param name="Local" value="makeIC.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
 <param name="Name" value="Map,InfluenceCurve-method">
 <param name="Local" value="InfluenceCurve-class.html">
 </OBJECT>
 <LI> <OBJECT type="text/sitemap">
+<param name="Name" value="minbiasweight">
+<param name="Local" value="getweight.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="minbiasweight,BdStWeight,TotalVarNeighborhood,BiasType-method">
+<param name="Local" value="getweight.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="minbiasweight,HampelWeight,ContNeighborhood,asymmetricBias-method">
+<param name="Local" value="getweight.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="minbiasweight,HampelWeight,ContNeighborhood,BiasType-method">
+<param name="Local" value="getweight.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="minbiasweight,HampelWeight,ContNeighborhood,onesidedBias-method">
+<param name="Local" value="getweight.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="minbiasweight-methods">
+<param name="Local" value="getweight.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
 <param name="Name" value="name,InfluenceCurve-method">
 <param name="Local" value="InfluenceCurve-class.html">
 </OBJECT>
 <LI> <OBJECT type="text/sitemap">
+<param name="Name" value="name,RobAStControl-method">
+<param name="Local" value="RobAStControl-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
 <param name="Name" value="name,RobModel-method">
 <param name="Local" value="RobModel-class.html">
 </OBJECT>
 <LI> <OBJECT type="text/sitemap">
+<param name="Name" value="name,RobWeight-method">
+<param name="Local" value="RobWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
 <param name="Name" value="name<-,InfluenceCurve-method">
 <param name="Local" value="InfluenceCurve-class.html">
 </OBJECT>
 <LI> <OBJECT type="text/sitemap">
+<param name="Name" value="name<-,RobAStControl-method">
+<param name="Local" value="RobAStControl-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="name<-,RobWeight-method">
+<param name="Local" value="RobWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
 <param name="Name" value="neighbor">
 <param name="Local" value="RobModel-class.html">
 </OBJECT>
@@ -354,6 +478,10 @@
 <param name="Local" value="TotalVarIC-class.html">
 </OBJECT>
 <LI> <OBJECT type="text/sitemap">
+<param name="Name" value="normtype,ContIC-method">
+<param name="Local" value="ContIC-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
 <param name="Name" value="oneStepEstimator">
 <param name="Local" value="oneStepEstimator.html">
 </OBJECT>
@@ -422,10 +550,18 @@
 <param name="Local" value="InfluenceCurve-class.html">
 </OBJECT>
 <LI> <OBJECT type="text/sitemap">
+<param name="Name" value="RobAStControl-class">
+<param name="Local" value="RobAStControl-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
 <param name="Name" value="RobModel-class">
 <param name="Local" value="RobModel-class.html">
 </OBJECT>
 <LI> <OBJECT type="text/sitemap">
+<param name="Name" value="RobWeight-class">
+<param name="Local" value="RobWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
 <param name="Name" value="show,ContIC-method">
 <param name="Local" value="ContIC-class.html">
 </OBJECT>
@@ -458,6 +594,10 @@
 <param name="Local" value="ContIC-class.html">
 </OBJECT>
 <LI> <OBJECT type="text/sitemap">
+<param name="Name" value="stand,BdStWeight-method">
+<param name="Local" value="BdStWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
 <param name="Name" value="stand,ContIC-method">
 <param name="Local" value="ContIC-class.html">
 </OBJECT>
@@ -470,6 +610,10 @@
 <param name="Local" value="ContIC-class.html">
 </OBJECT>
 <LI> <OBJECT type="text/sitemap">
+<param name="Name" value="stand<-,BdStWeight-method">
+<param name="Local" value="BdStWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
 <param name="Name" value="stand<-,ContIC-method">
 <param name="Local" value="ContIC-class.html">
 </OBJECT>
@@ -501,6 +645,30 @@
 <param name="Name" value="UncondNeighborhood-class">
 <param name="Local" value="UncondNeighborhood-class.html">
 </OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="weight">
+<param name="Local" value="RobWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="weight,ContIC-method">
+<param name="Local" value="ContIC-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="weight,RobWeight-method">
+<param name="Local" value="RobWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="weight,TotalVarIC-method">
+<param name="Local" value="TotalVarIC-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="weight<-">
+<param name="Local" value="RobWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="weight<-,RobWeight-method">
+<param name="Local" value="RobWeight-class.html">
+</OBJECT>
 </UL>
 <LI> <OBJECT type="text/sitemap">
 <param name="Name" value="Package RobAStBase:  Titles">
@@ -511,6 +679,10 @@
 <param name="Local" value="ContNeighborhood-class.html">
 </OBJECT>
 <LI> <OBJECT type="text/sitemap">
+<param name="Name" value="Control classes in package RobAStBase">
+<param name="Local" value="RobAStControl-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
 <param name="Name" value="Generating function for ContIC-class">
 <param name="Local" value="ContIC.html">
 </OBJECT>
@@ -543,6 +715,10 @@
 <param name="Local" value="TotalVarNeighborhood.html">
 </OBJECT>
 <LI> <OBJECT type="text/sitemap">
+<param name="Name" value="Generating weights">
+<param name="Local" value="getweight.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
 <param name="Name" value="Generic Function for Checking ICs">
 <param name="Local" value="checkIC.html">
 </OBJECT>
@@ -551,6 +727,10 @@
 <param name="Local" value="evalIC.html">
 </OBJECT>
 <LI> <OBJECT type="text/sitemap">
+<param name="Name" value="Generic Function for making ICs consistent at a possibly different model">
+<param name="Local" value="makeIC.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
 <param name="Name" value="Generic function for the computation of location M estimators">
 <param name="Local" value="locMEstimator.html">
 </OBJECT>
@@ -599,6 +779,22 @@
 <param name="Local" value="InfRobModel-class.html">
 </OBJECT>
 <LI> <OBJECT type="text/sitemap">
+<param name="Name" value="Robust Weight classes">
+<param name="Local" value="RobWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="Robust Weight classes for bounded weights">
+<param name="Local" value="BoundedWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="Robust Weight classes for bounded, standardized weights">
+<param name="Local" value="BdStWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
+<param name="Name" value="Robust Weight classes for weights of Hampel type">
+<param name="Local" value="HampelWeight-class.html">
+</OBJECT>
+<LI> <OBJECT type="text/sitemap">
 <param name="Name" value="Total variation neighborhood">
 <param name="Local" value="TotalVarNeighborhood-class.html">
 </OBJECT>

Added: pkg/RobAStBase/chm/RobAStControl-class.html
===================================================================
--- pkg/RobAStBase/chm/RobAStControl-class.html	                        (rev 0)
+++ pkg/RobAStBase/chm/RobAStControl-class.html	2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,84 @@
+<html><head><title>Control classes in package RobAStBase</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="Rchm.css">
+</head>
+<body>
+
+<table width="100%"><tr><td>RobAStControl-class(RobAStBase)</td><td align="right">R Documentation</td></tr></table><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
+<param name="keyword" value="R:   RobAStControl-class">
+<param name="keyword" value="R:   name,RobAStControl-method">
+<param name="keyword" value="R:   name<-,RobAStControl-method">
+<param name="keyword" value=" Control classes in package RobAStBase">
+</object>
+
+
+<h2>Control classes in package RobAStBase</h2>
+
+
+<h3>Description</h3>
+
+<p>
+Control classes in package <span class="pkg">RobAStBase</span>.
+</p>
+
+
+<h3>Objects from the Class</h3>
+
+
+
+
+<h3>Slots</h3>
+
+
+
+
+<h3>Methods</h3>
+
+<dl>
+<dt>name</dt><dd><code>signature(object = "RobAStControl")</code>: 
+accessor function for slot <code>name</code>. </dd>
+
+
+<dt>name&lt;-</dt><dd><code>signature(object = "RobAStControl", value = "character")</code>: 
+replacement function for slot <code>name</code>. </dd>
+
+<p>
+</dl>
+
+<h3>Author(s)</h3>
+
+<p>
+Peter Ruckdeschel <a href="mailto:Peter.Ruckdeschel at uni-bayreuth.de">Peter.Ruckdeschel at uni-bayreuth.de</a>
+</p>
+
+
+<h3>References</h3>
+
+<p>
+Hampel et al. (1986) <EM>Robust Statistics</EM>. 
+The Approach Based on Influence Functions. New York: Wiley.
+</p>
+<p>
+Rieder, H. (1994) <EM>Robust Asymptotic Statistics</EM>. New York: Springer.
+</p>
+<p>
+Kohl, M. (2005) <EM>Numerical Contributions to the Asymptotic Theory of Robustness</EM>. 
+Bayreuth: Dissertation.
+</p>
+
+
+<h3>See Also</h3>
+
+
+
+
+<h3>Examples</h3>
+
+<pre>
+</pre>
+
+
+
+<hr><div align="center">[Package <em>RobAStBase</em> version 0.1.0 <a href="00Index.html">Index]</a></div>
+
+</body></html>

Added: pkg/RobAStBase/chm/RobWeight-class.html
===================================================================
--- pkg/RobAStBase/chm/RobWeight-class.html	                        (rev 0)
+++ pkg/RobAStBase/chm/RobWeight-class.html	2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,102 @@
+<html><head><title>Robust Weight classes</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="Rchm.css">
+</head>
+<body>
+
+<table width="100%"><tr><td>RobWeight-class(RobAStBase)</td><td align="right">R Documentation</td></tr></table><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
+<param name="keyword" value="R:   RobWeight-class">
+<param name="keyword" value="R:   name,RobWeight-method">
+<param name="keyword" value="R:   weight,RobWeight-method">
+<param name="keyword" value="R:   name<-,RobWeight-method">
+<param name="keyword" value="R:   weight<-,RobWeight-method">
+<param name="keyword" value="R:   weight<-">
+<param name="keyword" value="R:   weight">
+<param name="keyword" value=" Robust Weight classes">
+</object>
+
+
+<h2>Robust Weight classes</h2>
+
+
+<h3>Description</h3>
+
+<p>
+Classes for robust weights.
+</p>
+
+
+<h3>Objects from the Class</h3>
+
+<p>
+Objects can be created by calls of the form <code>new("RobWeight", ...)</code>.
+</p>
+
+
+<h3>Slots</h3>
+
+<dl>
+<dt><code>name</code>:</dt><dd>Object of class <code>"character"</code>. </dd>
+<dt><code>weight</code>:</dt><dd>Object of class <code>"function"</code> &mdash; the weight function.</dd>
+</dl>
+
+<h3>Methods</h3>
+
+<dl>
+<dt>name</dt><dd><code>signature(object = "RobWeight")</code>: 
+accessor function for slot <code>name</code>. </dd>
+
+
+<dt>name&lt;-</dt><dd><code>signature(object = "RobWeight", value = "character")</code>: 
+replacement function for slot <code>name</code>. </dd>
+
+
+<dt>weight</dt><dd><code>signature(object = "RobWeight")</code>: 
+accessor function for slot <code>name</code>. </dd>
+
+
+<dt>weight&lt;-</dt><dd><code>signature(object = "RobWeight", value = "function")</code>: 
+replacement function for slot <code>weight</code>. </dd>
+
+<p>
+</dl>
+
+<h3>Author(s)</h3>
+
+<p>
+Peter Ruckdeschel <a href="mailto:Peter.Ruckdeschel at uni-bayreuth.de">Peter.Ruckdeschel at uni-bayreuth.de</a>
+</p>
+
+
+<h3>References</h3>
+
+<p>
+Hampel et al. (1986) <EM>Robust Statistics</EM>. 
+The Approach Based on Influence Functions. New York: Wiley.
+</p>
+<p>
+Rieder, H. (1994) <EM>Robust Asymptotic Statistics</EM>. New York: Springer.
+</p>
+<p>
+Kohl, M. (2005) <EM>Numerical Contributions to the Asymptotic Theory of Robustness</EM>. 
+Bayreuth: Dissertation.
+</p>
+
+
+<h3>See Also</h3>
+
+<p>
+<code><a href="InfluenceCurve-class.html">InfluenceCurve-class</a></code>, <code><a href="IC.html">IC</a></code>
+</p>
+
+
+<h3>Examples</h3>
+
+<pre>
+</pre>
+
+
+
+<hr><div align="center">[Package <em>RobAStBase</em> version 0.1.0 <a href="00Index.html">Index]</a></div>
+
+</body></html>

Modified: pkg/RobAStBase/chm/TotalVarIC-class.html
===================================================================
--- pkg/RobAStBase/chm/TotalVarIC-class.html	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/chm/TotalVarIC-class.html	2008-03-26 01:14:35 UTC (rev 79)
@@ -22,6 +22,7 @@
 <param name="keyword" value="R:   show,TotalVarIC-method">
 <param name="keyword" value="R:   stand,TotalVarIC-method">
 <param name="keyword" value="R:   stand<-,TotalVarIC-method">
+<param name="keyword" value="R:   weight,TotalVarIC-method">
 <param name="keyword" value="R:   generateIC,TotalVarNeighborhood,L2ParamFamily-method">
 <param name="keyword" value=" Influence curve of total variation type">
 </object>
@@ -87,6 +88,10 @@
 standardizing matrix. </dd>
 
 
+<dt><code>weight</code>:</dt><dd>object of class <code>"BdStWeight"</code>:
+weight function </dd>
+
+
 <dt><code>neighborRadius</code>:</dt><dd>object of class <code>"numeric"</code>:
 radius of the corresponding (unconditional) contamination 
 neighborhood. </dd>
@@ -131,6 +136,10 @@
 replacement function for slot <code>stand</code>. </dd>
 
 
+<dt>weight</dt><dd><code>signature(object = "TotalVarIC")</code>: 
+accessor function for slot <code>weight</code>. </dd>
+
+
 <dt>neighborRadius</dt><dd><code>signature(object = "TotalVarIC")</code>: 
 accessor function for slot <code>neighborRadius</code>. </dd>
 

Modified: pkg/RobAStBase/chm/TotalVarIC.html
===================================================================
--- pkg/RobAStBase/chm/TotalVarIC.html	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/chm/TotalVarIC.html	2008-03-26 01:14:35 UTC (rev 79)
@@ -33,7 +33,7 @@
            Curve = EuclRandVarList(RealRandVariable(Map = c(function(x) {x}), 
                                                     Domain = Reals())), 
            Risks, Infos, clipLo = -Inf, clipUp = Inf, stand = as.matrix(1), 
-           lowerCase = NULL, neighborRadius = 0)
+           lowerCase = NULL, neighborRadius = 0, w = new("BdStWeight"))
 </pre>
 
 
@@ -68,6 +68,9 @@
 <tr valign="top"><td><code>stand</code></td>
 <td>
 matrix: standardizing matrix </td></tr>
+<tr valign="top"><td><code>w</code></td>
+<td>
+BdStWeight: weight object</td></tr>
 <tr valign="top"><td><code>lowerCase</code></td>
 <td>
 optional constant for lower case solution. </td></tr>

Added: pkg/RobAStBase/chm/generateICfct.html
===================================================================
--- pkg/RobAStBase/chm/generateICfct.html	                        (rev 0)
+++ pkg/RobAStBase/chm/generateICfct.html	2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,100 @@
+<html><head><title>Generic Function for making ICs consistent at a possibly different model</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="Rchm.css">
+</head>
+<body>
+
+<table width="100%"><tr><td>generateIC.fct-methods(RobAStBase)</td><td align="right">R Documentation</td></tr></table><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
+<param name="keyword" value="R:   generateIC.fct">
+<param name="keyword" value="R:   generateIC.fct-methods">
+<param name="keyword" value="R:   generateIC.fct,UncondNeighborhood,L2ParamFamily-method">
+<param name="keyword" value=" Generic Function for making ICs consistent at a possibly different model">
+</object>
+
+
+<h2>Generic Function for making ICs consistent at a possibly different model</h2>
+
+
+<h3>Description</h3>
+
+<p>
+Generic function for providing centering and Fisher consistency of ICs.
+</p>
+
+
+<h3>Usage</h3>
+
+<pre>
+generateIC.fct(neighbor, L2Fam, ...)
+</pre>
+
+
+<h3>Arguments</h3>
+
+<table summary="R argblock">
+<tr valign="top"><td><code>neighbor</code></td>
+<td>
+object of class <code>"UncondNeighborhood"</code> </td></tr>
+<tr valign="top"><td><code>L2Fam</code></td>
+<td>
+L2-differentiable family of probability measures; may be missing. </td></tr>
+<tr valign="top"><td><code>...</code></td>
+<td>
+additional parameters </td></tr>
+</table>
+
+<h3>Value</h3>
+
+<p>
+An IC at the model.</p>
+
+<h3>Methods</h3>
+
+<dl>
+<dt>generateIC.fct</dt><dd><code>signature(IC = "UncondNeighborhood", L2Fam = "L2ParamFamily"</code>: ...</dd>
+</dl>
+
+<h3>Author(s)</h3>
+
+<p>
+Peter Ruckdeschel <a href="mailto:Peter.Ruckdeschel at uni-bayreuth.de">Peter.Ruckdeschel at uni-bayreuth.de</a>
+</p>
+
+
+<h3>References</h3>
+
+<p>
+Rieder, H. (1994) <EM>Robust Asymptotic Statistics</EM>. New York: Springer.
+</p>
+<p>
+Kohl, M. (2005) <EM>Numerical Contributions to the Asymptotic Theory of Robustness</EM>.
+Bayreuth: Dissertation.
+</p>
+
+
+<h3>See Also</h3>
+
+<p>
+<code><a onclick="findlink('distrMod', 'L2ParamFamily-class.html')" style="text-decoration: underline; color: blue; cursor: hand">L2ParamFamily-class</a></code>, <code><a href="IC-class.html">IC-class</a></code>
+</p>
+
+
+<h3>Examples</h3>
+
+<pre>
+</pre>
+
+<script Language="JScript">
+function findlink(pkg, fn) {
+var Y, link;
+Y = location.href.lastIndexOf("\\") + 1;
+link = location.href.substring(0, Y);
+link = link + "../../" + pkg + "/chtml/" + pkg + ".chm::/" + fn;
+location.href = link;
+}
+</script>
+
+
+<hr><div align="center">[Package <em>RobAStBase</em> version 0.1.0 <a href="00Index.html">Index]</a></div>
+
+</body></html>

Added: pkg/RobAStBase/chm/getweight.html
===================================================================
--- pkg/RobAStBase/chm/getweight.html	                        (rev 0)
+++ pkg/RobAStBase/chm/getweight.html	2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,145 @@
+<html><head><title>Generating weights</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="Rchm.css">
+</head>
+<body>
+
+<table width="100%"><tr><td>getweight-methods(RobAStBase)</td><td align="right">R Documentation</td></tr></table><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
+<param name="keyword" value="R:   getweight-methods">
+<param name="keyword" value="R:   getweight">
+<param name="keyword" value="R:   getweight,HampelWeight,ContNeighborhood,BiasType-method">
+<param name="keyword" value="R:   getweight,HampelWeight,ContNeighborhood,onesidedBias-method">
+<param name="keyword" value="R:   getweight,HampelWeight,ContNeighborhood,asymmetricBias-method">
+<param name="keyword" value="R:   getweight,BdStWeight,TotalVarNeighborhood,BiasType-method">
+<param name="keyword" value="R:   minbiasweight-methods">
+<param name="keyword" value="R:   minbiasweight">
+<param name="keyword" value="R:   minbiasweight,HampelWeight,ContNeighborhood,BiasType-method">
+<param name="keyword" value="R:   minbiasweight,HampelWeight,ContNeighborhood,onesidedBias-method">
+<param name="keyword" value="R:   minbiasweight,HampelWeight,ContNeighborhood,asymmetricBias-method">
+<param name="keyword" value="R:   minbiasweight,BdStWeight,TotalVarNeighborhood,BiasType-method">
+<param name="keyword" value=" Generating weights">
+</object>
+
+
+<h2>Generating weights</h2>
+
+
+<h3>Description</h3>
+
+<p>
+Generates weight functions of Hampel / BdSt type for different bias and norm types.
+</p>
+
+
+<h3>Usage</h3>
+
+<pre>
+getweight(Weight, neighbor, biastype, ...)
+minbiasweight(Weight, neighbor, biastype, ...)
+## S4 method for signature 'HampelWeight, ContNeighborhood,
+##   BiasType':
+getweight(Weight, neighbor, biastype, normtype)
+## S4 method for signature 'HampelWeight, ContNeighborhood,
+##   BiasType':
+minbiasweight(Weight, neighbor, biastype, normtype)
+</pre>
+
+
+<h3>Arguments</h3>
+
+<table summary="R argblock">
+<tr valign="top"><td><code>...</code></td>
+<td>
+additional arguments </td></tr>
+<tr valign="top"><td><code>Weight</code></td>
+<td>
+Object of class <code>"RobWeight"</code>. </td></tr>
+<tr valign="top"><td><code>neighbor</code></td>
+<td>
+Object of class <code>"Neighborhood"</code>. </td></tr>
+<tr valign="top"><td><code>biastype</code></td>
+<td>
+Object of class <code>"BiasType"</code>. </td></tr>
+<tr valign="top"><td><code>normtype</code></td>
+<td>
+Object of class <code>"NormType"</code> &mdash; only for signature <code>HampelWeight,ContNeighborhood,BiasType</code>. </td></tr>
+</table>
+
+<h3>Details</h3>
+
+<p>
+These functions generate the weight function in slot <code>weight</code> in a corresp.
+object of class <code>RobWeight</code> and descendants.
+</p>
+
+
+<h3>Value</h3>
+
+<p>
+Object of class <code>"HampelWeight"</code> resp. <code>"BdStWeight"</code></p>
+
+<h3>Methods</h3>
+
+<dl>
+<dt>getweight</dt><dd><code>signature(Weight = "HampelWeight", neighbor = "ContNeighborhood", 
+                       biastype = "BiasType"</code></dd> with additional argument <code>biastype</code> of class 
+<code>"BiasType"</code>: produces weight slot...</dl>
+<dt>minbiasweight</dt><dd><code>signature(Weight = "HampelWeight", neighbor = "ContNeighborhood", 
+                       biastype = "BiasType"</code> with additional argument <code>biastype</code> of class 
+<code>"BiasType"</code>: produces weight slot...</dd>
+<dt>getweight</dt><dd><code>signature(Weight = "HampelWeight", neighbor = "ContNeighborhood", 
+                       biastype = "onesidedBias"</code>: produces weight slot...</dd>
+<dt>minbiasweight</dt><dd><code>signature(Weight = "HampelWeight", neighbor = "ContNeighborhood", 
+                       biastype = "onesidedBias"</code>: produces weight slot...</dd>
+<dt>getweight</dt><dd><code>signature(Weight = "HampelWeight", neighbor = "ContNeighborhood", 
+                       biastype = "asymmetricBias"</code>: produces weight slot...</dd>
+<dt>minbiasweight</dt><dd><code>signature(Weight = "HampelWeight", neighbor = "ContNeighborhood", 
+                       biastype = "asymmetricBias"</code>: produces weight slot...</dd>
+<dt>getweight</dt><dd><code>signature(Weight = "BdStWeight", neighbor = "TotalVarNeighborhood", 
+                       biastype = "BiasType"</code>: produces weight slot...</dd>
+<dt>minbiasweight</dt><dd><code>signature(Weight = "BdStWeight", neighbor = "TotalVarNeighborhood", 
+                       biastype = "BiasType"</code>: produces weight slot...</dd>
+</p>
+
+
+<h3>Author(s)</h3>
+
+<p>
+Peter Ruckdeschel <a href="mailto:Peter.Ruckdeschel at uni-bayreuth.de">Peter.Ruckdeschel at uni-bayreuth.de</a>
+</p>
+
+
+<h3>References</h3>
+
+<p>
+Hampel et al. (1986) <EM>Robust Statistics</EM>. 
+The Approach Based on Influence Functions. New York: Wiley.
+</p>
+<p>
+Rieder, H. (1994) <EM>Robust Asymptotic Statistics</EM>. New York: Springer.
+</p>
+<p>
+Kohl, M. (2005) <EM>Numerical Contributions to the Asymptotic Theory of Robustness</EM>. 
+Bayreuth: Dissertation.
+</p>
+
+
+<h3>See Also</h3>
+
+<p>
+<code><a href="BdStWeight-class.html">BdStWeight-class</a></code>,
+<code><a href="HampelWeight-class.html">HampelWeight-class</a></code>,
+<code><a href="IC-class.html">IC-class</a></code>
+</p>
+
+
+<h3>Examples</h3>
+
+<pre>
+</pre>
+
+
+
+<hr><div align="center">[Package <em>RobAStBase</em> version 0.1.0 <a href="00Index.html">Index]</a></div>
+
+</body></html>

Added: pkg/RobAStBase/chm/makeIC.html
===================================================================
--- pkg/RobAStBase/chm/makeIC.html	                        (rev 0)
+++ pkg/RobAStBase/chm/makeIC.html	2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,105 @@
+<html><head><title>Generic Function for making ICs consistent at a possibly different model</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" type="text/css" href="Rchm.css">
+</head>
+<body>
+
+<table width="100%"><tr><td>makeIC-methods(RobAStBase)</td><td align="right">R Documentation</td></tr></table><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
+<param name="keyword" value="R:   makeIC">
+<param name="keyword" value="R:   makeIC-methods">
+<param name="keyword" value="R:   makeIC,IC,missing-method">
+<param name="keyword" value="R:   makeIC,IC,L2ParamFamily-method">
+<param name="keyword" value=" Generic Function for making ICs consistent at a possibly different model">
+</object>
+
+
+<h2>Generic Function for making ICs consistent at a possibly different model</h2>
+
+
+<h3>Description</h3>
+
+<p>
+Generic function for providing centering and Fisher consistency of ICs.
+</p>
+
+
+<h3>Usage</h3>
+
+<pre>
+makeIC(IC, L2Fam, ...)
+</pre>
+
+
+<h3>Arguments</h3>
+
+<table summary="R argblock">
+<tr valign="top"><td><code>IC</code></td>
+<td>
+object of class <code>"IC"</code> </td></tr>
+<tr valign="top"><td><code>L2Fam</code></td>
+<td>
+L2-differentiable family of probability measures; may be missing. </td></tr>
+<tr valign="top"><td><code>...</code></td>
+<td>
+additional parameters </td></tr>
+</table>
+
+<h3>Value</h3>
+
+<p>
+An IC at the model.</p>
+
+<h3>Methods</h3>
+
+<dl>
+<dt>makeIC</dt><dd><code>signature(IC = "IC", L2Fam = "missing"</code>: ...</dd>
+<dt>makeIC</dt><dd><code>signature(IC = "IC", L2Fam = "L2ParamFamily"</code>: ...</dd>
+</dl>
+
+<h3>Author(s)</h3>
+
+<p>
+Peter Ruckdeschel <a href="mailto:Peter.Ruckdeschel at uni-bayreuth.de">Peter.Ruckdeschel at uni-bayreuth.de</a>
+</p>
+
+
+<h3>References</h3>
+
+<p>
+Rieder, H. (1994) <EM>Robust Asymptotic Statistics</EM>. New York: Springer.
+</p>
+<p>
+Kohl, M. (2005) <EM>Numerical Contributions to the Asymptotic Theory of Robustness</EM>. 
+Bayreuth: Dissertation.
+</p>
+
+
+<h3>See Also</h3>
+
+<p>
+<code><a onclick="findlink('distrMod', 'L2ParamFamily-class.html')" style="text-decoration: underline; color: blue; cursor: hand">L2ParamFamily-class</a></code>, <code><a href="IC-class.html">IC-class</a></code>
+</p>
+
+
+<h3>Examples</h3>
+
+<pre>
+IC1 &lt;- new("IC")
+B &lt;- BinomFamily(13, 0.3)
+makeIC(IC1,B)
+</pre>
+
+<script Language="JScript">
+function findlink(pkg, fn) {
+var Y, link;
+Y = location.href.lastIndexOf("\\") + 1;
+link = location.href.substring(0, Y);
+link = link + "../../" + pkg + "/chtml/" + pkg + ".chm::/" + fn;
+location.href = link;
+}
+</script>
+
+
+<hr><div align="center">[Package <em>RobAStBase</em> version 0.1.0 <a href="00Index.html">Index]</a></div>
+
+</body></html>

Added: pkg/RobAStBase/man/BdStWeight-class.Rd
===================================================================
--- pkg/RobAStBase/man/BdStWeight-class.Rd	                        (rev 0)
+++ pkg/RobAStBase/man/BdStWeight-class.Rd	2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,53 @@
+\name{BdStWeight-class}
+\docType{class}
+\alias{BdStWeight-class}
+\alias{stand,BdStWeight-method}
+\alias{stand<-,BdStWeight-method}
+
+\title{Robust Weight classes for bounded, standardized weights}
+\description{Classes for bounded, robust, standardized weights.}
+\section{Objects from the Class}{
+  Objects can be created by calls of the form \code{new("BdStWeight", ...)}; 
+  to fill slot \code{weight}, you will use the generating functions 
+  \code{\link{getweight}} and \code{\link{minbiasweight}}.
+}
+\section{Slots}{
+  \describe{
+    \item{\code{name}:}{Object of class \code{"character"}; inherited from class \code{RobWeight}. }
+    \item{\code{weight}:}{Object of class \code{"function"} --- the weight function; inherited from class \code{RobWeight}.}
+    \item{\code{clip}:}{Object of class \code{"numeric"} --- clipping bound(s); inherited from class \code{BoundedWeight}.}
+    \item{\code{stand}:}{Object of class \code{"matrix"} --- standardization.}
+  }
+}
+\section{Extends}{
+Class \code{"RobWeight"}, via class \code{"BoundedWeight"}.
+Class \code{"BoundedWeight"}, directly.
+}
+\section{Methods}{
+  \describe{
+    \item{stand}{\code{signature(object = "BdStWeight")}:
+      accessor function for slot \code{stand}. }
+
+    \item{stand<-}{\code{signature(object = "BdStWeight", value = "matrix")}:
+      replacement function for slot \code{stand}. }
+
+  }
+}
+\references{
+  Hampel et al. (1986) \emph{Robust Statistics}.
+  The Approach Based on Influence Functions. New York: Wiley.
+
+  Rieder, H. (1994) \emph{Robust Asymptotic Statistics}. New York: Springer.
+
+  Kohl, M. (2005) \emph{Numerical Contributions to the Asymptotic Theory of Robustness}.
+  Bayreuth: Dissertation.
+}
+\author{Peter Ruckdeschel \email{Peter.Ruckdeschel at uni-bayreuth.de}}
+%\note{}
+\seealso{\code{\link{BoundedWeight-class}}, \code{\link{RobWeight-class}},
+         \code{\link{IC}}, \code{\link{InfluenceCurve-class}}}
+\examples{
+%
+}
+\concept{influence curve}
+\keyword{classes}

Added: pkg/RobAStBase/man/BoundedWeight-class.Rd
===================================================================
--- pkg/RobAStBase/man/BoundedWeight-class.Rd	                        (rev 0)
+++ pkg/RobAStBase/man/BoundedWeight-class.Rd	2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,48 @@
+\name{BoundedWeight-class}
+\docType{class}
+\alias{BoundedWeight-class}
+\alias{clip,BoundedWeight-method}
+\alias{clip<-,BoundedWeight-method}
+
+\title{Robust Weight classes for bounded weights}
+\description{Classes for bounded, robust weights.}
+\section{Objects from the Class}{
+  Objects can be created by calls of the form \code{new("BoundedWeight", ...)}.
+}
+\section{Slots}{
+  \describe{
+    \item{\code{name}:}{Object of class \code{"character"}; inherited from class \code{RobWeight}. }
+    \item{\code{weight}:}{Object of class \code{"function"} --- the weight function; inherited from class \code{RobWeight}.}
+    \item{\code{clip}:}{Object of class \code{"numeric"} --- clipping bound(s).}
+  }
+}
+\section{Extends}{
+Class \code{"RobWeight"}, directly.
+}
+\section{Methods}{
+  \describe{
+    \item{clip}{\code{signature(object = "BoundedWeight")}:
+      accessor function for slot \code{clip}. }
+
+    \item{clip<-}{\code{signature(object = "BoundedWeight", value = "numeric")}:
+      replacement function for slot \code{clip}. }
+
+  }
+}
+\references{
+  Hampel et al. (1986) \emph{Robust Statistics}.
+  The Approach Based on Influence Functions. New York: Wiley.
+
+  Rieder, H. (1994) \emph{Robust Asymptotic Statistics}. New York: Springer.
+
+  Kohl, M. (2005) \emph{Numerical Contributions to the Asymptotic Theory of Robustness}.
+  Bayreuth: Dissertation.
+}
+\author{Peter Ruckdeschel \email{Peter.Ruckdeschel at uni-bayreuth.de}}
+%\note{}
+\seealso{\code{\link{RobWeight-class}}, \code{\link{IC}}, \code{\link{InfluenceCurve-class}}}
+\examples{
+%
+}
+\concept{influence curve}
+\keyword{classes}

Modified: pkg/RobAStBase/man/ContIC-class.Rd
===================================================================
--- pkg/RobAStBase/man/ContIC-class.Rd	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/man/ContIC-class.Rd	2008-03-26 01:14:35 UTC (rev 79)
@@ -22,6 +22,9 @@
 \alias{stand,ContIC-method}
 \alias{stand<-}
 \alias{stand<-,ContIC-method}
+\alias{weight,ContIC-method}
+\alias{biastype,ContIC-method}
+\alias{normtype,ContIC-method}
 \alias{generateIC,ContNeighborhood,L2ParamFamily-method}
 \alias{show,ContIC-method}
 
@@ -65,6 +68,13 @@
     \item{\code{stand}:}{ object of class \code{"matrix"}:
       standardizing matrix. }
 
+    \item{\code{weight}:}{ object of class \code{"HampelWeight"}:
+      weight function }
+    \item{\code{biastype}:}{ object of class \code{"BiasType"}:
+      bias type (symmetric/onsided/asymmetric) }
+    \item{\code{normtype}:}{ object of class \code{"NormType"}:
+      norm type (Euclidean, information/self-standardized)}
+
     \item{\code{lowerCase}:}{ object of class \code{"OptionalNumeric"}:
       optional constant for lower case solution. }
 
@@ -100,6 +110,12 @@
     \item{stand<-}{\code{signature(object = "ContIC")}:
       replacement function for slot \code{stand}. }
 
+    \item{weight}{\code{signature(object = "ContIC")}: 
+      accessor function for slot \code{weight}. }
+    \item{biastype}{\code{signature(object = "ContIC")}: 
+      accessor function for slot \code{biastype}. }
+    \item{normtype}{\code{signature(object = "ContIC")}: 
+      accessor function for slot \code{normtype}. }
     \item{lowerCase}{\code{signature(object = "ContIC")}: 
       accessor function for slot \code{lowerCase}. }
 

Modified: pkg/RobAStBase/man/ContIC.Rd
===================================================================
--- pkg/RobAStBase/man/ContIC.Rd	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/man/ContIC.Rd	2008-03-26 01:14:35 UTC (rev 79)
@@ -16,7 +16,8 @@
        Curve = EuclRandVarList(RealRandVariable(Map = c(function(x){x}), 
                                                 Domain = Reals())), 
        Risks, Infos, clip = Inf, cent = 0, stand = as.matrix(1), 
-       lowerCase = NULL, neighborRadius = 0)
+       lowerCase = NULL, neighborRadius = 0, w = new("HampelWeight"),
+       normtype = NormType(), biastype = symmetricBias())
 }
 \arguments{
   \item{name}{ object of class \code{"character"}. }
@@ -31,9 +32,12 @@
   \item{clip}{ positive real: clipping bound. }
   \item{cent}{ real: centering constant }
   \item{stand}{ matrix: standardizing matrix }
+  \item{w}{ HampelWeight: weight object}
   \item{lowerCase}{ optional constant for lower case solution. }
   \item{neighborRadius}{ radius of the corresponding (unconditional) 
     contamination neighborhood. }
+  \item{biastype}{ BiasType: type of the bias}
+  \item{normtype}{ NormType: type of the norm}
 }
 %\details{}
 \value{Object of class \code{"ContIC"}}

Added: pkg/RobAStBase/man/HampelWeight-class.Rd
===================================================================
--- pkg/RobAStBase/man/HampelWeight-class.Rd	                        (rev 0)
+++ pkg/RobAStBase/man/HampelWeight-class.Rd	2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,56 @@
+\name{HampelWeight-class}
+\docType{class}
+\alias{HampelWeight-class}
+\alias{cent,HampelWeight-method}
+\alias{cent<-,HampelWeight-method}
+
+\title{Robust Weight classes for weights of Hampel type}
+\description{Classes for weights of Hampel type.}
+\section{Objects from the Class}{
+  Objects can be created by calls of the form \code{new("HampelWeight", ...)};
+  to fill slot \code{weight}, you will use the generating functions 
+  \code{\link{getweight}} and \code{\link{minbiasweight}}.
+}
+\section{Slots}{
+  \describe{
+    \item{\code{name}:}{Object of class \code{"character"}; inherited from class \code{RobWeight}. }
+    \item{\code{weight}:}{Object of class \code{"function"} --- the weight function; inherited from class \code{RobWeight}.}
+    \item{\code{clip}:}{Object of class \code{"numeric"} --- clipping bound(s); inherited from class \code{BoundedWeight}.}
+    \item{\code{stand}:}{Object of class \code{"matrix"} --- standardization; inherited from class \code{BdStWeight}.}
+    \item{\code{cent}:}{Object of class \code{"numeric"} --- centering.}
+  }
+}
+\section{Extends}{
+Class \code{"RobWeight"}, via class \code{"BoundedWeight"}.
+Class \code{"BoundedWeight"}, via class \code{"BdStWeight"}.
+Class \code{"BdStWeight"}, directly.
+}
+\section{Methods}{
+  \describe{
+    \item{cent}{\code{signature(object = "HampelWeight")}:
+      accessor function for slot \code{cent}. }
+
+    \item{cent<-}{\code{signature(object = "HampelWeight", value = "matrix")}:
+      replacement function for slot \code{cent}. }
+
+  }
+}
+\references{
+  Hampel et al. (1986) \emph{Robust Statistics}.
+  The Approach Based on Influence Functions. New York: Wiley.
+
+  Rieder, H. (1994) \emph{Robust Asymptotic Statistics}. New York: Springer.
+
+  Kohl, M. (2005) \emph{Numerical Contributions to the Asymptotic Theory of Robustness}.
+  Bayreuth: Dissertation.
+}
+\author{Peter Ruckdeschel \email{Peter.Ruckdeschel at uni-bayreuth.de}}
+%\note{}
+\seealso{\code{\link{BdStWeight-class}},
+         \code{\link{BoundedWeight-class}}, \code{\link{RobWeight-class}},
+         \code{\link{IC}}, \code{\link{InfluenceCurve-class}}}
+\examples{
+%
+}
+\concept{influence curve}
+\keyword{classes}

Added: pkg/RobAStBase/man/RobAStControl-class.Rd
===================================================================
--- pkg/RobAStBase/man/RobAStControl-class.Rd	                        (rev 0)
+++ pkg/RobAStBase/man/RobAStControl-class.Rd	2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,49 @@
+\name{RobAStControl-class}
+\docType{class}
+\alias{RobAStControl-class}
+\alias{name,RobAStControl-method}
+\alias{name<-,RobAStControl-method}
+
+\title{Control classes in package RobAStBase}
+\description{Control classes in package \pkg{RobAStBase}.}
+\section{Objects from the Class}{
+}
+\section{Slots}{
+%  \describe{
+%    \item{\code{CallL2Fam}:}{Object of class \code{"call"}:
+%      creates an object of the underlying L2-differentiable 
+%      parametric family. }
+%  }
+}
+%\section{Extends}{
+%Class \code{"InfluenceCurve"}, directly.
+%}
+\section{Methods}{
+  \describe{
+    \item{name}{\code{signature(object = "RobAStControl")}: 
+      accessor function for slot \code{name}. }
+
+    \item{name<-}{\code{signature(object = "RobAStControl", value = "character")}: 
+      replacement function for slot \code{name}. }
+
+  }
+}
+\references{
+  Hampel et al. (1986) \emph{Robust Statistics}. 
+  The Approach Based on Influence Functions. New York: Wiley.
+
+  Rieder, H. (1994) \emph{Robust Asymptotic Statistics}. New York: Springer.
+
+  Kohl, M. (2005) \emph{Numerical Contributions to the Asymptotic Theory of Robustness}. 
+  Bayreuth: Dissertation.
+}
+\author{Peter Ruckdeschel \email{Peter.Ruckdeschel at uni-bayreuth.de}}
+%\note{}
+\seealso{
+%
+}
+\examples{
+%
+}
+\concept{influence curve}
+\keyword{classes}

Added: pkg/RobAStBase/man/RobWeight-class.Rd
===================================================================
--- pkg/RobAStBase/man/RobWeight-class.Rd	                        (rev 0)
+++ pkg/RobAStBase/man/RobWeight-class.Rd	2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,54 @@
+\name{RobWeight-class}
+\docType{class}
+\alias{RobWeight-class}
+\alias{name,RobWeight-method}
+\alias{weight,RobWeight-method}
+\alias{name<-,RobWeight-method}
+\alias{weight<-,RobWeight-method}
+\alias{weight<-}
+\alias{weight}
+
+\title{Robust Weight classes}
+\description{Classes for robust weights.}
+\section{Objects from the Class}{
+  Objects can be created by calls of the form \code{new("RobWeight", ...)}. 
+}
+\section{Slots}{
+  \describe{
+    \item{\code{name}:}{Object of class \code{"character"}. }
+    \item{\code{weight}:}{Object of class \code{"function"} --- the weight function.}
+  }
+}
+\section{Methods}{
+  \describe{
+    \item{name}{\code{signature(object = "RobWeight")}: 
+      accessor function for slot \code{name}. }
+
+    \item{name<-}{\code{signature(object = "RobWeight", value = "character")}: 
+      replacement function for slot \code{name}. }
+
+    \item{weight}{\code{signature(object = "RobWeight")}: 
+      accessor function for slot \code{name}. }
+
+    \item{weight<-}{\code{signature(object = "RobWeight", value = "function")}: 
+      replacement function for slot \code{weight}. }
+
+  }
+}
+\references{
+  Hampel et al. (1986) \emph{Robust Statistics}. 
+  The Approach Based on Influence Functions. New York: Wiley.
+
+  Rieder, H. (1994) \emph{Robust Asymptotic Statistics}. New York: Springer.
+
+  Kohl, M. (2005) \emph{Numerical Contributions to the Asymptotic Theory of Robustness}. 
+  Bayreuth: Dissertation.
+}
+\author{Peter Ruckdeschel \email{Peter.Ruckdeschel at uni-bayreuth.de}}
+%\note{}
+\seealso{\code{\link{InfluenceCurve-class}}, \code{\link{IC}}}
+\examples{
+%
+}
+\concept{influence curve}
+\keyword{classes}

Modified: pkg/RobAStBase/man/TotalVarIC-class.Rd
===================================================================
--- pkg/RobAStBase/man/TotalVarIC-class.Rd	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/man/TotalVarIC-class.Rd	2008-03-26 01:14:35 UTC (rev 79)
@@ -17,6 +17,7 @@
 \alias{show,TotalVarIC-method}
 \alias{stand,TotalVarIC-method}
 \alias{stand<-,TotalVarIC-method}
+\alias{weight,TotalVarIC-method}
 \alias{generateIC,TotalVarNeighborhood,L2ParamFamily-method}
 
 \title{Influence curve of total variation type}
@@ -59,6 +60,9 @@
     \item{\code{stand}:}{ object of class \code{"matrix"}:
       standardizing matrix. }
 
+    \item{\code{weight}:}{ object of class \code{"BdStWeight"}:
+      weight function }
+
     \item{\code{neighborRadius}:}{ object of class \code{"numeric"}:
       radius of the corresponding (unconditional) contamination 
       neighborhood. }
@@ -91,6 +95,9 @@
     \item{stand<-}{\code{signature(object = "TotalVarIC")}:
       replacement function for slot \code{stand}. }
 
+    \item{weight}{\code{signature(object = "TotalVarIC")}: 
+      accessor function for slot \code{weight}. }
+
     \item{neighborRadius}{\code{signature(object = "TotalVarIC")}: 
       accessor function for slot \code{neighborRadius}. }
 

Modified: pkg/RobAStBase/man/TotalVarIC.Rd
===================================================================
--- pkg/RobAStBase/man/TotalVarIC.Rd	2008-02-27 18:43:13 UTC (rev 78)
+++ pkg/RobAStBase/man/TotalVarIC.Rd	2008-03-26 01:14:35 UTC (rev 79)
@@ -16,7 +16,7 @@
            Curve = EuclRandVarList(RealRandVariable(Map = c(function(x) {x}), 
                                                     Domain = Reals())), 
            Risks, Infos, clipLo = -Inf, clipUp = Inf, stand = as.matrix(1), 
-           lowerCase = NULL, neighborRadius = 0)
+           lowerCase = NULL, neighborRadius = 0, w = new("BdStWeight"))
 }
 \arguments{
   \item{name}{ object of class \code{"character"}. }
@@ -31,6 +31,7 @@
   \item{clipLo}{ negative real: lower clipping bound. }
   \item{clipUp}{ positive real: lower clipping bound. }
   \item{stand}{ matrix: standardizing matrix }
+  \item{w}{ BdStWeight: weight object}
   \item{lowerCase}{ optional constant for lower case solution. }
   \item{neighborRadius}{ radius of the corresponding (unconditional) 
     contamination neighborhood. }

Added: pkg/RobAStBase/man/generateICfct.Rd
===================================================================
--- pkg/RobAStBase/man/generateICfct.Rd	                        (rev 0)
+++ pkg/RobAStBase/man/generateICfct.Rd	2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,37 @@
+\name{generateIC.fct-methods}
+\docType{methods}
+\alias{generateIC.fct}
+\alias{generateIC.fct-methods}
+\alias{generateIC.fct,UncondNeighborhood,L2ParamFamily-method}
+
+\title{Generic Function for making ICs consistent at a possibly different model}
+\description{
+  Generic function for providing centering and Fisher consistency of ICs.
+}
+\usage{
+generateIC.fct(neighbor, L2Fam, ...)
+}
+\arguments{
+  \item{neighbor}{ object of class \code{"UncondNeighborhood"} }
+  \item{L2Fam}{ L2-differentiable family of probability measures; may be missing. }
+  \item{\dots}{ additional parameters }
+}
+\value{An IC at the model.}
+\section{Methods}{\describe{
+\item{generateIC.fct}{\code{signature(IC = "UncondNeighborhood", L2Fam = "L2ParamFamily"}: ...}
+}}
+
+\references{
+  Rieder, H. (1994) \emph{Robust Asymptotic Statistics}. New York: Springer.
+
+  Kohl, M. (2005) \emph{Numerical Contributions to the Asymptotic Theory of Robustness}.
+  Bayreuth: Dissertation.
+}
+\author{Peter Ruckdeschel \email{Peter.Ruckdeschel at uni-bayreuth.de}}
+%\note{}
+\seealso{\code{\link[distrMod]{L2ParamFamily-class}}, \code{\link{IC-class}}}
+\examples{
+%
+}
+\concept{influence curve}
+\keyword{}

Added: pkg/RobAStBase/man/getweight.Rd
===================================================================
--- pkg/RobAStBase/man/getweight.Rd	                        (rev 0)
+++ pkg/RobAStBase/man/getweight.Rd	2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,77 @@
+\name{getweight-methods}
+\docType{methods}
+\alias{getweight-methods}
+\alias{getweight}
+\alias{getweight,HampelWeight,ContNeighborhood,BiasType-method}
+\alias{getweight,HampelWeight,ContNeighborhood,onesidedBias-method}
+\alias{getweight,HampelWeight,ContNeighborhood,asymmetricBias-method}
+\alias{getweight,BdStWeight,TotalVarNeighborhood,BiasType-method}
+\alias{minbiasweight-methods}
+\alias{minbiasweight}
+\alias{minbiasweight,HampelWeight,ContNeighborhood,BiasType-method}
+\alias{minbiasweight,HampelWeight,ContNeighborhood,onesidedBias-method}
+\alias{minbiasweight,HampelWeight,ContNeighborhood,asymmetricBias-method}
+\alias{minbiasweight,BdStWeight,TotalVarNeighborhood,BiasType-method}
+
+\title{Generating weights}
+\description{
+  Generates weight functions of Hampel / BdSt type for different bias and norm types.
+}
+\usage{
+getweight(Weight, neighbor, biastype, ...)
+minbiasweight(Weight, neighbor, biastype, ...)
+\S4method{getweight}{HampelWeight,ContNeighborhood,BiasType}(Weight, neighbor, biastype, normtype)
+\S4method{minbiasweight}{HampelWeight,ContNeighborhood,BiasType}(Weight, neighbor, biastype, normtype)
+}
+\arguments{
+  \item{\dots}{ additional arguments }
+  \item{Weight}{ Object of class \code{"RobWeight"}. }
+  \item{neighbor}{ Object of class \code{"Neighborhood"}. }
+  \item{biastype}{ Object of class \code{"BiasType"}. }
+  \item{normtype}{ Object of class \code{"NormType"} --- only for signature \code{HampelWeight,ContNeighborhood,BiasType}. }
+}
+%\details{}
+\value{Object of class \code{"HampelWeight"} resp. \code{"BdStWeight"}}
+\references{
+  Hampel et al. (1986) \emph{Robust Statistics}. 
+  The Approach Based on Influence Functions. New York: Wiley.
+
+  Rieder, H. (1994) \emph{Robust Asymptotic Statistics}. New York: Springer.
+
+  Kohl, M. (2005) \emph{Numerical Contributions to the Asymptotic Theory of Robustness}. 
+  Bayreuth: Dissertation.
+}
+\details{These functions generate the weight function in slot \code{weight} in a corresp.
+         object of class \code{RobWeight} and descendants.}
+\section{Methods}{\describe{
+\item{getweight}{\code{signature(Weight = "HampelWeight", neighbor = "ContNeighborhood", 
+                       biastype = "BiasType"}} with additional argument \code{biastype} of class 
+                       \code{"BiasType"}: produces weight slot...}
+\item{minbiasweight}{\code{signature(Weight = "HampelWeight", neighbor = "ContNeighborhood", 
+                       biastype = "BiasType"} with additional argument \code{biastype} of class 
+                       \code{"BiasType"}: produces weight slot...}
+\item{getweight}{\code{signature(Weight = "HampelWeight", neighbor = "ContNeighborhood", 
+                       biastype = "onesidedBias"}: produces weight slot...}
+\item{minbiasweight}{\code{signature(Weight = "HampelWeight", neighbor = "ContNeighborhood", 
+                       biastype = "onesidedBias"}: produces weight slot...}
+\item{getweight}{\code{signature(Weight = "HampelWeight", neighbor = "ContNeighborhood", 
+                       biastype = "asymmetricBias"}: produces weight slot...}
+\item{minbiasweight}{\code{signature(Weight = "HampelWeight", neighbor = "ContNeighborhood", 
+                       biastype = "asymmetricBias"}: produces weight slot...}
+\item{getweight}{\code{signature(Weight = "BdStWeight", neighbor = "TotalVarNeighborhood", 
+                       biastype = "BiasType"}: produces weight slot...}
+\item{minbiasweight}{\code{signature(Weight = "BdStWeight", neighbor = "TotalVarNeighborhood", 
+                       biastype = "BiasType"}: produces weight slot...}
+}
+
+\author{Peter Ruckdeschel \email{Peter.Ruckdeschel at uni-bayreuth.de}}
+%\note{}
+\seealso{\code{\link{BdStWeight-class}},
+         \code{\link{HampelWeight-class}},
+         \code{\link{IC-class}}}
+\examples{
+%
+}
+
+\concept{influence curve}
+\keyword{}

Added: pkg/RobAStBase/man/makeIC.Rd
===================================================================
--- pkg/RobAStBase/man/makeIC.Rd	                        (rev 0)
+++ pkg/RobAStBase/man/makeIC.Rd	2008-03-26 01:14:35 UTC (rev 79)
@@ -0,0 +1,41 @@
+\name{makeIC-methods}
+\docType{methods}
+\alias{makeIC}
+\alias{makeIC-methods}
+\alias{makeIC,IC,missing-method}
+\alias{makeIC,IC,L2ParamFamily-method}
+
+\title{Generic Function for making ICs consistent at a possibly different model}
+\description{
+  Generic function for providing centering and Fisher consistency of ICs.
+}
+\usage{
+makeIC(IC, L2Fam, ...)
+}
+\arguments{
+  \item{IC}{ object of class \code{"IC"} }
+  \item{L2Fam}{ L2-differentiable family of probability measures; may be missing. }
+  \item{\dots}{ additional parameters }
+}
+\value{An IC at the model.}
+\section{Methods}{\describe{
+\item{makeIC}{\code{signature(IC = "IC", L2Fam = "missing"}: ...}
+\item{makeIC}{\code{signature(IC = "IC", L2Fam = "L2ParamFamily"}: ...}
+}}
+
+\references{
+  Rieder, H. (1994) \emph{Robust Asymptotic Statistics}. New York: Springer.
+
+  Kohl, M. (2005) \emph{Numerical Contributions to the Asymptotic Theory of Robustness}. 
+  Bayreuth: Dissertation.
+}
+\author{Peter Ruckdeschel \email{Peter.Ruckdeschel at uni-bayreuth.de}}
+%\note{}
+\seealso{\code{\link[distrMod]{L2ParamFamily-class}}, \code{\link{IC-class}}}
+\examples{
+IC1 <- new("IC")
+B <- BinomFamily(13, 0.3)
+makeIC(IC1,B)
+}
+\concept{influence curve}
+\keyword{}



More information about the Robast-commits mailing list