utils.flat_integrals module

Computing integrals using Naive Monte Carlo

class FlatSampler(*args, **kwargs)[source]

Bases: utils.integral_validation.Sampler

Sampler for uniform sampling in the d-dimensional hypercube

Parameters

d (int) –

sample(f, n_batch=10000, *args, **kwargs)[source]
Parameters
  • f (function or utils.Integrand) – function that evaluate batches of points and returns batches of points

  • n_batch (int) –

  • device (torch.device) –

Returns

  • tuple of torch.Tensor

  • x,px,fx (points, pdfs, function values)

evaluate_integral_flat(f, d, n_batch=10000, device=device(type='cpu'))[source]

Evaluate an integral using uniform sampling

Parameters
  • f (utils.integrands.KnownIntegrand) –

  • d (int) –

  • n_batch (int) –

  • device (torch.device) –

Returns

Return type

utils.record.EvaluationRecord

validate_known_integrand_flat(f, d, n_batch=10000, sigma_cutoff=2, device=device(type='cpu'))[source]

Validate a known integral using uniform sampling

Parameters
  • f (utils.integrands.KnownIntegrand) –

  • d (int) –

  • n_batch (int) –

  • sigma_cutoff (float) –

  • device (torch.device) –

Returns

Return type

utils.record.ComparisonRecord