newRep = new LinearFilterRepresentation(newA,newB,newC,newD,newInit,newPeek);
if(preworkNeeded()) newRep = new LinearFilterRepresentation(newA,newB,newC,newD,newPreA,newPreB,newInit); else newRep = new LinearFilterRepresentation(newA,newB,newC,newD,newInit,newPeek);
    public LinearFilterRepresentation changePeek(int newPeek) {	int oldPeek = this.peekCount;	if(oldPeek >= newPeek)	    throw new IllegalArgumentException("need param newPeek(" + newPeek + ") to be < oldPeek(" + oldPeek + ")"); 	int pushCount = this.getPushCount();	int popCount = this.getPopCount();	int oldStateCount = this.getStateCount();	int removeVars = oldPeek - popCount;	int addVars = newPeek - popCount;	int newStateCount = oldStateCount - removeVars + addVars;	FilterMatrix A, B, C, D;	FilterMatrix newA, newB, newC, newD;				A = this.getA();	B = this.getB();	C = this.getC();	D = this.getD();	newA = new FilterMatrix(newStateCount,newStateCount);	newA.copyRowsAndColsAt(addVars,addVars,A,removeVars,removeVars,oldStateCount-removeVars,oldStateCount-removeVars);	newA.copyRowsAndColsAt(addVars,0,A,removeVars,0,oldStateCount-removeVars,removeVars);	newA.copyRowsAndColsAt(addVars,removeVars,B,removeVars,0,oldStateCount-removeVars,addVars-removeVars);		newB = new FilterMatrix(newStateCount,popCount);	newB.copyRowsAndColsAt(addVars,0,B,removeVars,addVars-removeVars,oldStateCount-removeVars,removeVars);	for(int i=0; i<addVars; i++)	    newB.setElement(i,i,ComplexNumber.ONE);				//LinearPrinter.println("A2init-new" + tempA2.toString());	//LinearPrinter.println("B2init-new" + tempB2.toString());		newC = new FilterMatrix(pushCount,newStateCount);	newC.copyColumnsAt(addVars,C,removeVars,oldStateCount-removeVars);	newC.copyColumnsAt(0,C,0,removeVars);	newC.copyColumnsAt(removeVars,D,0,addVars-removeVars);				newD = new FilterMatrix(pushCount,popCount);	newD.copyColumnsAt(0,D,addVars-removeVars,removeVars);	FilterVector init = this.getInit();	FilterVector newInit = new FilterVector(newStateCount);	newInit.copyAt(0,addVars-removeVars,init);				LinearFilterRepresentation newRep; 	newRep = new LinearFilterRepresentation(newA,newB,newC,newD,newInit,newPeek);	return newRep;    }