Repository: econ-ark/HARK (language: python)

Issue:
no default cycles value
From #1022 , @mnwhite says:

> Yeah, cycles=1 should be removed as a default argument. I think I wrote
> that in the very earliest versions (late summer / early fall 2015) and it's
> never come off.




Discussion / hints:
In AgentType subclasses, there should be *no* default. This is something we
want to be in the parameter dictionary. I'm indifferent about what our
example dictionaries have, but this default shouldn't exist at all.

On Fri, Jun 25, 2021 at 3:56 PM Sebastian Benthall ***@***.***>
wrote:

> From #1022 <https://github.com/econ-ark/HARK/issues/1022> , @mnwhite
> <https://github.com/mnwhite> says:
>
> Yeah, cycles=1 should be removed as a default argument. I think I wrote
> that in the very earliest versions (late summer / early fall 2015) and it's
> never come off.
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/econ-ark/HARK/issues/1030>, or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/ADKRAFIJURMO3OJ5RT6G5GDTUTNOZANCNFSM47KPF4BQ>
> .
>

Oh, I see. I'll correct that in the title of this issue.
This is what I'll work on next as it will make #1022 easier.

Fix patch:
diff --git a/Documentation/CHANGELOG.md b/Documentation/CHANGELOG.md
index 8e0b5b0e1..73722e108 100644
--- a/Documentation/CHANGELOG.md
+++ b/Documentation/CHANGELOG.md
@@ -18,6 +18,7 @@ Release Data: TBD
 * Adds new consumption-savings-portfolio model `RiskyContrib`, which represents an agent who can save in risky and risk-free assets but faces
 frictions to moving funds between them. To circumvent these frictions, he has access to an income-deduction scheme to accumulate risky assets.
 PR: [#832](https://github.com/econ-ark/HARK/pull/832). See [this forthcoming REMARK](https://github.com/Mv77/RiskyContrib) for the model's details.
+* 'cycles' agent property moved from constructor argument to parameter [#1031](https://github.com/econ-ark/HARK/pull/1031)
 
 #### Minor Changes
 
diff --git a/HARK/ConsumptionSaving/ConsGenIncProcessModel.py b/HARK/ConsumptionSaving/ConsGenIncProcessModel.py
index 97dff3083..3b251920a 100644
--- a/HARK/ConsumptionSaving/ConsGenIncProcessModel.py
+++ b/HARK/ConsumptionSaving/ConsGenIncProcessModel.py
@@ -901,12 +901,12 @@ class GenIncProcessConsumerType(IndShockConsumerType):
 
     state_vars = ['pLvl',"mLvl",'aLvl']
 
-    def __init__(self, cycles=0, **kwds):
+    def __init__(self, **kwds):
         params = init_explicit_perm_inc.copy()
         params.update(kwds)
 
         # Initialize a basic ConsumerType
-        IndShockConsumerType.__init__(self, cycles=cycles, **params)
+        IndShockConsumerType.__init__(self, **params)
         self.solve_one_period = make_one_period_oo_solver(ConsGenIncProcessSolver)
 
         # a poststate?
@@ -1247,15 +1247,14 @@ class PersistentShockConsumerType(GenIncProcessConsumerType):
 
     Parameters
     ----------
-    cycles : int
-        Number of times the sequence of periods should be solved.
+
     """
 
-    def __init__(self, cycles=0, **kwds):
+    def __init__(self, **kwds):
         params = init_persistent_shocks.copy()
         params.update(kwds)
 
-        GenIncProcessConsumerType.__init__(self, cycles=cycles, **params)
+        GenIncProcessConsumerType.__init__(self, **params)
 
     def update_pLvlNextFunc(self):
         """
diff --git a/HARK/ConsumptionSaving/ConsIndShockModel.py b/HARK/ConsumptionSaving/ConsIndShockModel.py
index 43c76ff37..892737bbe 100644
--- a/HARK/ConsumptionSaving/ConsIndShockModel.py
+++ b/HARK/ConsumptionSaving/ConsIndShockModel.py
@@ -1532,6 +1532,7 @@ def prepare_to_calc_EndOfPrdvP(self):
 
 # Make a dictionary to specify a perfect foresight consumer type
 init_perfect_foresight = {
+    'cycles' : 1,         # Finite, non-cyclic model
     'CRRA': 2.0,          # Coefficient of relative risk aversion,
     'Rfree': 1.03,        # Interest factor on assets
     'DiscFac': 0.96,      # Intertemporal discount factor
@@ -1561,8 +1562,7 @@ class PerfForesightConsumerType(AgentType):
 
     Parameters
     ----------
-    cycles : int
-        Number of times the sequence of periods should be solved.
+
     """
 
     # Define some universal values for all consumer types
@@ -1581,7 +1581,7 @@ class PerfForesightConsumerType(AgentType):
     state_vars = ['pLvl', 'PlvlAgg', 'bNrm', 'mNrm', "aNrm"]
     shock_vars_ = []
 
-    def __init__(self, cycles=1, verbose=1, quiet=False, **kwds):
+    def __init__(self, verbose=1, quiet=False, **kwds):
         params = init_perfect_foresight.copy()
         params.update(kwds)
         kwds = params
@@ -1590,7 +1590,6 @@ def __init__(self, cycles=1, verbose=1, quiet=False, **kwds):
         AgentType.__init__(
             self,
             solution_terminal=deepcopy(self.solution_terminal_),
-            cycles=cycles,
             pseudo_terminal=False,
             **kwds
         )
@@ -2061,13 +2060,13 @@ class IndShockConsumerType(PerfForesightConsumerType):
     )  # This is in the PerfForesight model but not ConsIndShock
     shock_vars_ = ['PermShk', 'TranShk']
 
-    def __init__(self, cycles=1, verbose=1, quiet=False, **kwds):
+    def __init__(self, verbose=1, quiet=False, **kwds):
         params = init_idiosyncratic_shocks.copy()
         params.update(kwds)
 
         # Initialize a basic AgentType
         PerfForesightConsumerType.__init__(
-            self, cycles=cycles, verbose=verbose, quiet=quiet, **params
+            self, verbose=verbose, quiet=quiet, **params
         )
 
         # Add consumer-type specific objects, copying to create independent versions
@@ -2752,22 +2751,23 @@ class KinkedRconsumerType(IndShockConsumerType):
     very small changes.  Solver for this class is currently only compatible with
     linear spline interpolation.
 
+    Same parameters as AgentType.
+
+
     Parameters
     ----------
-    cycles : int
-        Number of times the sequence of periods should be solved.
     """
 
     time_inv_ = copy(IndShockConsumerType.time_inv_)
     time_inv_.remove("Rfree")
     time_inv_ += ["Rboro", "Rsave"]
 
-    def __init__(self, cycles=1, **kwds):
+    def __init__(self, **kwds):
         params = init_kinked_R.copy()
         params.update(kwds)
 
         # Initialize a basic AgentType
-        PerfForesightConsumerType.__init__(self, cycles=cycles, **params)
+        PerfForesightConsumerType.__init__(self, **params)
 
         # Add consumer-type specific objects, copying to create independent versions
         self.solve_one_period = make_one_period_oo_solver(ConsKinkedRsolver)
diff --git a/HARK/ConsumptionSaving/ConsLaborModel.py b/HARK/ConsumptionSaving/ConsLaborModel.py
index 8f4d6f5d6..3c5f0304b 100644
--- a/HARK/ConsumptionSaving/ConsLaborModel.py
+++ b/HARK/ConsumptionSaving/ConsLaborModel.py
@@ -349,22 +349,22 @@ class LaborIntMargConsumerType(IndShockConsumerType):
 
     See init_labor_intensive for a dictionary of
     the keywords that should be passed to the constructor.
+    Same parameters as AgentType.
+
 
     Parameters
     ----------
-    cycles : int
-        Number of times the sequence of periods should be solved.
     """
 
     time_vary_ = copy(IndShockConsumerType.time_vary_)
     time_vary_ += ["WageRte"]
     time_inv_ = copy(IndShockConsumerType.time_inv_)
 
-    def __init__(self, cycles=1, **kwds):
+    def __init__(self, **kwds):
         params = init_labor_intensive.copy()
         params.update(kwds)
 
-        IndShockConsumerType.__init__(self, cycles=cycles, **params)
+        IndShockConsumerType.__init__(self, **params)
 
         self.pseudo_terminal = False
         self.solve_one_period = solve_ConsLaborIntMarg
diff --git a/HARK/ConsumptionSaving/ConsMarkovModel.py b/HARK/ConsumptionSaving/ConsMarkovModel.py
index 4a75d9fb2..69412b409 100644
--- a/HARK/ConsumptionSaving/ConsMarkovModel.py
+++ b/HARK/ConsumptionSaving/ConsMarkovModel.py
@@ -843,8 +843,8 @@ class MarkovConsumerType(IndShockConsumerType):
     shock_vars_ = IndShockConsumerType.shock_vars_ + ["Mrkv"]
     state_vars = IndShockConsumerType.state_vars + ["Mrkv"]
 
-    def __init__(self, cycles=1, **kwds):
-        IndShockConsumerType.__init__(self, cycles=1, **kwds)
+    def __init__(self, **kwds):
+        IndShockConsumerType.__init__(self, **kwds)
         self.solve_one_period = _solve_ConsMarkov
 
         if not hasattr(self, "global_markov"):
diff --git a/HARK/ConsumptionSaving/ConsMedModel.py b/HARK/ConsumptionSaving/ConsMedModel.py
index 55bc26c7b..8ac13bd72 100644
--- a/HARK/ConsumptionSaving/ConsMedModel.py
+++ b/HARK/ConsumptionSaving/ConsMedModel.py
@@ -571,11 +571,11 @@ class MedShockConsumerType(PersistentShockConsumerType):
     shock_vars_ = PersistentShockConsumerType.shock_vars_ + ["MedShk"]
     state_vars = PersistentShockConsumerType.state_vars + ['mLvl']
 
-    def __init__(self, cycles=0, **kwds):
+    def __init__(self, **kwds):
         params = init_medical_shocks.copy()
         params.update(kwds)
 
-        PersistentShockConsumerType.__init__(self, cycles=cycles, **params)
+        PersistentShockConsumerType.__init__(self, **params)
         self.solve_one_period = make_one_period_oo_solver(ConsMedShockSolver)
         self.add_to_time_inv("CRRAmed")
         self.add_to_time_vary("MedPrice")
diff --git a/HARK/ConsumptionSaving/ConsPortfolioModel.py b/HARK/ConsumptionSaving/ConsPortfolioModel.py
index 8117bb318..a6dd6d1ab 100644
--- a/HARK/ConsumptionSaving/ConsPortfolioModel.py
+++ b/HARK/ConsumptionSaving/ConsPortfolioModel.py
@@ -160,14 +160,14 @@ class PortfolioConsumerType(RiskyAssetConsumerType):
     time_inv_ = deepcopy(RiskyAssetConsumerType.time_inv_)
     time_inv_ = time_inv_ + ["AdjustPrb", "DiscreteShareBool"]
 
-    def __init__(self, cycles=1, verbose=False, quiet=False, **kwds):
+    def __init__(self, verbose=False, quiet=False, **kwds):
         params = init_portfolio.copy()
         params.update(kwds)
         kwds = params
 
         # Initialize a basic consumer type
         RiskyAssetConsumerType.__init__(
-            self, cycles=cycles, verbose=verbose, quiet=quiet, **kwds
+            self, verbose=verbose, quiet=quiet, **kwds
         )
 
         # Set the solver for the portfolio model, and update various constructed attributes
diff --git a/HARK/ConsumptionSaving/ConsPrefShockModel.py b/HARK/ConsumptionSaving/ConsPrefShockModel.py
index da39b7956..21fd0450f 100644
--- a/HARK/ConsumptionSaving/ConsPrefShockModel.py
+++ b/HARK/ConsumptionSaving/ConsPrefShockModel.py
@@ -71,17 +71,16 @@ class PrefShockConsumerType(IndShockConsumerType):
 
     Parameters
     ----------
-    cycles : int
-        Number of times the sequence of periods should be solved.
+
     """
 
     shock_vars_ = IndShockConsumerType.shock_vars_ + ["PrefShk"]
 
-    def __init__(self, cycles=1, **kwds):
+    def __init__(self, **kwds):
         params = init_preference_shocks.copy()
         params.update(kwds)
 
-        IndShockConsumerType.__init__(self, cycles=cycles, **params)
+        IndShockConsumerType.__init__(self, **params)
         self.solve_one_period = make_one_period_oo_solver(ConsPrefShockSolver)
 
     def pre_solve(self):
@@ -263,11 +262,10 @@ class KinkyPrefConsumerType(PrefShockConsumerType, KinkedRconsumerType):
 
     Parameters
     ----------
-    cycles : int
-        Number of times the sequence of periods should be solved.
+
     """
 
-    def __init__(self, cycles=1, **kwds):
+    def __init__(self, **kwds):
         params = init_kinky_pref.copy()
         params.update(kwds)
         kwds = params
diff --git a/HARK/ConsumptionSaving/ConsRepAgentModel.py b/HARK/ConsumptionSaving/ConsRepAgentModel.py
index e19e2c244..0d23b6296 100644
--- a/HARK/ConsumptionSaving/ConsRepAgentModel.py
+++ b/HARK/ConsumptionSaving/ConsRepAgentModel.py
@@ -228,8 +228,6 @@ class RepAgentConsumerType(IndShockConsumerType):
 
     Parameters
     ----------
-    cycles : int
-        Number of times the sequence of periods should be solved.
 
     """
 
@@ -239,7 +237,7 @@ def __init__(self, **kwds):
         params = init_rep_agent.copy()
         params.update(kwds)
 
-        IndShockConsumerType.__init__(self, cycles=0, **params)
+        IndShockConsumerType.__init__(self, **params)
         self.AgentCount = 1  # Hardcoded, because this is rep agent
         self.solve_one_period = solve_ConsRepAgent
         self.del_from_time_inv("Rfree", "BoroCnstArt", "vFuncBool", "CubicBool")
@@ -387,6 +385,7 @@ def get_controls(self):
 
 # Define the default dictionary for a representative agent type
 init_rep_agent = init_idiosyncratic_shocks.copy()
+init_rep_agent["cycles"] = 0
 init_rep_agent["DeprFac"] = 0.05
 init_rep_agent["CapShare"] = 0.36
 init_rep_agent["UnempPrb"] = 0.0
diff --git a/HARK/ConsumptionSaving/ConsRiskyAssetModel.py b/HARK/ConsumptionSaving/ConsRiskyAssetModel.py
index e404b9284..e5494e8b9 100644
--- a/HARK/ConsumptionSaving/ConsRiskyAssetModel.py
+++ b/HARK/ConsumptionSaving/ConsRiskyAssetModel.py
@@ -35,14 +35,14 @@ class RiskyAssetConsumerType(IndShockConsumerType):
 
     shock_vars_ = IndShockConsumerType.shock_vars_ + ["Adjust", "Risky"]
 
-    def __init__(self, cycles=1, verbose=False, quiet=False, **kwds):
+    def __init__(self, verbose=False, quiet=False, **kwds):
         params = init_risky_asset.copy()
         params.update(kwds)
         kwds = params
 
         # Initialize a basic consumer type
         IndShockConsumerType.__init__(
-            self, cycles=cycles, verbose=verbose, quiet=quiet, **kwds
+            self, verbose=verbose, quiet=quiet, **kwds
         )
 
         # These method must be overwritten by classes that inherit from
diff --git a/HARK/ConsumptionSaving/ConsRiskyContribModel.py b/HARK/ConsumptionSaving/ConsRiskyContribModel.py
index c618a9bb7..3743d84f0 100644
--- a/HARK/ConsumptionSaving/ConsRiskyContribModel.py
+++ b/HARK/ConsumptionSaving/ConsRiskyContribModel.py
@@ -72,7 +72,7 @@ class RiskyContribConsumerType(RiskyAssetConsumerType):
     ]
     shock_vars_ = RiskyAssetConsumerType.shock_vars_
 
-    def __init__(self, cycles=1, verbose=False, quiet=False, **kwds):
+    def __init__(self, verbose=False, quiet=False, **kwds):
 
         params = init_risky_contrib.copy()
         params.update(kwds)
@@ -80,7 +80,7 @@ def __init__(self, cycles=1, verbose=False, quiet=False, **kwds):
 
         # Initialize a basic consumer type
         RiskyAssetConsumerType.__init__(
-            self, cycles=cycles, verbose=verbose, quiet=quiet, **kwds
+            self, verbose=verbose, quiet=quiet, **kwds
         )
 
         # The model is solved and simulated spliting each of the agent's
diff --git a/HARK/ConsumptionSaving/TractableBufferStockModel.py b/HARK/ConsumptionSaving/TractableBufferStockModel.py
index eabc76102..87a5be40b 100644
--- a/HARK/ConsumptionSaving/TractableBufferStockModel.py
+++ b/HARK/ConsumptionSaving/TractableBufferStockModel.py
@@ -297,17 +297,16 @@ class TractableConsumerType(AgentType):
     """
     Parameters
     ----------
-    cycles : int
-        Number of times the sequence of periods should be solved.
+    Same as AgentType
     """
 
     state_vars = ['bLvl', 'mLvl', 'aLvl']
 
-    def __init__(self, cycles=0, **kwds):
+    def __init__(self, **kwds):
         params = init_tractable.copy()
         params.update(kwds)
         # Initialize a basic AgentType
-        AgentType.__init__(self, cycles=cycles, pseudo_terminal=True, **params)
+        AgentType.__init__(self, pseudo_terminal=True, **params)
 
         # Add consumer-type specific objects, copying to create independent versions
         self.time_vary = []
@@ -684,6 +683,7 @@ def get_poststates(self):
 
 
 init_tractable = {
+    "cycles" : 0, # infinite horizon
     "UnempPrb": 0.00625,  # Probability of becoming unemployed
     "DiscFac": 0.975,  # Intertemporal discount factor
     "Rfree": 1.01,  # Risk-free interest factor on assets
diff --git a/HARK/core.py b/HARK/core.py
index f07ea4e22..8f00c43b8 100644
--- a/HARK/core.py
+++ b/HARK/core.py
@@ -262,7 +262,6 @@ class AgentType(Model):
     def __init__(
         self,
         solution_terminal=None,
-        cycles=1,
         pseudo_terminal=True,
         tolerance=0.000001,
         seed=0,
@@ -274,7 +273,6 @@ def __init__(
             solution_terminal = NullFunc()
 
         self.solution_terminal = solution_terminal  # NOQA
-        self.cycles = cycles  # NOQA
         self.pseudo_terminal = pseudo_terminal  # NOQA
         self.solve_one_period = NullFunc()  # NOQA
         self.tolerance = tolerance  # NOQA
diff --git a/examples/HowWeSolveIndShockConsumerType/HowWeSolveIndShockConsumerType.ipynb b/examples/HowWeSolveIndShockConsumerType/HowWeSolveIndShockConsumerType.ipynb
index 0c6480e2b..898dc9954 100644
--- a/examples/HowWeSolveIndShockConsumerType/HowWeSolveIndShockConsumerType.ipynb
+++ b/examples/HowWeSolveIndShockConsumerType/HowWeSolveIndShockConsumerType.ipynb
@@ -80,7 +80,7 @@
     "Find the marginal value of having  some level of end-of-period assets today. End-of-period assets as well as stochastics imply next-period resources at the beginning of the period, calculated above. Return the result as `EndOfPrdvP`.\n",
     "\n",
     "#### Second step of EGM `make_basic_solution`\n",
-    "Apply inverse marginal utility function to nodes from about to find (m, c) pairs for the new consumption function in `getPointsForInterpolation` and create the interpolants in `use_points_for_interpolation`. The latter constructs the `ConsumerSolution` that contains the current consumption function `cFunc`, the current marginal value function `vPfunc`, and the smallest possible resource level `mNrmMinNow`.\n",
+    "Apply inverse marginal utility function to nodes from about to find (m, c) pairs for the new consumption function in `get_points_for_interpolation` and create the interpolants in `use_points_for_interpolation`. The latter constructs the `ConsumerSolution` that contains the current consumption function `cFunc`, the current marginal value function `vPfunc`, and the smallest possible resource level `mNrmMinNow`.\n",
     "\n",
     "#### Add MPC and human wealth `add_MPC_and_human_wealth`\n",
     "Add values calculated in `defBoroCnst` now that we have a solution object to put them in.\n",
@@ -101,23 +101,12 @@
    "cell_type": "code",
    "execution_count": 1,
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "/home/sb/projects/econ-ark/HARK/HARK/Calibration/Income/IncomeTools.py:449: UserWarning: Sabelhaus and Song (2010) provide variance profiles for ages 27 to 54. Extrapolating variances using the extreme points.\n",
-      "  warn(\n",
-      "/home/sb/projects/econ-ark/HARK/HARK/datasets/SCF/WealthIncomeDist/SCFDistTools.py:79: UserWarning: Returning SCF summary statistics for ages (20,25].\n",
-      "  warn(\"Returning SCF summary statistics for ages \" + age_bracket + \".\")\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "from HARK.ConsumptionSaving.ConsIndShockModel import IndShockConsumerType, init_lifecycle\n",
     "import numpy as np\n",
     "import matplotlib.pyplot as plt\n",
-    "LifecycleExample = IndShockConsumerType(init_lifecycle)\n",
+    "LifecycleExample = IndShockConsumerType(**init_lifecycle)\n",
     "LifecycleExample.cycles = 1 # Make this consumer live a sequence of periods exactly once\n",
     "LifecycleExample.solve()"
    ]
@@ -136,7 +125,7 @@
    "outputs": [
     {
      "data": {
-      "image/png": "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\n",
+      "image/png": "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\n",
       "text/plain": [
        "<Figure size 432x288 with 1 Axes>"
       ]
@@ -203,7 +192,7 @@
     {
      "data": {
       "text/plain": [
-       "0.9408"
+       "0.9586233599999999"
       ]
      },
      "execution_count": 5,
@@ -223,7 +212,7 @@
     {
      "data": {
       "text/plain": [
-       "0.850430160026919"
+       "0.6554858756904397"
       ]
      },
      "execution_count": 6,
@@ -279,18 +268,18 @@
     {
      "data": {
       "text/plain": [
-       "array([-2.49175086e-01, -2.30003713e-01, -2.09710489e-01, -1.88206151e-01,\n",
-       "       -1.65392397e-01, -1.41160763e-01, -1.15391357e-01, -8.79513885e-02,\n",
-       "       -5.86934916e-02, -2.74537788e-02,  5.95040319e-03,  4.17230788e-02,\n",
-       "        8.00926738e-02,  1.21315551e-01,  1.65680145e-01,  2.13511821e-01,\n",
-       "        2.65178592e-01,  3.21097879e-01,  3.81744527e-01,  4.47660342e-01,\n",
-       "        5.19465496e-01,  5.97872200e-01,  6.83701170e-01,  7.77901553e-01,\n",
-       "        8.81575133e-01,  9.96005867e-01,  1.12269613e+00,  1.26341136e+00,\n",
-       "        1.42023542e+00,  1.59563952e+00,  1.79256862e+00,  2.01455026e+00,\n",
-       "        2.26583269e+00,  2.55156109e+00,  2.87800413e+00,  3.25284719e+00,\n",
-       "        3.68557479e+00,  4.18797327e+00,  4.77479697e+00,  5.46465892e+00,\n",
-       "        6.28123238e+00,  7.25488755e+00,  8.42494379e+00,  9.84280193e+00,\n",
-       "        1.15763503e+01,  1.37162363e+01,  1.63849084e+01,  1.97498249e+01])"
+       "array([-1.97928710e-01, -1.78757337e-01, -1.58464113e-01, -1.36959776e-01,\n",
+       "       -1.14146021e-01, -8.99143874e-02, -6.41449810e-02, -3.67050128e-02,\n",
+       "       -7.44711582e-03,  2.37925970e-02,  5.71967790e-02,  9.29694545e-02,\n",
+       "        1.31339050e-01,  1.72561926e-01,  2.16926520e-01,  2.64758197e-01,\n",
+       "        3.16424968e-01,  3.72344255e-01,  4.32990903e-01,  4.98906718e-01,\n",
+       "        5.70711872e-01,  6.49118576e-01,  7.34947546e-01,  8.29147929e-01,\n",
+       "        9.32821508e-01,  1.04725224e+00,  1.17394250e+00,  1.31465773e+00,\n",
+       "        1.47148180e+00,  1.64688590e+00,  1.84381499e+00,  2.06579663e+00,\n",
+       "        2.31707906e+00,  2.60280747e+00,  2.92925051e+00,  3.30409357e+00,\n",
+       "        3.73682117e+00,  4.23921964e+00,  4.82604335e+00,  5.51590530e+00,\n",
+       "        6.33247875e+00,  7.30613392e+00,  8.47619016e+00,  9.89404831e+00,\n",
+       "        1.16275966e+01,  1.37674827e+01,  1.64361548e+01,  1.98010713e+01])"
       ]
      },
      "execution_count": 8,
@@ -349,7 +338,7 @@
     {
      "data": {
       "text/plain": [
-       "<HARK.ConsumptionSaving.ConsIndShockModel.ConsumerSolution at 0x7f8945f60df0>"
+       "<HARK.ConsumptionSaving.ConsIndShockModel.ConsumerSolution at 0x7f2370525af0>"
       ]
      },
      "execution_count": 11,
@@ -375,7 +364,7 @@
    "outputs": [
     {
      "data": {
-      "image/png": "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\n",
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD6CAYAAACvZ4z8AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAiMUlEQVR4nO3deXhV933n8fdXEhL7KrFo42pjFbvMEmKMbWyw4yV77EnaJPVTJpm66ZKZNqnnSTrpTCeZzrTNPMkkZVwnTpra4zqpS2JsJzYYsFkl9k2gFUksEvsitH/nD8lYJoAucKVz79Xn9Tw83Hvu0Tkf38d8OJzzO79j7o6IiMSvhKADiIhI71LRi4jEORW9iEicU9GLiMQ5Fb2ISJxT0YuIxLkei97MnjOzejPb18N6d5lZm5l9MnLxRETkTllP4+jNbAlwCfiJuxfeYJ1E4DdAE/Ccu7/c045TU1M9FArdcmARkf6spKTklLun3crPJPW0grtvMLNQD6v9IfBz4K5wdxwKhSguLg53dRERAcys+lZ/5o7P0ZtZBvAx4Ad3ui0REYm8SFyM/Xvgz929o6cVzWylmRWbWXFDQ0MEdi0iIj3p8dRNGIqAF80MIBV42Mza3P2Va1d091XAKoCioiJNsiMi0gfuuOjdPee912b2Y+BX1yt5EREJRo9Fb2YvAEuBVDOrBb4JDABw9x/2ajoREblj4Yy6eTLcjbn7F+4ojYiIRJzujBURiXORuBgrIiK9qKO9nerSHdTvW3dbP6+iFxGJMq0tzVTseZezh9aTcmwbOY17yOESOT3/6HWp6EVEAnbl8kXKd73NxdKNDDu5ldymg0y2ZgBqLJ3DI5fAxA+RMes++C/XnYnmplT0IiJ97PyZBip3vsWVso2Maight/UwhdZOhxuVSSH2pj1CUu7dTJx9H1npE8m6w/2p6EVEetmpY9VU73qTtop3SDuzg1B7NbPNafFEKpInU5L+WQYXLCY0Zxl5o1LJi/D+VfQiIhHkHR0cqzpI3e61UL2J9PM7yfTjpAKNnkL5wGlszVrB8ElLyJtzD1MGD+31TCp6EZE70NHeztHDOzm5dy1JNZvJuriLDM6QAZxlGFWDZ1Cb/gSjp91LTuFCZiSn9HlGFb2IyC1oa22hcv9WTu9fR0rdFkKNewhxkRBQz2iODptDZdYixs24l+xJc5iTmBh0ZBW9iMjNNDc1Urn7Hc4eepshx7eRe2UfBXaFAqDWxnNk5N1dI2KWkR6azNiE6LsPVUUvItJN46XzVOx8m4uHNzD85Dbymg8yxVoBqErIZn/qchJzP0z27GVkZuSQGXDecKjoRaRfO3/2FJU73uRK2UZGNxST23qEQmun3Y2KpDx2jf8EKXl3E5pzP6G0CYSCDnwbVPQi0q+cOlHD0Z1v0lrxDqlnSshpq+oa6phEefIkijM+x5CCJeTMvY+CEaMpCDpwBKjoRSSunTh6hNpdb9JR9S7jz+0gu6Pug0MdM/89wyffQ97sJUztg6GOQVDRi0jc8I4Oasv3cnzPWuzoJjLP72QCDYwHLjCYikEzOZb+SUZNXUruzMWBDHUMgopeRGLW1Vkd977FgJpNZF/aTRbnyAJOM4LqobOozvg90grvIzS1iNlJ/bPy+ud/tYjEpPa2NqoObKNh31pS6jYTurybHC6SA5wglarhRVRkL2b8zPvIyp/JmCgc6hgEFb2IRK221hYq9m7mzIG1DKzbQu6VveRxmTzgmI2jbOSH8YmLyZz9ABMmTmK8iv26VPQiEjVaW5op372RswfWMeT4VnKv7GOSXQE6p+s9NOpeEnI+TOacB0jPyic94LyxQkUvIoFpbmqkfNcGzh9cx9ATW8lrOsCUrnnYqxOyrt6cNHHOA2Slh+54ut7+SkUvIn2mqfESZTvXcfHQeoaf3Epe80Gmdd11WpnQOQ/7gLy7mTj3ASaOy2RiwHnjRY9Fb2bPAY8A9e7+W482MbPPAn8OGHAR+LK77450UBGJPY2XzlO+Yy2XStczsn4beS2lFFobHW5UJOWya9zHSclfQs7cZeSkjr/tR+XJzYVzRP9j4HvAT27weSVwj7ufNbOHgFXAgsjEE5FYcvniOcpL3uLy4bcZXb+N3NYjzLB22jyBigH57JjwGQYWdBZ7/qhU8oMO3E/0WPTuvsHMQjf5fFO3t1sgJub4EZEIuHrEfmgdo+q3kdd6mJnWTqsnUj5gEsUZn2VIwT3kzrufScNHBR2334r0OfqngNdu9KGZrQRWAmRnZ0d41yLS265cvkj5jrVcPLSOkfVbyWspvXrE3lnsn2Po5KXkzbufKUNHBB1XukSs6M3sXjqL/sM3WsfdV9F5aoeioiKP1L5FpHe8d/H00sF1DD+5lfyWQxRa29VTMSXpn2XIpHvIK1rG5GEjg44rNxCRojezmcCzwEPufjoS2xSRvtd05TLlO9dz4eBahp/cQn7zIQqttXPK3q5z7IMmLSV33jImjRgddFwJ0x0XvZllA78AfsfdD995JBHpK1fHsR9Yy/ATW8hrPsB0a706Kmbn+E8ycNJScuc9QMHIMXExZW9/FM7wyheApUCqmdUC3wQGALj7D4FvAGOA/2NmAG3uXtRbgUXk9rU0N1GxawNnD7zFsBNbyGs6wDRrocONyqQcdo3/BAPz7yGn6EGNiokj5h7MqfKioiIvLi4OZN8i/cV7Uwqc27+WIcc3k9e0n8Fdd55WJISoT51PSv495M57gBFjxgWcVsJhZiW3ejCtO2NF4khbawvlu9/hzP63GHJ8C/lX9l6dUqAyYSJ7xz5Kcv4ScuYtJzd1PLkB55W+oaIXiWFXZ3fc9yaDjm0m/8peJlsTAFUJWexN+wgD8pYQmvcgOWMzdOdpP6WiF4kh7W1tVOzbzOl9bzKobjO5jXuuzu5YnZDJvtQVJOUtYeLcBwmNz4rJB1lL5KnoRaJYe1sblfu3cmrfmwys20xu424KaKSAzml7D6Q+SGLu3YTmLWfi+GxNAibXpaIXiSLe0UHVoRJO7v41KTXvkNu4m3wukw/U2gQOjb6fhJy7mThvuabtlbCp6EUCdqzyELU7XiOhaiOhiyXkcI4coM7GUTpqKQk5d5M190EyM/M0kZTcFhW9SB87daKGquLX6Ch/m8xzxaT7SdKBU4ykangRlaElZMxdQUZoMhlBh5W4oKIX6WUXzp2mYvsbNB1ey/jTWwl1HCUVuMBgygfP4WjWF5gweznZk+eQqmeeSi9Q0YtEWFPjJY4Uv8WlQ28xpn4zea1HmG3OFU+mbGAhmzM+ypjCZeTNXMycJP0RlN6n/8tE7lBbawtluzZwdv+bDD+2ifzmA8ywVlo9kbLkyWzP+j2GTVtG/tylzBg4OOi40g+p6EVuUUd7O1UHi6nf/QYDa98lv3E3U7rGspcndk4ENmjyfeQVPcBUPWxDooCKXqQH3tHBsaqD1Ja8TlL1BnIu7SCXC+TSOZZ9f+pyBuQvJadoBXlpE8gLOrDINVT0Itdx6lh158iYivVkn9tOBg1kAPWMpnzEQspz7iFr3gqysvI1ll2inopeBDh/poHy7a/TemQd489sY2JHDanAOYZSMWQu1dm/z4Q5y8nKn8lYjYyRGKOil36ppbmJI8VvceHAbxhz8l3yWo8w15xGT6Fs0Ey2ZHyc1JkPklu4iLmJiUHHFbkjKnrpF65OLbDzNQbVbKDgyh6mWzNtnkBZ8hS2ZT/FiOkPkD9nKTNTBgYdVySiVPQStxqOVVG17VWsYh2hC9uvTi1wNCGDvWkfIXnS/eTNf4gpI8cEHVWkV6noJW5cvniOsu2vc+XQW4w/tYVQx1HSgLMMp2JYEZU5S8kqepjs7AKygw4r0odU9BKz2lpbKNu9kbN7f82I4++S33yAWdZOkw/gyMAZbMn8GGmzVpAzfQHzdJ5d+jEVvcQM7+igruIAdTvWkFy9nrzLO5hCIwBliXmUpD/J0KkPUnDXMmYMGhJwWpHo0WPRm9lzwCNAvbsXXudzA74LPAw0Al9w9x2RDir907lTJyjf9irtR9aSdXYrmTSQCZwgjUOj7iUx/z5y53+E/LQJ5AcdViRKhXNE/2Pge8BPbvD5Q0BB168FwA+6fhe5ZVeHPe5/ndSTm8hrK2eeORd9EGVD5nJ04u+TPncFmXkzGK/x7CJh6bHo3X2DmYVussrjwE/c3YEtZjbSzCa4+/FIhZT4Vlexn9rtvySl+m0KLu9kujV1TQg2ha0TVzJqxoPkz17CnAHJQUcViUmROEefAdR0e1/btey3it7MVgIrAbKzNe6hv7p04SxlW1+jufQ3ZJzeRKafIAM4ZuPYl7qC5MkPkL/gYaaOGB10VJG40KcXY919FbAKoKioyPty3xKcjvZ2KvZtoWHXGobXraeg+QCzrZ1GT+HI4NnUZn+ejLseJTN3Ouk6HSMScZEo+jr4wLxOmV3LpB87fbKWyq2/hLK3yLmwjXzOkw+UJ+ZQkv4kw6Yvp6BoGbM0P7tIr4tE0a8GnjazF+m8CHte5+f7n5bmJo6UrOXCvtdIO/ku+e3ljKHzZqXyYXdRkXcfOfMfJS99oqbxFelj4QyvfAFYCqSaWS3wTWAAgLv/EFhD59DKMjqHV36xt8JKdDlWeYiabf9GcvXbTLq8g+nWRJsncDh5GpuzvkzqrIfJm7mYIt2sJBKocEbdPNnD5w78QcQSSdRqaW7i8PZfc2nvGiY0vMPEjhrSgWM2ln2pyxkwqfMi6jTNHSMSVXRnrNxUfV0lVVteYUDFm0y6VEyhNdHiSZQOnMmWiZ8hvehRsvJn6iKqSBRT0csHtLW2cLhkLef3vMq4ExvI7ahiLHCCVPalLidlygoKFj7MjGEjg44qImFS0QunTtRQueXfSCj7DQWXtjONy7R6IodTprMl8yuMK3qM0JR5uhNVJEap6PuhjvZ2juxcz5ndr5J6fD0FbUdIBU4xkkMj7yFpynLyFz7KdJ1rF4kLKvp+ovHSeUo3/ZLWA6+Sd+5dJnOedjeOJE9lc+jLpM15lNzChaRqhIxI3FHRx7H6ukoqN/2cgRVvMKVxJ3OslQsM5siwhVROWkH+oseZkjo+6Jgi0stU9HHEOzoo37uZhpJXSK1bS0F7GWOBOhvHznEfZ+jMR5g8fznzklOCjioifUhFH+OarlymdMsamvb9itDpjeRzmlw3DidPZXP206TP/zjZk+eQoQupIv2Wij4GXTh3msMb/oWE0l8x5dI2ZlkzjZ5C6dC7qM5fQd6HPsaUcZlBxxSRKKGijxFn6uso2/gSKUdeZeqVHRRZO/WMZm/qQwwsfITJCx9mjh6fJyLXoaKPYvV1lVRufJGhFa8xpXkP8805ZuPYMeEJRhZ9gklzljJWo2REpAcq+ihTV3GQmk0vMqrqdSa3HWIsUJ2QxbasLzJ2/qfILVyo6QZE5Jao6KPAiZoyqtY9T2r1q+S3l5MBlCXmsTn0ZdIXfpqJU+YyMeiQIhKzVPQBOXfqBKXr/olhR15hWstexgOHkyaxJf9PyF78BPk5U8gPOqSIxAUVfR9qvHSeA+tfImn/z5l2eRsLrJ3qhEw2T/wS2ff8LpNypwcdUUTikIq+l3W0t7P/3dU0F/8T085vpMiaqWc0OyY8Qeqiz5I3YxETdc5dRHqRir6XnDpWTdmv/4Hs6peZ4Se5wBD2jXmQIfOeZMqC5YxN0lcvIn1DbRNB7W1t7Nv4r3Rs/xEzLm9moXWwP3kmx2b+Rwrv/yzzNc5dRAKgoo+AM/V1lL76v8mp/jmzaOAMw9me/u/IvP9LTM+fEXQ8EennVPR3oPpgCSd/83fMPP06i6yVvSlzOTb7GQrve5JFKQODjiciAoRZ9Ga2AvgukAg86+7fvubzbOB5YGTXOl9z9zWRjRo9Du9YT+Ob/53ZjZsZ5wPYPeYhxi//KjMmzw46mojIb+mx6M0sEfg+8ABQC2w3s9XufqDbav8ZeMndf2Bm04A1QKgX8gaqtHgtTW/+NbOatnOeIWzOXsnkR/6YBWMzgo4mInJD4RzRzwfK3L0CwMxeBB4Huhe9A8O7Xo8AjkUyZNBqjuym4ZVnmHt5I2cZzubcrzDjo3/KouGjgo4mItKjcIo+A6jp9r4WWHDNOn8J/NrM/hAYAiyLSLqAnT/TwKF//jPmNbzCaJLZHPoSMz/5dRYNGxl0NBGRsEXqYuyTwI/d/X+Z2SLgp2ZW6O4d3Vcys5XASoDs7OwI7TryvKOD4tU/IG/Xt5nnlyhJ+yj5n/orFmmOdxGJQeEUfR2Q1e19Ztey7p4CVgC4+2YzGwikAvXdV3L3VcAqgKKiIr/NzL3qZG059T99iruad1KaNIWzj3+XBTMWBh1LROS2hXPv/XagwMxyzCwZeAJYfc06R4H7AcxsKjAQaIhk0L5QsuZHDHz2bvKaDrB12jMUfH0TeSp5EYlxPR7Ru3ubmT0NvEHn0Mnn3H2/mX0LKHb31cBXgf9rZn9C54XZL7h7VB6xX09rSzM7Vn2JBad+weGkSQx64jkW6EYnEYkTYZ2j7xoTv+aaZd/o9voAsDiy0frGuVMnqFv1SRa07GXLuCeZ99R3GZCcEnQsEZGI6dd3xp46Vs2lZx8hv/04xfO+zcLHvhx0JBGRiOu3RX+sqpSO5x9jbMdZjjz4I4oWPxp0JBGRXtEvi/7UsWp4/lGG+yWOPvoChUX3Bx1JRKTX9LsnXlw4d5oLzz7GyI5znHjsBaao5EUkzvWrom9va6Pqh58hq72G8vv/gUlz7wk6kohIr+tXRb/92a8ws2k7OwqfYcaSjwUdR0SkT/Sboi9Z848sPPEztqZ+nAWf+mrQcURE+ky/KPpjlYeYtPUZDiVNZe7KHwYdR0SkT8V90be2NHPxZ7+LmzH8c8/rZigR6XfivuiLf/oMk9tKOTL/r0kPTQ46johIn4vroq/Yt5Wio89RPHwZ8x7+YtBxREQCEbdF39baQvu//gcu2hDyfud7QccREQlM3BZ98b98h4L2Mirn/yWj0iYEHUdEJDBxWfTnTp1g2uEfsGfgPOau0CkbEenf4rLoS1/8C4Z4I8Me+w6WEJf/iSIiYYu7Fqwu3cW8hn+lOPVxcqbdFXQcEZHAxV3Rn/rlN2kmmfxP/7ego4iIRIW4KvrqgyXMubiePRmfYcy4zKDjiIhEhbgq+lNr/itNJDPlY18POoqISNSIm6KvPljCnAvr2J3xGQ2nFBHpJqyiN7MVZlZqZmVm9rUbrPNpMztgZvvN7J8jG7Nn9a9/u+to/i/6etciIlGtx0cJmlki8H3gAaAW2G5mq939QLd1CoCvA4vd/ayZje2twNfjHR3kn9/M/pH3cpeO5kVEPiCcI/r5QJm7V7h7C/Ai8Pg16/w+8H13Pwvg7vWRjXlzNWV7GMVFPHthX+5WRCQmhFP0GUBNt/e1Xcu6mwRMMrN3zWyLma2IVMBwnNy3HoBx0/VoQBGRa/V46uYWtlMALAUygQ1mNsPdz3VfycxWAisBsrOzI7Rr8JqtnGcIWQWzIrZNEZF4Ec4RfR2Q1e19Ztey7mqB1e7e6u6VwGE6i/8D3H2Vuxe5e1FaWtrtZv4t487vpmpQIQmJiRHbpohIvAin6LcDBWaWY2bJwBPA6mvWeYXOo3nMLJXOUzkVkYt5Y+dOnWBiRy1XxhX1xe5ERGJOj0Xv7m3A08AbwEHgJXffb2bfMrPHulZ7AzhtZgeAdcB/cvfTvRW6u+o9bwMwbNKH+2J3IiIxJ6xz9O6+BlhzzbJvdHvtwJ92/epTjWWbaPMEcmfd3de7FhGJCTF/Z+zwUzuoHJDHoCHDgo4iIhKVYrroW1uayW0u5fToOUFHERGJWjFd9JX7tjDIWhgQ0o1SIiI3EtNFf+bQBgAyZy4NNoiISBSL6aJPPradE6QxLjMv6CgiIlErZoveOzrIvLSX2mEzg44iIhLVYrboT9QcYSxnaM/Qc2FFRG4mZou+rutGqTFTlwQbREQkysVs0bdXb6HRUwhN0xG9iMjNxGzRp57dRcXAqSQNSA46iohIVIvJor904Syhtkoupc0LOoqISNSLyaKv2r2BRHMG5y8OOoqISNSLyaK/eORdOtyYOEtPlBIR6UlMFv2Q+hKqE7MZMSo16CgiIlEv5oq+va2NnCv7qR81O+goIiIxIeaK/mhpCcPsCglZC4KOIiISE2Ku6Ov3d05klq6JzEREwhJzRZ9Qt43TjCA9NDXoKCIiMSHmij79wm6ODpmBJcRcdBGRQMRUW546cZQMP0nzhKKgo4iIxIyYKvqa3esAGDlZDwIXEQlXWEVvZivMrNTMyszsazdZ7xNm5mbWK4fczRWbafYB5Mz4UG9sXkQkLvVY9GaWCHwfeAiYBjxpZtOus94w4I+ArZEO+Z5Rp3dSkVxAysDBvbULEZG4E84R/XygzN0r3L0FeBF4/Drr/RXwHaApgvmuarpymZzWI5wfM6c3Ni8iErfCKfoMoKbb+9quZVeZ2Vwgy91fvdmGzGylmRWbWXFDQ8MtBa3a8y7J1k5Krk7biIjciju+GGtmCcDfAl/taV13X+XuRe5elJaWdkv7OVe6EYDsWUtvI6WISP8VTtHXAVnd3md2LXvPMKAQeNvMqoCFwOpIX5BNOVFMrU1gzLjMSG5WRCTuhVP024ECM8sxs2TgCWD1ex+6+3l3T3X3kLuHgC3AY+5eHKmQ3tHBxMZ9HB8+K1KbFBHpN3osendvA54G3gAOAi+5+34z+5aZPdbbAQFqK/Yzmgt0ZM7vi92JiMSVpHBWcvc1wJprln3jBusuvfNYH3R879tkAeMK9aAREZFbFRt3xtZs5QJDyJ6koZUiIrcqJop+7LldVA6cRkJiYtBRRERiTtQX/fkzDYQ6amgcNy/oKCIiMSnqi75qV+dEZsMmfTjgJCIisSnqi76xfBNtnkDurCVBRxERiUlRX/TDG0qoTMpl8NARQUcREYlJUV30rS3N5DSXcmb07KCjiIjErKgu+qoD2xhszSSFFgUdRUQkZkV10Z8+uAGAjJlLgw0iIhLDorroBxzbzknGMD4rP+goIiIxK6qLPvPiHmqHzQw6hohITIvaoj9RU8Y4TtOaflfQUUREYlrUFn3tns4bpcZM1fh5EZE7EbVF3161hUZPITRNUxOLiNyJqC36MWd2UpkyhQHJKUFHERGJaVFZ9JcvniPUVsmFtLlBRxERiXlRWfSVuzeQZB0Mzl8cdBQRkZgXlUV/8ci7AIRmLQ02iIhIHIjKoh9ysoSqhGxGjE4LOoqISMyLuqLvaG8n1LSf+pGzgo4iIhIXwip6M1thZqVmVmZmX7vO539qZgfMbI+ZvWVmE2830NHDOxlOI5a98HY3ISIi3fRY9GaWCHwfeAiYBjxpZtOuWW0nUOTuM4GXgf9xu4FO7lsPwPjCe253EyIi0k04R/TzgTJ3r3D3FuBF4PHuK7j7Ondv7Hq7Bci87UC12zjDcDJzp9/uJkREpJtwij4DqOn2vrZr2Y08Bbx2u4EmXNhN9eBCLCHqLh+IiMSkiLapmX0OKAL+5gafrzSzYjMrbmho+K3PT5+sJdOP0zy+KJKxRET6tXCKvg7I6vY+s2vZB5jZMuAZ4DF3b77ehtx9lbsXuXtRWtpvD508uvttAEZOvjuMWCIiEo5win47UGBmOWaWDDwBrO6+gpnNAf6BzpKvv90wzRWbaPEkQjN1R6yISKT0WPTu3gY8DbwBHARecvf9ZvYtM3usa7W/AYYC/2Jmu8xs9Q02d1MjT++kYkABAwcNuZ0fFxGR60gKZyV3XwOsuWbZN7q9XnanQZqbGsltOcyO8Z+6002JiEg3UTO0pXLPuyRbG8m5Om0jIhJJUVP05w6/A0C2JjITEYmoqCn6lGPbqbXxpI7P6nllEREJW1QUvXd0kN24j+PDZwYdRUQk7kRF0R+rOsgYztORuSDoKCIicSc6in7P2wCMnaYbpUREIi0qir6jZisXfRDZk+cFHUVEJO5ERdGPPbuLykHTSUwKa1i/iIjcgsCL/vzZU0xsP8rlsTqaFxHpDYEXffWut0kwZ1iBbpQSEekNgRd9Y/km2t0IzVoSdBQRkbgUeNEPbSihMimXocNHBR1FRCQuBVr0ba0t5DYd5PSoWUHGEBGJa4EWfdWBbQy2ZhJDi4KMISIS1wIt+tMHNwKQMeOeIGOIiMS1QIs+qW4b9YxmfFZBkDFEROJaoEWfcXEvtUNnYAmBXxMWEYlbgTVsa0sz42mgJX1+UBFERPqF4Ir+ykUARk/RRGYiIr0psKL3lstc8WRyChcGFUFEpF8Iq+jNbIWZlZpZmZl97Tqfp5jZ/+v6fKuZhXraZlJbIxUpkxmQnHIbsUVEJFw9Fr2ZJQLfBx4CpgFPmtm0a1Z7Cjjr7vnA3wHf6Wm7yd7MhdS5t55YRERuSThH9POBMnevcPcW4EXg8WvWeRx4vuv1y8D9ZmY326jhDM7/0K3mFRGRWxRO0WcANd3e13Ytu+467t4GnAfG9LTh0Kx7w0spIiK3rU8vxprZSjMrNrPiiwxlxJhxfbl7EZF+KZyirwOyur3P7Fp23XXMLAkYAZy+dkPuvsrdi9y9aFi67oYVEekL4RT9dqDAzHLMLBl4Alh9zTqrgc93vf4ksNbdPXIxRUTkdvX4kFZ3bzOzp4E3gETgOXffb2bfAordfTXwj8BPzawMOEPnXwYiIhIFwnoat7uvAdZcs+wb3V43AZ+KbDQREYkEzSYmIhLnVPQiInFORS8iEudU9CIicU5FLyIS5yyo4e5mdhEoDWTn0ScVOBV0iCih7+J9+i7ep+/ifZPdfdit/EBYwyt7Sam7FwW4/6hhZsX6Ljrpu3ifvov36bt4n5kV3+rP6NSNiEicU9GLiMS5IIt+VYD7jjb6Lt6n7+J9+i7ep+/ifbf8XQR2MVZERPqGTt2IiMS5QIq+p4eN9xdmlmVm68zsgJntN7M/CjpTkMws0cx2mtmvgs4SNDMbaWYvm9khMztoZouCzhQUM/uTrj8f+8zsBTMbGHSmvmJmz5lZvZnt67ZstJn9xsyOdP0+qqft9HnRh/mw8f6iDfiqu08DFgJ/0I+/C4A/Ag4GHSJKfBd43d2nALPop9+LmWUAXwGK3L2QzqnS+9M06D8GVlyz7GvAW+5eALzV9f6mgjiiD+dh4/2Cux939x1dry/S+Yf52ufx9gtmlgl8BHg26CxBM7MRwBI6n/OAu7e4+7lAQwUrCRjU9fS6wcCxgPP0GXffQOczPrp7HHi+6/XzwEd72k4QRR/Ow8b7HTMLAXOArQFHCcrfA38GdAScIxrkAA3Aj7pOZT1rZkOCDhUEd68D/idwFDgOnHf3XwebKnDj3P141+sTQI8P39bF2ChgZkOBnwN/7O4Xgs7T18zsEaDe3UuCzhIlkoC5wA/cfQ5wmTD+eR6Pus4/P07nX37pwBAz+1ywqaJH1yNbexw6GUTRh/Ow8X7DzAbQWfI/c/dfBJ0nIIuBx8ysis5TefeZ2T8FGylQtUCtu7/3r7uX6Sz+/mgZUOnuDe7eCvwC+FDAmYJ20swmAHT9Xt/TDwRR9OE8bLxfMDOj8zzsQXf/26DzBMXdv+7ume4eovP/h7Xu3m+P2tz9BFBjZpO7Ft0PHAgwUpCOAgvNbHDXn5f76acXprtZDXy+6/XngX/r6Qf6fFKzGz1svK9zRInFwO8Ae81sV9eyv+h6Rq/0b38I/KzrYKgC+GLAeQLh7lvN7GVgB52j1HbSj+6SNbMXgKVAqpnVAt8Evg28ZGZPAdXAp3vcju6MFRGJb7oYKyIS51T0IiJxTkUvIhLnVPQiInFORS8iEudU9CIicU5FLyIS51T0IiJx7v8D59HbXzyJMZcAAAAASUVORK5CYII=\n",
       "text/plain": [
        "<Figure size 432x288 with 1 Axes>"
       ]
@@ -468,7 +457,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.8.7"
+   "version": "3.8.10"
   },
   "latex_envs": {
    "LaTeX_envs_menu_present": true,
diff --git a/examples/HowWeSolveIndShockConsumerType/HowWeSolveIndShockConsumerType.py b/examples/HowWeSolveIndShockConsumerType/HowWeSolveIndShockConsumerType.py
index e63c67da0..ed5c660ce 100644
--- a/examples/HowWeSolveIndShockConsumerType/HowWeSolveIndShockConsumerType.py
+++ b/examples/HowWeSolveIndShockConsumerType/HowWeSolveIndShockConsumerType.py
@@ -102,7 +102,7 @@
 from HARK.ConsumptionSaving.ConsIndShockModel import IndShockConsumerType, init_lifecycle
 import numpy as np
 import matplotlib.pyplot as plt
-LifecycleExample = IndShockConsumerType(init_lifecycle)
+LifecycleExample = IndShockConsumerType(**init_lifecycle)
 LifecycleExample.cycles = 1 # Make this consumer live a sequence of periods exactly once
 LifecycleExample.solve()
 


Test patch:
diff --git a/HARK/ConsumptionSaving/tests/test_IndShockConsumerType.py b/HARK/ConsumptionSaving/tests/test_IndShockConsumerType.py
index fc0ab45e2..aae33d65a 100644
--- a/HARK/ConsumptionSaving/tests/test_IndShockConsumerType.py
+++ b/HARK/ConsumptionSaving/tests/test_IndShockConsumerType.py
@@ -140,9 +140,9 @@ def test_GICRawFails(self):
         GICRaw_fail_dictionary = dict(self.base_params)
         GICRaw_fail_dictionary["Rfree"] = 1.08
         GICRaw_fail_dictionary["PermGroFac"] = [1.00]
+        GICRaw_fail_dictionary["cycles"] = 0 # cycles=0 makes this an infinite horizon consumer
 
         GICRawFailExample = IndShockConsumerType(
-            cycles=0,  # cycles=0 makes this an infinite horizon consumer
             **GICRaw_fail_dictionary
         )
 
@@ -157,8 +157,8 @@ def test_GICRawFails(self):
         self.assertFalse(GICRawFailExample.conditions["GICRaw"])
 
     def test_infinite_horizon(self):
-        baseEx_inf = IndShockConsumerType(cycles=0, **self.base_params)
-
+        baseEx_inf = IndShockConsumerType(**self.base_params)
+        baseEx_inf.assign_parameters(cycles = 0)
         baseEx_inf.solve()
         baseEx_inf.unpack("cFunc")
 
@@ -229,7 +229,7 @@ def test_infinite_horizon(self):
 class testIndShockConsumerTypeExample(unittest.TestCase):
     def test_infinite_horizon(self):
         IndShockExample = IndShockConsumerType(**IdiosyncDict)
-        IndShockExample.cycles = 0  # Make this type have an infinite horizon
+        IndShockExample.assign_parameters(cycles = 0)  # Make this type have an infinite horizon
         IndShockExample.solve()
 
         self.assertAlmostEqual(IndShockExample.solution[0].mNrmStE, 1.5488165705077026)
@@ -387,7 +387,8 @@ def test_IndShock_stable_points(self):
         # Theory" paper.
 
         # Create and solve the agent
-        baseAgent_Inf = IndShockConsumerType(cycles=0, verbose=0, **bst_params)
+        baseAgent_Inf = IndShockConsumerType(verbose=0, **bst_params)
+        baseAgent_Inf.assign_parameters(cycles = 0)
         baseAgent_Inf.solve()
 
         # Extract stable points
diff --git a/HARK/ConsumptionSaving/tests/test_IndShockConsumerTypeFast.py b/HARK/ConsumptionSaving/tests/test_IndShockConsumerTypeFast.py
index bc7db2822..ae3da7485 100644
--- a/HARK/ConsumptionSaving/tests/test_IndShockConsumerTypeFast.py
+++ b/HARK/ConsumptionSaving/tests/test_IndShockConsumerTypeFast.py
@@ -109,9 +109,9 @@ def test_GICRawFails(self):
         GICRaw_fail_dictionary = dict(self.base_params)
         GICRaw_fail_dictionary["Rfree"] = 1.08
         GICRaw_fail_dictionary["PermGroFac"] = [1.00]
+        GICRaw_fail_dictionary['cycles'] = 0 # cycles=0 makes this an infinite horizon consumer
 
         GICRawFailExample = IndShockConsumerTypeFast(
-            cycles=0,  # cycles=0 makes this an infinite horizon consumer
             **GICRaw_fail_dictionary
         )
 
@@ -126,8 +126,8 @@ def test_GICRawFails(self):
         self.assertFalse(GICRawFailExample.conditions["GICRaw"])
 
     def test_infinite_horizon(self):
-        baseEx_inf = IndShockConsumerTypeFast(cycles=0, **self.base_params)
-
+        baseEx_inf = IndShockConsumerTypeFast(**self.base_params)
+        baseEx_inf.assign_parameters(cycles = 0)
         baseEx_inf.solve()
         baseEx_inf.unpack_cFunc()
 
@@ -157,7 +157,7 @@ def test_infinite_horizon(self):
 class testIndShockConsumerTypeFastExample(unittest.TestCase):
     def test_infinite_horizon(self):
         IndShockExample = IndShockConsumerTypeFast(**IdiosyncDict)
-        IndShockExample.cycles = 0  # Make this type have an infinite horizon
+        IndShockExample.assign_parameters(cycles = 0)  # Make this type have an infinite horizon
         IndShockExample.solve()
 
         self.assertAlmostEqual(IndShockExample.solution[0].mNrmStE, 1.5488165705077026)