Class CreateContinuousFunction
- All Implemented Interfaces:
nz.org.riskscape.engine.rl.RealizableFunction
Builds a continuous function from a lambda expression and a series of x values to allow a complex function to be estimated and then stacked on top of other functions to avoid the overhead in calling it gajjilions of times.
This can be a useful optimisation in probabilistic modelling where hundreds of thousands of consequences needed to be computed for each exposure. We can coalesce nearby exposures to a particular site where a hazard occurs, create a continuous function for each exposure with likely (numeric) hazard intensity values, stack the functions at each site, then call the function once at each site to compute a consequence for the entire site. In the case of a non-trivial loss function and hundreds of thousands of exposures, this can reduce computation time down dramatically.
-
Nested Class Summary
Nested classes/interfaces inherited from interface nz.org.riskscape.engine.rl.RealizableFunction
nz.org.riskscape.engine.rl.RealizableFunction.MetadataIdentifiedRealizableFunction
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionnz.org.riskscape.engine.function.RiskscapeFunction
nz.org.riskscape.problem.ResultOrProblems<nz.org.riskscape.engine.function.RiskscapeFunction>
realize
(nz.org.riskscape.engine.rl.RealizationContext context, nz.org.riskscape.rl.ast.FunctionCall functionCall, List<nz.org.riskscape.engine.types.Type> argumentTypes)
-
Constructor Details
-
CreateContinuousFunction
public CreateContinuousFunction()
-
-
Method Details
-
realize
public nz.org.riskscape.problem.ResultOrProblems<nz.org.riskscape.engine.function.RiskscapeFunction> realize(nz.org.riskscape.engine.rl.RealizationContext context, nz.org.riskscape.rl.ast.FunctionCall functionCall, List<nz.org.riskscape.engine.types.Type> argumentTypes) - Specified by:
realize
in interfacenz.org.riskscape.engine.rl.RealizableFunction
-
asFunction
public nz.org.riskscape.engine.function.RiskscapeFunction asFunction()
-