Skip to content

Model Catalogue

All models live in econ_viz.models and conform to the UtilityFunction protocol — they are callable dataclasses that evaluate U(x, y) element-wise over NumPy arrays.

Parametric models

Model Expression Class
Cobb-Douglas \(x^\alpha y^\beta\) CobbDouglas
Leontief \(\min(ax, by)\) Leontief
Perfect Substitutes \(ax + by\) PerfectSubstitutes
CES \((\alpha x^\rho + \beta y^\rho)^{1/\rho}\) CES
Satiation \(-a(x-x^*)^2 - b(y-y^*)^2\) Satiation
Quasi-Linear \(f(x) + y\) or \(x + f(y)\) QuasiLinear

Advanced models

Model Description Class
Custom Utility Wrap any vectorised callable CustomUtility
Multi-Good Cobb-Douglas N goods, projected to 2-D MultiGoodCD

Common interface

Every model exposes:

model(x, y)            # evaluate U(x, y) — accepts scalars or NumPy arrays
model.utility_type     # UtilityType.SMOOTH | KINKED | LINEAR
model.ray_slopes()     # list of expansion-path slopes
model.kink_points(lvls)# kink coordinates for Leontief-type preferences