this.term = term;
this.allowDiffStates = allowDiffStates;
}
private void initialize() {
UncontractIndices uncontractIndicesTransformation =
new UncontractIndices(TensorUtils.getAllIndicesNames(factoredOut));
term = uncontractIndicesTransformation.renameIndicesAndBuidKroneckers(term);
factoredOut.add(uncontractIndicesTransformation.getKroneckers());
factorsIndicesNames = new IntArrayBuffer(TensorUtils.getAllIndicesNames(factoredOut));
termIndicesNames = new IntArrayList(TensorUtils.getAllIndicesNames(term));
//TODO investigate cloning
//factors.addAll(factoredOut.clone());
factors.add(factoredOut);