odu.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:QuantEcon.lectures.code 作者: QuantEcon 项目源码 文件源码
def bellman_operator(self, v):
        """

        The Bellman operator.  Including for comparison. Value function
        iteration is not recommended for this problem.  See the
        reservation wage operator below.

        Parameters
        ----------
        v : array_like(float, ndim=1, length=len(?_grid))
            An approximate value function represented as a
            one-dimensional array.

        Returns
        -------
        new_v : array_like(float, ndim=1, length=len(?_grid))
            The updated value function

        """
        # == Simplify names == #
        f, g, ?, c, q = self.f, self.g, self.?, self.c, self.q

        vf = LinearNDInterpolator(self.grid_points, v)
        N = len(v)
        new_v = np.empty(N)

        for i in range(N):
            w, ? = self.grid_points[i, :]
            v1 = w / (1 - ?)
            integrand = lambda m: vf(m, q(m, ?)) * (? * f(m)
                                                     + (1 - ?) * g(m))
            integral, error = fixed_quad(integrand, 0, self.w_max)
            v2 = c + ? * integral
            new_v[i] = max(v1, v2)

        return new_v
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号