# F5-conf-04 — VFI vs closed-form policy, optimal growth with log utility ## Question Planner maximises Σ β^t ln c_t subject to y_{t+1} = (y_t − c_t)^α. We derive the closed-form policy and value function, solve the Bellman equation by value-function iteration (VFI) on the prescribed grid, and compare the two at y = 0.5, 1, 2 (policy) and y = 1 (value). ## Data and exclusions `data/model.csv` (10 rows, all used): α = 0.36, β = 0.95, grid of 400 points equally spaced in ln y on [0.05, 5], VFI tolerance 1e-8 (sup-norm change), evaluation points 0.5, 1.0, 2.0. Nothing was excluded. Recorded design points (`data_issues`): (i) none of the evaluation points is a grid node, so VFI policy and value are linearly interpolated in ln y between neighbouring nodes; (ii) TASK.md does not say what the choice set is. I used a discrete choice of next-period output y' on the same grid, so c = y − y'^{1/α}, starting from V0 = 0. ## Method **Closed form (guess and verify).** Assumptions: log utility, Cobb–Douglas technology with productivity 1, full depreciation, interior solution (0 < c < y). Guess V(y) = A + B ln y. The first-order condition of max_c {ln c + β(A + Bα ln(y − c))} is 1/c = αβB/(y − c), so c = y/(1 + αβB). Matching the ln y coefficients gives B = 1 + αβB, so B = 1/(1 − αβ) = 1.51976. Then - c(y) = (1 − αβ) y, with savings rate (y − c)/y = αβ = 0.342; - A = [ln(1 − αβ) + (αβ/(1 − αβ)) ln(αβ)]/(1 − β) = −19.52441. Substituting back verifies the guess. The solution is interior for every y > 0. **Contraction.** On bounded functions over the compact grid, the Bellman operator T satisfies Blackwell's sufficient conditions. It is monotone (V ≤ W implies TV ≤ TW), and it discounts (T(V + a) = TV + βa). So it is a contraction in the sup norm with modulus β = 0.95. On the discretised grid the utility values are finite: y' has an upper bound and c ≥ y_min − y_min^{1/α} > 0 at the best choice. This means the theorem applies directly to the numerical problem. On the full unbounded domain (0, ∞), log utility is unbounded and a weighted-norm argument is needed. That is not used here. **VFI.** Vectorised 400×400 matrix of ln(y − y'^{1/α}), with infeasible pairs set to −∞. We iterate V ← max_{y'} [u + βV(y')] until ‖V_{n+1} − V_n‖_∞ < 1e-8. Then we read off the argmax policy and interpolate it to the evaluation points. No grid node chose a boundary y', so the bounds of the grid do not bind. ## Results | y | closed-form c | VFI c | abs. error | |---|---|---|---| | 0.5 | 0.32900 | 0.32882 | 0.00018 | | 1.0 | 0.65800 | 0.65899 | 0.00099 | | 2.0 | 1.31600 | 1.30963 | 0.00637 | - max_abs_error_policy = 0.00637, at y = 2. - V(1): closed form −19.52441; VFI −19.52476. The difference is −3.4e-4. - Savings rate (closed form) = αβ = 0.342. Contraction modulus = β = 0.95. - VFI converged in 361 iterations. The final sup change was 9.997e-9. ## Uncertainty The model is deterministic and has no sampling uncertainty. The numerical error has two sources: 1. **Iteration error.** By the contraction property, ‖V_n − V*_grid‖ ≤ β·Δ/(1 − β) ≈ 1.9e-7. This is negligible. 2. **Discretisation error,** which dominates. With discrete choice, y' is restricted to grid nodes spaced 1.154% apart in logs. The implied consumption error grows roughly in proportion to how much capital is needed to reach y', and so to y. Across the whole grid the maximum policy error is 0.025, at the top of the grid, and the maximum value-function error is 4.8e-4. Linear interpolation between nodes adds further error at off-grid points. The policy error is not monotone in y at small scales, because the argmax jumps between nodes. ## Limitations and open issues - This validates one parameter point (α = 0.36, β = 0.95), one grid (400 log-spaced points on [0.05, 5]) and one choice scheme (discrete y' on the same grid). The accuracy figures depend on grid density, grid range and the choice/interpolation scheme. They should not be extrapolated to other parameter values or to models without a closed form. - A finer grid, or continuous optimisation over c with interpolated V, would reduce the policy error. We did not do this, so that the prescribed design is kept. - The contraction argument applies to the bounded discretised problem. The continuous problem with unbounded log utility needs a weighted-norm extension, which is not covered here.