int firstRow = 0; for (int i=0; i<childPos; i++) { firstRow += splitWeights[i];
int vSum_k1 = 0; for (int i=0; i<=childPos; i++) { vSum_k1 += splitWeights[i];
    private LinearFilterRepresentation makeDecimator(int vSum, int[] splitWeights, int childPos) {	// make matrix (A starts out all zeros)	// we want to input vSum items and output as many items as the	// child would have gotten in the original splitter (eg splitWeights[childPos])	// which implies the new matrix has vSum rows and splitWeights[childPos] cols	FilterMatrix newA = new FilterMatrix(vSum, splitWeights[childPos]);	FilterVector newb = new FilterVector(vSum);	// determine the first non-zero row;	int firstRow = 0;	for (int i=0; i<childPos; i++) {	    firstRow += splitWeights[i];	}		// set the splitWeights[childPos] rows of ones	for (int i=0; i<splitWeights[childPos]; i++) { // row i	    for (int j=0; j<vSum; j++) { // j col		newA.setElement(firstRow + i, j, ComplexNumber.ONE);	    }	}	// make a new decimator rep out of the new A and b	return new LinearFilterRepresentation(newA, newb, vSum); // pop==peek    }