Open In Colab

Uncertain Expansion Example Notebook#

1 Preliminaries #

1.1 Model Setup#

\[ \begin{align} X_{t+1} \left( \mathsf{q} \right) = & \hspace{.2cm} \psi^x \left[D_t \left( \mathsf{q} \right), X_{t} \left( \mathsf{q} \right), {\sf q} W_{t+1}, {\sf q} \right], \cr \log G_{t+1} \left( \mathsf{q} \right) - \log G_t \left( \mathsf{q} \right) = & \hspace{.2cm} \psi^g \left[ D_t \left( \mathsf{q} \right), X_{t} \left( \mathsf{q}, \right), {\sf q} W_{t+1}, {\sf q} \right], \cr {\widehat C}_t \left( \mathsf{q} \right) = & \hspace{.2cm} \kappa \left[D_t \left( \mathsf{q} \right), X_{t} \left( \mathsf{q} \right) \right] + {\widehat G}_t \left( \mathsf{q} \right), \cr 0 & = \phi[D_t({\sf q} ), X_t({\sf q})]. \end{align} \]

In addition, there are a set of first-order conditions and co-state equations detailed in Chapter 8 of the book. These are compiled automatically by the code.

1.2 Inputs#

The Expansion Suite uses the function uncertain_expansion to approximate a solution to the above system locally. The user must specify several sets of inputs. Define the relevant variables:

Input

Description

Notation in text

control_variables

Variables chosen by the decision-maker at time \(t\)

\(D_t\)

state_variables

Variables that describe the current state of the system

\(X_t\)

shock_variables

Variables representing different entries of the Brownian motion variable

\(W_t\)

The \(t+1\) variables will be automatically created from this. For example, if a state variable is inputted as Z_t, an additional state variable Z_tp1 will be automatically generated. We also need to define the equilibrium conditions:

Input

Description

Notation in text

kappa

Log share of capital not allocated to consumption

\(\kappa(X_t(q),D_t(q))\)

growth

Law of motion for \(\hat{G}_{t+1}-\hat{G}_t\)

\(\psi^g(D_t(q),X_t(q),qW_{t+1},q)\)

state_equations

Law of motion for state variables

\(\psi^x(D_t(q),X_t(q),qW_{t+1},q)\)

static_constraints

Vector of constraints applying to time \(t\) variables

\(\phi (D_t(q),X_t(q))\)

The remaining equilibrium conditions will be automatically computed by the code. The user must also define a list of parameters and their corresponding values. This can be done by specifying pairs of inputs such as beta = 0.99 or gamma = 8 within the body of the function create_args. Note that for some parameters, notably rho and gamma, inputting 1 may cause divide-by-zero issues, so we recommend inputting 1.01 instead.

Note that the user must define the variables and parameters before defining the equations. Make sure that the equations use the same expressions for variables and parameters as previously defined by the user.

The output is of class ModelSolution, which stores the coefficients for the linear-quadratic approximation for the jump and state variables; continuation values; consumption growth; and log change of measure, as well as the steady-state values of each variables.


2 Example#

We will now walk through the computation using the example from Section 8.7.1. Begin by installing the following libraries and downloading RiskUncertaintyValue, which contains the functions required to solve the model:

import os
import sys
import sympy as sp
workdir = os.getcwd()
# !git clone https://github.com/lphansen/RiskUncertaintyValue 
# workdir = os.getcwd() + '/RiskUncertaintyValue_old'             
# workdir = os.getcwd() + '/RiskUncertaintyValue_general'         
workdir = os.getcwd() + '/RiskUncertaintyValue'            
sys.path.insert(0, workdir+'/src')                        
import numpy as np
import seaborn as sns
import autograd.numpy as anp
from scipy import optimize
np.set_printoptions(suppress=True)
np.set_printoptions(linewidth=200)
from IPython.display import display, HTML
from BY_example_sol import disp
display(HTML("<style>.container { width:97% !important; }</style>"))
import warnings
warnings.filterwarnings("ignore")
import matplotlib.pyplot as plt
from scipy.stats import norm

from lin_quad import LinQuadVar
from lin_quad_util import E, concat, next_period, cal_E_ww, lq_sum, N_tilde_measure, E_N_tp1, log_E_exp, kron_prod, distance
from utilities import mat, vec, sym
from uncertain_expansion import uncertain_expansion, generate_symbols_and_args, compile_equations, get_parameter_value, \
    generate_ss_function, automate_step_1, change_parameter_value
from elasticity import exposure_elasticity, price_elasticity
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
np.set_printoptions(suppress=True)
import pickle
import pandas as pd
from scipy.optimize import fsolve
# import sympy as sp

2.1 Parameters#

Use the following function to define and set the values for your parameters.

def create_args():
    # Define parameters here
    sigma_k1 = 0.92 * anp.sqrt(3)
    sigma_k2 = 0.4 * anp.sqrt(3)
    sigma_k3 = 0.0
    sigma_z1 = 0.0
    sigma_z2 = 5.7 * anp.sqrt(3)
    sigma_z3 = 0.0
    sigma_y1 = 0.0
    sigma_y2 = 0.0
    sigma_y3 = 0.00031 * anp.sqrt(3)
    
    # Base parameters
    delta = 0.01/4
    a = 0.0922
    epsilon = 1.0
    gamma = 1.001                        #Do not change this name
    rho = 1.001                            #Do not change this name
    beta = anp.exp(-epsilon * delta)     #Do not change this name
    
    # Capital evolution parameters
    phi_1 = 1 / 8 /4
    phi_2 = 8.0
    beta_k = 0.04 /4
    alpha_k = 0.04 /4
    
    # Other states
    beta_z = 0.056 /4
    beta_2 = 0.194 /4
    mu_2 = 6.3 * (10**(-6))
    
    # Return as a dictionary
    return locals()

2.2 Variables#

Define your variables as below. You may only have one growth variable and one perturbation variable. Apart from this, you may add more variables to the list as you wish.

Control variable : \(i = \frac{I_{k,t}}{K_t}\)

State variable: \(X = [Z_1, Z_2]\)

# Define variable names
control_variables = ["imk_t"]
state_variables = ["Z_t", "Y_t"]
growth_variables = ["log_gk_t"]
perturbation_variable = ["q_t"]
shock_variables = ["W1_t", "W2_t", "W3_t"]

The user does not need to change the following code, which creates symbols for the defined parameters and variables.

parameter_names, args = generate_symbols_and_args(create_args)
globals().update(parameter_names)
variables = control_variables + state_variables + growth_variables + perturbation_variable + shock_variables
variables_tp1 = [var + "p1" for var in variables]
symbols = {var: sp.Symbol(var) for var in variables + variables_tp1}
globals().update(symbols)  

2.3 Define Equilibrium Conditions#

Ensure that you use the same names for your variables and parameters from before. You must have one output constraint and one capital growth equation, but you may add as many state equations as you wish. The first-order conditions and co-state equations will be automatically handled and do not need to be specified. The following equations are taken from Section 8.7.1.

# Output constraint
kappa = sp.log(a - imk_t)

# Capital growth equation
growth = epsilon * (phi_1 * sp.log(1. + phi_2 * imk_t) - alpha_k + beta_k * Z_t \
                      - q_t**2 * 0.5 * (sigma_k1**2 + sigma_k2**2 + sigma_k3**2) * sp.exp(Y_t)) \
                      + sp.sqrt(epsilon) * sp.exp(0.5 * Y_t) * (sigma_k1 * W1_tp1 + sigma_k2 * W2_tp1 + sigma_k3 * W3_tp1)       

# Technology growth equation
technology_growth = Z_t - epsilon * beta_z * Z_t \
                                + sp.sqrt(epsilon) * sp.exp(0.5 * Y_t) * (sigma_z1 * W1_tp1 + sigma_z2 * W2_tp1 + sigma_z3 * W3_tp1)

# Volatility growth equation
volatility_growth = Y_t - epsilon * beta_2 * (1 - mu_2 * sp.exp(-Y_t)) \
                          - q_t**2 * 0.5 * (sigma_y1**2 + sigma_y2**2 + sigma_y3**2) * sp.exp(-Y_t) * epsilon \
                          + sp.exp(-0.5 * Y_t) * (sigma_y1 * W1_tp1 + sigma_y2 * W2_tp1 + sigma_y3 * W3_tp1) * sp.sqrt(epsilon)

# State equations
state_equations = [technology_growth, volatility_growth]

2.4 Code Settings#

You may additionally set the following:

  • Initial guess for steady-state variables. This must have the same length as the number of variables

  • Recursive terms initialization. These are initializations for terms like \(\log N_t^*\) and \(\hat{R}_t-\hat{V}_t\), which may be loaded from a previous solution.

  • Convergence tolerance. How small the maximum error across the approximated terms must be before the algorithm is considered to have converged.

  • Maximum iterations. The maximum number of iterations for the algorithm can take.

  • Save location. Save the model solution to this location so that it can be accessed later.

The order of the initial guess is as follows: $\( \left[ {\widehat V_t} - {\widehat C_t}, \widehat C_t - \widehat K_t, D_t, MX_t, MG_t, \widehat G_{t+1} - \widehat G_t, X_t \right] \)$

# Initial guess for the solution: the order is:

initial_guess = np.concatenate([np.array([-2.1968994 ,  -4.123193  ,  anp.exp(-2.57692626)]),np.ones(3),np.array([0.01937842, 0.        , -11.97496092])])

savepath = None
init_util = None
iter_tol = 1e-4
max_iter = 500

#Code for loading pre-solution
# with open(savepath,'rb') as f:
#     preload = pickle.load(f)
# init_util = preload['util_sol']

2.5 Run Code#

You are now ready to run the function uncertain_expansion. You do not need to change anything in the following code.

Note

The code uses a nonlinear equation solver to solve for the steady state values of each variable. Sometimes this can fail. In these instances, we suggest the following:

  1. Change the initial values. If the code breaks immediately, this is a sign that your the equations cannot be evaluated at the vector of initial values provided.

  2. Change the set of equations provided. It may help to perform a log transformation or reduce the number of equations by substituting manually.

  3. If all else fails, the user may solve for the steady state independently and input the solution as initial_guess. The rest of the code should work as intended.

ModelSol = uncertain_expansion(control_variables, state_variables, shock_variables, variables, variables_tp1,
                            kappa, growth, state_equations, initial_guess, parameter_names,
                            args, approach = '1', init_util = init_util, iter_tol = iter_tol, max_iter = max_iter,
                            savepath=savepath)
Hide code cell output
[Z_tp1, Y_tp1, log_gk_tp1]
[-sqrt(epsilon)*(W1_tp1*sigma_k1 + W2_tp1*sigma_k2 + W3_tp1*sigma_k3)*exp(0.5*Y_t) - epsilon*(Z_t*beta_k - alpha_k + phi_1*log(imk_t*phi_2 + 1.0) - 0.5*q_t**2*(sigma_k1**2 + sigma_k2**2 + sigma_k3**2)*exp(Y_t)) + log_gk_tp1, Z_t*beta_z*epsilon - Z_t + Z_tp1 - sqrt(epsilon)*(W1_tp1*sigma_z1 + W2_tp1*sigma_z2 + W3_tp1*sigma_z3)*exp(0.5*Y_t), -Y_t + Y_tp1 + beta_2*epsilon*(-mu_2*exp(-Y_t) + 1) - sqrt(epsilon)*(W1_tp1*sigma_y1 + W2_tp1*sigma_y2 + W3_tp1*sigma_y3)*exp(-0.5*Y_t) + 0.5*epsilon*q_t**2*(sigma_y1**2 + sigma_y2**2 + sigma_y3**2)*exp(-Y_t)]
Variable Dictionary:
  vmk_t: -2.1968994
  log_cmk_t: -4.123193
  imk_t: 0.07600727192876003
  m0_t: 1.0
  m1_t: 1.0
  mg_t: 1.0
  log_gk_t: 0.01937842
  Z_t: 0.0
  Y_t: -11.97496092

Substituted Equations:
  Equation 1: 0.0000145154923780911
  Equation 2: 2.20139613205106E-8
  Equation 3: 0.000581045184137569
  Equation 4: -0.00650614261990664
  Equation 5: -0.0508941711674630
  Equation 6: -0.0000145154923780911
  Equation 7: 0.0145338153483628
  Equation 8: 0
  Equation 9: 2.21489222795856E-10
Variable Dictionary:
  vmk_t: -2.1968994
  log_cmk_t: -4.123193
  imk_t: 0.07600727192876003
  m0_t: 1.0
  m1_t: 1.0
  mg_t: 1.0
  log_gk_t: 0.01937842
  Z_t: 0.0
  Y_t: -11.97496092

Substituted Equations:
  Equation 1: 0.0000145154923780911
  Equation 2: 2.20139613205106E-8
  Equation 3: 0.000581045184137569
  Equation 4: -0.00650614261990664
  Equation 5: -0.0508941711674630
  Equation 6: -0.0000145154923780911
  Equation 7: 0.0145338153483628
  Equation 8: 0
  Equation 9: 2.21489222795856E-10
Variable Dictionary:
  vmk_t: -2.1968994
  log_cmk_t: -4.123193
  imk_t: 0.07600727192876003
  m0_t: 1.0
  m1_t: 1.0
  mg_t: 1.0
  log_gk_t: 0.01937842
  Z_t: 0.0
  Y_t: -11.97496092

Substituted Equations:
  Equation 1: 0.0000145154923780911
  Equation 2: 2.20139613205106E-8
  Equation 3: 0.000581045184137569
  Equation 4: -0.00650614261990664
  Equation 5: -0.0508941711674630
  Equation 6: -0.0000145154923780911
  Equation 7: 0.0145338153483628
  Equation 8: 0
  Equation 9: 2.21489222795856E-10
Variable Dictionary:
  vmk_t: -2.1968993672636477
  log_cmk_t: -4.123193
  imk_t: 0.07600727192876003
  m0_t: 1.0
  m1_t: 1.0
  mg_t: 1.0
  log_gk_t: 0.01937842
  Z_t: 0.0
  Y_t: -11.97496092

Substituted Equations:
  Equation 1: 0.0000145154922961948
  Equation 2: 2.20139613205106E-8
  Equation 3: 0.000581045179079975
  Equation 4: -0.00650614261990664
  Equation 5: -0.0508941711674630
  Equation 6: -0.0000145154922961948
  Equation 7: 0.0145338153483628
  Equation 8: 0
  Equation 9: 2.21489222795856E-10
Variable Dictionary:
  vmk_t: -2.1968994
  log_cmk_t: -4.123192938559636
  imk_t: 0.07600727192876003
  m0_t: 1.0
  m1_t: 1.0
  mg_t: 1.0
  log_gk_t: 0.01937842
  Z_t: 0.0
  Y_t: -11.97496092

Substituted Equations:
  Equation 1: 0.0000145154925317954
  Equation 2: 8.34543252281605E-8
  Equation 3: 0.000581045193629781
  Equation 4: -0.00650614261990664
  Equation 5: -0.0508941711674630
  Equation 6: -0.0000145154925317954
  Equation 7: 0.0145338153483628
  Equation 8: 0
  Equation 9: 2.21489222795856E-10
Variable Dictionary:
  vmk_t: -2.1968994
  log_cmk_t: -4.123193
  imk_t: 0.07600727306135664
  m0_t: 1.0
  m1_t: 1.0
  mg_t: 1.0
  log_gk_t: 0.01937842
  Z_t: 0.0
  Y_t: -11.97496092

Substituted Equations:
  Equation 1: 0.0000145154923780911
  Equation 2: 9.19587321845938E-8
  Equation 3: 0.000581033504244238
  Equation 4: -0.00650614261990664
  Equation 5: -0.0508941711674630
  Equation 6: -0.0000145154923780911
  Equation 7: 0.0145338151722814
  Equation 8: 0
  Equation 9: 2.21489222795856E-10
Variable Dictionary:
  vmk_t: -2.1968994
  log_cmk_t: -4.123193
  imk_t: 0.07600727192876003
  m0_t: 1.0000000149011612
  m1_t: 1.0
  mg_t: 1.0
  log_gk_t: 0.01937842
  Z_t: 0.0
  Y_t: -11.97496092

Substituted Equations:
  Equation 1: 0.0000145154923780911
  Equation 2: 2.20139613205106E-8
  Equation 3: 0.000581045184137569
  Equation 4: -0.00650614286549239
  Equation 5: -0.0508941711674630
  Equation 6: -0.0000145154923780911
  Equation 7: 0.0145338153483628
  Equation 8: 0
  Equation 9: 2.21489222795856E-10
Variable Dictionary:
  vmk_t: -2.1968994
  log_cmk_t: -4.123193
  imk_t: 0.07600727192876003
  m0_t: 1.0
  m1_t: 1.0000000149011612
  mg_t: 1.0
  log_gk_t: 0.01937842
  Z_t: 0.0
  Y_t: -11.97496092

Substituted Equations:
  Equation 1: 0.0000145154923780911
  Equation 2: 2.20139613205106E-8
  Equation 3: 0.000581045184137569
  Equation 4: -0.00650614261990664
  Equation 5: -0.0508941719258452
  Equation 6: -0.0000145154923780911
  Equation 7: 0.0145338153483628
  Equation 8: 0
  Equation 9: 2.21489222795856E-10
Variable Dictionary:
  vmk_t: -2.1968994
  log_cmk_t: -4.123193
  imk_t: 0.07600727192876003
  m0_t: 1.0
  m1_t: 1.0
  mg_t: 1.0000000149011612
  log_gk_t: 0.01937842
  Z_t: 0.0
  Y_t: -11.97496092

Substituted Equations:
  Equation 1: 0.0000145154923780911
  Equation 2: 2.20139613205106E-8
  Equation 3: 0.000581047494947445
  Equation 4: -0.00650614247126997
  Equation 5: -0.0508941711674630
  Equation 6: -0.0000145155298725040
  Equation 7: 0.0145338153483628
  Equation 8: 0
  Equation 9: 2.21489222795856E-10
Variable Dictionary:
  vmk_t: -2.1968994
  log_cmk_t: -4.123193
  imk_t: 0.07600727192876003
  m0_t: 1.0
  m1_t: 1.0
  mg_t: 1.0
  log_gk_t: 0.01937842028876096
  Z_t: 0.0
  Y_t: -11.97496092

Substituted Equations:
  Equation 1: 0.0000145154926661940
  Equation 2: 2.20139613205106E-8
  Equation 3: 0.000581045184092771
  Equation 4: -0.00650614262019363
  Equation 5: -0.0508941711677371
  Equation 6: -0.0000145154926661940
  Equation 7: 0.0145338156371238
  Equation 8: 0
  Equation 9: 2.21489222795856E-10
Variable Dictionary:
  vmk_t: -2.1968994
  log_cmk_t: -4.123193
  imk_t: 0.07600727192876003
  m0_t: 1.0
  m1_t: 1.0
  mg_t: 1.0
  log_gk_t: 0.01937842
  Z_t: 1.4901161193880158e-08
  Y_t: -11.97496092

Substituted Equations:
  Equation 1: 0.0000145154923780911
  Equation 2: 2.20139613205106E-8
  Equation 3: 0.000581045184137569
  Equation 4: -0.00650614261990664
  Equation 5: -0.0508941711674630
  Equation 6: -0.0000145154923780911
  Equation 7: 0.0145338151993512
  Equation 8: 2.08616256714322E-10
  Equation 9: 2.21489222795856E-10
Variable Dictionary:
  vmk_t: -2.1968994
  log_cmk_t: -4.123193
  imk_t: 0.07600727192876003
  m0_t: 1.0
  m1_t: 1.0
  mg_t: 1.0
  log_gk_t: 0.01937842
  Z_t: 0.0
  Y_t: -11.974960741559176

Substituted Equations:
  Equation 1: 0.0000145154923780911
  Equation 2: 2.20139613205106E-8
  Equation 3: 0.000581045184137569
  Equation 4: -0.00650614261990664
  Equation 5: -0.0508941625348600
  Equation 6: -0.0000145154923780911
  Equation 7: 0.0145338153483628
  Equation 8: 0
  Equation 9: 8.87586832504228E-9
Variable Dictionary:
  vmk_t: -2.190969671823048
  log_cmk_t: -4.126677382067626
  imk_t: 0.07606369322178491
  m0_t: 0.6061091869275164
  m1_t: 0.00027091309285176557
  mg_t: 1.0
  log_gk_t: 0.004853376275452266
  Z_t: 0.0
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 3.34013856026841E-9
  Equation 2: 0.00000608440719052084
  Equation 3: -0.00000187658854466921
  Equation 4: -0.00000563217594579807
  Equation 5: -0.0000137841625971271
  Equation 6: -3.34013856026841E-9
  Equation 7: 1.20480242449261E-9
  Equation 8: 0
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.1896408239047855
  log_cmk_t: -4.126671003857404
  imk_t: 0.07606349139493146
  m0_t: 0.605767370898716
  m1_t: 1.0526260585288875e-08
  mg_t: 1.0
  log_gk_t: 0.004853343692950123
  Z_t: 0.0
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: -8.07718909118238E-13
  Equation 2: -4.49280905812088E-8
  Equation 3: 1.31242751666427E-8
  Equation 4: -3.57598943685755E-9
  Equation 5: -5.35580195965482E-10
  Equation 6: 8.07718909118238E-13
  Equation 7: -9.07102951780425E-12
  Equation 8: 0
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.1896410969301474
  log_cmk_t: -4.126671037648796
  imk_t: 0.07606349266754037
  m0_t: 0.6057671544702979
  m1_t: -1.3428522154266637e-11
  mg_t: 1.0
  log_gk_t: 0.004853343899843996
  Z_t: 0.0
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: -2.72091377206962E-15
  Equation 2: 1.45716327892842E-10
  Equation 3: -4.67853811247920E-11
  Equation 4: -1.22541490843453E-11
  Equation 5: 6.83248383285139E-13
  Equation 6: 2.72091377206962E-15
  Equation 7: 2.94608087925141E-14
  Equation 8: 0
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.1896410981754433
  log_cmk_t: -4.126671037516452
  imk_t: 0.07606349266305397
  m0_t: 0.6057671537273439
  m1_t: -1.7210410799997146e-14
  mg_t: 1.0
  log_gk_t: 0.00485334389911725
  Z_t: 0.0
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: -5.11743425413158E-17
  Equation 2: 3.28626015289046E-14
  Equation 3: -8.35442826030430E-15
  Equation 4: -1.96734989410530E-14
  Equation 5: 8.75672335323573E-16
  Equation 6: 5.11743425413158E-17
  Equation 7: 7.80625564189563E-18
  Equation 8: 0
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.1896410981754433
  log_cmk_t: -4.126671037516452
  imk_t: 0.07606349266305397
  m0_t: 0.6057671537273439
  m1_t: -1.7210410799997146e-14
  mg_t: 1.0
  log_gk_t: 0.00485334389911725
  Z_t: 0.0
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: -5.11743425413158E-17
  Equation 2: 3.28626015289046E-14
  Equation 3: -8.35442826030430E-15
  Equation 4: -1.96734989410530E-14
  Equation 5: 8.75672335323573E-16
  Equation 6: 5.11743425413158E-17
  Equation 7: 7.80625564189563E-18
  Equation 8: 0
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.1968994
  log_cmk_t: -4.123193
  imk_t: 0.07600727192876003
  m0_t: 1.0
  m1_t: 1.0
  mg_t: 1.0
  log_gk_t: 0.01937842
  Z_t: 0.0
  Y_t: -11.97496092

Substituted Equations:
  Equation 1: 0.0000145154923780911
  Equation 2: 2.20139613205106E-8
  Equation 3: 0.000581045184137569
  Equation 4: -0.00650614261990664
  Equation 5: -0.0508941711674630
  Equation 6: -0.0000145154923780911
  Equation 7: 0.0145338153483628
  Equation 8: 0
  Equation 9: 2.21489222795856E-10
Variable Dictionary:
  vmk_t: -2.1968994
  log_cmk_t: -4.123193
  imk_t: 0.07600727192876003
  m0_t: 1.0
  m1_t: 1.0
  mg_t: 1.0
  log_gk_t: 0.01937842
  Z_t: 0.0
  Y_t: -11.97496092

Substituted Equations:
  Equation 1: 0.0000145154923780911
  Equation 2: 2.20139613205106E-8
  Equation 3: 0.000581045184137569
  Equation 4: -0.00650614261990664
  Equation 5: -0.0508941711674630
  Equation 6: -0.0000145154923780911
  Equation 7: 0.0145338153483628
  Equation 8: 0
  Equation 9: 2.21489222795856E-10
Variable Dictionary:
  vmk_t: -2.1968994
  log_cmk_t: -4.123193
  imk_t: 0.07600727192876003
  m0_t: 1.0
  m1_t: 1.0
  mg_t: 1.0
  log_gk_t: 0.01937842
  Z_t: 0.0
  Y_t: -11.97496092

Substituted Equations:
  Equation 1: 0.0000145154923780911
  Equation 2: 2.20139613205106E-8
  Equation 3: 0.000581045184137569
  Equation 4: -0.00650614261990664
  Equation 5: -0.0508941711674630
  Equation 6: -0.0000145154923780911
  Equation 7: 0.0145338153483628
  Equation 8: 0
  Equation 9: 2.21489222795856E-10
Variable Dictionary:
  vmk_t: -2.1968993672636477
  log_cmk_t: -4.123193
  imk_t: 0.07600727192876003
  m0_t: 1.0
  m1_t: 1.0
  mg_t: 1.0
  log_gk_t: 0.01937842
  Z_t: 0.0
  Y_t: -11.97496092

Substituted Equations:
  Equation 1: 0.0000145154922961948
  Equation 2: 2.20139613205106E-8
  Equation 3: 0.000581045179079975
  Equation 4: -0.00650614261990664
  Equation 5: -0.0508941711674630
  Equation 6: -0.0000145154922961948
  Equation 7: 0.0145338153483628
  Equation 8: 0
  Equation 9: 2.21489222795856E-10
Variable Dictionary:
  vmk_t: -2.1968994
  log_cmk_t: -4.123192938559636
  imk_t: 0.07600727192876003
  m0_t: 1.0
  m1_t: 1.0
  mg_t: 1.0
  log_gk_t: 0.01937842
  Z_t: 0.0
  Y_t: -11.97496092

Substituted Equations:
  Equation 1: 0.0000145154925317954
  Equation 2: 8.34543252281605E-8
  Equation 3: 0.000581045193629781
  Equation 4: -0.00650614261990664
  Equation 5: -0.0508941711674630
  Equation 6: -0.0000145154925317954
  Equation 7: 0.0145338153483628
  Equation 8: 0
  Equation 9: 2.21489222795856E-10
Variable Dictionary:
  vmk_t: -2.1968994
  log_cmk_t: -4.123193
  imk_t: 0.07600727306135664
  m0_t: 1.0
  m1_t: 1.0
  mg_t: 1.0
  log_gk_t: 0.01937842
  Z_t: 0.0
  Y_t: -11.97496092

Substituted Equations:
  Equation 1: 0.0000145154923780911
  Equation 2: 9.19587321845938E-8
  Equation 3: 0.000581033504244238
  Equation 4: -0.00650614261990664
  Equation 5: -0.0508941711674630
  Equation 6: -0.0000145154923780911
  Equation 7: 0.0145338151722814
  Equation 8: 0
  Equation 9: 2.21489222795856E-10
Variable Dictionary:
  vmk_t: -2.1968994
  log_cmk_t: -4.123193
  imk_t: 0.07600727192876003
  m0_t: 1.0000000149011612
  m1_t: 1.0
  mg_t: 1.0
  log_gk_t: 0.01937842
  Z_t: 0.0
  Y_t: -11.97496092

Substituted Equations:
  Equation 1: 0.0000145154923780911
  Equation 2: 2.20139613205106E-8
  Equation 3: 0.000581045184137569
  Equation 4: -0.00650614286549239
  Equation 5: -0.0508941711674630
  Equation 6: -0.0000145154923780911
  Equation 7: 0.0145338153483628
  Equation 8: 0
  Equation 9: 2.21489222795856E-10
Variable Dictionary:
  vmk_t: -2.1968994
  log_cmk_t: -4.123193
  imk_t: 0.07600727192876003
  m0_t: 1.0
  m1_t: 1.0000000149011612
  mg_t: 1.0
  log_gk_t: 0.01937842
  Z_t: 0.0
  Y_t: -11.97496092

Substituted Equations:
  Equation 1: 0.0000145154923780911
  Equation 2: 2.20139613205106E-8
  Equation 3: 0.000581045184137569
  Equation 4: -0.00650614261990664
  Equation 5: -0.0508941719258452
  Equation 6: -0.0000145154923780911
  Equation 7: 0.0145338153483628
  Equation 8: 0
  Equation 9: 2.21489222795856E-10
Variable Dictionary:
  vmk_t: -2.1968994
  log_cmk_t: -4.123193
  imk_t: 0.07600727192876003
  m0_t: 1.0
  m1_t: 1.0
  mg_t: 1.0000000149011612
  log_gk_t: 0.01937842
  Z_t: 0.0
  Y_t: -11.97496092

Substituted Equations:
  Equation 1: 0.0000145154923780911
  Equation 2: 2.20139613205106E-8
  Equation 3: 0.000581047494947445
  Equation 4: -0.00650614247126997
  Equation 5: -0.0508941711674630
  Equation 6: -0.0000145155298725040
  Equation 7: 0.0145338153483628
  Equation 8: 0
  Equation 9: 2.21489222795856E-10
Variable Dictionary:
  vmk_t: -2.1968994
  log_cmk_t: -4.123193
  imk_t: 0.07600727192876003
  m0_t: 1.0
  m1_t: 1.0
  mg_t: 1.0
  log_gk_t: 0.01937842028876096
  Z_t: 0.0
  Y_t: -11.97496092

Substituted Equations:
  Equation 1: 0.0000145154926661940
  Equation 2: 2.20139613205106E-8
  Equation 3: 0.000581045184092771
  Equation 4: -0.00650614262019363
  Equation 5: -0.0508941711677371
  Equation 6: -0.0000145154926661940
  Equation 7: 0.0145338156371238
  Equation 8: 0
  Equation 9: 2.21489222795856E-10
Variable Dictionary:
  vmk_t: -2.1968994
  log_cmk_t: -4.123193
  imk_t: 0.07600727192876003
  m0_t: 1.0
  m1_t: 1.0
  mg_t: 1.0
  log_gk_t: 0.01937842
  Z_t: 1.4901161193880158e-08
  Y_t: -11.97496092

Substituted Equations:
  Equation 1: 0.0000145154923780911
  Equation 2: 2.20139613205106E-8
  Equation 3: 0.000581045184137569
  Equation 4: -0.00650614261990664
  Equation 5: -0.0508941711674630
  Equation 6: -0.0000145154923780911
  Equation 7: 0.0145338151993512
  Equation 8: 2.08616256714322E-10
  Equation 9: 2.21489222795856E-10
Variable Dictionary:
  vmk_t: -2.1968994
  log_cmk_t: -4.123193
  imk_t: 0.07600727192876003
  m0_t: 1.0
  m1_t: 1.0
  mg_t: 1.0
  log_gk_t: 0.01937842
  Z_t: 0.0
  Y_t: -11.974960741559176

Substituted Equations:
  Equation 1: 0.0000145154923780911
  Equation 2: 2.20139613205106E-8
  Equation 3: 0.000581045184137569
  Equation 4: -0.00650614261990664
  Equation 5: -0.0508941625348600
  Equation 6: -0.0000145154923780911
  Equation 7: 0.0145338153483628
  Equation 8: 0
  Equation 9: 8.87586832504228E-9
Variable Dictionary:
  vmk_t: -2.190969671823048
  log_cmk_t: -4.126677382067626
  imk_t: 0.07606369322178491
  m0_t: 0.6061091869275164
  m1_t: 0.00027091309285176557
  mg_t: 1.0
  log_gk_t: 0.004853376275452266
  Z_t: 0.0
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 3.34013856026841E-9
  Equation 2: 0.00000608440719052084
  Equation 3: -0.00000187658854466921
  Equation 4: -0.00000563217594579807
  Equation 5: -0.0000137841625971271
  Equation 6: -3.34013856026841E-9
  Equation 7: 1.20480242449261E-9
  Equation 8: 0
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.1896408239047855
  log_cmk_t: -4.126671003857404
  imk_t: 0.07606349139493146
  m0_t: 0.605767370898716
  m1_t: 1.0526260585288875e-08
  mg_t: 1.0
  log_gk_t: 0.004853343692950123
  Z_t: 0.0
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: -8.07718909118238E-13
  Equation 2: -4.49280905812088E-8
  Equation 3: 1.31242751666427E-8
  Equation 4: -3.57598943685755E-9
  Equation 5: -5.35580195965482E-10
  Equation 6: 8.07718909118238E-13
  Equation 7: -9.07102951780425E-12
  Equation 8: 0
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.1896410969301474
  log_cmk_t: -4.126671037648796
  imk_t: 0.07606349266754037
  m0_t: 0.6057671544702979
  m1_t: -1.3428522154266637e-11
  mg_t: 1.0
  log_gk_t: 0.004853343899843996
  Z_t: 0.0
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: -2.72091377206962E-15
  Equation 2: 1.45716327892842E-10
  Equation 3: -4.67853811247920E-11
  Equation 4: -1.22541490843453E-11
  Equation 5: 6.83248383285139E-13
  Equation 6: 2.72091377206962E-15
  Equation 7: 2.94608087925141E-14
  Equation 8: 0
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.1896410981754433
  log_cmk_t: -4.126671037516452
  imk_t: 0.07606349266305397
  m0_t: 0.6057671537273439
  m1_t: -1.7210410799997146e-14
  mg_t: 1.0
  log_gk_t: 0.00485334389911725
  Z_t: 0.0
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: -5.11743425413158E-17
  Equation 2: 3.28626015289046E-14
  Equation 3: -8.35442826030430E-15
  Equation 4: -1.96734989410530E-14
  Equation 5: 8.75672335323573E-16
  Equation 6: 5.11743425413158E-17
  Equation 7: 7.80625564189563E-18
  Equation 8: 0
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.1896410981754433
  log_cmk_t: -4.126671037516452
  imk_t: 0.07606349266305397
  m0_t: 0.6057671537273439
  m1_t: -1.7210410799997146e-14
  mg_t: 1.0
  log_gk_t: 0.00485334389911725
  Z_t: 0.0
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: -5.11743425413158E-17
  Equation 2: 3.28626015289046E-14
  Equation 3: -8.35442826030430E-15
  Equation 4: -1.96734989410530E-14
  Equation 5: 8.75672335323573E-16
  Equation 6: 5.11743425413158E-17
  Equation 7: 7.80625564189563E-18
  Equation 8: 0
  Equation 9: 1.38777878078145E-17
Iteration 1: mu_0 error = 5.75982404e-20
Iteration 1: J1 error = 0.000561672114
Iteration 1: J2 error = 0.000554623791
Iteration 1: error = 0.000561672114
Iteration 2: mu_0 error = 7.79270311e-20
Iteration 2: J1 error = 8.52838789e-08
Iteration 2: J2 error = 7.83537071e-08
Iteration 2: error = 8.52838789e-08

You can also run the model solution for different parameters using code like the one displayed below, which loops over values of \(\gamma\) and \(\rho\) and saves them to appropriately named outputs:

preload_path = '/Users/chh/BFI Dropbox/Chun Hei Hung/QuantMFR/notebook_chapters/uncertainty_expansion/output/rho_two_thirds/single_capital_gamma_1.001_rho_1.5.pkl'
with open(preload_path,'rb') as f:
    preload = pickle.load(f)
init_util = preload['util_sol']
gamma_values = [1.001, 8.001]
rho_values = [1.001, 1.5]
gamma_values = [8.001]


initial_guess = np.concatenate([np.array([-2.1968994 ,  -4.123193  ,  anp.exp(-2.57692626)]),np.ones(3),np.array([0.01937842, 0.        , -11.97496092])])

# rho_values = [2.0]
rho_values = np.arange(2.1,3.1,0.1)
output_folder = 'output/rho_two_thirds/'
preloadpath = output_folder+'single_capital_gamma_{}_rho_{}.pkl'.format(8.001,2.0)

for gamma_i in gamma_values:
    for llambda_i in rho_values:
        args = change_parameter_value('gamma', parameter_names, args, gamma_i)
        args = change_parameter_value('rho', parameter_names, args, llambda_i)
        # preloadpath = output_folder+'single_capital_gamma_{}_rho_{}.pkl'.format(1.001, 0.9)
        if preloadpath:
            with open(preloadpath,'rb') as f:
                preload = pickle.load(f)
            initial_guess = np.concatenate([np.array([-3.40379947]),preload['ss']])
        if not os.path.exists(output_folder):
            os.makedirs(output_folder)
            print(f"Created output folder at: {output_folder}")
        savepath = output_folder+'/single_capital_gamma_{}_rho_{}.pkl'.format(gamma_i, llambda_i)
        uncertain_expansion(control_variables, state_variables, shock_variables, variables, variables_tp1,
                            kappa, growth, state_equations, initial_guess, parameter_names,
                            args, approach = '1', init_util = init_util, iter_tol = iter_tol, max_iter = max_iter,
                            savepath=savepath)
        preloadpath = savepath
        
Hide code cell output
[Z_tp1, Y_tp1, log_gk_tp1]
[-sqrt(epsilon)*(W1_tp1*sigma_k1 + W2_tp1*sigma_k2 + W3_tp1*sigma_k3)*exp(0.5*Y_t) - epsilon*(Z_t*beta_k - alpha_k + phi_1*log(imk_t*phi_2 + 1.0) - 0.5*q_t**2*(sigma_k1**2 + sigma_k2**2 + sigma_k3**2)*exp(Y_t)) + log_gk_tp1, Z_t*beta_z*epsilon - Z_t + Z_tp1 - sqrt(epsilon)*(W1_tp1*sigma_z1 + W2_tp1*sigma_z2 + W3_tp1*sigma_z3)*exp(0.5*Y_t), -Y_t + Y_tp1 + beta_2*epsilon*(-mu_2*exp(-Y_t) + 1) - sqrt(epsilon)*(W1_tp1*sigma_y1 + W2_tp1*sigma_y2 + W3_tp1*sigma_y3)*exp(-0.5*Y_t) + 0.5*epsilon*q_t**2*(sigma_y1**2 + sigma_y2**2 + sigma_y3**2)*exp(-Y_t)]
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4950343783723623
  imk_t: 0.061852294886018316
  m0_t: 0.5242331012600867
  m1_t: -1.319443215259596e-68
  mg_t: 1.0
  log_gk_t: 0.0025626468913550384
  Z_t: -3.223035666703564e-113
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00254432553260103
  Equation 2: 0
  Equation 3: 0.0753959374477400
  Equation 4: -0.000134325220588406
  Equation 5: 7.06528972361289E-70
  Equation 6: -0.00254432553260103
  Equation 7: -1.73472347597681E-18
  Equation 8: -4.51224993338499E-115
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4950343783723623
  imk_t: 0.061852294886018316
  m0_t: 0.5242331012600867
  m1_t: -1.319443215259596e-68
  mg_t: 1.0
  log_gk_t: 0.0025626468913550384
  Z_t: -3.223035666703564e-113
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00254432553260103
  Equation 2: 0
  Equation 3: 0.0753959374477400
  Equation 4: -0.000134325220588406
  Equation 5: 7.06528972361289E-70
  Equation 6: -0.00254432553260103
  Equation 7: -1.73472347597681E-18
  Equation 8: -4.51224993338499E-115
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4950343783723623
  imk_t: 0.061852294886018316
  m0_t: 0.5242331012600867
  m1_t: -1.319443215259596e-68
  mg_t: 1.0
  log_gk_t: 0.0025626468913550384
  Z_t: -3.223035666703564e-113
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00254432553260103
  Equation 2: 0
  Equation 3: 0.0753959374477400
  Equation 4: -0.000134325220588406
  Equation 5: 7.06528972361289E-70
  Equation 6: -0.00254432553260103
  Equation 7: -1.73472347597681E-18
  Equation 8: -4.51224993338499E-115
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.4037994192794354
  log_cmk_t: -3.4950343783723623
  imk_t: 0.061852294886018316
  m0_t: 0.5242331012600867
  m1_t: -1.319443215259596e-68
  mg_t: 1.0
  log_gk_t: 0.0025626468913550384
  Z_t: -3.223035666703564e-113
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00254432537858741
  Equation 2: 0
  Equation 3: 0.0753959323727723
  Equation 4: -0.000134325220588406
  Equation 5: 7.06528972361289E-70
  Equation 6: -0.00254432537858741
  Equation 7: -1.73472347597681E-18
  Equation 8: -4.51224993338499E-115
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.495034326292292
  imk_t: 0.061852294886018316
  m0_t: 0.5242331012600867
  m1_t: -1.319443215259596e-68
  mg_t: 1.0
  log_gk_t: 0.0025626468913550384
  Z_t: -3.223035666703564e-113
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00254432569074280
  Equation 2: 5.20800704784108E-8
  Equation 3: 0.0753959426587359
  Equation 4: -0.000134325220588406
  Equation 5: 7.06528972361289E-70
  Equation 6: -0.00254432569074280
  Equation 7: -1.73472347597681E-18
  Equation 8: -4.51224993338499E-115
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4950343783723623
  imk_t: 0.061852295807689334
  m0_t: 0.5242331012600867
  m1_t: -1.319443215259596e-68
  mg_t: 1.0
  log_gk_t: 0.0025626468913550384
  Z_t: -3.223035666703564e-113
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00254432553260103
  Equation 2: 3.03703702186908E-8
  Equation 3: 0.0753959338646361
  Equation 4: -0.000134325220588406
  Equation 5: 7.06528972361289E-70
  Equation 6: -0.00254432553260103
  Equation 7: -1.54144317102145E-10
  Equation 8: -4.51224993338499E-115
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4950343783723623
  imk_t: 0.061852294886018316
  m0_t: 0.5242331090717687
  m1_t: -1.319443215259596e-68
  mg_t: 1.0
  log_gk_t: 0.0025626468913550384
  Z_t: -3.223035666703564e-113
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00254432553260103
  Equation 2: 0
  Equation 3: 0.0753959374477400
  Equation 4: -0.000134325370811145
  Equation 5: 7.06528972361289E-70
  Equation 6: -0.00254432553260103
  Equation 7: -1.73472347597681E-18
  Equation 8: -4.51224993338499E-115
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4950343783723623
  imk_t: 0.061852294886018316
  m0_t: 0.5242331012600867
  m1_t: -1.31944319559836e-68
  mg_t: 1.0
  log_gk_t: 0.0025626468913550384
  Z_t: -3.223035666703564e-113
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00254432553260103
  Equation 2: 0
  Equation 3: 0.0753959374477400
  Equation 4: -0.000134325220588406
  Equation 5: 7.06528961833187E-70
  Equation 6: -0.00254432553260103
  Equation 7: -1.73472347597681E-18
  Equation 8: -4.51224993338499E-115
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4950343783723623
  imk_t: 0.061852294886018316
  m0_t: 0.5242331012600867
  m1_t: -1.319443215259596e-68
  mg_t: 1.0000000149011612
  log_gk_t: 0.0025626468913550384
  Z_t: -3.223035666703564e-113
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00254432553260103
  Equation 2: 0
  Equation 3: 0.0753959399266555
  Equation 4: -0.000134325072367270
  Equation 5: 7.06528972361289E-70
  Equation 6: -0.00254432561164858
  Equation 7: -1.73472347597681E-18
  Equation 8: -4.51224993338499E-115
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4950343783723623
  imk_t: 0.061852294886018316
  m0_t: 0.5242331012600867
  m1_t: -1.319443215259596e-68
  mg_t: 1.0
  log_gk_t: 0.002562646929541453
  Z_t: -3.223035666703564e-113
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00254432557438328
  Equation 2: 0
  Equation 3: 0.0753959374407521
  Equation 4: -0.000134325242603203
  Equation 5: 7.06528972885844E-70
  Equation 6: -0.00254432557438328
  Equation 7: 3.81864127992071E-11
  Equation 8: -4.51224993338499E-115
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4950343783723623
  imk_t: 0.061852294886018316
  m0_t: 0.5242331012600867
  m1_t: -1.319443215259596e-68
  mg_t: 1.0
  log_gk_t: 0.0025626468913550384
  Z_t: -3.22303561867659e-113
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00254432553260103
  Equation 2: 0
  Equation 3: 0.0753959374477400
  Equation 4: -0.000134325220588406
  Equation 5: 7.06528972361289E-70
  Equation 6: -0.00254432553260103
  Equation 7: -1.73472347597681E-18
  Equation 8: -4.51224986614723E-115
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4950343783723623
  imk_t: 0.061852294886018316
  m0_t: 0.5242331012600867
  m1_t: -1.319443215259596e-68
  mg_t: 1.0
  log_gk_t: 0.0025626468913550384
  Z_t: -3.223035666703564e-113
  Y_t: -11.974960746125964

