com.meliorbis.economics.infrastructure.simulation.HasConditionalTransition Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ModelSolver Show documentation
Show all versions of ModelSolver Show documentation
A library for solving economic models, particularly
macroeconomic models with heterogeneous agents who have model-consistent
expectations
/**
*
*/
package com.meliorbis.economics.infrastructure.simulation;
import com.meliorbis.economics.model.Model;
import com.meliorbis.economics.model.ModelConfig;
import com.meliorbis.economics.model.State;
import com.meliorbis.numerics.generic.MultiDimensionalArray;
import com.meliorbis.numerics.generic.primitives.DoubleArray;
/**
* This interface allows models to override the simulation transition to construct
* a state-specific transition that may depend on both current and future exogenous states
*
* @author Tobias Grasl
*
* @param The config type
* @param The State type
*/
public interface HasConditionalTransition> extends Model
{
/**
* The model should return the individual transition given the current aggregate endogenous states and the current and
* future aggregate exogenous states
*
* @param distribution_ The simulation state at which to get the individual
* transition
* @param state_ The current calculation state
* @param aggEndoStates_ The endogenous aggregate states in the current period
* @param aggControls_ The aggregate control variables in the current period
* @param aggExoStateIndices_ The exogenous aggregate states in the current period
* @param futureAggExpStateIndices_ The exogenous aggregate states in the next period
*
* @return The appropriate individual transition function
*
* @param The numeric type of aggregate shocks in the model
*/
DoubleArray> getTransitionAtAggregateState(SimState distribution_, S state_, DoubleArray> aggEndoStates_, DoubleArray> aggControls_,
MultiDimensionalArray aggExoStateIndices_,
MultiDimensionalArray futureAggExpStateIndices_);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy