A Leontief utility function U=min_{n}(*G _{n}*), i.e. utility is equal to the minimum quantity held of any relevant good. A Leontief utility function results from a CES utility function when the elasticity of substitution is equal to zero, and the coefficients drop out. This class is a subclass of

`CES`

, itself a subclass of `Utility`

.## Initialization Parameters

**goods***— list[str], required*A list of goods to enter into the utility function.

## Methods

*Click a method name for more detailed documentation.*

**calculate**( quantities )Calculates the agent's utility on the basis of the quantities entered. Subclasses are required to implement this method and should call the parent function

`super().calculate()`

at the*beginning*. The`model.stocks`

dict can be passed directly to this function.`Utility.calculate()`

only returns the values, and is thus useful for counterfactual calculations. To actually realize utility from consumption, use`Utility.consume()`

instead.**consume**( quantities )Sets

`self.utility`

to the value returned from`self.calculate()`

. The`model.stocks`

dict can be passed directly to this function.**demand**( income, prices )Calculates the total demand for the various goods given some income. See the derivation from the utility function here.

**mrs**( good1, q1, good2, … )Calculates the marginal rate of substitution between two goods. Subclasses are required to implement this method.

**mu**( quantities )Calculates the marginal utilities of the goods in question on the basis of the entered quantities. Many utility functions, including the CES function, are such that the quantities of all goods are necessary to calculate the marginal utility of any good. Subclasses are required to implement this method.

## Properties

**utility***— num*The agent's current level of utility, updated whenever

`Utility.consume()`

is called.Initial value: 0

**elast***— num*Stores the elasticity of substitution.

**coeffs***— dict{str:num}*Stores the coefficients on the goods (

*β*in the CES formula).

## Notes and Examples