Substituted Equations:
  Equation 1: 0.00254432553260103
  Equation 2: 0
  Equation 3: 0.0753959374477400
  Equation 4: -0.000134325220588406
  Equation 5: 7.06528858777422E-70
  Equation 6: -0.00254432553260103
  Equation 7: -1.73472347597681E-18
  Equation 8: -4.51224993338499E-115
  Equation 9: 8.65437915081868E-9
Variable Dictionary:
  vmk_t: -2.5890700298098484
  log_cmk_t: -3.467067675639487
  imk_t: 0.061003569662719415
  m0_t: 0.5215034318812825
  m1_t: -3.641342450072466e-71
  mg_t: 1.0000000000000013
  log_gk_t: 0.0024207023517690586
  Z_t: -9.569045767066373e-122
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: -0.00140953326039123
  Equation 2: 0.000383927339443701
  Equation 3: -0.0431060877393227
  Equation 4: -4.11647627811262E-7
  Equation 5: 1.94446664218939E-72
  Equation 6: 0.00140953326039122
  Equation 7: 3.23352963066750E-7
  Equation 8: -1.33966640738929E-123
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.886924078334011
  log_cmk_t: -3.4745785863233034
  imk_t: 0.061223889580065305
  m0_t: 0.5203911350125608
  m1_t: -3.269545002434823e-72
  mg_t: 1.0
  log_gk_t: 0.002457338178222275
  Z_t: -3.311694913624778e-122
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.000423780731458928
  Equation 2: -0.0000395831221191578
  Equation 3: 0.0130845444543121
  Equation 4: -1.63813448422409E-7
  Equation 5: 1.74717507161095E-73
  Equation 6: -0.000423780731458928
  Equation 7: -3.43203921241743E-8
  Equation 8: -4.63637287907469E-124
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.817045298561959
  log_cmk_t: -3.4732035984227965
  imk_t: 0.06118217033532017
  m0_t: 0.5205920258763242
  m1_t: 3.147838071804382e-73
  mg_t: 1.0
  log_gk_t: 0.002450361860878241
  Z_t: -5.785012188722966e-125
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.0000431482638718296
  Equation 2: -0.0000105090637072536
  Equation 3: 0.00130487962134210
  Equation 4: -9.24383540892859E-9
  Equation 5: -1.68190882958575E-74
  Equation 6: -0.0000431482638718296
  Equation 7: -8.99869711818574E-9
  Equation 8: -8.09901706421215E-127
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.8094329959889492
  log_cmk_t: -3.4729444689475146
  imk_t: 0.061174521492833436
  m0_t: 0.5206296837512581
  m1_t: -1.1066882684118045e-73
  mg_t: 1.0
  log_gk_t: 0.0024490887440777047
  Z_t: 1.7475068496776874e-125
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 2.15895130401683E-8
  Equation 2: 0.00000205578596501610
  Equation 3: 0.00000768088515779031
  Equation 4: 2.41711317627846E-10
  Equation 5: 5.91295533014495E-75
  Equation 6: -2.15895130401683E-8
  Equation 7: 1.74126114785636E-9
  Equation 8: 2.44650958954876E-127
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.8093582076379384
  log_cmk_t: -3.472968378254064
  imk_t: 0.061175186278395126
  m0_t: 0.5206264148645493
  m1_t: 2.4326510899179423e-74
  mg_t: 1.0
  log_gk_t: 0.002449198228535455
  Z_t: -3.8739307811255964e-126
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: -4.21066710778843E-7
  Equation 2: -4.26206132164708E-7
  Equation 3: -0.0000146428958334166
  Equation 4: 3.05925597354761E-12
  Equation 5: -1.29975064609756E-75
  Equation 6: 4.21066710778843E-7
  Equation 7: -3.60504321707256E-10
  Equation 8: -5.42350309357584E-128
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.8094349871949587
  log_cmk_t: -3.4729649582647264
  imk_t: 0.06117509396647879
  m0_t: 0.5206268681843936
  m1_t: -1.0728669135376826e-75
  mg_t: 1.0
  log_gk_t: 0.002449183109764383
  Z_t: 1.6686877222311603e-127
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 1.94403134380280E-8
  Equation 2: 1.83655339824895E-8
  Equation 3: 6.71325740775330E-7
  Equation 4: -6.69747243775554E-13
  Equation 5: 5.73226082019021E-77
  Equation 6: -1.94403134380280E-8
  Equation 7: 1.55290337880420E-11
  Equation 8: 2.33616281112362E-129
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.8094314140115255
  log_cmk_t: -3.472965103374115
  imk_t: 0.061175097867899805
  m0_t: 0.5206268490112237
  m1_t: 5.789643851831581e-77
  mg_t: 1.0
  log_gk_t: 0.0024491837482602647
  Z_t: -9.02255300642329e-129
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: -1.05037487822118E-9
  Equation 2: -9.92586901560344E-10
  Equation 3: -3.62692837707623E-8
  Equation 4: 3.32910782274709E-14
  Equation 5: -3.09337053915006E-78
  Equation 6: 1.05037487822118E-9
  Equation 7: -8.39292611104492E-13
  Equation 8: -1.26315742089926E-130
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.809431597178891
  log_cmk_t: -3.4729650959427762
  imk_t: 0.06117509766813816
  m0_t: 0.5206268499927571
  m1_t: 1.657356816857778e-82
  mg_t: 1.0
  log_gk_t: 0.0024491837155690174
  Z_t: 1.0168946634727096e-133
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 1.60678761962352E-14
  Equation 2: -4.44089209850063E-16
  Equation 3: 5.07288655526850E-13
  Equation 4: -8.32667268468867E-17
  Equation 5: -8.85515392322321E-84
  Equation 6: -1.60678761962352E-14
  Equation 7: -4.33680868994202E-19
  Equation 8: 1.42365252886179E-135
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.809431597178891
  log_cmk_t: -3.4729650959427762
  imk_t: 0.06117509766813816
  m0_t: 0.5206268499927571
  m1_t: 1.657356816857778e-82
  mg_t: 1.0
  log_gk_t: 0.0024491837155690174
  Z_t: 1.0168946634727096e-133
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 1.60678761962352E-14
  Equation 2: -4.44089209850063E-16
  Equation 3: 5.07288655526850E-13
  Equation 4: -8.32667268468867E-17
  Equation 5: -8.85515392322321E-84
  Equation 6: -1.60678761962352E-14
  Equation 7: -4.33680868994202E-19
  Equation 8: 1.42365252886179E-135
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4950343783723623
  imk_t: 0.061852294886018316
  m0_t: 0.5242331012600867
  m1_t: -1.319443215259596e-68
  mg_t: 1.0
  log_gk_t: 0.0025626468913550384
  Z_t: -3.223035666703564e-113
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00254432553260103
  Equation 2: 0
  Equation 3: 0.0753959374477400
  Equation 4: -0.000134325220588406
  Equation 5: 7.06528972361289E-70
  Equation 6: -0.00254432553260103
  Equation 7: -1.73472347597681E-18
  Equation 8: -4.51224993338499E-115
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4950343783723623
  imk_t: 0.061852294886018316
  m0_t: 0.5242331012600867
  m1_t: -1.319443215259596e-68
  mg_t: 1.0
  log_gk_t: 0.0025626468913550384
  Z_t: -3.223035666703564e-113
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00254432553260103
  Equation 2: 0
  Equation 3: 0.0753959374477400
  Equation 4: -0.000134325220588406
  Equation 5: 7.06528972361289E-70
  Equation 6: -0.00254432553260103
  Equation 7: -1.73472347597681E-18
  Equation 8: -4.51224993338499E-115
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4950343783723623
  imk_t: 0.061852294886018316
  m0_t: 0.5242331012600867
  m1_t: -1.319443215259596e-68
  mg_t: 1.0
  log_gk_t: 0.0025626468913550384
  Z_t: -3.223035666703564e-113
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00254432553260103
  Equation 2: 0
  Equation 3: 0.0753959374477400
  Equation 4: -0.000134325220588406
  Equation 5: 7.06528972361289E-70
  Equation 6: -0.00254432553260103
  Equation 7: -1.73472347597681E-18
  Equation 8: -4.51224993338499E-115
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.4037994192794354
  log_cmk_t: -3.4950343783723623
  imk_t: 0.061852294886018316
  m0_t: 0.5242331012600867
  m1_t: -1.319443215259596e-68
  mg_t: 1.0
  log_gk_t: 0.0025626468913550384
  Z_t: -3.223035666703564e-113
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00254432537858741
  Equation 2: 0
  Equation 3: 0.0753959323727723
  Equation 4: -0.000134325220588406
  Equation 5: 7.06528972361289E-70
  Equation 6: -0.00254432537858741
  Equation 7: -1.73472347597681E-18
  Equation 8: -4.51224993338499E-115
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.495034326292292
  imk_t: 0.061852294886018316
  m0_t: 0.5242331012600867
  m1_t: -1.319443215259596e-68
  mg_t: 1.0
  log_gk_t: 0.0025626468913550384
  Z_t: -3.223035666703564e-113
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00254432569074280
  Equation 2: 5.20800704784108E-8
  Equation 3: 0.0753959426587359
  Equation 4: -0.000134325220588406
  Equation 5: 7.06528972361289E-70
  Equation 6: -0.00254432569074280
  Equation 7: -1.73472347597681E-18
  Equation 8: -4.51224993338499E-115
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4950343783723623
  imk_t: 0.061852295807689334
  m0_t: 0.5242331012600867
  m1_t: -1.319443215259596e-68
  mg_t: 1.0
  log_gk_t: 0.0025626468913550384
  Z_t: -3.223035666703564e-113
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00254432553260103
  Equation 2: 3.03703702186908E-8
  Equation 3: 0.0753959338646361
  Equation 4: -0.000134325220588406
  Equation 5: 7.06528972361289E-70
  Equation 6: -0.00254432553260103
  Equation 7: -1.54144317102145E-10
  Equation 8: -4.51224993338499E-115
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4950343783723623
  imk_t: 0.061852294886018316
  m0_t: 0.5242331090717687
  m1_t: -1.319443215259596e-68
  mg_t: 1.0
  log_gk_t: 0.0025626468913550384
  Z_t: -3.223035666703564e-113
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00254432553260103
  Equation 2: 0
  Equation 3: 0.0753959374477400
  Equation 4: -0.000134325370811145
  Equation 5: 7.06528972361289E-70
  Equation 6: -0.00254432553260103
  Equation 7: -1.73472347597681E-18
  Equation 8: -4.51224993338499E-115
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4950343783723623
  imk_t: 0.061852294886018316
  m0_t: 0.5242331012600867
  m1_t: -1.31944319559836e-68
  mg_t: 1.0
  log_gk_t: 0.0025626468913550384
  Z_t: -3.223035666703564e-113
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00254432553260103
  Equation 2: 0
  Equation 3: 0.0753959374477400
  Equation 4: -0.000134325220588406
  Equation 5: 7.06528961833187E-70
  Equation 6: -0.00254432553260103
  Equation 7: -1.73472347597681E-18
  Equation 8: -4.51224993338499E-115
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4950343783723623
  imk_t: 0.061852294886018316
  m0_t: 0.5242331012600867
  m1_t: -1.319443215259596e-68
  mg_t: 1.0000000149011612
  log_gk_t: 0.0025626468913550384
  Z_t: -3.223035666703564e-113
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00254432553260103
  Equation 2: 0
  Equation 3: 0.0753959399266555
  Equation 4: -0.000134325072367270
  Equation 5: 7.06528972361289E-70
  Equation 6: -0.00254432561164858
  Equation 7: -1.73472347597681E-18
  Equation 8: -4.51224993338499E-115
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4950343783723623
  imk_t: 0.061852294886018316
  m0_t: 0.5242331012600867
  m1_t: -1.319443215259596e-68
  mg_t: 1.0
  log_gk_t: 0.002562646929541453
  Z_t: -3.223035666703564e-113
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00254432557438328
  Equation 2: 0
  Equation 3: 0.0753959374407521
  Equation 4: -0.000134325242603203
  Equation 5: 7.06528972885844E-70
  Equation 6: -0.00254432557438328
  Equation 7: 3.81864127992071E-11
  Equation 8: -4.51224993338499E-115
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4950343783723623
  imk_t: 0.061852294886018316
  m0_t: 0.5242331012600867
  m1_t: -1.319443215259596e-68
  mg_t: 1.0
  log_gk_t: 0.0025626468913550384
  Z_t: -3.22303561867659e-113
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00254432553260103
  Equation 2: 0
  Equation 3: 0.0753959374477400
  Equation 4: -0.000134325220588406
  Equation 5: 7.06528972361289E-70
  Equation 6: -0.00254432553260103
  Equation 7: -1.73472347597681E-18
  Equation 8: -4.51224986614723E-115
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4950343783723623
  imk_t: 0.061852294886018316
  m0_t: 0.5242331012600867
  m1_t: -1.319443215259596e-68
  mg_t: 1.0
  log_gk_t: 0.0025626468913550384
  Z_t: -3.223035666703564e-113
  Y_t: -11.974960746125964

Substituted Equations:
  Equation 1: 0.00254432553260103
  Equation 2: 0
  Equation 3: 0.0753959374477400
  Equation 4: -0.000134325220588406
  Equation 5: 7.06528858777422E-70
  Equation 6: -0.00254432553260103
  Equation 7: -1.73472347597681E-18
  Equation 8: -4.51224993338499E-115
  Equation 9: 8.65437915081868E-9
Variable Dictionary:
  vmk_t: -2.5890700298098484
  log_cmk_t: -3.467067675639487
  imk_t: 0.061003569662719415
  m0_t: 0.5215034318812825
  m1_t: -3.641342450072466e-71
  mg_t: 1.0000000000000013
  log_gk_t: 0.0024207023517690586
  Z_t: -9.569045767066373e-122
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: -0.00140953326039123
  Equation 2: 0.000383927339443701
  Equation 3: -0.0431060877393227
  Equation 4: -4.11647627811262E-7
  Equation 5: 1.94446664218939E-72
  Equation 6: 0.00140953326039122
  Equation 7: 3.23352963066750E-7
  Equation 8: -1.33966640738929E-123
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.886924078334011
  log_cmk_t: -3.4745785863233034
  imk_t: 0.061223889580065305
  m0_t: 0.5203911350125608
  m1_t: -3.269545002434823e-72
  mg_t: 1.0
  log_gk_t: 0.002457338178222275
  Z_t: -3.311694913624778e-122
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.000423780731458928
  Equation 2: -0.0000395831221191578
  Equation 3: 0.0130845444543121
  Equation 4: -1.63813448422409E-7
  Equation 5: 1.74717507161095E-73
  Equation 6: -0.000423780731458928
  Equation 7: -3.43203921241743E-8
  Equation 8: -4.63637287907469E-124
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.817045298561959
  log_cmk_t: -3.4732035984227965
  imk_t: 0.06118217033532017
  m0_t: 0.5205920258763242
  m1_t: 3.147838071804382e-73
  mg_t: 1.0
  log_gk_t: 0.002450361860878241
  Z_t: -5.785012188722966e-125
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.0000431482638718296
  Equation 2: -0.0000105090637072536
  Equation 3: 0.00130487962134210
  Equation 4: -9.24383540892859E-9
  Equation 5: -1.68190882958575E-74
  Equation 6: -0.0000431482638718296
  Equation 7: -8.99869711818574E-9
  Equation 8: -8.09901706421215E-127
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.8094329959889492
  log_cmk_t: -3.4729444689475146
  imk_t: 0.061174521492833436
  m0_t: 0.5206296837512581
  m1_t: -1.1066882684118045e-73
  mg_t: 1.0
  log_gk_t: 0.0024490887440777047
  Z_t: 1.7475068496776874e-125
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 2.15895130401683E-8
  Equation 2: 0.00000205578596501610
  Equation 3: 0.00000768088515779031
  Equation 4: 2.41711317627846E-10
  Equation 5: 5.91295533014495E-75
  Equation 6: -2.15895130401683E-8
  Equation 7: 1.74126114785636E-9
  Equation 8: 2.44650958954876E-127
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.8093582076379384
  log_cmk_t: -3.472968378254064
  imk_t: 0.061175186278395126
  m0_t: 0.5206264148645493
  m1_t: 2.4326510899179423e-74
  mg_t: 1.0
  log_gk_t: 0.002449198228535455
  Z_t: -3.8739307811255964e-126
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: -4.21066710778843E-7
  Equation 2: -4.26206132164708E-7
  Equation 3: -0.0000146428958334166
  Equation 4: 3.05925597354761E-12
  Equation 5: -1.29975064609756E-75
  Equation 6: 4.21066710778843E-7
  Equation 7: -3.60504321707256E-10
  Equation 8: -5.42350309357584E-128
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.8094349871949587
  log_cmk_t: -3.4729649582647264
  imk_t: 0.06117509396647879
  m0_t: 0.5206268681843936
  m1_t: -1.0728669135376826e-75
  mg_t: 1.0
  log_gk_t: 0.002449183109764383
  Z_t: 1.6686877222311603e-127
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 1.94403134380280E-8
  Equation 2: 1.83655339824895E-8
  Equation 3: 6.71325740775330E-7
  Equation 4: -6.69747243775554E-13
  Equation 5: 5.73226082019021E-77
  Equation 6: -1.94403134380280E-8
  Equation 7: 1.55290337880420E-11
  Equation 8: 2.33616281112362E-129
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.8094314140115255
  log_cmk_t: -3.472965103374115
  imk_t: 0.061175097867899805
  m0_t: 0.5206268490112237
  m1_t: 5.789643851831581e-77
  mg_t: 1.0
  log_gk_t: 0.0024491837482602647
  Z_t: -9.02255300642329e-129
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: -1.05037487822118E-9
  Equation 2: -9.92586901560344E-10
  Equation 3: -3.62692837707623E-8
  Equation 4: 3.32910782274709E-14
  Equation 5: -3.09337053915006E-78
  Equation 6: 1.05037487822118E-9
  Equation 7: -8.39292611104492E-13
  Equation 8: -1.26315742089926E-130
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.809431597178891
  log_cmk_t: -3.4729650959427762
  imk_t: 0.06117509766813816
  m0_t: 0.5206268499927571
  m1_t: 1.657356816857778e-82
  mg_t: 1.0
  log_gk_t: 0.0024491837155690174
  Z_t: 1.0168946634727096e-133
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 1.60678761962352E-14
  Equation 2: -4.44089209850063E-16
  Equation 3: 5.07288655526850E-13
  Equation 4: -8.32667268468867E-17
  Equation 5: -8.85515392322321E-84
  Equation 6: -1.60678761962352E-14
  Equation 7: -4.33680868994202E-19
  Equation 8: 1.42365252886179E-135
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.809431597178891
  log_cmk_t: -3.4729650959427762
  imk_t: 0.06117509766813816
  m0_t: 0.5206268499927571
  m1_t: 1.657356816857778e-82
  mg_t: 1.0
  log_gk_t: 0.0024491837155690174
  Z_t: 1.0168946634727096e-133
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 1.60678761962352E-14
  Equation 2: -4.44089209850063E-16
  Equation 3: 5.07288655526850E-13
  Equation 4: -8.32667268468867E-17
  Equation 5: -8.85515392322321E-84
  Equation 6: -1.60678761962352E-14
  Equation 7: -4.33680868994202E-19
  Equation 8: 1.42365252886179E-135
  Equation 9: 1.38777878078145E-17
