<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:trebuchet ms,sans-serif;font-size:small"><br></div></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 1, 2022 at 5:43 AM Kristofer Munsterhjelm <<a href="mailto:km_elmet@t-online.de">km_elmet@t-online.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I'm hardly an expert on these matters, but I found a paper suggesting a<br>
way to transform a simplex into a hypercube (by, I think, using extended<br>
barycentric coordinates as a change of bases). If that's a workable<br>
approach, then you could decompose the polytope into simplices,<br>
transform these simplices into cubes, and do QMC on the cubes without<br>
throwing any points out.<br>
<br>
<a href="https://istam.iitkgp.ac.in/resources/2014/proceedings/59-istam-nm-fp-268.pdf" rel="noreferrer" target="_blank">https://istam.iitkgp.ac.in/resources/2014/proceedings/59-istam-nm-fp-268.pdf</a><br><br>
</blockquote></div><div><br></div><div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small">So I've been thinking about this, and I think I've come to the conclusion that at least in this instance it is perfectly fine to throw out QMC points. Here's why: Suppose I want to integrate a function `f()` over some polytope `P`.</div></div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small">Voters = Integral_P { f( x ) }</div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small">Let `C` be some cube that contains the polytope `P`. I can always define a function `g()` that is defined on `C` but has compact support in `P`:</div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small">g(x) = { f(x) if x in P; or 0 otherwise }</div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small">There's no reason why I shouldn't be allowed to integrate `g(x)` over the cube `C` and technically I'm not throwing away any points. But that is exactly equivalent to the original plan of generating QMC points inside the `C`, selecting those in `P`, and evaluating `f()` on those.</div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small">Wikipedia says that one of the key advantages of quasi-MC over regular MC is that a low-dispersion sequence gives you more even coverage of the space without making a lattice. Random sampling will naturally create clusters of points and voids with few points. It is the nature of randomness that clustering happens. Low-dispersion sequences avoid clustering. Now... I don't know why we're told to not throw away points. But if the reason is that in general throwing away points will create gaps, then... well... slicing the space would be an exception to the rule. If the points uniformly cover `C` then they uniformly cover any subset of `C`. You just need to be aware that you are effectively integrating over that subset of `C` and not all of `C`, but in our case that is exactly what we want.</div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small">Cheers,</div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><font face="trebuchet ms, sans-serif">Dr. Daniel Carrera</font></div><div dir="ltr"><font face="trebuchet ms, sans-serif">Postdoctoral Research Associate</font></div><div><font face="trebuchet ms, sans-serif">Iowa State University</font></div></div></div></div></div></div></div></div></div></div></div>