Here is one draft class from Anne Dutfoy.
class MetamodelValidation:
def __init__(self, modele, metamodele, loi):
self.modele = modele
self.metamodele = metamodele
self.loi = loi
def computeIntegrand(self, x):
return [
(self.modele(x)[0] - self.metamodele(x)[0]) ** 2 * self.loi.computePDF(x)
]
def computeL2Norm(self):
integrandFunction = ot.PythonFunction(1, 1, self.computeIntegrand)
return ot.GaussKronrod().integrate(integrandFunction, self.loi.getRange())[0]