Issue with solution to Ex 2 in LQ Control: Foundations lecture
In the lecture LQ Control: Foundations, the solution to Exercise 2 includes the following line:
Rf2 = lq_retired.P
Is this correct? Isn't Rf2 supposed to be the terminal value function not the P matrix? The documentation for the `LQ' constructor says:
| Rf : array_like(float), optional(default=None)
| Rf is the final (in a finite horizon model) payoff(or cost)
| matrix that corresponds with the control variable u and is n x
| n. Should be symetric and non-negative definite
Thanks @jms202 and @jstac .
Hi @jms202 , this is correct. Please look at section solution in lecture lq_control.
You are half right in that
Rf2is supposed to be the terminal condition (not the terminal value function), that is, $x'Rf2x=J_T(x)$.
But please note that both in the lecture and exercise 2, we are discussing a finite-horizon case, where
- every value function $J_t$ has the form $J_t (x) = x'P_t x + d_t$,
- for the terminal condition, we have $P_T:=R_f$ and $d_T=0$.
Therefore, we have Rf2 = lq_retired.P.
Please feel free to let me know if you have any question.
Hi there,
Thanks for your reply. This is helpful.
The one remaining thing I don't understand is why $d_K=0$ given the recursion $d_{t-1} = \beta * (d_t + trace(C' P_t C))$ anc C does not equal the zero vector. Or can we just ignore it because it doesn't depend on x?
Thanks, Jonathan
On Thu, 17 Dec 2020 at 05:26, Shu Hu [email protected] wrote:
Thanks @jms202 https://github.com/jms202 and @jstac https://github.com/jstac .
Hi @jms202 https://github.com/jms202 , this is correct. Please look at section solution https://python.quantecon.org/lqcontrol.html#Solution in lecture lq_control.
You are half right in that
- Rf2 is supposed to be the terminal condition (not the terminal value function), that is, $x'Rf2x=J_T(x)$.
But please note that both in the lecture and exercise 2, we are discussing a finite-horizon case, where
- every value function $J_t$ has the form $J_t (x) = x'P_t x + d_t$,
- for the terminal condition, we have $P_T:=R_f$ and $d_T=0$.
Therefore, we have Rf2 = lq_retired.P.
Please feel free to let me know if you have any question.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/QuantEcon/lecture-python/issues/280#issuecomment-747213625, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADYMWELASRBN3XRYRRBZYD3SVGJAJANCNFSM4U2QGY4A .
Hi @jms202 ,
Thanks for your appreciation.
Before answering your question, please allow me to clarify your statement:
- I think what your statement refers to is equation (13) in lecture lqcontrol,
- i.e., $d_{t-1} = \beta * (d_t + trace(C' P_t C))$ with $d_T=0$ (instead of $d_K=0$)
Let me assume this first. Please note that
- we derive equation (13) from equation (11) backward,
- we get $d_T=0$ directly from equation (11), while assuming $d_{t-1} = \beta * (d_t + trace(C' P_t C))$,
- so it doesn't matter whether $C$ equal or not equal zero vector here.
What's more, when you study an economic model, it is helpful to distinguish between exogenous and endogenous variables. For example, in the LQ control system of this lecture,
- matrices $A, B, C, \cdots$ are exogenously given or assumed,
- variables $x_{t}, a_t,\cdots$ are endogenously determined by this system.
Once you figured out these, you will have a better understanding of this and other lectures.
Please feel free to let me know if you have any question.
Best, Shu
Hi Shu,
Many thanks for this.
Exercise 2 is complicated because it has to be implemented as two chained LQ problems.
T = end of life K = end of working life (i.e. start of retirement)
When I wrote $d_{K}$, I did mean $d_{K}$ not $d_{T}$. i,e, my question is about the terminal condition to feed into lq_working.
Because K < T, we should have that $d_{K}$ is not equal to zero.
This is why I am concerned that $d_{K}$ from lq_retired is not used at all for lq_working.
My only suggestion is that $d_{K}$ doesn't depend on u or x so it is a constant that can be ignored.
Am I still missing something?
Thanks, Jonathan
On Fri, 18 Dec 2020 at 23:50, Shu Hu [email protected] wrote:
Hi @jms202 https://github.com/jms202 ,
Thanks for your appreciation.
Before answering your question, please allow me to clarify your statement:
- I think what your statement refers to is equation (13) in lecture lqcontrol https://python.quantecon.org/lqcontrol.html,
- i.e., $d_{t-1} = \beta * (d_t + trace(C' P_t C))$ with $d_T=0$ (instead of $d_K=0$)
Let me assume this first. Please note that
- we derive equation (13) from equation (11) backward,
- we get $d_T=0$ directly from equation (11), while assuming $d_{t-1} = \beta * (d_t + trace(C' P_t C))$,
- so it doesn't matter whether $C$ equal or not equal zero vector here.
What's more, when you study an economic model, it is helpful to distinguish between exogenous and endogenous variables https://en.wikipedia.org/wiki/Exogenous_and_endogenous_variables. For example, in the LQ control system of this lecture,
- matrices $A, B, C, \cdots$ are exogenously given or assumed,
- variables $x_{t}, a_t,\cdots$ are endogenously determined by this system.
Once you figured out these, you will have a better understanding of this and other lectures.
Please feel free to let me know if you have any question.
Best, Shu
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/QuantEcon/lecture-python/issues/280#issuecomment-748376870, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADYMWEPIMVCDCAPCTW57EJ3SVPTF7ANCNFSM4U2QGY4A .