newPreMatrix.copyRowsAndColsAt(index,0,totalPreMatrix,index+1,0,lastPreRows,index);
if(index > 0) newPreMatrix.copyRowsAndColsAt(index,0,totalPreMatrix,index+1,0,lastPreRows,index);
    private void removeState(int index) {	int newStates = states-1;	FilterMatrix newTotalMatrix = new FilterMatrix(newStates+outputs,newStates+inputs);		int lastCols = states+inputs-(index+1);	int lastRows = states+outputs-(index+1);	if(index > 0)	    newTotalMatrix.copyRowsAndColsAt(0,0,totalMatrix,0,0,index,index);	newTotalMatrix.copyRowsAndColsAt(0,index,totalMatrix,0,index+1,index,lastCols);		if(index > 0)	    newTotalMatrix.copyRowsAndColsAt(index,0,totalMatrix,index+1,0,lastRows,index);	newTotalMatrix.copyRowsAndColsAt(index,index,totalMatrix,index+1,index+1,lastRows,lastCols);		totalMatrix = newTotalMatrix;	if(preNeeded) {	    FilterMatrix newPreMatrix = new FilterMatrix(newStates,newStates+pre_inputs);	    int lastPreCols = states+pre_inputs-(index+1);	    int lastPreRows = states-(index+1);	    newPreMatrix.copyRowsAndColsAt(0,0,totalPreMatrix,0,0,index,index);	    newPreMatrix.copyRowsAndColsAt(0,index,totalPreMatrix,0,index+1,index,lastPreCols);	    if(index < states-1) {		newPreMatrix.copyRowsAndColsAt(index,0,totalPreMatrix,index+1,0,lastPreRows,index);		newPreMatrix.copyRowsAndColsAt(index,index,totalPreMatrix,index+1,index+1,lastPreRows,lastPreCols);	    }	    totalPreMatrix = newPreMatrix;	}	FilterVector newInitVec = new FilterVector(newStates);	newInitVec.copyColumnsAt(0,initVec,0,index);	if(index < states-1)	    newInitVec.copyColumnsAt(index,initVec,index+1,states-(index+1));		initVec = newInitVec;	states = newStates;		LinearPrinter.println("Removed state ");    }