This section introduces single-fidelity and multi-fidelity samplers provided in the mfpml package. These methods efficiently generate sample points for design spaces in experimental studies, surrogate modeling, and reliability analysis.
Single-Fidelity Samplers¶
The single-fidelity samplers generate sample points at a single resolution. Below is a table summarizing the available samplers:
Sampler  | 
API of Sampling Methods  | 
|---|---|
Sobol Sequence  | 
|
Latin Hypercube  | 
|
Random Sampler  | 
|
Fix Number Sampler  | 
Example Usage:
import numpy as np
from mfpml.design_of_experiment.sf_samplers import SobolSequence
design_space = np.array([[0, 1], [0, 1]])
sampler = SobolSequence(design_space=design_space)
samples = sampler.get_samples(num_samples=5, seed=1)
print(samples)
Output:
[[0.5    0.5   ]
 [0.25   0.75  ]
 [0.75   0.25  ]
 [0.375  0.625 ]
 [0.875  0.125 ]]
Multi-Fidelity Samplers¶
Multi-fidelity samplers generate samples at multiple fidelity levels. Below is a summary of the available samplers:
Sampler  | 
API of Sampling Methods  | 
|---|---|
Multi-Fidelity Sobol  | 
|
Multi-Fidelity LHS  | 
Example Usage:
from mfpml.design_of_experiment.mf_samplers import MFSobolSequence
design_space = np.array([[0, 1], [0, 1]])
mf_sampler = MFSobolSequence(design_space=design_space, num_fidelity=2, nested=False)
samples = mf_sampler.get_samples(num_samples=[3, 5])
print(samples)
Output:
Fidelity 1:
[[0.5    0.5   ]
 [0.25   0.75  ]
 [0.75   0.25  ]]
Fidelity 2:
[[0.5    0.5   ]
 [0.25   0.75  ]
 [0.75   0.25  ]
 [0.375  0.625 ]
 [0.875  0.125 ]]
Summary¶
The samplers in mfpml enable efficient design of experiments for both single-fidelity and multi-fidelity cases. The attribute tables above summarize the available methods, helping users quickly select and apply the appropriate sampler for their needs.