/** * Returns {@code true} if specified tensor is a metric or a Kronecker tensor * * @param t tensor * @return {@code true} if specified tensor is a metric or a Kronecker tensor */ public boolean isKroneckerOrMetric(SimpleTensor t) { return nameManager.isKroneckerOrMetric(t.getName()); }
private static boolean isUnitaryMatrixOrOne(Tensor tensor, int unitaryMatrix) { if (tensor instanceof SimpleTensor) { int name = ((SimpleTensor) tensor).getName(); return name == unitaryMatrix || CC.getNameManager().isKroneckerOrMetric(name); } return false; }
/** * Returns {@code true} if specified tensor is a metric tensor * * @param t tensor * @return {@code true} if specified tensor is a metric tensor */ public boolean isMetric(SimpleTensor t) { return nameManager.isKroneckerOrMetric(t.getName()) && IndicesUtils.haveEqualStates(t.getIndices().get(0), t.getIndices().get(1)); }
/** * Returns {@code true} if specified tensor is a Kronecker tensor * * @param t tensor * @return {@code true} if specified tensor is a Kronecker tensor */ public boolean isKronecker(SimpleTensor t) { return nameManager.isKroneckerOrMetric(t.getName()) && !IndicesUtils.haveEqualStates(t.getIndices().get(0), t.getIndices().get(1)); }