List of usage examples for org.apache.commons.math3.linear ArrayRealVector getDimension
@Override public int getDimension()
From source file:ImageProc.java
public static float[][] colormapJet(int nClass) { int n;/* w w w . java 2 s .co m*/ n = (int) Math.ceil((float) nClass / 4); ArrayRealVector u, r, g, b; RealVector R, G, B; u = new ArrayRealVector(3 * n - 1); for (int i = 0; i < n; i++) { u.setEntry(i, (i + 1.0) / n); u.setEntry(u.getDimension() - i - 1, (i + 1.0) / n); } u.setSubVector(n, new ArrayRealVector(n, 1)); g = new ArrayRealVector(u.getDimension()); float m; m = (float) Math.ceil((float) n / 2); if (nClass % 4 == 1) m = m - 1; for (int i = 0; i < g.getDimension(); i++) { g.setEntry(i, (i + 1 + m)); } r = g.add(new ArrayRealVector(g.getDimension(), n)); b = g.subtract(new ArrayRealVector(g.getDimension(), n)); R = new ArrayRealVector(); G = new ArrayRealVector(); B = new ArrayRealVector(); for (int i = 0; i < r.getDimension(); i++) { if (r.getEntry(i) <= nClass) R = R.append(r.getEntry(i)); } for (int i = 0; i < g.getDimension(); i++) { if (g.getEntry(i) <= nClass) G = G.append(g.getEntry(i)); } for (int i = 0; i < b.getDimension(); i++) { if (b.getEntry(i) >= 1) B = B.append(b.getEntry(i)); } float[][] J = new float[nClass][3]; int index; for (int i = 0; i < R.getDimension(); i++) { index = (int) R.getEntry(i); J[index - 1][0] = (float) u.getEntry(i); } for (int i = 0; i < G.getDimension(); i++) { index = (int) G.getEntry(i); J[index - 1][1] = (float) u.getEntry(i); } for (int i = u.getDimension() - B.getDimension(), j = 0; i < u.getDimension(); i++, j++) { index = (int) B.getEntry(j); J[index - 1][2] = (float) u.getEntry(i); } /* System.out.println("\nRGB Matrix:"); for(int i=0;i<nClass;i++){ for(int j=0;j<3;j++){ System.out.print(J[i][j]+"\t"); } System.out.println(); } */ return J; }
From source file:gamlss.utilities.MatrixFunctions.java
/** * Calculate sqrt of the the vector entries. * @param v - vector/*from w w w .ja v a 2s. c o m*/ * @return sqrt(vector) */ public static ArrayRealVector sqrtVec(final ArrayRealVector v) { int size = v.getDimension(); double[] tempArr = new double[size]; for (int i = 0; i < size; i++) { tempArr[i] = FastMath.sqrt(v.getEntry(i)); } return new ArrayRealVector(tempArr, false); }
From source file:gamlss.utilities.MatrixFunctions.java
/** * Calculate log of the the vector entries. * @param v - vector// w ww . j av a 2s . co m * @return log(vector) */ public static ArrayRealVector logVec(final ArrayRealVector v) { int size = v.getDimension(); double[] tempArr = new double[size]; for (int i = 0; i < size; i++) { tempArr[i] = FastMath.log(v.getEntry(i)); } return new ArrayRealVector(tempArr, false); }
From source file:gamlss.utilities.MatrixFunctions.java
public static ArrayRealVector multVvsD(ArrayRealVector v, double d) { int size = v.getDimension(); double[] out = new double[size]; for (int i = 0; i < size; i++) { out[i] = v.getEntry(i) * d;/*from www .j a va2 s . c o m*/ } return new ArrayRealVector(out, false); }
From source file:gamlss.utilities.MatrixFunctions.java
/** * Prints vector values in the console.//from w w w . j av a 2s . c o m * @param v - vector to print */ public static void vectorPrint(final ArrayRealVector v) { for (int i = 0; i < v.getDimension(); i++) { System.out.println(v.getEntry(i)); } }
From source file:gamlss.utilities.MatrixFunctions.java
public static ArrayRealVector addV(ArrayRealVector v1, ArrayRealVector v2) { int size = v1.getDimension(); double[] out = new double[size]; for (int i = 0; i < size; i++) { out[i] = v1.getEntry(i) + v2.getEntry(i); }//from ww w .jav a 2 s . co m return new ArrayRealVector(out, false); }
From source file:gamlss.utilities.MatrixFunctions.java
/** * Calculates inverse of vector values.//from www. j a v a 2s .c o m * @param v - vector * @return 1/v */ public static ArrayRealVector inverse(final ArrayRealVector v) { double[] tempArr = new double[v.getDimension()]; for (int i = 0; i < tempArr.length; i++) { tempArr[i] = 1 / v.getEntry(i); } return new ArrayRealVector(tempArr, false); }
From source file:gamlss.utilities.MatrixFunctions.java
/** * if the length of the return vector is zero, * then the diff was not completed properly. * @param data - vector/*from w w w.j a va2 s . com*/ * @return - vector */ private static ArrayRealVector getDiff(final ArrayRealVector data) { double[] newdata = new double[data.getDimension() - 1]; for (int i = 0; i < newdata.length; i++) { newdata[i] = data.getEntry(i + 1) - data.getEntry(i); } return new ArrayRealVector(newdata, false); }
From source file:gamlss.utilities.MatrixFunctions.java
/** * Calculates a difference of two vectors (v1 - v2). * @param v1 - first vector/*from w ww . j a v a 2 s . c om*/ * @param v2 - second vector * @return vector (v1 - v2) */ public static ArrayRealVector vecSub(final ArrayRealVector v1, final ArrayRealVector v2) { int size = v1.getDimension(); double[] tempArr = new double[size]; for (int i = 0; i < size; i++) { tempArr[i] = v1.getEntry(i) - v2.getEntry(i); } return new ArrayRealVector(tempArr, false); }
From source file:gamlss.utilities.MatrixFunctions.java
/** * Calculates the sum of two vectors (v1+v2). * @param v1 - first vector/*ww w . j a v a 2 s. co m*/ * @param v2 - second vector * @return vector (v1+v2) */ public static ArrayRealVector vecSum(final ArrayRealVector v1, final ArrayRealVector v2) { int size = v1.getDimension(); double[] tempArr = new double[size]; for (int i = 0; i < size; i++) { tempArr[i] = v1.getEntry(i) + v2.getEntry(i); } return new ArrayRealVector(tempArr, false); }