The iteration is not making good progress, as measured by the 
  improvement from the last ten iterations.
The iteration is not making good progress, as measured by the 
  improvement from the last ten iterations.
Iteration 1: mu_0 error = 4.4408921e-16
Iteration 1: J1 error = 0.157064396
Iteration 1: J2 error = 0.21173508
Iteration 1: error = 0.21173508
Iteration 2: mu_0 error = 4.16333634e-17
Iteration 2: J1 error = 0.387757449
Iteration 2: J2 error = 0.0577091869
Iteration 2: error = 0.387757449
Iteration 3: mu_0 error = 0
Iteration 3: J1 error = 0.461776901
Iteration 3: J2 error = 0.186809953
Iteration 3: error = 0.461776901
Iteration 4: mu_0 error = 1.80411242e-16
Iteration 4: J1 error = 0.451991875
Iteration 4: J2 error = 0.215804242
Iteration 4: error = 0.451991875
Iteration 5: mu_0 error = 1.2490009e-16
Iteration 5: J1 error = 0.430568772
Iteration 5: J2 error = 0.213628607
Iteration 5: error = 0.430568772
Iteration 6: mu_0 error = 2.08166817e-16
Iteration 6: J1 error = 0.408417887
Iteration 6: J2 error = 0.227480977
Iteration 6: error = 0.408417887
Iteration 7: mu_0 error = 1.80411242e-16
Iteration 7: J1 error = 0.387142986
Iteration 7: J2 error = 0.222715456
Iteration 7: error = 0.387142986
Iteration 8: mu_0 error = 4.16333634e-17
Iteration 8: J1 error = 0.36693629
Iteration 8: J2 error = 0.232577029
Iteration 8: error = 0.36693629
Iteration 9: mu_0 error = 1.66533454e-16
Iteration 9: J1 error = 0.347778188
Iteration 9: J2 error = 0.227522322
Iteration 9: error = 0.347778188
Iteration 10: mu_0 error = 6.66133815e-16
Iteration 10: J1 error = 0.329619425
Iteration 10: J2 error = 0.234288702
Iteration 10: error = 0.329619425
Iteration 11: mu_0 error = 6.24500451e-16
Iteration 11: J1 error = 0.312408657
Iteration 11: J2 error = 0.229013593
Iteration 11: error = 0.312408657
The iteration is not making good progress, as measured by the 
  improvement from the last ten iterations.
Iteration 12: mu_0 error = 8.32667268e-17
Iteration 12: J1 error = 0.296096511
Iteration 12: J2 error = 0.233275527
Iteration 12: error = 0.296096511
Iteration 13: mu_0 error = 1.2490009e-16
Iteration 13: J1 error = 0.280636087
Iteration 13: J2 error = 0.227821988
Iteration 13: error = 0.280636087
Iteration 14: mu_0 error = 6.9388939e-17
Iteration 14: J1 error = 0.265982914
Iteration 14: J2 error = 0.230068695
Iteration 14: error = 0.265982914
Iteration 15: mu_0 error = 0
Iteration 15: J1 error = 0.252094845
Iteration 15: J2 error = 0.224482834
Iteration 15: error = 0.252094845
Iteration 16: mu_0 error = 1.94289029e-16
Iteration 16: J1 error = 0.238931929
Iteration 16: J2 error = 0.225120331
Iteration 16: error = 0.238931929
The iteration is not making good progress, as measured by the 
  improvement from the last ten iterations.
Iteration 17: mu_0 error = 3.46944695e-16
Iteration 17: J1 error = 0.226456303
Iteration 17: J2 error = 0.219449362
Iteration 17: error = 0.226456303
Iteration 18: mu_0 error = 2.08166817e-16
Iteration 18: J1 error = 0.214632082
Iteration 18: J2 error = 0.218814164
Iteration 18: error = 0.218814164
Iteration 19: mu_0 error = 4.16333634e-17
Iteration 19: J1 error = 0.203425252
Iteration 19: J2 error = 0.213104038
Iteration 19: error = 0.213104038
Iteration 20: mu_0 error = 1.80411242e-16
Iteration 20: J1 error = 0.192803577
Iteration 20: J2 error = 0.211474598
Iteration 20: error = 0.211474598
Iteration 21: mu_0 error = 9.71445147e-17
Iteration 21: J1 error = 0.182736504
Iteration 21: J2 error = 0.205768424
Iteration 21: error = 0.205768424
Iteration 22: mu_0 error = 9.71445147e-17
Iteration 22: J1 error = 0.173195074
Iteration 22: J2 error = 0.203374664
Iteration 22: error = 0.203374664
Iteration 23: mu_0 error = 1.38777878e-16
Iteration 23: J1 error = 0.164151842
Iteration 23: J2 error = 0.197711728
Iteration 23: error = 0.197711728
Iteration 24: mu_0 error = 2.91433544e-16
Iteration 24: J1 error = 0.155580794
Iteration 24: J2 error = 0.194743011
Iteration 24: error = 0.194743011
Iteration 25: mu_0 error = 1.11022302e-16
Iteration 25: J1 error = 0.147457277
Iteration 25: J2 error = 0.189158229
Iteration 25: error = 0.189158229
Iteration 26: mu_0 error = 2.35922393e-16
Iteration 26: J1 error = 0.139757922
Iteration 26: J2 error = 0.185770014
Iteration 26: error = 0.185770014
Iteration 27: mu_0 error = 9.71445147e-17
Iteration 27: J1 error = 0.132460582
Iteration 27: J2 error = 0.180293709
Iteration 27: error = 0.180293709
Iteration 28: mu_0 error = 2.35922393e-16
Iteration 28: J1 error = 0.125544266
Iteration 28: J2 error = 0.176613128
Iteration 28: error = 0.176613128
Iteration 29: mu_0 error = 4.16333634e-17
Iteration 29: J1 error = 0.11898908
Iteration 29: J2 error = 0.171271032
Iteration 29: error = 0.171271032
Iteration 30: mu_0 error = 1.38777878e-16
Iteration 30: J1 error = 0.112776167
Iteration 30: J2 error = 0.167401554
Iteration 30: error = 0.167401554
Iteration 31: mu_0 error = 1.11022302e-16
Iteration 31: J1 error = 0.106887657
Iteration 31: J2 error = 0.162214966
Iteration 31: error = 0.162214966
Iteration 32: mu_0 error = 1.52655666e-16
Iteration 32: J1 error = 0.101306609
Iteration 32: J2 error = 0.158240308
Iteration 32: error = 0.158240308
Iteration 33: mu_0 error = 2.77555756e-17
Iteration 33: J1 error = 0.0960169718
Iteration 33: J2 error = 0.153226361
Iteration 33: error = 0.153226361
Iteration 34: mu_0 error = 1.94289029e-16
Iteration 34: J1 error = 0.091003528
Iteration 34: J2 error = 0.149213773
Iteration 34: error = 0.149213773
Iteration 35: mu_0 error = 2.22044605e-16
Iteration 35: J1 error = 0.086251857
Iteration 35: J2 error = 0.144385759
Iteration 35: error = 0.144385759
Iteration 36: mu_0 error = 5.55111512e-17
Iteration 36: J1 error = 0.0817482903
Iteration 36: J2 error = 0.140388771
Iteration 36: error = 0.140388771
Iteration 37: mu_0 error = 2.08166817e-16
Iteration 37: J1 error = 0.0774798735
Iteration 37: J2 error = 0.135756506
Iteration 37: error = 0.135756506
Iteration 38: mu_0 error = 1.52655666e-16
Iteration 38: J1 error = 0.0734343284
Iteration 38: J2 error = 0.131817245
Iteration 38: error = 0.131817245
Iteration 39: mu_0 error = 3.33066907e-16
Iteration 39: J1 error = 0.069600018
Iteration 39: J2 error = 0.127387438
Iteration 39: error = 0.127387438
Iteration 40: mu_0 error = 6.10622664e-16
Iteration 40: J1 error = 0.0659659128
Iteration 40: J2 error = 0.123538569
Iteration 40: error = 0.123538569
Iteration 41: mu_0 error = 2.35922393e-16
Iteration 41: J1 error = 0.0625215593
Iteration 41: J2 error = 0.119315201
Iteration 41: error = 0.119315201
The iteration is not making good progress, as measured by the 
  improvement from the last ten iterations.
Iteration 42: mu_0 error = 1.80411242e-16
Iteration 42: J1 error = 0.0592570497
Iteration 42: J2 error = 0.115581554
Iteration 42: error = 0.115581554
Iteration 43: mu_0 error = 1.94289029e-16
Iteration 43: J1 error = 0.0561629938
Iteration 43: J2 error = 0.111566232
Iteration 43: error = 0.111566232
Iteration 44: mu_0 error = 3.1918912e-16
Iteration 44: J1 error = 0.0532304912
Iteration 44: J2 error = 0.107966177
Iteration 44: error = 0.107966177
Iteration 45: mu_0 error = 2.77555756e-17
Iteration 45: J1 error = 0.0504511068
Iteration 45: J2 error = 0.104158475
Iteration 45: error = 0.104158475
Iteration 46: mu_0 error = 1.38777878e-16
Iteration 46: J1 error = 0.0478168456
Iteration 46: J2 error = 0.100705065
Iteration 46: error = 0.100705065
Iteration 47: mu_0 error = 2.08166817e-16
Iteration 47: J1 error = 0.0453201301
Iteration 47: J2 error = 0.0971028376
Iteration 47: error = 0.0971028376
Iteration 48: mu_0 error = 2.08166817e-16
Iteration 48: J1 error = 0.0429537784
Iteration 48: J2 error = 0.0938047811
Iteration 48: error = 0.0938047811
Iteration 49: mu_0 error = 1.38777878e-16
Iteration 49: J1 error = 0.0407109837
Iteration 49: J2 error = 0.0904044514
Iteration 49: error = 0.0904044514
Iteration 50: mu_0 error = 1.38777878e-17
Iteration 50: J1 error = 0.0385852946
Iteration 50: J2 error = 0.0872669166
Iteration 50: error = 0.0872669166
Iteration 51: mu_0 error = 2.35922393e-16
Iteration 51: J1 error = 0.0365705966
Iteration 51: J2 error = 0.0840637349
Iteration 51: error = 0.0840637349
Iteration 52: mu_0 error = 4.16333634e-17
Iteration 52: J1 error = 0.0346610943
Iteration 52: J2 error = 0.0810890296
Iteration 52: error = 0.0810890296
The iteration is not making good progress, as measured by the 
  improvement from the last ten iterations.
Iteration 53: mu_0 error = 1.11022302e-16
Iteration 53: J1 error = 0.032851295
Iteration 53: J2 error = 0.078077306
Iteration 53: error = 0.078077306
Iteration 54: mu_0 error = 1.52655666e-16
Iteration 54: J1 error = 0.0311359928
Iteration 54: J2 error = 0.0752654452
Iteration 54: error = 0.0752654452
The iteration is not making good progress, as measured by the 
  improvement from the last ten iterations.
Iteration 55: mu_0 error = 2.91433544e-16
Iteration 55: J1 error = 0.0295102537
Iteration 55: J2 error = 0.0724387546
Iteration 55: error = 0.0724387546
Iteration 56: mu_0 error = 2.63677968e-16
Iteration 56: J1 error = 0.0279694011
Iteration 56: J2 error = 0.069787934
Iteration 56: error = 0.069787934
Iteration 57: mu_0 error = 1.38777878e-16
Iteration 57: J1 error = 0.0265090029
Iteration 57: J2 error = 0.0671392964
Iteration 57: error = 0.0671392964
Iteration 58: mu_0 error = 1.38777878e-17
Iteration 58: J1 error = 0.025124858
Iteration 58: J2 error = 0.0646462881
Iteration 58: error = 0.0646462881
Iteration 59: mu_0 error = 1.52655666e-16
Iteration 59: J1 error = 0.0238129851
Iteration 59: J2 error = 0.0621683248
Iteration 59: error = 0.0621683248
Iteration 60: mu_0 error = 1.52655666e-16
Iteration 60: J1 error = 0.0225696106
Iteration 60: J2 error = 0.0598288061
Iteration 60: error = 0.0598288061
Iteration 61: mu_0 error = 4.02455846e-16
Iteration 61: J1 error = 0.0213911577
Iteration 61: J2 error = 0.0575138747
Iteration 61: error = 0.0575138747
Iteration 62: mu_0 error = 9.71445147e-17
Iteration 62: J1 error = 0.0202742368
Iteration 62: J2 error = 0.0553227006
Iteration 62: error = 0.0553227006
Iteration 63: mu_0 error = 2.08166817e-16
Iteration 63: J1 error = 0.0192156349
Iteration 63: J2 error = 0.05316301
Iteration 63: error = 0.05316301
Iteration 64: mu_0 error = 5.55111512e-17
Iteration 64: J1 error = 0.018212307
Iteration 64: J2 error = 0.0511144384
Iteration 64: error = 0.0511144384
Iteration 65: mu_0 error = 2.77555756e-17
Iteration 65: J1 error = 0.0172613671
Iteration 65: J2 error = 0.0491021464
Iteration 65: error = 0.0491021464
Iteration 66: mu_0 error = 9.71445147e-17
Iteration 66: J1 error = 0.0163600796
Iteration 66: J2 error = 0.0471900238
Iteration 66: error = 0.0471900238
Iteration 67: mu_0 error = 1.52655666e-16
Iteration 67: J1 error = 0.0155058521
Iteration 67: J2 error = 0.0453173179
Iteration 67: error = 0.0453173179
Iteration 68: mu_0 error = 1.80411242e-16
Iteration 68: J1 error = 0.0146962273
Iteration 68: J2 error = 0.043535231
Iteration 68: error = 0.043535231
Iteration 69: mu_0 error = 1.52655666e-16
Iteration 69: J1 error = 0.0139288764
Iteration 69: J2 error = 0.0417943959
Iteration 69: error = 0.0417943959
Iteration 70: mu_0 error = 9.71445147e-17
Iteration 70: J1 error = 0.0132015921
Iteration 70: J2 error = 0.0401357955
Iteration 70: error = 0.0401357955
Iteration 71: mu_0 error = 4.16333634e-17
Iteration 71: J1 error = 0.0125122823
Iteration 71: J2 error = 0.0385192679
Iteration 71: error = 0.0385192679
Iteration 72: mu_0 error = 5.55111512e-17
Iteration 72: J1 error = 0.0118589642
Iteration 72: J2 error = 0.0369775678
Iteration 72: error = 0.0369775678
Iteration 73: mu_0 error = 1.52655666e-16
Iteration 73: J1 error = 0.0112397586
Iteration 73: J2 error = 0.0354779801
Iteration 73: error = 0.0354779801
Iteration 74: mu_0 error = 2.63677968e-16
Iteration 74: J1 error = 0.0106528842
Iteration 74: J2 error = 0.0340466377
Iteration 74: error = 0.0340466377
Iteration 75: mu_0 error = 1.11022302e-16
Iteration 75: J1 error = 0.010096653
Iteration 75: J2 error = 0.0326568523
Iteration 75: error = 0.0326568523
Iteration 76: mu_0 error = 6.9388939e-17
Iteration 76: J1 error = 0.00956946497
Iteration 76: J2 error = 0.0313294311
Iteration 76: error = 0.0313294311
Iteration 77: mu_0 error = 2.63677968e-16
Iteration 77: J1 error = 0.00906980357
Iteration 77: J2 error = 0.0300425665
Iteration 77: error = 0.0300425665
Iteration 78: mu_0 error = 5.55111512e-17
Iteration 78: J1 error = 0.00859623156
Iteration 78: J2 error = 0.0288127854
Iteration 78: error = 0.0288127854
Iteration 79: mu_0 error = 3.33066907e-16
Iteration 79: J1 error = 0.00814738671
Iteration 79: J2 error = 0.0276222354
Iteration 79: error = 0.0276222354
Iteration 80: mu_0 error = 6.9388939e-17
Iteration 80: J1 error = 0.00772197791
Iteration 80: J2 error = 0.0264840058
Iteration 80: error = 0.0264840058
Iteration 81: mu_0 error = 1.66533454e-16
Iteration 81: J1 error = 0.00731878146
Iteration 81: J2 error = 0.0253834522
Iteration 81: error = 0.0253834522
Iteration 82: mu_0 error = 4.16333634e-17
Iteration 82: J1 error = 0.00693663757
Iteration 82: J2 error = 0.0243309062
Iteration 82: error = 0.0243309062
Iteration 83: mu_0 error = 2.63677968e-16
Iteration 83: J1 error = 0.00657444699
Iteration 83: J2 error = 0.0233143272
Iteration 83: error = 0.0233143272
Iteration 84: mu_0 error = 4.16333634e-17
Iteration 84: J1 error = 0.00623116789
Iteration 84: J2 error = 0.0223418367
Iteration 84: error = 0.0223418367
Iteration 85: mu_0 error = 2.49800181e-16
Iteration 85: J1 error = 0.00590581281
Iteration 85: J2 error = 0.0214035104
Iteration 85: error = 0.0214035104
Iteration 86: mu_0 error = 4.16333634e-17
Iteration 86: J1 error = 0.00559744586
Iteration 86: J2 error = 0.0205057005
Iteration 86: error = 0.0205057005
Iteration 87: mu_0 error = 3.60822483e-16
Iteration 87: J1 error = 0.00530518003
Iteration 87: J2 error = 0.0196402049
Iteration 87: error = 0.0196402049
Iteration 88: mu_0 error = 1.94289029e-16
Iteration 88: J1 error = 0.00502817461
Iteration 88: J2 error = 0.0188119621
Iteration 88: error = 0.0188119621
Iteration 89: mu_0 error = 2.77555756e-17
Iteration 89: J1 error = 0.00476563279
Iteration 89: J2 error = 0.0180141725
Iteration 89: error = 0.0180141725
Iteration 90: mu_0 error = 1.38777878e-16
Iteration 90: J1 error = 0.00451679936
Iteration 90: J2 error = 0.017250647
Iteration 90: error = 0.017250647
Iteration 91: mu_0 error = 2.91433544e-16
Iteration 91: J1 error = 0.00428095856
Iteration 91: J2 error = 0.016515731
Iteration 91: error = 0.016515731
Iteration 92: mu_0 error = 6.9388939e-17
Iteration 92: J1 error = 0.00405743199
Iteration 92: J2 error = 0.0158123375
Iteration 92: error = 0.0158123375
Iteration 93: mu_0 error = 6.9388939e-17
Iteration 93: J1 error = 0.00384557666
Iteration 93: J2 error = 0.0151357476
Iteration 93: error = 0.0151357476
Iteration 94: mu_0 error = 1.94289029e-16
Iteration 94: J1 error = 0.00364478317
Iteration 94: J2 error = 0.0144881618
Iteration 94: error = 0.0144881618
Iteration 95: mu_0 error = 3.05311332e-16
Iteration 95: J1 error = 0.00345447395
Iteration 95: J2 error = 0.0138656273
Iteration 95: error = 0.0138656273
Iteration 96: mu_0 error = 8.32667268e-17
Iteration 96: J1 error = 0.00327410156
Iteration 96: J2 error = 0.0132697806
Iteration 96: error = 0.0132697806
Iteration 97: mu_0 error = 4.85722573e-16
Iteration 97: J1 error = 0.00310314715
Iteration 97: J2 error = 0.0126972979
Iteration 97: error = 0.0126972979
Iteration 98: mu_0 error = 3.74700271e-16
Iteration 98: J1 error = 0.00294111899
Iteration 98: J2 error = 0.0121493706
Iteration 98: error = 0.0121493706
Iteration 99: mu_0 error = 2.77555756e-16
Iteration 99: J1 error = 0.00278755099
Iteration 99: J2 error = 0.0116231925
Iteration 99: error = 0.0116231925
Iteration 100: mu_0 error = 1.94289029e-16
Iteration 100: J1 error = 0.0026420014
Iteration 100: J2 error = 0.0111196055
Iteration 100: error = 0.0111196055
Iteration 101: mu_0 error = 9.71445147e-17
Iteration 101: J1 error = 0.00250405157
Iteration 101: J2 error = 0.0106362304
Iteration 101: error = 0.0106362304
The iteration is not making good progress, as measured by the 
  improvement from the last ten iterations.
