code: def calcEndOfPrdvP(self):
          '''
          Calculates end-of-period marginal value of assets at each state space
          point in aLvlNow x pLvlNow. Does so by taking a weighted sum of next
          period marginal values across income shocks (in preconstructed grids
          self.mLvlNext x self.pLvlNext).
  
          Parameters
          ----------
          None
  
          Returns
          -------
          EndOfPrdVP : np.array
              A 2D array of end-of-period marginal value of assets.
          '''
          EndOfPrdvP  = self.DiscFacEff*self.Rfree*np.sum(self.vPfuncNext(self.mLvlNext,self.pLvlNext)*self.ShkPrbs_temp,axis=0)
          return EndOfPrdvf calcEndOfPrdvP(self):
          '''
          Calculates end-of-period marginal value of assets at each state space
          point in aLvlNow x pLvlNow. Does so by taking a weighted sum of next
          period marginal values across income shocks (in preconstructed grids
          self.mLvlNext x self.pLvlNext).
  
          Parameters
          ----------
          None
  
          Returns
          -------
          EndOfPrdVP : np.array
              A 2D array of end-of-period marginal value of assets.
          '''
          EndOfPrdvP  = self.DiscFacEff*self.Rfree*np.sum(self.vPfuncNext(self.mLvlNext,self.pLvlNext)*self.ShkPrbs_temp,axis=0)
          return EndOfPrdvP
docs: Calculates end-of-period marginal value of assets at each state space
          point in aLvlNow x pLvlNow. Does so by taking a weighted sum of next
          period marginal values across income shocks (in preconstructed grids
          self.mLvlNext x self.pLvlNext).
  
          Parameters
          ----------
          None
  
          Returns
          -------
          EndOfPrdVP : np.array
              A 2D array of end-of-period marginal value of assets.