Skip to content

Commit 23bc409

Browse files
dario-cosciandem0
authored andcommitted
sorted variables
1 parent 59c9a17 commit 23bc409

File tree

3 files changed

+21
-8
lines changed

3 files changed

+21
-8
lines changed

pina/geometry/cartesian.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -232,16 +232,18 @@ def _single_points_sample(n, variables):
232232

233233
return result
234234

235+
if variables == "all":
236+
variables = self.variables
237+
elif isinstance(variables, (list, tuple)):
238+
variables = sorted(variables)
239+
235240
if self.fixed_ and (not self.range_):
236241
return _single_points_sample(n, variables)
237242

238-
if variables == "all":
239-
variables = list(self.range_.keys()) + list(self.fixed_.keys())
240-
241243
if mode in ["grid", "chebyshev"]:
242-
return _1d_sampler(n, mode, variables)
244+
return _1d_sampler(n, mode, variables).extract(variables)
243245
elif mode in ["random", "lh", "latin"]:
244-
return _Nd_sampler(n, mode, variables)
246+
return _Nd_sampler(n, mode, variables).extract(variables)
245247
else:
246248
raise ValueError(f"mode={mode} is not valid.")
247249

pina/geometry/ellipsoid.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -275,13 +275,18 @@ def _single_points_sample(n, variables):
275275

276276
return result
277277

278+
if variables == "all":
279+
variables = self.variables
280+
elif isinstance(variables, (list, tuple)):
281+
variables = sorted(variables)
282+
278283
if self.fixed_ and (not self.range_):
279-
return _single_points_sample(n, variables)
284+
return _single_points_sample(n, variables).extract(variables)
280285

281286
if variables == "all":
282287
variables = self.variables
283288

284289
if mode in ["random"]:
285-
return _Nd_sampler(n, mode, variables)
290+
return _Nd_sampler(n, mode, variables).extract(variables)
286291
else:
287292
raise NotImplementedError(f"mode={mode} is not implemented.")

pina/geometry/simplex.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,11 +231,17 @@ def sample(self, n, mode="random", variables="all"):
231231
in ``variables``.
232232
"""
233233

234+
if variables == "all":
235+
variables = self.variables
236+
elif isinstance(variables, (list, tuple)):
237+
variables = sorted(variables)
238+
234239
if mode in ["random"]:
235240
if self._sample_surface:
236241
sample_pts = self._sample_boundary_randomly(n)
237242
else:
238-
sample_pts = self._sample_interior_randomly(n, variables)
243+
sample_pts = self._sample_interior_randomly(n, variables
244+
)
239245

240246
else:
241247
raise NotImplementedError(f"mode={mode} is not implemented.")

0 commit comments

Comments
 (0)