Iteration 102: mu_0 error = 0
Iteration 102: J1 error = 0.00237330467
Iteration 102: J2 error = 0.0101736361
Iteration 102: error = 0.0101736361
Iteration 103: mu_0 error = 8.32667268e-17
Iteration 103: J1 error = 0.0022493846
Iteration 103: J2 error = 0.00972979651
Iteration 103: error = 0.00972979651
Iteration 104: mu_0 error = 1.52655666e-16
Iteration 104: J1 error = 0.00213193491
Iteration 104: J2 error = 0.00930506878
Iteration 104: error = 0.00930506878
Iteration 105: mu_0 error = 2.91433544e-16
Iteration 105: J1 error = 0.00202061776
Iteration 105: J2 error = 0.00889771989
Iteration 105: error = 0.00889771989
Iteration 106: mu_0 error = 2.22044605e-16
Iteration 106: J1 error = 0.00191511294
Iteration 106: J2 error = 0.00850794383
Iteration 106: error = 0.00850794383
Iteration 107: mu_0 error = 3.46944695e-16
Iteration 107: J1 error = 0.00181511696
Iteration 107: J2 error = 0.00813425172
Iteration 107: error = 0.00813425172
Iteration 108: mu_0 error = 4.02455846e-16
Iteration 108: J1 error = 0.00172034219
Iteration 108: J2 error = 0.0077767132
Iteration 108: error = 0.0077767132
Iteration 109: mu_0 error = 4.85722573e-16
Iteration 109: J1 error = 0.001630516
Iteration 109: J2 error = 0.0074340434
Iteration 109: error = 0.0074340434
Iteration 110: mu_0 error = 5.41233725e-16
Iteration 110: J1 error = 0.00154538001
Iteration 110: J2 error = 0.00710621842
Iteration 110: error = 0.00710621842
Iteration 111: mu_0 error = 5.55111512e-17
Iteration 111: J1 error = 0.00146468931
Iteration 111: J2 error = 0.00679212457
Iteration 111: error = 0.00679212457
Iteration 112: mu_0 error = 9.71445147e-17
Iteration 112: J1 error = 0.00138821182
Iteration 112: J2 error = 0.00649166876
Iteration 112: error = 0.00649166876
Iteration 113: mu_0 error = 1.52655666e-16
Iteration 113: J1 error = 0.00131572753
Iteration 113: J2 error = 0.0062038815
Iteration 113: error = 0.0062038815
Iteration 114: mu_0 error = 2.08166817e-16
Iteration 114: J1 error = 0.00124702795
Iteration 114: J2 error = 0.00592861975
Iteration 114: error = 0.00592861975
Iteration 115: mu_0 error = 2.77555756e-16
Iteration 115: J1 error = 0.00118191545
Iteration 115: J2 error = 0.00566503601
Iteration 115: error = 0.00566503601
Iteration 116: mu_0 error = 1.94289029e-16
Iteration 116: J1 error = 0.00112020275
Iteration 116: J2 error = 0.00541295234
Iteration 116: error = 0.00541295234
The iteration is not making good progress, as measured by the 
  improvement from the last ten iterations.
Iteration 117: mu_0 error = 1.66533454e-16
Iteration 117: J1 error = 0.00106171233
Iteration 117: J2 error = 0.00517162489
Iteration 117: error = 0.00517162489
The iteration is not making good progress, as measured by the 
  improvement from the last ten iterations.
Iteration 118: mu_0 error = 1.38777878e-16
Iteration 118: J1 error = 0.00100627593
Iteration 118: J2 error = 0.00494085261
Iteration 118: error = 0.00494085261
Iteration 119: mu_0 error = 5.55111512e-17
Iteration 119: J1 error = 0.000953734096
Iteration 119: J2 error = 0.00471998012
Iteration 119: error = 0.00471998012
Iteration 120: mu_0 error = 4.16333634e-17
Iteration 120: J1 error = 0.000903935689
Iteration 120: J2 error = 0.00450879235
Iteration 120: error = 0.00450879235
Iteration 121: mu_0 error = 5.55111512e-17
Iteration 121: J1 error = 0.000856737463
Iteration 121: J2 error = 0.00430670982
Iteration 121: error = 0.00430670982
Iteration 122: mu_0 error = 0
Iteration 122: J1 error = 0.000812003652
Iteration 122: J2 error = 0.0041135104
Iteration 122: error = 0.0041135104
Iteration 123: mu_0 error = 1.38777878e-17
Iteration 123: J1 error = 0.000769605578
Iteration 123: J2 error = 0.00392867999
Iteration 123: error = 0.00392867999
Iteration 124: mu_0 error = 4.16333634e-17
Iteration 124: J1 error = 0.000729421284
Iteration 124: J2 error = 0.00375199479
Iteration 124: error = 0.00375199479
Iteration 125: mu_0 error = 6.9388939e-17
Iteration 125: J1 error = 0.000691335178
Iteration 125: J2 error = 0.00358299722
Iteration 125: error = 0.00358299722
Iteration 126: mu_0 error = 8.32667268e-17
Iteration 126: J1 error = 0.000655237705
Iteration 126: J2 error = 0.00342146578
Iteration 126: error = 0.00342146578
Iteration 127: mu_0 error = 1.11022302e-16
Iteration 127: J1 error = 0.00062102503
Iteration 127: J2 error = 0.00326699207
Iteration 127: error = 0.00326699207
Iteration 128: mu_0 error = 1.38777878e-16
Iteration 128: J1 error = 0.000588598742
Iteration 128: J2 error = 0.00311935982
Iteration 128: error = 0.00311935982
Iteration 129: mu_0 error = 1.38777878e-16
Iteration 129: J1 error = 0.000557865564
Iteration 129: J2 error = 0.00297820353
Iteration 129: error = 0.00297820353
Iteration 130: mu_0 error = 1.52655666e-16
Iteration 130: J1 error = 0.000528737092
Iteration 130: J2 error = 0.00284331428
Iteration 130: error = 0.00284331428
Iteration 131: mu_0 error = 1.80411242e-16
Iteration 131: J1 error = 0.000501129539
Iteration 131: J2 error = 0.00271436419
Iteration 131: error = 0.00271436419
Iteration 132: mu_0 error = 1.94289029e-16
Iteration 132: J1 error = 0.00047496349
Iteration 132: J2 error = 0.00259115312
Iteration 132: error = 0.00259115312
Iteration 133: mu_0 error = 2.91433544e-16
Iteration 133: J1 error = 0.000450163679
Iteration 133: J2 error = 0.00247338631
Iteration 133: error = 0.00247338631
Iteration 134: mu_0 error = 3.46944695e-16
Iteration 134: J1 error = 0.000426658769
Iteration 134: J2 error = 0.00236087337
Iteration 134: error = 0.00236087337
Iteration 135: mu_0 error = 3.05311332e-16
Iteration 135: J1 error = 0.000404381148
Iteration 135: J2 error = 0.00225334877
Iteration 135: error = 0.00225334877
Iteration 136: mu_0 error = 2.22044605e-16
Iteration 136: J1 error = 0.000383266733
Iteration 136: J2 error = 0.00215063243
Iteration 136: error = 0.00215063243
Iteration 137: mu_0 error = 2.35922393e-16
Iteration 137: J1 error = 0.00036325479
Iteration 137: J2 error = 0.00205248474
Iteration 137: error = 0.00205248474
The iteration is not making good progress, as measured by the 
  improvement from the last ten iterations.
Iteration 138: mu_0 error = 2.22044605e-16
Iteration 138: J1 error = 0.000344287753
Iteration 138: J2 error = 0.00195873616
Iteration 138: error = 0.00195873616
Iteration 139: mu_0 error = 2.22044605e-16
Iteration 139: J1 error = 0.000326311063
Iteration 139: J2 error = 0.00186917017
Iteration 139: error = 0.00186917017
Iteration 140: mu_0 error = 2.22044605e-16
Iteration 140: J1 error = 0.000309273011
Iteration 140: J2 error = 0.00178362776
Iteration 140: error = 0.00178362776
Iteration 141: mu_0 error = 2.91433544e-16
Iteration 141: J1 error = 0.000293124586
Iteration 141: J2 error = 0.00170191302
Iteration 141: error = 0.00170191302
Iteration 142: mu_0 error = 3.1918912e-16
Iteration 142: J1 error = 0.000277819338
Iteration 142: J2 error = 0.00162387735
Iteration 142: error = 0.00162387735
Iteration 143: mu_0 error = 1.66533454e-16
Iteration 143: J1 error = 0.00026331324
Iteration 143: J2 error = 0.00154934325
Iteration 143: error = 0.00154934325
Iteration 144: mu_0 error = 1.66533454e-16
Iteration 144: J1 error = 0.000249564565
Iteration 144: J2 error = 0.00147817225
Iteration 144: error = 0.00147817225
Iteration 145: mu_0 error = 1.52655666e-16
Iteration 145: J1 error = 0.000236533765
Iteration 145: J2 error = 0.00141020337
Iteration 145: error = 0.00141020337
Iteration 146: mu_0 error = 1.38777878e-16
Iteration 146: J1 error = 0.000224183358
Iteration 146: J2 error = 0.00134530792
Iteration 146: error = 0.00134530792
Iteration 147: mu_0 error = 1.38777878e-16
Iteration 147: J1 error = 0.000212477816
Iteration 147: J2 error = 0.00128333977
Iteration 147: error = 0.00128333977
Iteration 148: mu_0 error = 1.38777878e-16
Iteration 148: J1 error = 0.000201383469
Iteration 148: J2 error = 0.00122417956
Iteration 148: error = 0.00122417956
Iteration 149: mu_0 error = 3.74700271e-16
Iteration 149: J1 error = 0.000190868404
Iteration 149: J2 error = 0.00116769457
Iteration 149: error = 0.00116769457
Iteration 150: mu_0 error = 3.88578059e-16
Iteration 150: J1 error = 0.000180902375
Iteration 150: J2 error = 0.00111377429
Iteration 150: error = 0.00111377429
Iteration 151: mu_0 error = 3.88578059e-16
Iteration 151: J1 error = 0.000171456712
Iteration 151: J2 error = 0.00106229809
Iteration 151: error = 0.00106229809
Iteration 152: mu_0 error = 3.88578059e-16
Iteration 152: J1 error = 0.000162504247
Iteration 152: J2 error = 0.00101316385
Iteration 152: error = 0.00101316385
Iteration 153: mu_0 error = 9.71445147e-17
Iteration 153: J1 error = 0.000154019228
Iteration 153: J2 error = 0.000966261856
Iteration 153: error = 0.000966261856
Iteration 154: mu_0 error = 9.71445147e-17
Iteration 154: J1 error = 0.000145977246
Iteration 154: J2 error = 0.000921497889
Iteration 154: error = 0.000921497889
Iteration 155: mu_0 error = 9.71445147e-17
Iteration 155: J1 error = 0.000138355169
Iteration 155: J2 error = 0.000878772109
Iteration 155: error = 0.000878772109
Iteration 156: mu_0 error = 6.9388939e-17
Iteration 156: J1 error = 0.000131131073
Iteration 156: J2 error = 0.000837997701
Iteration 156: error = 0.000837997701
Iteration 157: mu_0 error = 6.9388939e-17
Iteration 157: J1 error = 0.000124284176
Iteration 157: J2 error = 0.000799083788
Iteration 157: error = 0.000799083788
Iteration 158: mu_0 error = 6.9388939e-17
Iteration 158: J1 error = 0.000117794785
Iteration 158: J2 error = 0.000761950465
Iteration 158: error = 0.000761950465
Iteration 159: mu_0 error = 5.55111512e-17
Iteration 159: J1 error = 0.000111644231
Iteration 159: J2 error = 0.000726514986
Iteration 159: error = 0.000726514986
Iteration 160: mu_0 error = 5.55111512e-17
Iteration 160: J1 error = 0.000105814824
Iteration 160: J2 error = 0.000692703885
Iteration 160: error = 0.000692703885
Iteration 161: mu_0 error = 4.16333634e-17
Iteration 161: J1 error = 0.000100289793
Iteration 161: J2 error = 0.000660441806
Iteration 161: error = 0.000660441806
Iteration 162: mu_0 error = 4.16333634e-17
Iteration 162: J1 error = 9.5053248e-05
Iteration 162: J2 error = 0.000629661261
Iteration 162: error = 0.000629661261
Iteration 163: mu_0 error = 5.55111512e-17
Iteration 163: J1 error = 9.00901242e-05
Iteration 163: J2 error = 0.000600293612
Iteration 163: error = 0.000600293612
Iteration 164: mu_0 error = 5.55111512e-17
Iteration 164: J1 error = 8.53861457e-05
Iteration 164: J2 error = 0.00057227692
Iteration 164: error = 0.00057227692
Iteration 165: mu_0 error = 5.55111512e-17
Iteration 165: J1 error = 8.09277814e-05
Iteration 165: J2 error = 0.000545548654
Iteration 165: error = 0.000545548654
Iteration 166: mu_0 error = 5.55111512e-16
Iteration 166: J1 error = 7.67022068e-05
Iteration 166: J2 error = 0.000520052013
Iteration 166: error = 0.000520052013
Iteration 167: mu_0 error = 4.16333634e-17
Iteration 167: J1 error = 7.26972669e-05
Iteration 167: J2 error = 0.000495730023
Iteration 167: error = 0.000495730023
Iteration 168: mu_0 error = 2.77555756e-17
Iteration 168: J1 error = 6.89014415e-05
Iteration 168: J2 error = 0.000472530632
Iteration 168: error = 0.000472530632
Iteration 169: mu_0 error = 2.77555756e-17
Iteration 169: J1 error = 6.53038119e-05
Iteration 169: J2 error = 0.000450401928
Iteration 169: error = 0.000450401928
Iteration 170: mu_0 error = 2.77555756e-17
Iteration 170: J1 error = 6.18940294e-05
Iteration 170: J2 error = 0.00042929624
Iteration 170: error = 0.00042929624
Iteration 171: mu_0 error = 2.77555756e-17
Iteration 171: J1 error = 5.86622858e-05
Iteration 171: J2 error = 0.000409166266
Iteration 171: error = 0.000409166266
The iteration is not making good progress, as measured by the 
  improvement from the last ten iterations.
Iteration 172: mu_0 error = 4.16333634e-17
Iteration 172: J1 error = 5.55992849e-05
Iteration 172: J2 error = 0.000389968372
Iteration 172: error = 0.000389968372
Iteration 173: mu_0 error = 4.16333634e-17
Iteration 173: J1 error = 5.2696216e-05
Iteration 173: J2 error = 0.000371659461
Iteration 173: error = 0.000371659461
Iteration 174: mu_0 error = 2.77555756e-17
Iteration 174: J1 error = 4.99447283e-05
Iteration 174: J2 error = 0.000354199613
Iteration 174: error = 0.000354199613
Iteration 175: mu_0 error = 2.77555756e-17
Iteration 175: J1 error = 4.73369072e-05
Iteration 175: J2 error = 0.000337549561
Iteration 175: error = 0.000337549561
Iteration 176: mu_0 error = 4.57966998e-16
Iteration 176: J1 error = 4.48652512e-05
Iteration 176: J2 error = 0.000321672805
Iteration 176: error = 0.000321672805
Iteration 177: mu_0 error = 1.38777878e-17
Iteration 177: J1 error = 4.25226506e-05
Iteration 177: J2 error = 0.000306533567
Iteration 177: error = 0.000306533567
Iteration 178: mu_0 error = 0
Iteration 178: J1 error = 4.03023669e-05
Iteration 178: J2 error = 0.000292098489
Iteration 178: error = 0.000292098489
Iteration 179: mu_0 error = 2.77555756e-17
Iteration 179: J1 error = 3.81980134e-05
Iteration 179: J2 error = 0.000278334974
Iteration 179: error = 0.000278334974
Iteration 180: mu_0 error = 4.16333634e-17
Iteration 180: J1 error = 3.6203537e-05
Iteration 180: J2 error = 0.000265212551
Iteration 180: error = 0.000265212551
Iteration 181: mu_0 error = 1.38777878e-17
Iteration 181: J1 error = 3.43132004e-05
Iteration 181: J2 error = 0.000252701521
Iteration 181: error = 0.000252701521
Iteration 182: mu_0 error = 0
Iteration 182: J1 error = 3.25215661e-05
Iteration 182: J2 error = 0.000240774059
Iteration 182: error = 0.000240774059
Iteration 183: mu_0 error = 2.77555756e-17
Iteration 183: J1 error = 3.08234804e-05
Iteration 183: J2 error = 0.000229403113
Iteration 183: error = 0.000229403113
Iteration 184: mu_0 error = 2.77555756e-17
Iteration 184: J1 error = 2.92140589e-05
Iteration 184: J2 error = 0.000218563282
Iteration 184: error = 0.000218563282
The iteration is not making good progress, as measured by the 
  improvement from the last ten iterations.
Iteration 185: mu_0 error = 2.77555756e-17
Iteration 185: J1 error = 2.76886718e-05
Iteration 185: J2 error = 0.000208229927
Iteration 185: error = 0.000208229927
The iteration is not making good progress, as measured by the 
  improvement from the last ten iterations.
Iteration 186: mu_0 error = 2.77555756e-17
Iteration 186: J1 error = 2.62429316e-05
Iteration 186: J2 error = 0.000198379869
Iteration 186: error = 0.000198379869
Iteration 187: mu_0 error = 2.77555756e-17
Iteration 187: J1 error = 2.48726795e-05
Iteration 187: J2 error = 0.000188990667
Iteration 187: error = 0.000188990667
Iteration 188: mu_0 error = 2.77555756e-17
Iteration 188: J1 error = 2.35739739e-05
Iteration 188: J2 error = 0.000180041179
Iteration 188: error = 0.000180041179
Iteration 189: mu_0 error = 4.16333634e-17
Iteration 189: J1 error = 2.2343079e-05
Iteration 189: J2 error = 0.000171510966
Iteration 189: error = 0.000171510966
Iteration 190: mu_0 error = 2.77555756e-17
Iteration 190: J1 error = 2.11764544e-05
Iteration 190: J2 error = 0.000163380749
Iteration 190: error = 0.000163380749
Iteration 191: mu_0 error = 4.16333634e-17
Iteration 191: J1 error = 2.0070744e-05
Iteration 191: J2 error = 0.00015563192
Iteration 191: error = 0.00015563192
Iteration 192: mu_0 error = 2.77555756e-17
Iteration 192: J1 error = 1.90227673e-05
Iteration 192: J2 error = 0.000148246899
Iteration 192: error = 0.000148246899
The iteration is not making good progress, as measured by the 
  improvement from the last ten iterations.
Iteration 193: mu_0 error = 4.16333634e-17
Iteration 193: J1 error = 1.80295098e-05
Iteration 193: J2 error = 0.000141208746
Iteration 193: error = 0.000141208746
Iteration 194: mu_0 error = 2.77555756e-17
Iteration 194: J1 error = 1.70881145e-05
Iteration 194: J2 error = 0.000134501439
Iteration 194: error = 0.000134501439
Iteration 195: mu_0 error = 1.38777878e-17
Iteration 195: J1 error = 1.61958732e-05
Iteration 195: J2 error = 0.000128109556
Iteration 195: error = 0.000128109556
Iteration 196: mu_0 error = 0
Iteration 196: J1 error = 1.53502196e-05
Iteration 196: J2 error = 0.000122018499
Iteration 196: error = 0.000122018499
Iteration 197: mu_0 error = 2.77555756e-17
Iteration 197: J1 error = 1.45487211e-05
Iteration 197: J2 error = 0.00011621423
Iteration 197: error = 0.00011621423
Iteration 198: mu_0 error = 2.77555756e-17
Iteration 198: J1 error = 1.37890721e-05
Iteration 198: J2 error = 0.000110683451
Iteration 198: error = 0.000110683451
The iteration is not making good progress, as measured by the 
  improvement from the last ten iterations.
