#78: Problem with derivatives of power function at point zero
--------------------------+-------------------------------------------------
Reporter: sebastien | Owner: sebastien
Type: bug | Status: new
Priority: major | Milestone:
Component: Preprocessor | Version: 4.1.0
Keywords: |
--------------------------+-------------------------------------------------
There is currently a problem with the derivatives of the power function
f(x)=x^p^ at the point x=0.
The power function f(x)=x^p^ well defined for x>0 and for any p, since
f(x)=e^p*ln(x)^.
The domain of definition of this function can be extended to x=0 with the
following rules when p>0:
* f(0)=0
* f is differentiable k times at x=0, where k is the integer part of p,
and f'^k^=0
And when p is an strictly positive integer, the function is differentiable
at any order, and its derivative at zero is zero.
When p is a constant, the preprocessor computes the right value of the
derivatives at x=0, using simplifications rules.
But when p is a parameter, the preprocessor will not give the right value
for integer values of p.
Currently the derivation rule is applied by the preprocessor, the k-th
derivative of f(x) is equal to:
p*(p-1)*...*(p-k+1)*x^p-k^
So when p is an integer, the (p+1)-th derivative computed at x=0 will give
a NaN (0 times infinity), while it ought to be zero.
This problem typically arises in models with adjustment costs where the
curvature (the exponent) of the cost is a integer parameter, and the cost
is zero at steady state.
The solution is probably to create, in the preprocessor, a new operator
called "derivative of power function at order k". This operator would
output a code like that in the M-file:
{{{
dxp=deriv(x,p,k) % The k-th derivative of x^p
if (p > 0) && (abs(p - round(p)) < 1e-12 && k >= p
dxp = 0;
else
dxp = x^(p-k);
for i=1:k-1
dxp = dxp*p;
p = p-1;
end
end
}}}
--
Ticket URL: <https://www.dynare.org/trac/ticket/78>
Dynare <http://www.dynare.org>
The Dynare project
#73: The macroprocessor fails when the file ends with @#endif or @#endfor
without a new line at the EOF
--------------------------+-------------------------------------------------
Reporter: sebastien | Owner: sebastien
Type: bug | Status: new
Priority: minor | Milestone:
Component: Preprocessor | Version: 4.1.0
Keywords: |
--------------------------+-------------------------------------------------
--
Ticket URL: <https://www.dynare.org/trac/ticket/73>
Dynare <http://www.dynare.org>
The Dynare project
#99: too many graphs crash Matlab
--------------------------+-------------------------------------------------
Reporter: michel | Owner: michel
Type: bug | Status: new
Priority: major | Milestone: 4.2
Component: Core M-files | Version:
Keywords: |
--------------------------+-------------------------------------------------
A large number of busy graphs (34 in my example) crash Matlab r2010a under
Linux 64-bit
I still need to upload the example to test it in different versions of
Matlab
--
Ticket URL: <https://www.dynare.org/trac/ticket/99>
Dynare <http://www.dynare.org>
The Dynare project
#40: Test M_.params at the top of the main functions.
--------------------------+-------------------------------------------------
Reporter: stepan | Owner:
Type: enhancement | Status: new
Priority: major | Milestone: 4.1
Component: Core M-files | Version:
Keywords: |
--------------------------+-------------------------------------------------
simul, stoch_simul, steady, ... should display a warning when some of the
parameters are not initialized (that is when some of the elements of
M_.params are NaN).
--
Ticket URL: <https://www.dynare.org/trac/ticket/40>
Dynare <http://www.dynare.org>
The Dynare project
#103: bug in dealing with <fname>_steadystate.m functions that modify parameters
--------------------------+-------------------------------------------------
Reporter: michel | Owner: michel
Type: bug | Status: new
Priority: major | Milestone: 4.2
Component: Core M-files | Version:
Keywords: |
--------------------------+-------------------------------------------------
The changes to M_.params introduced in <fname>_steadystate.m functions are
not taken into accounts by calling functions that obtain M_ as argument
and not as global variable.
Need to add
M_.params = evalin('base','M_.params');
after each call to <fname>_steadystate.m function
--
Ticket URL: <https://www.dynare.org/trac/ticket/103>
Dynare <http://www.dynare.org>
The Dynare project
#93: Replace functions deprecated in MATLAB 7.10 (R2010a)
--------------------------+-------------------------------------------------
Reporter: sebastien | Owner:
Type: bug | Status: new
Priority: major | Milestone: 4.2
Component: Core M-files | Version:
Keywords: |
--------------------------+-------------------------------------------------
Among others, the following functions are deprecated in MATLAB 7.10
(R2010a), but still work:
{{{isstr, setstr, str2mat, strread, strvcat, textread}}}
Every occurrence of these functions should be replaced in the M-files and
in the preprocessor, for compatibility with future versions of MATLAB.
See
http://www.mathworks.com/access/helpdesk/help/techdoc/rn/br_bpq8-1.html#bsd…
for their replacements.
--
Ticket URL: <https://www.dynare.org/trac/ticket/93>
Dynare <http://www.dynare.org>
The Dynare project
#101: Preprocessor crashes when some dynamic variables appear only in unused
model local variables
--------------------------+-------------------------------------------------
Reporter: sebastien | Owner: sebastien
Type: bug | Status: new
Priority: minor | Milestone:
Component: Preprocessor | Version: 4.1.1
Keywords: |
--------------------------+-------------------------------------------------
See http://www.dynare.org/phpBB3/viewtopic.php?f=1&t=2592
The fix is probably to add calls to ExprNode::collectVariables() on model
local variables from DynamicModel::computeDerivIDs()
--
Ticket URL: <https://www.dynare.org/trac/ticket/101>
Dynare <http://www.dynare.org>
The Dynare project