solving dimensions issue

This commit is contained in:
Dario Coscia
2023-10-30 12:05:39 +01:00
committed by Nicola Demo
parent 7424ce15bd
commit ead952da6f
2 changed files with 17 additions and 1 deletions

View File

@@ -48,7 +48,12 @@ class SimplexDomain(Location):
matrix_labels = simplex_matrix[0].labels
if not all(vertex.labels == matrix_labels for vertex in simplex_matrix):
raise ValueError(f"Labels don't match.")
# check consistency dimensions
dim_simplex = len(matrix_labels)
if len(simplex_matrix) != dim_simplex + 1:
raise ValueError("An n-dimensional simplex is composed by n + 1 tensors of dimension n.")
# creating vertices matrix
self._vertices_matrix = torch.cat(simplex_matrix)
self._vertices_matrix.labels = matrix_labels

View File

@@ -22,6 +22,7 @@ def test_constructor():
sample_surface=True,
)
with pytest.raises(ValueError):
# different labels
SimplexDomain(
[
LabelTensor(torch.tensor([[0, 0]]), labels=["x", "y"]),
@@ -29,6 +30,7 @@ def test_constructor():
LabelTensor(torch.tensor([[0, 2]]), labels=["x", "a"]),
]
)
# not LabelTensor
SimplexDomain(
[
LabelTensor(torch.tensor([[0, 0]]), labels=["x", "y"]),
@@ -36,6 +38,15 @@ def test_constructor():
LabelTensor(torch.tensor([[0, 2]]), labels=["x", "y"]),
]
)
# different number of vertices
SimplexDomain(
[
LabelTensor(torch.tensor([[ 0., -2.]]), labels=["x", "y"]),
LabelTensor(torch.tensor([[-.5, -.5]]), labels=["x", "y"]),
LabelTensor(torch.tensor([[-2., 0.]]), labels=["x", "y"]),
LabelTensor(torch.tensor([[-.5, .5]]), labels=["x", "y"]),
]
)
def test_sample():
# sampling inside