Iteration 199: mu_0 error = 0
Iteration 199: J1 error = 1.30690875e-05
Iteration 199: J2 error = 0.000105413386
Iteration 199: error = 0.000105413386
Iteration 200: mu_0 error = 0
Iteration 200: J1 error = 1.23866963e-05
Iteration 200: J2 error = 0.000100391923
Iteration 200: error = 0.000100391923
Iteration 201: mu_0 error = 0
Iteration 201: J1 error = 1.17399356e-05
Iteration 201: J2 error = 9.5607438e-05
Iteration 201: error = 9.5607438e-05
[Z_tp1, Y_tp1, log_gk_tp1]
[-sqrt(epsilon)*(W1_tp1*sigma_k1 + W2_tp1*sigma_k2 + W3_tp1*sigma_k3)*exp(0.5*Y_t) - epsilon*(Z_t*beta_k - alpha_k + phi_1*log(imk_t*phi_2 + 1.0) - 0.5*q_t**2*(sigma_k1**2 + sigma_k2**2 + sigma_k3**2)*exp(Y_t)) + log_gk_tp1, Z_t*beta_z*epsilon - Z_t + Z_tp1 - sqrt(epsilon)*(W1_tp1*sigma_z1 + W2_tp1*sigma_z2 + W3_tp1*sigma_z3)*exp(0.5*Y_t), -Y_t + Y_tp1 + beta_2*epsilon*(-mu_2*exp(-Y_t) + 1) - sqrt(epsilon)*(W1_tp1*sigma_y1 + W2_tp1*sigma_y2 + W3_tp1*sigma_y3)*exp(-0.5*Y_t) + 0.5*epsilon*q_t**2*(sigma_y1**2 + sigma_y2**2 + sigma_y3**2)*exp(-Y_t)]
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4729650959427762
  imk_t: 0.06117509766813816
  m0_t: 0.5206268499927571
  m1_t: 1.657356816857778e-82
  mg_t: 1.0
  log_gk_t: 0.0024491837155690174
  Z_t: 1.0168946634727096e-133
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00271129724966585
  Equation 2: -4.44089209850063E-16
  Equation 3: 0.0794977157955994
  Equation 4: -0.000127495466660696
  Equation 5: -8.89357214175599E-84
  Equation 6: -0.00271129724966585
  Equation 7: -4.33680868994202E-19
  Equation 8: 1.42365252886179E-135
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4729650959427762
  imk_t: 0.06117509766813816
  m0_t: 0.5206268499927571
  m1_t: 1.657356816857778e-82
  mg_t: 1.0
  log_gk_t: 0.0024491837155690174
  Z_t: 1.0168946634727096e-133
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00271129724966585
  Equation 2: -4.44089209850063E-16
  Equation 3: 0.0794977157955994
  Equation 4: -0.000127495466660696
  Equation 5: -8.89357214175599E-84
  Equation 6: -0.00271129724966585
  Equation 7: -4.33680868994202E-19
  Equation 8: 1.42365252886179E-135
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4729650959427762
  imk_t: 0.06117509766813816
  m0_t: 0.5206268499927571
  m1_t: 1.657356816857778e-82
  mg_t: 1.0
  log_gk_t: 0.0024491837155690174
  Z_t: 1.0168946634727096e-133
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00271129724966585
  Equation 2: -4.44089209850063E-16
  Equation 3: 0.0794977157955994
  Equation 4: -0.000127495466660696
  Equation 5: -8.89357214175599E-84
  Equation 6: -0.00271129724966585
  Equation 7: -4.33680868994202E-19
  Equation 8: 1.42365252886179E-135
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.4037994192794354
  log_cmk_t: -3.4729650959427762
  imk_t: 0.06117509766813816
  m0_t: 0.5206268499927571
  m1_t: 1.657356816857778e-82
  mg_t: 1.0
  log_gk_t: 0.0024491837155690174
  Z_t: 1.0168946634727096e-133
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00271129708454249
  Equation 2: -4.44089209850063E-16
  Equation 3: 0.0794977104733151
  Equation 4: -0.000127495466660696
  Equation 5: -8.89357214175599E-84
  Equation 6: -0.00271129708454249
  Equation 7: -4.33680868994202E-19
  Equation 8: 1.42365252886179E-135
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4729650441915636
  imk_t: 0.06117509766813816
  m0_t: 0.5206268499927571
  m1_t: 1.657356816857778e-82
  mg_t: 1.0
  log_gk_t: 0.0024491837155690174
  Z_t: 1.0168946634727096e-133
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00271129741814451
  Equation 2: 5.17512122044650E-8
  Equation 3: 0.0794977212260328
  Equation 4: -0.000127495466660696
  Equation 5: -8.89357214175599E-84
  Equation 6: -0.00271129741814451
  Equation 7: -4.33680868994202E-19
  Equation 8: 1.42365252886179E-135
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4729650959427762
  imk_t: 0.06117509857971815
  m0_t: 0.5206268499927571
  m1_t: 1.657356816857778e-82
  mg_t: 1.0
  log_gk_t: 0.0024491837155690174
  Z_t: 1.0168946634727096e-133
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00271129724966585
  Equation 2: 2.93822037811253E-8
  Equation 3: 0.0794977124088767
  Equation 4: -0.000127495466660696
  Equation 5: -8.89357214175599E-84
  Equation 6: -0.00271129724966585
  Equation 7: -1.53011196161318E-10
  Equation 8: 1.42365252886179E-135
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4729650959427762
  imk_t: 0.06117509766813816
  m0_t: 0.5206268577507017
  m1_t: 1.657356816857778e-82
  mg_t: 1.0
  log_gk_t: 0.0024491837155690174
  Z_t: 1.0168946634727096e-133
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00271129724966585
  Equation 2: -4.44089209850063E-16
  Equation 3: 0.0794977157955994
  Equation 4: -0.000127495616763862
  Equation 5: -8.89357214175599E-84
  Equation 6: -0.00271129724966585
  Equation 7: -4.33680868994202E-19
  Equation 8: 1.42365252886179E-135
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4729650959427762
  imk_t: 0.06117509766813816
  m0_t: 0.5206268499927571
  m1_t: 1.6573568415543193e-82
  mg_t: 1.0
  log_gk_t: 0.0024491837155690174
  Z_t: 1.0168946634727096e-133
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00271129724966585
  Equation 2: -4.44089209850063E-16
  Equation 3: 0.0794977157955994
  Equation 4: -0.000127495466660696
  Equation 5: -8.89357227428055E-84
  Equation 6: -0.00271129724966585
  Equation 7: -4.33680868994202E-19
  Equation 8: 1.42365252886179E-135
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4729650959427762
  imk_t: 0.06117509766813816
  m0_t: 0.5206268499927571
  m1_t: 1.657356816857778e-82
  mg_t: 1.0000000149011612
  log_gk_t: 0.0024491837155690174
  Z_t: 1.0168946634727096e-133
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00271129724966585
  Equation 2: -4.44089209850063E-16
  Equation 3: 0.0794977182832330
  Equation 4: -0.000127495318457361
  Equation 5: -8.89357214175599E-84
  Equation 6: -0.00271129733049356
  Equation 7: -4.33680868994202E-19
  Equation 8: 1.42365252886179E-135
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4729650959427762
  imk_t: 0.06117509766813816
  m0_t: 0.5206268499927571
  m1_t: 1.657356816857778e-82
  mg_t: 1.0
  log_gk_t: 0.002449183752064699
  Z_t: 1.0168946634727096e-133
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00271129729322311
  Equation 2: -4.44089209850063E-16
  Equation 3: 0.0794977157882882
  Equation 4: -0.000127495489455910
  Equation 5: -8.89357214862486E-84
  Equation 6: -0.00271129729322311
  Equation 7: 3.64956810432193E-11
  Equation 8: 1.42365252886179E-135
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4729650959427762
  imk_t: 0.06117509766813816
  m0_t: 0.5206268499927571
  m1_t: 1.657356816857778e-82
  mg_t: 1.0
  log_gk_t: 0.0024491837155690174
  Z_t: 1.016894678625621e-133
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00271129724966585
  Equation 2: -4.44089209850063E-16
  Equation 3: 0.0794977157955994
  Equation 4: -0.000127495466660696
  Equation 5: -8.89357214175599E-84
  Equation 6: -0.00271129724966585
  Equation 7: -4.33680868994202E-19
  Equation 8: 1.42365255007587E-135
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4729650959427762
  imk_t: 0.06117509766813816
  m0_t: 0.5206268499927571
  m1_t: 1.657356816857778e-82
  mg_t: 1.0
  log_gk_t: 0.0024491837155690174
  Z_t: 1.0168946634727096e-133
  Y_t: -11.974960746125964

Substituted Equations:
  Equation 1: 0.00271129724966585
  Equation 2: -4.44089209850063E-16
  Equation 3: 0.0794977157955994
  Equation 4: -0.000127495466660696
  Equation 5: -8.89357071519680E-84
  Equation 6: -0.00271129724966585
  Equation 7: -4.33680868994202E-19
  Equation 8: 1.42365252886179E-135
  Equation 9: 8.65437915081868E-9
Variable Dictionary:
  vmk_t: -2.5936393912246087
  log_cmk_t: -3.4480367086073227
  imk_t: 0.06040169690795495
  m0_t: 0.5182281162810357
  m1_t: 4.553208005577281e-85
  mg_t: 1.0
  log_gk_t: 0.0023193662823635815
  Z_t: 6.832779181942847e-142
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: -0.00169165485166615
  Equation 2: 0.000305643897855035
  Equation 3: -0.0512451004286146
  Equation 4: -3.60299611690956E-7
  Equation 5: -2.43659218277890E-86
  Equation 6: 0.00169165485166615
  Equation 7: 2.70392569546012E-7
  Equation 8: 9.56589085471999E-144
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.9128389901761143
  log_cmk_t: -3.4547257014006307
  imk_t: 0.06060329399430654
  m0_t: 0.5171295566182839
  m1_t: 5.335598370663032e-86
  mg_t: 1.0000000000000002
  log_gk_t: 0.0023530358624094918
  Z_t: 2.561104434908214e-142
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.000525363467110696
  Equation 2: -0.0000232972518032781
  Equation 3: 0.0160634654889599
  Equation 4: -1.67113793523785E-7
  Equation 5: -2.85731894201946E-87
  Equation 6: -0.000525363467110697
  Equation 7: -2.13471673836049E-8
  Equation 8: 3.58554620887150E-144
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.8361689935758605
  log_cmk_t: -3.453543912746065
  imk_t: 0.06056635011589858
  m0_t: 0.5173217465528966
  m1_t: -5.368258451034076e-87
  mg_t: 1.0
  log_gk_t: 0.002346827338834412
  Z_t: 4.903623884776604e-145
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.0000643427355248756
  Equation 2: -0.0000100575352282029
  Equation 3: 0.00193540708404091
  Equation 4: -9.76813782464780E-9
  Equation 5: 2.87443053305456E-88
  Equation 6: -0.0000643427355248756
  Equation 7: -9.01608810093685E-9
  Equation 8: 6.86507343868725E-147
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.825791200348894
  log_cmk_t: -3.4532595549732163
  imk_t: 0.06055774021073072
  m0_t: 0.5173676787606939
  m1_t: 1.8408278676910635e-87
  mg_t: 1.0
  log_gk_t: 0.0023453883060061626
  Z_t: -1.5078679498461407e-145
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: -0.00000120090179926789
  Equation 2: 0.00000216174872536001
  Equation 3: -0.0000285889705423648
  Equation 4: 4.64027490043595E-10
  Equation 5: -9.85640011083116E-89
  Equation 6: 0.00000120090179926789
  Equation 7: 1.92182689467274E-9
  Equation 8: -2.11101512978460E-147
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.8259150360673946
  log_cmk_t: -3.4532891963077526
  imk_t: 0.060558596813004684
  m0_t: 0.5173631199633436
  m1_t: -3.657801603287906e-88
  mg_t: 1.0
  log_gk_t: 0.0023455302831286787
  Z_t: 3.0046980148502794e-146
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: -4.32212417632825E-7
  Equation 2: -4.07756092890565E-7
  Equation 3: -0.0000149888614215943
  Equation 4: -3.22669252428298E-11
  Equation 5: 1.95851363056668E-89
  Equation 6: 4.32212417632825E-7
  Equation 7: -3.62126646377692E-10
  Equation 8: 4.20657722079039E-148
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.8259952227999348
  log_cmk_t: -3.45328474829867
  imk_t: 0.06055847128375883
  m0_t: 0.5173637868929195
  m1_t: 6.611601894666164e-89
  mg_t: 1.0
  log_gk_t: 0.00234550956965148
  Z_t: -5.382060844091987e-147
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 8.14113810063827E-8
  Equation 2: 7.30143652205584E-8
  Equation 3: 0.00000280724458026627
  Equation 4: 4.80767682609073E-12
  Equation 5: -3.54007902714192E-90
  Equation 6: -8.14113810063827E-8
  Equation 7: 6.48354950456842E-11
  Equation 8: -7.53488518172878E-149
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.8259824923824337
  log_cmk_t: -3.4532854167994818
  imk_t: 0.0605584901228357
  m0_t: 0.5173636867903725
  m1_t: -8.313379074250873e-92
  mg_t: 1.0
  log_gk_t: 0.0023455126774299413
  Z_t: 7.081396971324899e-150
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: -1.03811936477682E-10
  Equation 2: -9.54130108254958E-11
  Equation 3: -3.57256771388315E-9
  Equation 4: -1.21985754830689E-14
  Equation 5: 4.45126934657746E-93
  Equation 6: 1.03811936477682E-10
  Equation 7: -8.47551195892748E-14
  Equation 8: 9.91395575985486E-152
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.8259825086010157
  log_cmk_t: -3.453285415963451
  imk_t: 0.06055849009940163
  m0_t: 0.5173636869144408
  m1_t: -8.50465805899823e-96
  mg_t: 1.0
  log_gk_t: 0.002345512673568158
  Z_t: -3.176270573086385e-153
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 5.64643817813071E-14
  Equation 2: 6.21724893790088E-15
  Equation 3: 1.77255432554091E-12
  Equation 4: -4.68375338513738E-17
  Equation 5: 4.55368669946668E-97
  Equation 6: -5.64643817813071E-14
  Equation 7: 7.80625564189563E-18
  Equation 8: -4.44677880232094E-155
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.8259825086010157
  log_cmk_t: -3.453285415963451
  imk_t: 0.06055849009940163
  m0_t: 0.5173636869144408
  m1_t: -8.50465805899823e-96
  mg_t: 1.0
  log_gk_t: 0.002345512673568158
  Z_t: -3.176270573086385e-153
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 5.64643817813071E-14
  Equation 2: 6.21724893790088E-15
  Equation 3: 1.77255432554091E-12
  Equation 4: -4.68375338513738E-17
  Equation 5: 4.55368669946668E-97
  Equation 6: -5.64643817813071E-14
  Equation 7: 7.80625564189563E-18
  Equation 8: -4.44677880232094E-155
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4729650959427762
  imk_t: 0.06117509766813816
  m0_t: 0.5206268499927571
  m1_t: 1.657356816857778e-82
  mg_t: 1.0
  log_gk_t: 0.0024491837155690174
  Z_t: 1.0168946634727096e-133
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00271129724966585
  Equation 2: -4.44089209850063E-16
  Equation 3: 0.0794977157955994
  Equation 4: -0.000127495466660696
  Equation 5: -8.89357214175599E-84
  Equation 6: -0.00271129724966585
  Equation 7: -4.33680868994202E-19
  Equation 8: 1.42365252886179E-135
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4729650959427762
  imk_t: 0.06117509766813816
  m0_t: 0.5206268499927571
  m1_t: 1.657356816857778e-82
  mg_t: 1.0
  log_gk_t: 0.0024491837155690174
  Z_t: 1.0168946634727096e-133
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00271129724966585
  Equation 2: -4.44089209850063E-16
  Equation 3: 0.0794977157955994
  Equation 4: -0.000127495466660696
  Equation 5: -8.89357214175599E-84
  Equation 6: -0.00271129724966585
  Equation 7: -4.33680868994202E-19
  Equation 8: 1.42365252886179E-135
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4729650959427762
  imk_t: 0.06117509766813816
  m0_t: 0.5206268499927571
  m1_t: 1.657356816857778e-82
  mg_t: 1.0
  log_gk_t: 0.0024491837155690174
  Z_t: 1.0168946634727096e-133
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00271129724966585
  Equation 2: -4.44089209850063E-16
  Equation 3: 0.0794977157955994
  Equation 4: -0.000127495466660696
  Equation 5: -8.89357214175599E-84
  Equation 6: -0.00271129724966585
  Equation 7: -4.33680868994202E-19
  Equation 8: 1.42365252886179E-135
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.4037994192794354
  log_cmk_t: -3.4729650959427762
  imk_t: 0.06117509766813816
  m0_t: 0.5206268499927571
  m1_t: 1.657356816857778e-82
  mg_t: 1.0
  log_gk_t: 0.0024491837155690174
  Z_t: 1.0168946634727096e-133
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00271129708454249
  Equation 2: -4.44089209850063E-16
  Equation 3: 0.0794977104733151
  Equation 4: -0.000127495466660696
  Equation 5: -8.89357214175599E-84
  Equation 6: -0.00271129708454249
  Equation 7: -4.33680868994202E-19
  Equation 8: 1.42365252886179E-135
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4729650441915636
  imk_t: 0.06117509766813816
  m0_t: 0.5206268499927571
  m1_t: 1.657356816857778e-82
  mg_t: 1.0
  log_gk_t: 0.0024491837155690174
  Z_t: 1.0168946634727096e-133
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00271129741814451
  Equation 2: 5.17512122044650E-8
  Equation 3: 0.0794977212260328
  Equation 4: -0.000127495466660696
  Equation 5: -8.89357214175599E-84
  Equation 6: -0.00271129741814451
  Equation 7: -4.33680868994202E-19
  Equation 8: 1.42365252886179E-135
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4729650959427762
  imk_t: 0.06117509857971815
  m0_t: 0.5206268499927571
  m1_t: 1.657356816857778e-82
  mg_t: 1.0
  log_gk_t: 0.0024491837155690174
  Z_t: 1.0168946634727096e-133
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00271129724966585
  Equation 2: 2.93822037811253E-8
  Equation 3: 0.0794977124088767
  Equation 4: -0.000127495466660696
  Equation 5: -8.89357214175599E-84
  Equation 6: -0.00271129724966585
  Equation 7: -1.53011196161318E-10
  Equation 8: 1.42365252886179E-135
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4729650959427762
  imk_t: 0.06117509766813816
  m0_t: 0.5206268577507017
  m1_t: 1.657356816857778e-82
  mg_t: 1.0
  log_gk_t: 0.0024491837155690174
  Z_t: 1.0168946634727096e-133
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00271129724966585
  Equation 2: -4.44089209850063E-16
  Equation 3: 0.0794977157955994
  Equation 4: -0.000127495616763862
  Equation 5: -8.89357214175599E-84
  Equation 6: -0.00271129724966585
  Equation 7: -4.33680868994202E-19
  Equation 8: 1.42365252886179E-135
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4729650959427762
  imk_t: 0.06117509766813816
  m0_t: 0.5206268499927571
  m1_t: 1.6573568415543193e-82
  mg_t: 1.0
  log_gk_t: 0.0024491837155690174
  Z_t: 1.0168946634727096e-133
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00271129724966585
  Equation 2: -4.44089209850063E-16
  Equation 3: 0.0794977157955994
  Equation 4: -0.000127495466660696
  Equation 5: -8.89357227428055E-84
  Equation 6: -0.00271129724966585
  Equation 7: -4.33680868994202E-19
  Equation 8: 1.42365252886179E-135
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4729650959427762
  imk_t: 0.06117509766813816
  m0_t: 0.5206268499927571
  m1_t: 1.657356816857778e-82
  mg_t: 1.0000000149011612
  log_gk_t: 0.0024491837155690174
  Z_t: 1.0168946634727096e-133
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00271129724966585
  Equation 2: -4.44089209850063E-16
  Equation 3: 0.0794977182832330
  Equation 4: -0.000127495318457361
  Equation 5: -8.89357214175599E-84
  Equation 6: -0.00271129733049356
  Equation 7: -4.33680868994202E-19
  Equation 8: 1.42365252886179E-135
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4729650959427762
  imk_t: 0.06117509766813816
  m0_t: 0.5206268499927571
  m1_t: 1.657356816857778e-82
  mg_t: 1.0
  log_gk_t: 0.002449183752064699
  Z_t: 1.0168946634727096e-133
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00271129729322311
  Equation 2: -4.44089209850063E-16
  Equation 3: 0.0794977157882882
  Equation 4: -0.000127495489455910
  Equation 5: -8.89357214862486E-84
  Equation 6: -0.00271129729322311
  Equation 7: 3.64956810432193E-11
  Equation 8: 1.42365252886179E-135
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4729650959427762
  imk_t: 0.06117509766813816
  m0_t: 0.5206268499927571
  m1_t: 1.657356816857778e-82
  mg_t: 1.0
  log_gk_t: 0.0024491837155690174
  Z_t: 1.016894678625621e-133
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.00271129724966585
  Equation 2: -4.44089209850063E-16
  Equation 3: 0.0794977157955994
  Equation 4: -0.000127495466660696
  Equation 5: -8.89357214175599E-84
  Equation 6: -0.00271129724966585
  Equation 7: -4.33680868994202E-19
  Equation 8: 1.42365255007587E-135
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -3.40379947
  log_cmk_t: -3.4729650959427762
  imk_t: 0.06117509766813816
  m0_t: 0.5206268499927571
  m1_t: 1.657356816857778e-82
  mg_t: 1.0
  log_gk_t: 0.0024491837155690174
  Z_t: 1.0168946634727096e-133
  Y_t: -11.974960746125964

Substituted Equations:
  Equation 1: 0.00271129724966585
  Equation 2: -4.44089209850063E-16
  Equation 3: 0.0794977157955994
  Equation 4: -0.000127495466660696
  Equation 5: -8.89357071519680E-84
  Equation 6: -0.00271129724966585
  Equation 7: -4.33680868994202E-19
  Equation 8: 1.42365252886179E-135
  Equation 9: 8.65437915081868E-9
