Skip to content

Getting started

Logo pdm-managed Python version Copier PyPI build docs tests Code Coverage Algorithm description

Efficient framework for building surrogates of multidisciplinary systems using the adaptive multi-index stochastic collocation (AMISC) technique.

⚙️ Installation

pip install amisc
If you are using pdm in your own project, then you can use:
pdm add amisc

# Or in editable mode from a local clone...
pdm add -e ./amisc --dev

📍 Quickstart

import numpy as np

from amisc.system import SystemSurrogate, ComponentSpec
from amisc.rv import UniformRV

def fun1(x):
    return dict(y=x * np.sin(np.pi * x))

def fun2(x):
    return dict(y=1 / (1 + 25 * x ** 2))

x = UniformRV(0, 1, 'x')
y = UniformRV(0, 1, 'y')
z = UniformRV(0, 1, 'z')
model1 = ComponentSpec(fun1, exo_in=x, coupling_out=y)
model2 = ComponentSpec(fun2, coupling_in=y, coupling_out=z)

inputs = x
outputs = [y, z]
system = SystemSurrogate([model1, model2], inputs, outputs)
system.fit()

x_test = system.sample_inputs(10)
y_test = system.predict(x_test)

🏗️ Contributing

See the contribution guidelines.

📖 Reference

AMISC paper [1].

Made with the copier-numpy template.