sorted variables

This commit is contained in:
Dario Coscia
2024-11-07 15:28:21 +01:00
committed by Nicola Demo
parent 59c9a173b4
commit 23bc40924f
3 changed files with 21 additions and 8 deletions

View File

@@ -232,16 +232,18 @@ class CartesianDomain(Location):
return result return result
if variables == "all":
variables = self.variables
elif isinstance(variables, (list, tuple)):
variables = sorted(variables)
if self.fixed_ and (not self.range_): if self.fixed_ and (not self.range_):
return _single_points_sample(n, variables) return _single_points_sample(n, variables)
if variables == "all":
variables = list(self.range_.keys()) + list(self.fixed_.keys())
if mode in ["grid", "chebyshev"]: if mode in ["grid", "chebyshev"]:
return _1d_sampler(n, mode, variables) return _1d_sampler(n, mode, variables).extract(variables)
elif mode in ["random", "lh", "latin"]: elif mode in ["random", "lh", "latin"]:
return _Nd_sampler(n, mode, variables) return _Nd_sampler(n, mode, variables).extract(variables)
else: else:
raise ValueError(f"mode={mode} is not valid.") raise ValueError(f"mode={mode} is not valid.")

View File

@@ -275,13 +275,18 @@ class EllipsoidDomain(Location):
return result return result
if variables == "all":
variables = self.variables
elif isinstance(variables, (list, tuple)):
variables = sorted(variables)
if self.fixed_ and (not self.range_): if self.fixed_ and (not self.range_):
return _single_points_sample(n, variables) return _single_points_sample(n, variables).extract(variables)
if variables == "all": if variables == "all":
variables = self.variables variables = self.variables
if mode in ["random"]: if mode in ["random"]:
return _Nd_sampler(n, mode, variables) return _Nd_sampler(n, mode, variables).extract(variables)
else: else:
raise NotImplementedError(f"mode={mode} is not implemented.") raise NotImplementedError(f"mode={mode} is not implemented.")

View File

@@ -231,11 +231,17 @@ class SimplexDomain(Location):
in ``variables``. in ``variables``.
""" """
if variables == "all":
variables = self.variables
elif isinstance(variables, (list, tuple)):
variables = sorted(variables)
if mode in ["random"]: if mode in ["random"]:
if self._sample_surface: if self._sample_surface:
sample_pts = self._sample_boundary_randomly(n) sample_pts = self._sample_boundary_randomly(n)
else: else:
sample_pts = self._sample_interior_randomly(n, variables) sample_pts = self._sample_interior_randomly(n, variables
)
else: else:
raise NotImplementedError(f"mode={mode} is not implemented.") raise NotImplementedError(f"mode={mode} is not implemented.")