Variable Dictionary:
  vmk_t: -2.5936393912246087
  log_cmk_t: -3.4480367086073227
  imk_t: 0.06040169690795495
  m0_t: 0.5182281162810357
  m1_t: 4.553208005577281e-85
  mg_t: 1.0
  log_gk_t: 0.0023193662823635815
  Z_t: 6.832779181942847e-142
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: -0.00169165485166615
  Equation 2: 0.000305643897855035
  Equation 3: -0.0512451004286146
  Equation 4: -3.60299611690956E-7
  Equation 5: -2.43659218277890E-86
  Equation 6: 0.00169165485166615
  Equation 7: 2.70392569546012E-7
  Equation 8: 9.56589085471999E-144
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.9128389901761143
  log_cmk_t: -3.4547257014006307
  imk_t: 0.06060329399430654
  m0_t: 0.5171295566182839
  m1_t: 5.335598370663032e-86
  mg_t: 1.0000000000000002
  log_gk_t: 0.0023530358624094918
  Z_t: 2.561104434908214e-142
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.000525363467110696
  Equation 2: -0.0000232972518032781
  Equation 3: 0.0160634654889599
  Equation 4: -1.67113793523785E-7
  Equation 5: -2.85731894201946E-87
  Equation 6: -0.000525363467110697
  Equation 7: -2.13471673836049E-8
  Equation 8: 3.58554620887150E-144
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.8361689935758605
  log_cmk_t: -3.453543912746065
  imk_t: 0.06056635011589858
  m0_t: 0.5173217465528966
  m1_t: -5.368258451034076e-87
  mg_t: 1.0
  log_gk_t: 0.002346827338834412
  Z_t: 4.903623884776604e-145
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 0.0000643427355248756
  Equation 2: -0.0000100575352282029
  Equation 3: 0.00193540708404091
  Equation 4: -9.76813782464780E-9
  Equation 5: 2.87443053305456E-88
  Equation 6: -0.0000643427355248756
  Equation 7: -9.01608810093685E-9
  Equation 8: 6.86507343868725E-147
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.825791200348894
  log_cmk_t: -3.4532595549732163
  imk_t: 0.06055774021073072
  m0_t: 0.5173676787606939
  m1_t: 1.8408278676910635e-87
  mg_t: 1.0
  log_gk_t: 0.0023453883060061626
  Z_t: -1.5078679498461407e-145
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: -0.00000120090179926789
  Equation 2: 0.00000216174872536001
  Equation 3: -0.0000285889705423648
  Equation 4: 4.64027490043595E-10
  Equation 5: -9.85640011083116E-89
  Equation 6: 0.00000120090179926789
  Equation 7: 1.92182689467274E-9
  Equation 8: -2.11101512978460E-147
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.8259150360673946
  log_cmk_t: -3.4532891963077526
  imk_t: 0.060558596813004684
  m0_t: 0.5173631199633436
  m1_t: -3.657801603287906e-88
  mg_t: 1.0
  log_gk_t: 0.0023455302831286787
  Z_t: 3.0046980148502794e-146
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: -4.32212417632825E-7
  Equation 2: -4.07756092890565E-7
  Equation 3: -0.0000149888614215943
  Equation 4: -3.22669252428298E-11
  Equation 5: 1.95851363056668E-89
  Equation 6: 4.32212417632825E-7
  Equation 7: -3.62126646377692E-10
  Equation 8: 4.20657722079039E-148
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.8259952227999348
  log_cmk_t: -3.45328474829867
  imk_t: 0.06055847128375883
  m0_t: 0.5173637868929195
  m1_t: 6.611601894666164e-89
  mg_t: 1.0
  log_gk_t: 0.00234550956965148
  Z_t: -5.382060844091987e-147
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 8.14113810063827E-8
  Equation 2: 7.30143652205584E-8
  Equation 3: 0.00000280724458026627
  Equation 4: 4.80767682609073E-12
  Equation 5: -3.54007902714192E-90
  Equation 6: -8.14113810063827E-8
  Equation 7: 6.48354950456842E-11
  Equation 8: -7.53488518172878E-149
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.8259824923824337
  log_cmk_t: -3.4532854167994818
  imk_t: 0.0605584901228357
  m0_t: 0.5173636867903725
  m1_t: -8.313379074250873e-92
  mg_t: 1.0
  log_gk_t: 0.0023455126774299413
  Z_t: 7.081396971324899e-150
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: -1.03811936477682E-10
  Equation 2: -9.54130108254958E-11
  Equation 3: -3.57256771388315E-9
  Equation 4: -1.21985754830689E-14
  Equation 5: 4.45126934657746E-93
  Equation 6: 1.03811936477682E-10
  Equation 7: -8.47551195892748E-14
  Equation 8: 9.91395575985486E-152
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.8259825086010157
  log_cmk_t: -3.453285415963451
  imk_t: 0.06055849009940163
  m0_t: 0.5173636869144408
  m1_t: -8.50465805899823e-96
  mg_t: 1.0
  log_gk_t: 0.002345512673568158
  Z_t: -3.176270573086385e-153
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 5.64643817813071E-14
  Equation 2: 6.21724893790088E-15
  Equation 3: 1.77255432554091E-12
  Equation 4: -4.68375338513738E-17
  Equation 5: 4.55368669946668E-97
  Equation 6: -5.64643817813071E-14
  Equation 7: 7.80625564189563E-18
  Equation 8: -4.44677880232094E-155
  Equation 9: 1.38777878078145E-17
Variable Dictionary:
  vmk_t: -2.8259825086010157
  log_cmk_t: -3.453285415963451
  imk_t: 0.06055849009940163
  m0_t: 0.5173636869144408
  m1_t: -8.50465805899823e-96
  mg_t: 1.0
  log_gk_t: 0.002345512673568158
  Z_t: -3.176270573086385e-153
  Y_t: -11.974960924566787

Substituted Equations:
  Equation 1: 5.64643817813071E-14
  Equation 2: 6.21724893790088E-15
  Equation 3: 1.77255432554091E-12
  Equation 4: -4.68375338513738E-17
  Equation 5: 4.55368669946668E-97
  Equation 6: -5.64643817813071E-14
  Equation 7: 7.80625564189563E-18
  Equation 8: -4.44677880232094E-155
  Equation 9: 1.38777878078145E-17
Iteration 1: mu_0 error = 1.1379786e-15
Iteration 1: J1 error = 0.18143133
Iteration 1: J2 error = 0.2157595
Iteration 1: error = 0.2157595
Iteration 2: mu_0 error = 1.80411242e-16
Iteration 2: J1 error = 0.47190729
Iteration 2: J2 error = 0.0626685681
Iteration 2: error = 0.47190729
Iteration 3: mu_0 error = 2.91433544e-16
Iteration 3: J1 error = 0.606690307
Iteration 3: J2 error = 0.271112042
Iteration 3: error = 0.606690307
Iteration 4: mu_0 error = 1.80411242e-16
Iteration 4: J1 error = 0.64485907
Iteration 4: J2 error = 0.30524741
Iteration 4: error = 0.64485907
Iteration 5: mu_0 error = 1.05471187e-15
Iteration 5: J1 error = 0.667807362
Iteration 5: J2 error = 0.358790749
Iteration 5: error = 0.667807362
Iteration 6: mu_0 error = 7.63278329e-16
Iteration 6: J1 error = 0.688792432
Iteration 6: J2 error = 0.383609129
Iteration 6: error = 0.688792432
Iteration 7: mu_0 error = 2.91433544e-16
Iteration 7: J1 error = 0.709986832
Iteration 7: J2 error = 0.439452132
Iteration 7: error = 0.709986832
Iteration 8: mu_0 error = 1.2490009e-16
Iteration 8: J1 error = 0.731760219
Iteration 8: J2 error = 0.4664183
Iteration 8: error = 0.731760219
Iteration 9: mu_0 error = 6.9388939e-17
Iteration 9: J1 error = 0.754189434
Iteration 9: J2 error = 0.528475912
Iteration 9: error = 0.754189434
Iteration 10: mu_0 error = 6.9388939e-17
Iteration 10: J1 error = 0.777304192
Iteration 10: J2 error = 0.557940228
Iteration 10: error = 0.777304192
Iteration 11: mu_0 error = 2.91433544e-16
Iteration 11: J1 error = 0.801127067
Iteration 11: J2 error = 0.626910037
Iteration 11: error = 0.801127067
Iteration 12: mu_0 error = 2.22044605e-16
Iteration 12: J1 error = 0.825680016
Iteration 12: J2 error = 0.659010504
Iteration 12: error = 0.825680016
Iteration 13: mu_0 error = 9.71445147e-17
Iteration 13: J1 error = 0.850985455
Iteration 13: J2 error = 0.735587643
Iteration 13: error = 0.850985455
The iteration is not making good progress, as measured by the 
  improvement from the last ten iterations.
Iteration 14: mu_0 error = 1.2490009e-16
Iteration 14: J1 error = 0.877066454
Iteration 14: J2 error = 0.770459544
Iteration 14: error = 0.877066454
Iteration 15: mu_0 error = 1.94289029e-16
Iteration 15: J1 error = 0.903946784
Iteration 15: J2 error = 0.855407255
Iteration 15: error = 0.903946784
Iteration 16: mu_0 error = 6.9388939e-17
Iteration 16: J1 error = 0.931650941
Iteration 16: J2 error = 0.893182534
Iteration 16: error = 0.931650941
Iteration 17: mu_0 error = 9.71445147e-17
Iteration 17: J1 error = 0.960204176
Iteration 17: J2 error = 0.987340304
Iteration 17: error = 0.987340304
Iteration 18: mu_0 error = 1.94289029e-16
Iteration 18: J1 error = 0.989632509
Iteration 18: J2 error = 1.02814522
Iteration 18: error = 1.02814522
Iteration 19: mu_0 error = 4.16333634e-17
Iteration 19: J1 error = 1.01996276
Iteration 19: J2 error = 1.13243669
Iteration 19: error = 1.13243669
Iteration 20: mu_0 error = 8.32667268e-17
Iteration 20: J1 error = 1.05122258
Iteration 20: J2 error = 1.17638913
Iteration 20: error = 1.17638913
Iteration 21: mu_0 error = 2.08166817e-16
Iteration 21: J1 error = 1.08344044
Iteration 21: J2 error = 1.29183089
Iteration 21: error = 1.29183089
Iteration 22: mu_0 error = 4.02455846e-16
Iteration 22: J1 error = 1.11664572
Iteration 22: J2 error = 1.33903718
Iteration 22: error = 1.33903718
Iteration 23: mu_0 error = 8.32667268e-17
Iteration 23: J1 error = 1.15086867
Iteration 23: J2 error = 1.46674849
Iteration 23: error = 1.46674849
Iteration 24: mu_0 error = 4.02455846e-16
Iteration 24: J1 error = 1.18614049
Iteration 24: J2 error = 1.51729967
Iteration 24: error = 1.51729967
The iteration is not making good progress, as measured by the 
  improvement from the last ten iterations.
Iteration 25: mu_0 error = 4.57966998e-16
Iteration 25: J1 error = 1.22249332
Iteration 25: J2 error = 1.65851328
Iteration 25: error = 1.65851328
Iteration 26: mu_0 error = 6.9388939e-17
Iteration 26: J1 error = 1.25996029
Iteration 26: J2 error = 1.71248065
Iteration 26: error = 1.71248065
Iteration 27: mu_0 error = 4.99600361e-16
Iteration 27: J1 error = 1.29857555
Iteration 27: J2 error = 1.86855482
Iteration 27: error = 1.86855482
Iteration 28: mu_0 error = 3.60822483e-16
Iteration 28: J1 error = 1.33837429
Iteration 28: J2 error = 1.9259848
Iteration 28: error = 1.9259848
Iteration 29: mu_0 error = 2.77555756e-16
Iteration 29: J1 error = 1.37939278
Iteration 29: J2 error = 2.09841668
Iteration 29: error = 2.09841668
Iteration 30: mu_0 error = 5.96744876e-16
Iteration 30: J1 error = 1.4216684
Iteration 30: J2 error = 2.15932473
Iteration 30: error = 2.15932473
The iteration is not making good progress, as measured by the 
  improvement from the last ten iterations.
Iteration 31: mu_0 error = 8.32667268e-17
Iteration 31: J1 error = 1.46523969
Iteration 31: J2 error = 2.34976522
Iteration 31: error = 2.34976522
Iteration 32: mu_0 error = 4.4408921e-16
Iteration 32: J1 error = 1.51014635
Iteration 32: J2 error = 2.41412883
Iteration 32: error = 2.41412883
Iteration 33: mu_0 error = 3.88578059e-16
Iteration 33: J1 error = 1.55642931
Iteration 33: J2 error = 2.62439909
Iteration 33: error = 2.62439909
Iteration 34: mu_0 error = 3.46944695e-16
Iteration 34: J1 error = 1.60413075
Iteration 34: J2 error = 2.69214956
Iteration 34: error = 2.69214956
The iteration is not making good progress, as measured by the 
  improvement from the last ten iterations.
Iteration 35: mu_0 error = 5.27355937e-16
Iteration 35: J1 error = 1.65329414
Iteration 35: J2 error = 2.92425946
Iteration 35: error = 2.92425946
Iteration 36: mu_0 error = 5.55111512e-16
Iteration 36: J1 error = 1.7039643
Iteration 36: J2 error = 2.99527241
Iteration 36: error = 2.99527241
The iteration is not making good progress, as measured by the 
  improvement from the last ten iterations.
Iteration 37: mu_0 error = 1.94289029e-16
Iteration 37: J1 error = 1.75618739
Iteration 37: J2 error = 3.25144102
Iteration 37: error = 3.25144102
The iteration is not making good progress, as measured by the 
  improvement from the last ten iterations.
Iteration 38: mu_0 error = 6.9388939e-17
Iteration 38: J1 error = 1.81001101
Iteration 38: J2 error = 3.32552542
Iteration 38: error = 3.32552542
Iteration 39: mu_0 error = 4.16333634e-17
Iteration 39: J1 error = 1.86548422
Iteration 39: J2 error = 3.60820387
Iteration 39: error = 3.60820387
The iteration is not making good progress, as measured by the 
  improvement from the last ten iterations.
Iteration 40: mu_0 error = 1.52655666e-16
Iteration 40: J1 error = 1.92265757
Iteration 40: J2 error = 3.68508929
Iteration 40: error = 3.68508929
The iteration is not making good progress, as measured by the 
  improvement from the last ten iterations.
Iteration 41: mu_0 error = 2.35922393e-16
Iteration 41: J1 error = 1.98158318
Iteration 41: J2 error = 3.99698626
Iteration 41: error = 3.99698626
Iteration 42: mu_0 error = 9.71445147e-17
Iteration 42: J1 error = 2.04231473
Iteration 42: J2 error = 4.07630825
Iteration 42: error = 4.07630825
Iteration 43: mu_0 error = 3.74700271e-16
Iteration 43: J1 error = 2.10490758
Iteration 43: J2 error = 4.42041837
Iteration 43: error = 4.42041837
Iteration 44: mu_0 error = 5.13478149e-16
Iteration 44: J1 error = 2.16941878
Iteration 44: J2 error = 4.50170159
Iteration 44: error = 4.50170159
Iteration 45: mu_0 error = 6.9388939e-17
Iteration 45: J1 error = 2.23590712
Iteration 45: J2 error = 4.88133716
Iteration 45: error = 4.88133716
Iteration 46: mu_0 error = 0
Iteration 46: J1 error = 2.30443319
Iteration 46: J2 error = 4.96397593
Iteration 46: error = 4.96397593
Iteration 47: mu_0 error = 1.38777878e-17
Iteration 47: J1 error = 2.37505945
Iteration 47: J2 error = 5.38280234
Iteration 47: error = 5.38280234
The iteration is not making good progress, as measured by the 
  improvement from the last ten iterations.
Iteration 48: mu_0 error = 8.32667268e-17
Iteration 48: J1 error = 2.44785027
Iteration 48: J2 error = 5.46603837
Iteration 48: error = 5.46603837
Iteration 49: mu_0 error = 1.52410335e-94
Iteration 49: J1 error = 2.52287197
Iteration 49: J2 error = 5.92811358
Iteration 49: error = 5.92811358
Iteration 50: mu_0 error = 1.52655666e-16
Iteration 50: J1 error = 2.60019294
Iteration 50: J2 error = 6.01101039
Iteration 50: error = 6.01101039
Iteration 51: mu_0 error = 1.38777878e-16
Iteration 51: J1 error = 2.67988364
Iteration 51: J2 error = 6.52082913
Iteration 51: error = 6.52082913
Iteration 52: mu_0 error = 5.13478149e-16
Iteration 52: J1 error = 2.76201671
Iteration 52: J2 error = 6.60224269
Iteration 52: error = 6.60224269
Iteration 53: mu_0 error = 5.55111512e-17
Iteration 53: J1 error = 2.84666698
Iteration 53: J2 error = 7.16478583
Iteration 53: error = 7.16478583
Iteration 54: mu_0 error = 4.02455846e-16
Iteration 54: J1 error = 2.93391162
Iteration 54: J2 error = 7.243331
Iteration 54: error = 7.243331
Iteration 55: mu_0 error = 1.66533454e-16
Iteration 55: J1 error = 3.02383014
Iteration 55: J2 error = 7.86412069
Iteration 55: error = 7.86412069
Iteration 56: mu_0 error = 1.80411242e-16
Iteration 56: J1 error = 3.11650447
Iteration 56: J2 error = 7.9381328
Iteration 56: error = 7.9381328
Iteration 57: mu_0 error = 2.35922393e-16
Iteration 57: J1 error = 3.21201909
Iteration 57: J2 error = 8.62329424
Iteration 57: error = 8.62329424
Iteration 58: mu_0 error = 1.80411242e-16
Iteration 58: J1 error = 3.31046103
Iteration 58: J2 error = 8.69078516
Iteration 58: error = 8.69078516
The iteration is not making good progress, as measured by the 
  improvement from the last ten iterations.
Iteration 59: mu_0 error = 1.38777878e-16
Iteration 59: J1 error = 3.41192003
Iteration 59: J2 error = 9.44711563
Iteration 59: error = 9.44711563
The iteration is not making good progress, as measured by the 
  improvement from the last ten iterations.
Iteration 60: mu_0 error = 2.77555756e-17
Iteration 60: J1 error = 3.51648854
Iteration 60: J2 error = 9.50572362
Iteration 60: error = 9.50572362
Iteration 61: mu_0 error = 3.33066907e-16
Iteration 61: J1 error = 3.62426187
Iteration 61: J2 error = 10.3407698
Iteration 61: error = 10.3407698
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[14], line 26
     24     print(f"Created output folder at: {output_folder}")
     25 savepath = output_folder+'/single_capital_gamma_{}_rho_{}.pkl'.format(gamma_i, llambda_i)
---> 26 uncertain_expansion(control_variables, state_variables, shock_variables, variables, variables_tp1,
     27                     kappa, growth, state_equations, initial_guess, parameter_names,
     28                     args, approach = '1', init_util = init_util, iter_tol = iter_tol, max_iter = max_iter,
     29                     savepath=savepath)
     30 preloadpath = savepath

File ~/BFI Dropbox/Chun Hei Hung/QuantMFR/notebook_chapters/uncertainty_expansion/RiskUncertaintyValue/src/uncertain_expansion.py:189, in uncertain_expansion(control_variables, state_variables, shock_variables, variables, variables_tp1, output_constraint, capital_growth, state_equations, initial_guess, parameter_names, args, approach, init_util, iter_tol, max_iter, savepath)
    186         error_series.append(error)
    188     if error > 10:
--> 189         raise ValueError('The error is too large. Please check the model and the initial guess.')
    191     i+=1
    193 ## Formulate the solution

ValueError: The error is too large. Please check the model and the initial guess.

Note that the order of the variables listed in the solution is the same as before, except with \({\widehat V_t} - {\widehat C_t}\) removed:

\[ \left[ \widehat C_t - \widehat K_t, D_t, MX_t, MG_t, \widehat G_{t+1} - \widehat G_t, X_t \right] \]

2.6 Plot Elasticities#

First, if you did not run the code above, you can load a pre-solved solution by specifying save_path as follows:

save_path = 'output/res.pkl'
with open(save_path, 'rb') as f:
    ModelSol = pickle.load(f)

If you used the loop above, you can also use the following code to load all your solutions dynamically:

gamma_values = [1.001, 8.001]
rho_values = [1.001, 1.5]
models = {}
for gamma_i in gamma_values:
    for rho_i in rho_values:
        save_path = 'output/single_capital_gamma_{}_rho_{}.pkl'.format(gamma_i, rho_i)
        try:
            with open(save_path, 'rb') as f:
                model_key = f"gamma_{gamma_i}_rho_{rho_i}"
                models[model_key] = pickle.load(f)
        except FileNotFoundError:
            print(f"File not found: {save_path}")

We can use plot_exposure_elasticity_quantiles to plot exposure elasticities for different shocks.

  • model_list is a list of solutions you want to use to compute elasticities

  • quantile specifies the quantiles to be plotted

  • T specifies the number of periods (using the time-unit that you specified the parameters in)

Additional optional parameters are included for aesthetics.

Here is an example:

