List of usage examples for org.apache.commons.math3.linear ArrayRealVector getMinValue
public double getMinValue()
From source file:gamlss.smoothing.PB.java
/** * Constructs the base matrix./* ww w .j ava 2 s . c om*/ * @param colValues - values of the certain column of * the smooth matrix which corresponds to the * currently fitting distribution parameter * @return - base matrix */ //bbase <- function(x, xl, xr, ndx, deg, quantiles=FALSE) private static BlockRealMatrix formX(final ArrayRealVector colValues) { //control$inter <- if (lx<99) 10 else control$inter # //this is to prevent singularities when length(x) is small if (colValues.getDimension() < 99) { Controls.INTER = 10; } //xl <- min(x) double xl = colValues.getMinValue(); //xr <- max(x) double xr = colValues.getMaxValue(); //xmax <- xr + 0.01 * (xr - xl) double xmax = xr + 0.01 * (xr - xl); //xmin <- xl - 0.01 * (xr - xl) double xmin = xl - 0.01 * (xr - xl); //dx <- (xr - xl) / ndx double dx = (xmax - xmin) / Controls.INTER; //if (quantiles) # if true use splineDesign if (Controls.QUANTILES) { //knots <- sort(c(seq(xl-deg*dx, xl, dx),quantile(x, //prob=seq(0, 1, length=ndx)), seq(xr, xr+deg*dx, dx))) ArrayRealVector kts = null; //B <- splineDesign(knots, x = x, outer.ok = TRUE, ord=deg+1) //return(B) return null; } else { //kts <- seq(xl - deg * dx, xr + deg * dx, by = dx) //ArrayRealVector kts = new ArrayRealVector( //ArithmeticSeries.getSeries(xl-deg*dx, xr+deg*dx, dx),false); rConnection.assingVar("min", new double[] { xmin - Controls.DEGREE * dx }); rConnection.assingVar("max", new double[] { xmax + Controls.DEGREE * dx }); rConnection.assingVar("step", new double[] { dx }); ArrayRealVector kts = new ArrayRealVector( rConnection.runEvalDoubles("knots <- seq(min, max, by = step)")); //P <- outer(x, kts, FUN = tpower, deg) BlockRealMatrix pM = MatrixFunctions.outertpowerPB(colValues, kts, Controls.DEGREE); //D <- diff(diag(dim(P)[2]), //diff = deg + 1) / (gamma(deg + 1) * dx ^ deg) BlockRealMatrix tempM = MatrixFunctions .diff(MatrixFunctions.buildIdentityMatrix(pM.getColumnDimension()), Controls.DEGREE + 1); double[][] tempArrArr = new double[tempM.getRowDimension()][tempM.getColumnDimension()]; for (int i = 0; i < tempArrArr.length; i++) { for (int j = 0; j < tempArrArr[i].length; j++) { tempArrArr[i][j] = tempM.getEntry(i, j) / ((FastMath.exp(Gamma.logGamma(Controls.DEGREE + 1))) * FastMath.pow(dx, Controls.DEGREE)); } } tempM = new BlockRealMatrix(tempArrArr); //B <- (-1) ^ (deg + 1) * P %*% t(D) return (BlockRealMatrix) pM.multiply(tempM.transpose()) .scalarMultiply(FastMath.pow(-1, (Controls.DEGREE + 1))); } }
From source file:gamlss.distributions.GT.java
/** * Checks whether the nu distribution parameter is valid. * @param nu - vector of nu values//from w ww .j a v a2 s. co m * @return - - boolean */ private boolean isNuValid(final ArrayRealVector nu) { return nu.getMinValue() > 0; }
From source file:gamlss.distributions.BCPE.java
/** * Checks whether the mu distribution parameter is valid. * @param y - vector of response variavbles * @return - boolean/* www . j a v a 2 s.c om*/ */ public final boolean isYvalid(final ArrayRealVector y) { return y.getMinValue() > 0; }
From source file:gamlss.distributions.BCPE.java
/** * Checks whether the mu distribution parameter is valid. * @param mu - vector of mu (mean) values * @return - boolean//from ww w . j a v a 2 s. c o m */ private boolean isMuValid(final ArrayRealVector mu) { return mu.getMinValue() > 0; }
From source file:gamlss.distributions.BCPE.java
/** * Checks whether the tau distribution parameter is valid. * @param tau - vector of nu values//from w ww . j a v a2 s . c o m * @return - - boolean */ private boolean isTauValid(final ArrayRealVector tau) { return tau.getMinValue() > 0; }
From source file:gamlss.distributions.BCPE.java
/** * Checks whether the sigma distribution parameter is valid. * @param sigma - vector of sigma (standard deviation) values * @return - - boolean//from ww w . j ava2 s .c o m */ private boolean isSigmaValid(final ArrayRealVector sigma) { return sigma.getMinValue() > 0; }