def plot_exposure_quantiles(
    model_list, 
    quantile, 
    Mtgrowth_list,
    T, 
    num_shocks, 
    time_unit='quarters', 
    ylimits=None, 
    titles=None, 
    title=None, 
    shock_names=None, 
    colors=None, 
    save_path=None
):
    """
    Plot exposure elasticity quantiles for multiple models across subplots,
    with special handling for num_shocks = 1 (plots second shock only).
    
    Parameters:
    - model_list: List of model results to plot.
    - quantile: List of quantiles to calculate.
    - T: Integer, time horizon.
    - num_shocks: Integer, number of shocks to include.
    - time_unit: String, label for x-axis time units (e.g., "quarters").
    - ylimits: List, optional y-axis limits for the subplots.
    - titles: List of titles for individual subplots.
    - title: String, optional title for the overall figure.
    - shock_names: List of strings, names for the shocks (optional).
    - colors: List of strings, colors for the quantiles.
    - save_path: String, optional path to save the plot.
    """
    sns.set_style("darkgrid")
    num_models = len(model_list)

    # Default settings
    if titles is None:
        titles = [f'Model {i + 1}' for i in range(num_models)]
    if shock_names is None:
        shock_names = [f'Shock {i + 1}' for i in range(num_shocks)]
    if colors is None:
        colors = ['green', 'red', 'blue']

    # Adjust num_shocks and shock_names if num_shocks = 1
    if num_shocks == 1:
        num_shocks = 1
        shock_names = [shock_names[1] if len(shock_names) > 1 else "Shock 2"]

    # Initialize figure and axes
    fig, axes = plt.subplots(
        num_shocks, num_models, figsize=(8 * num_models, 6 * num_shocks), squeeze=False
    )

    # Main plotting loop
    for model_idx, res in enumerate(model_list):
        Mtgrowth = Mtgrowth_list[model_idx]
        X1_tp1 = res['X1_tp1']
        X2_tp1 = res['X2_tp1']
        
        # Calculate exposure elasticity for each shock
        expo_elas_shocks = [
            [exposure_elasticity(Mtgrowth, X1_tp1, X2_tp1, T, shock=i, percentile=p) for p in quantile]
            for i in range(num_shocks if num_shocks > 1 else 2)  # Include shock 2 when num_shocks = 1
        ]

        # Select only the second shock if num_shocks = 1
        if num_shocks == 1:
            expo_elas_shocks = [expo_elas_shocks[1]]

        # Prepare data for plotting
        index = ['T'] + [f'{q} quantile' for q in quantile]
        shock_data = [
            pd.DataFrame([np.arange(T), *[e.flatten() for e in expo_elas_shocks[i]]], index=index).T
            for i in range(len(expo_elas_shocks))
        ]

        # Plot each shock in a separate subplot
        for shock_idx in range(len(expo_elas_shocks)):
            ax = axes[shock_idx, model_idx]
            for quantile_idx, quantile_label in enumerate(index[1:]):
                sns.lineplot(data=shock_data[shock_idx], x='T', y=quantile_label, ax=ax, 
                             color=colors[quantile_idx], label=quantile_label)

            # Customize the subplot
            ax.set_xlabel('')
            ax.set_ylabel('Exposure elasticity', fontsize=14)
            if shock_names:
                ax.set_title(f'{titles[model_idx]} - {shock_names[shock_idx]}', fontsize=16)
            else:
                ax.set_title(f'{titles[model_idx]} - Shock {shock_idx + 1}', fontsize=16)
            ax.tick_params(axis='y', labelsize=12)
            ax.tick_params(axis='x', labelsize=12)
            ax.legend(fontsize=12, loc='lower right')

            # Set y-axis limits if provided
            if ylimits:
                ax.set_ylim(ylimits)

    # Set x-axis label for all subplots
    for ax_row in axes:
        for ax in ax_row:
            ax.set_xlabel(f'{time_unit}', fontsize=14)

    # Set the main figure title, if provided
    if title:
        fig.suptitle(title, fontsize=18)

    plt.tight_layout()

    # Save and/or display the plot
    if save_path:
        plt.savefig(save_path, dpi=300)
    plt.show()

Here is an example: first we define a function for computing the approximation of the log growth of \(M_t\). As an example, we compute the log growth of \(C^t\), where we know from the ordering above that this has index [0] in the output array. We subtract the first difference of this from \(\hat{G}_{t+1}-\hat{G}_t\), which is has index [0] in the array of state variables.

def compute_logMtM0(model):
    return model['JX1_tp1'][0] + 0.5 * model['JX2_tp1'][0] - (
        model['J1_t'][0] + 0.5 * model['J2_t'][0]) \
        + (model['X0_t'][0] + model['X1_tp1'][0] + 0.5 * model['X2_tp1'][0])

You can use the following code to plot the results for a selection of models.

model_list=[
        models['gamma_1.001_rho_1.5']
    ]

plot_exposure_quantiles(
    model_list,
    quantile=[0.1, 0.5, 0.9],
    Mtgrowth_list = [compute_logMtM0(model) for model in model_list],
    T=160,
    num_shocks=1,
    time_unit='quarters',
    titles=None,
    title=None,
    save_path=None
)
../../_images/3c173be70e5d5ed660a8fb0b29cf60dc422d5e54cd671020e994b3b31baba6ab.png

It is also possible to compute price elasticities similarly:

def plot_price_elasticity(models, T, quantile, time_unit, title=None, ylimits=None, save_path=None):
    """
    Calculate and plot price elasticity for different models across subplots.
    
    Parameters:
    - models: List of result dictionaries to plot.
    - T: Integer, time horizon.
    - quantile: List of quantiles to calculate.
    - time_unit: String, label for x-axis time units (e.g., "quarters").
    - ylimits: Optional, list of y-axis limits for each subplot.
    - save_path: Optional, path to save the figure.
    """
    sns.set_style("darkgrid")
    num_models = len(models)

    # Initialize figure and axes for subplots
    fig, axes = plt.subplots(1, num_models, figsize=(8 * num_models, 8), squeeze=False)
    axes = axes.flatten()  # Ensure axes are flattened for easy iteration
    titles = [r'$\gamma=1$',r'$\gamma=8$',r'$\gamma=8$']

    for idx, res in enumerate(models):
        # Extract data from the current model
        X1_tp1 = res['X1_tp1']
        X2_tp1 = res['X2_tp1']
        gc_tp1 = res['gc_tp1']
        vmr_tp1 = res['vmr1_tp1'] + 0.5 * res['vmr2_tp1']
        logNtilde = res['log_N_tilde']

        # Calculate log_SDF
        β = get_parameter_value('beta', res['parameter_names'], res['args'])
        ρ = get_parameter_value('rho', res['parameter_names'], res['args'])
        log_SDF = np.log(β) - ρ * gc_tp1 + (ρ - 1) * vmr_tp1 + logNtilde

        # Calculate price elasticity for each shock
        price_elas_shock = [
            price_elasticity(gc_tp1, log_SDF, X1_tp1, X2_tp1, T, shock=1, percentile=p) for p in quantile
        ]

        # Prepare data for plotting
        index = ['T'] + [f'{q} quantile' for q in quantile]
        shock_data = pd.DataFrame(
            [np.arange(T), *[e.flatten() for e in price_elas_shock]],
            index=index
        ).T

        # Plot on the respective subplot
        ax = axes[idx]
        qt = [f'{q} quantile' for q in quantile]
        colors = ['green', 'red', 'blue']

        for j in range(len(quantile)):
            sns.lineplot(data=shock_data, x='T', y=qt[j], ax=ax, color=colors[j], label=qt[j])
        
        # Customize the subplot
        ax.set_xlabel(time_unit, fontsize=30)
        ax.set_ylabel('Price elasticity', fontsize=30)
        ax.set_title(titles[idx], fontsize=30)
        ax.tick_params(axis='y', labelsize=30)
        ax.tick_params(axis='x', labelsize=30)
        if idx == 0:
            ax.legend(fontsize=25)
        else:
            ax.legend().set_visible(False)

        # Set y-axis limits if provided
        # if ylimits and idx < len(ylimits):
        #     ax.set_ylim(ylimits[idx])
        if ylimits:
            ax.set_ylim(ylimits)
    plt.tight_layout()

    # Save and/or display the plot
    if save_path:
        plt.savefig(save_path, dpi=500)
    plt.show()
model_list = [models['gamma_1.001_rho_1.001'],models['gamma_8.001_rho_1.001']]
T = 160
plot_price_elasticity(model_list,T,[0.1,0.5,0.9],'quarters','0',[0,0.25])
../../_images/a263d6d10d12301652b7d518119b3fc0a015e9e10fab96d355a4ac22ffb22dd3.png
model_list = [models['gamma_1.001_rho_1.5'],models['gamma_8.001_rho_1.5']]
T = 160
plot_price_elasticity(model_list,T,[0.1,0.5,0.9],'quarters','0',[0,0.25])
../../_images/cbbf8efff43554edc641a06d340e943c96eedd4cbaa431f3ccbe13b78a838680.png



3 Outputs#

3.1 List of Outputs #

We now examine the contents of ModelSol, which contains the attributes listed below. Each approximation is stored in a class LinQuadVar, which contains the coefficients for \(X_{1,t}, X_{2,t}, X_{1,t}'X_{1,t}, W_{t+\epsilon}, W_{t+\epsilon}'W_{t+\epsilon}, X_{1,t}'W_{t+\epsilon}\) and the constant.

Input

Type

Description

JXn_t

LinQuadVar

Approximation of jump and state variables at time \(t\). Replace n with 0,1,2 to get the zeroth, first and second-order contribution. Omit n to get the full approximation. The variables are indexed in the order specified in Section 2.

Jn_t

LinQuadVar

Same as JXn_t but limited to jump variables.

Xn_tp1

LinQuadVar

Same as JXn_t but limited to state variables.

JXn_t_tilde

LinQuadVar

Same as JXn_t but using distorted measure. This variation is also available for Jn_t and Xn_tp1.

util_sol

dict

Dictionary containing solutions of the continuation values, including \(\mu^0, \Upsilon_0^2, \Upsilon_1^2,\) and \(\Upsilon_2^2\) etc.

vmrn_tp1

LinQuadVar

Approximation of continuation values \(\widehat{V}^1_{t+\epsilon}-\widehat{R}^1_t\) . Replace n with 0,1,2 to get the zeroth, first and second-order contribution. Omit n to get the full approximation.

gcn_tp1

LinQuadVar

Approximation of consumption growth \(\widehat{C}_{t+\epsilon}-\widehat{C}_t\) . Replace n with 0,1,2 to get the zeroth, first and second-order contribution. Omit n to get the full approximation.

ss

dict

Steady states for state and jump variables

log_N_tilde

LinQuadVar

Approximation for the log change of measure

For example, we can obtain the coefficients for the first-order contribution of \(\log{C_t/K_t}\) in the following way, noting that cmk_t was listed as the first jump variable when we specified the equilibrum conditions.

## Log consumption over capital approximation results, shown in the LinQuadVar coefficients form
ModelSol['JX1_t'][0].coeffs
{'c': array([[-0.00000005]]),
 'x': array([[ 0.        ,  0.00056165, -0.        ]])}

We can also display the full second-order approximation of \(\log{C_t/K_t}\) using the disp function, which renders a LinQuadVar object in LATEX form.

## Log consumption over capital approximation results, shown in the Latex analytical form
disp(ModelSol['JX_t'][0],'\\log\\frac{C_t}{K_t}') 
\[\begin{split}\displaystyle \log\frac{C_t}{K_t}=-4.127+\begin{bmatrix}2.116e-16&0.0005616\end{bmatrix}X_t^1+\begin{bmatrix}1.058e-16&0.0002808\end{bmatrix}X_t^2+X^{1T}_{t}\begin{bmatrix}7.68e-33&3.191e-20\\3.032e-76&-4.388e-20\end{bmatrix}X^1_{t}\end{split}\]

Another example:

## Log capital growth process second order approximation results
disp(ModelSol['X2_tp1'][0],'\\log\\frac{K_{t+\epsilon}^2}{K_t^2}') 
\[\begin{split}\displaystyle \log\frac{K_{t+\epsilon}^2}{K_t^2}=-1.9e-05+\begin{bmatrix}3.427e-26&1.26e-13\end{bmatrix}X_t^1+\begin{bmatrix}-3.388e-19&0.009999\end{bmatrix}X_t^2+X^{1T}_{t}\begin{bmatrix}-8.797e-35&-3.656e-22\\-1.521e-78&1.454e-23\end{bmatrix}X^1_{t}+X^{1T}_{t}\begin{bmatrix}0&0\\0&0\end{bmatrix}W_{t+1}\end{split}\]

3.2 Simulate Variables #

Given a series of shock processes, we can simulate the path of our state and jump variables using the ModelSolution.simulate method. Here, we simulate 400 periods of i.i.d standard multivariate normal shocks.

n_J, n_X, n_W = ModelSol['var_shape']
Ws = np.random.multivariate_normal(np.zeros(n_W),np.eye(n_W),size = 400)
JX_sim = ModelSol.simulate(Ws)


4 Using LinQuadVar in Computation #

In the previous section, we saw how to use uncertain_expansion to approximate variables and store their coefficients as LinQuadVar objects. In this section, we explore how to manipulate LinQuadVar objects for different uses.

To aid our examples, we first extract the steady states for the state evolution processes from the previous model solution:

See src/lin_quad.py for source code of LinQuadVar definition.

ModelSol['ss'][[0,1,2]]
array([-4.12667104,  0.07606349,  0.60576715])
n_J, n_X, n_W = ModelSol['var_shape']
print(n_J, n_X, n_W)
X0_tp1 = LinQuadVar({'c':np.array([[ModelSol['ss'][0]],[ModelSol['ss'][1]],[ModelSol['ss'][2]]])}, shape = (n_X, n_X, n_W))
5 3 3

4.1 LinQuadVar Operations #

We can sum multiple LinQuads together in two different ways. Here we demonstrate this with an example by summing the zeroth, first and second order contributions of our approximation for capital growth.

gk_tp1 = X0_tp1[0] + ModelSol['X1_tp1'][0]  + 0.5 * ModelSol['X2_tp1'][0] 
disp(gk_tp1,'\\log\\frac{K_{t+\epsilon}}{K_t}') 
\[\begin{split}\displaystyle \log\frac{K_{t+\epsilon}}{K_t}=-4.127+\begin{bmatrix}-3.388e-19&0.009999\end{bmatrix}X_t^1+\begin{bmatrix}0.004&0.001739\end{bmatrix}W_{t+1}+\begin{bmatrix}-1.694e-19&0.004999\end{bmatrix}X_t^2+X^{1T}_{t}\begin{bmatrix}-4.399e-35&-1.828e-22\\-7.605e-79&7.268e-24\end{bmatrix}X^1_{t}+X^{1T}_{t}\begin{bmatrix}0&0\\0&0\end{bmatrix}W_{t+1}\end{split}\]

In the next example, we sum together the contributions for both capital growth and technology:

lq_sum([X0_tp1, ModelSol['X1_tp1'], 0.5 * ModelSol['X2_tp1']]).coeffs
{'c': array([[-4.12668054],
        [ 0.07606349],
        [ 0.5828862 ]]),
 'x': array([[-0.        ,  0.00999859,  0.        ],
        [ 0.        ,  0.986     ,  0.        ],
        [ 0.        ,  0.        ,  0.9515    ]]),
 'xw': array([[ 0.        ,  0.        ,  0.        ,  0.        ,  0.        ,  0.        ,  0.00199981,  0.00086948,  0.        ],
        [ 0.        ,  0.        ,  0.        ,  0.        ,  0.        ,  0.        ,  0.        ,  0.01239013,  0.        ],
        [ 0.        ,  0.        ,  0.        ,  0.        ,  0.        ,  0.        ,  0.        ,  0.        , -0.10696016]]),
 'x2': array([[-0.       ,  0.0049993,  0.       ],
        [ 0.       ,  0.493    ,  0.       ],
        [ 0.       ,  0.       ,  0.47575  ]]),
 'xx': array([[-0.     , -0.     , -0.     ,  0.     , -0.     , -0.     ,  0.     ,  0.     ,  0.     ],
        [ 0.     ,  0.     ,  0.     ,  0.     ,  0.     ,  0.     ,  0.     ,  0.     ,  0.     ],
        [ 0.     ,  0.     ,  0.     ,  0.     ,  0.     ,  0.     ,  0.     ,  0.     ,  0.02425]]),
 'w': array([[0.00399962, 0.00173897, 0.        ],
        [0.        , 0.02478025, 0.        ],
        [0.        , 0.        , 0.21392032]])}

4.2 LinQuadVar Split and Concat #

split breaks multiple dimensional LinQuad into one-dimensional LinQuads, while concat does the inverse.

gk_tp1, Z_tp1, Y_tp1 = ModelSol['X1_tp1'].split()
concat([gk_tp1, Z_tp1, Y_tp1])
<lin_quad.LinQuadVar at 0x17562a1e0>

4.3 Evaluate a LinQuadVar #

We can evaluate a LinQuad at specific state \((X_{t},W_{t+\epsilon})\) in time. As an example, we evaluate all 5 variables under steady state with a multivariate random normal shock.

x1 = np.zeros([n_X ,1])
x2 = np.zeros([n_X ,1])
x3 = np.zeros([n_X, 1])
w = np.random.multivariate_normal(np.zeros(n_W),np.eye(n_W),size = 1).T
ModelSol['JX_tp1'](*(x1,x2,w))
array([[ -4.12667002],
       [  0.07606348],
       [  0.60576726],
       [ -0.00018954],
       [  1.        ],
       [  0.00223285],
       [  0.00817758],
       [-11.99963929]])

4.4 Next period expression for LinQuadVar #

ModelSol allows us to express a jump variable \(J_t\) as a function of \(t\) state and shock variables. Suppose we would like to compute its next period expression \(J_{t+\epsilon}\) with shocks. The function next_period expresses \(J_{t+\epsilon}\) in terms of \(t\) state variables and \(t+\epsilon\) shock variables. For example, we can express the \(t+\epsilon\) expression for the first-order contribution to consumption over capital as:

ModelSol["X1_tp1"].coeffs
{'x': array([[-0.        ,  0.03710412, -0.        ,  0.00006824],
        [-0.        ,  0.944     , -0.        , -0.        ],
        [-0.        , -0.        ,  0.806     , -0.        ],
        [ 0.        , -0.0366626 ,  0.        , -0.10516689]]),
 'w': array([[ 0.00799924,  0.00347793, -0.        ],
        [-0.        ,  0.04956051, -0.        ],
        [-0.        , -0.        ,  0.42784065],
        [-0.00799924, -0.00347793, -0.        ]]),
 'c': array([[ 0.00111162],
        [ 0.        ],
        [ 0.        ],
        [-0.0012811 ]])}
cmk1_tp1 = next_period(ModelSol['J1_t'][0], ModelSol['X1_tp1'])
disp(cmk1_tp1, '\\log\\frac{C_{t+\epsilon}^1}{K_{t+\epsilon}^1}') 
\[\displaystyle \log\frac{C_{t+\epsilon}^1}{K_{t+\epsilon}^1}=-5.482e-08+\begin{bmatrix}-7.17e-35&0.0005538\end{bmatrix}X_t^1+\begin{bmatrix}8.464e-19&1.392e-05\end{bmatrix}W_{t+1}\]
cmk2_tp1 = next_period(ModelSol['J2_t'][0], ModelSol['X1_tp1'], ModelSol['X2_tp1'])
disp(cmk2_tp1, '\\log\\frac{C_{t+\epsilon}^2}{K_{t+\epsilon}^2}') 
\[\begin{split}\displaystyle \log\frac{C_{t+\epsilon}^2}{K_{t+\epsilon}^2}=-7.039e-06+\begin{bmatrix}6.46e-42&1.605e-11\end{bmatrix}X_t^1+\begin{bmatrix}9.347e-27&4.033e-13\end{bmatrix}W_{t+1}+\begin{bmatrix}-7.17e-35&0.0005538\end{bmatrix}X_t^2+X^{1T}_{t}\begin{bmatrix}-1.862e-50&-9.87e-38\\-5.174e-94&3.24e-38\end{bmatrix}X^1_{t}+X^{1T}_{t}\begin{bmatrix}-4.163e-53&2.01e-40\\-4.396e-95&-9.443e-23\end{bmatrix}W_{t+1}+W_{t+1}^{T}\begin{bmatrix}2.457e-37&6.325e-24\\5.189e-79&-8.698e-24\end{bmatrix}W_{t+1}\end{split}\]

4.6 Compute the Expectation of time \(t+\epsilon\) LinQuadVar #

Suppose the distribution of shocks has a constant mean and variance (not state dependent). Then, we can use the E function to compute the expectation of a time \(t+\epsilon\) LinQuadVar as follows:

E_w = ModelSol['util_sol']['μ_0']
cov_w = np.eye(n_W)
E_ww = cal_E_ww(E_w, cov_w)
E_cmk2_tp1 = E(cmk2_tp1, E_w, E_ww)
disp(E_cmk2_tp1, '\mathbb{E}[\\log\\frac{C_{t+\epsilon}^2}{K_{t+\epsilon}^2}|\mathfrak{F_t}]')
\[\begin{split}\displaystyle \mathbb{E}[\log\frac{C_{t+\epsilon}^2}{K_{t+\epsilon}^2}|\mathfrak{F_t}]=-7.039e-06+\begin{bmatrix}6.456e-42&1.609e-11\end{bmatrix}X_t^1+\begin{bmatrix}-7.17e-35&0.0005538\end{bmatrix}X_t^2+X^{1T}_{t}\begin{bmatrix}-1.862e-50&-9.87e-38\\-5.174e-94&3.24e-38\end{bmatrix}X^1_{t}\end{split}\]

Suppose the distribution of shock has a state-dependent mean and variance (implied by \(\tilde{N}_{t+\epsilon}\) shown in the notes), we can use E_N_tp1 and N_tilde_measure to compute the expectation of time \(t+\epsilon\) LinQuadVar.

N_cm = N_tilde_measure(ModelSol['util_sol']['log_N_tilde'],(1,n_X,n_W))
E_cmk2_tp1_tilde = E_N_tp1(cmk2_tp1, N_cm)
disp(E_cmk2_tp1_tilde, '\mathbb{\\tilde{E}}[\\log\\frac{C_{t+\epsilon}^2}{K_{t+\epsilon}^2}|\mathfrak{F_t}]')
\[\begin{split}\displaystyle \mathbb{\tilde{E}}[\log\frac{C_{t+\epsilon}^2}{K_{t+\epsilon}^2}|\mathfrak{F_t}]=-7.039e-06+\begin{bmatrix}6.456e-42&1.609e-11\end{bmatrix}X_t^1+\begin{bmatrix}-7.17e-35&0.0005538\end{bmatrix}X_t^2+X^{1T}_{t}\begin{bmatrix}-1.862e-50&-9.87e-38\\1.354e-50&3.24e-38\end{bmatrix}X^1_{t}\end{split}\]