\(\newcommand{\B}[1]{ {\bf #1} }\) \(\newcommand{\R}[1]{ {\rm #1} }\)
2020#
View page sourceRelease Notes for 2020#
mm-dd#
12-01#
Advance to cppad_mixed-20201130. This fixes a problem installing on the Mac with port. To be specific, the directory
/opt/localis searched when looking forcholmod.h. It also gives better error messaging during the install procedure.Group the install error messages under the program being run; i.e., get_cppad_mixed.sh , i.e., old_setup.py , i.e., check_all.py .
Added a discussion of the cholmod.h error message.
11-20#
Add the f@check_for_nan and pow_int functions.
CppAD errors were not being translated to python exceptions (except for mixed class operations). This has been fixed; see Converting CppAD Errors To Python Exceptions .
More error detection and reporting when numpy vectors or matrices do not have the correct dimensions.
11-19#
Advance to cppad_mixed-20201119. Also make version of cppad installed by bin/get_cppad.sh the same as by bin/get_cppad_mixed.sh .
11-18#
Advance to cppad_mixed-2020118. This adds support for mac using port to install packages. The previous version assumed the mac was using brew to install packages.
Add a symbolic link and cppad.pc, cppad_mixed.pc entries to the list of install error messages.
Remove under construction from the Laplace Approximation of Mixed Effects Models class; i.e., it has reached a stable state.
Make a separate definition for the random and Fixed Effects Likelihood.
11-17#
The setup@py script was improved. To be specific:
The covid 19 example was removed from the automatic testing because it is slow.
The python matplotlib module is no longer required because is was only used by the covid 19 example.
Separate headings were created for local testing and install testing.
The
PyEval_CallObjectfunction was deprecated in python3.9. It’s use was converted toPyObject_CallObjectto avoid this warning.
11-16#
API change: the pat member function was added to the
sparse_rcvclass and the constructor was change to have no arguments. The old syntaxmatrix =cppad_py.sparse_rcv( pattern )will need to be changed to
matrix =cppad_py.sparse_rcv()matrix.pat( pattern )The hes_fixed_obj mixed class member function syntax was changed to make the result an argument instead of return value. This avoids having to make an extra copy of the sparse matrix.
Add hes_random_obj to the mixed class operations.
11-15#
Fix a memory leak in the destructor for a d_fun object.
The syntax for the c++ sparse_rcv and sparse_rcv constructors has changed. To be specific, they no longer use the assignment operator
=.Add the word
destructorto the xrst dictionary.Add hes_fixed_obj to the mixed class operations.
11-14#
Add optimize_random to the mixed class operations.
11-12#
Improve the ipopt options documentation.
Fix the font in the syntax for the rosen3_step functions f , f_t , and f_y .
Remove some extra space when a ‘.’ character appears between the change between italic and literal font.
Add an install error entry for when the cppad_py module can’t be found.
11-11#
Improve the install instructions in old_setup.py and old_setup.py.error.
11-10#
API change : the xrst
child_listcommand was changed to child_table and a table, instead of a list, was used to display the names and corresponding titles. In addition, thechild_linkcommand was changed to child_list.Remove an extra backquote ' that was placed at the end of each line of the Table of Contents.
Add more documentation for the
index.rstfile (including how to link to the table of contents).The java runtime environment as add to the install requirements.
11-08#
Change old_setup.py local build and test instructions so they work on Mac OS.
Fix
bin/get_cppad_mixed.shso that it is not necessary to set LD_LIBRARY_PATH or PKG_CONFIG_PATH before running it.Where appropriate, reduce the spacing between italic and literal font; e.g.,
prefix/libdir/python3.minor/site-packages/cppad_pywas changed to
prefix/libdir/python3.minor/site-packages/cppad_py
11-06#
The install with include_mixed false was broken by the changes on 11-03. This has been fixed.
The installation and testing instructions in setup@py were brought up to date and improved. This includes discussion of the following environment variables: LD_LIBRARY_PATH, PKG_CONFIG_PATH, PYTHONPATH.
The setting cppad_lib was changed to the automatically determined value libdir.
11-05#
Advance to cppad_mixed-20201105. This fixes some problems with it’s install in Mac OS.
11-04#
The install prefix for cppad in bin/get_cppad.sh
is called cmake_install_prefix in cppad_py,
but it is called cppad_prefix in cppad.
The cmake command in bin/get_cppad.sh has been
fixed to account for this.
11-03#
The install prefix name was changed from cppad_prefix to cmake_install_prefix.
10-31#
Fix some problems with the macOS install when include_fixed is true.
10-30#
The install command no longer creates
a local copy of cppad_py for testing. (On macOS systems the
local copy would cause problems during the install.)
The Local Build still builds the local
copy for testing.
10-29#
The cppad_libdir setting was added to
bin/get_cppad.sh. This fixed a problem on some systems wherebin/get_cppad.shandbin/get_cppad_mixed.shmight install the cppad library in two different locations and confuse the setup procedure.Fix a problem with
old_setup.pywhere it sometimes puts the distribution insite-packages/cppad_py-version.egg/cppad_pyinstead ofsite-packages/cppad_py. This may have something to do with the install egg being a directory instead of a zip file.
10-28#
Improve the setup@py install instructions. To be specific, change
pythontopython3and edit the external requirements.Improve the Get cppad script so that it gets and updates posted to the remote repository (since the previous run of the script).
10-21#
Add a second optimize_fixed example.
Advance to cppad-20201021 (this fixes a warning on some compilers).
10-19#
Add the non linear constraint functions of the fixed effects to the mixed class; see Fixed Effects Constraint Function.
10-17#
The default value (corresponding to
None) for fixed_in (random_in) inoptimize_fixedwas changed from zero to fixed_init (random_init). The ran_likelihood: Example and Test example was changed to use this default.There was a problem linking the needed libraries when include_mixed was true. This has been fixed.
A
match_op.hppwarning was added to the install errors section (it has since been removed).The numpy syntax was added to the documentation python syntax for
a_doubleunary functions; for an example see Python: a_double Unary Functions with AD Result: Example and Test.
10-16#
Add the Laplace Approximation of Mixed Effects Models class an make it optional during the install process; see include_mixed. This class is under construction and its API may change. Check this page for such changes.
Change the install process so both a debug and release version of cmake_install_prefix can be installed at the same time.
Some of the install steps in Old Configure and Build the cppad_py Python Module have changed.
10-13#
The xrst.py utility would crash if a section had child_cmd and was indented. This has been fixed
10-02#
The library documentation that is for both c++ and python was improved. To be specific, both the c++ and python syntax was included. Also these sections were moved from children of The C++ Library to children of The CppAD Py Libraries.
The xrst.py utility has been improved. To be specific, it no longer overwrites
*.rstfiles that have not changed. This makes the sphinx build operation faster (by not reprocessing files that have not changed).Use the 95% quantile, instead of maximum, absolute residual when testing simulated fit in Example Fitting an SEIRWD Model for Covid-19. This reduces the change of a random failure.
09-30#
The
error_messageroutine was replaced by exceptions (error_messagewas not thread safe). This is a change to the API, you will have to use exceptions objects instead of theerror_messageroutine to retrieve the error messages.Change the release version so it also throws exceptions for cppad_py error messages (cppad error messages still require using the debug version).
09-14#
xrst: the target command line argument was added and the section numbers were removed from the html output. This was done so that adding or removing one section does not cause changes in the github pages for all the other sections. In addition, the table of contents and link to the index now appear in the navigation frame for both the html and pdf output. Furthermore, the table of contents uses the section number for the link so that the title is easier to read.
xrst: A begin_parent must be the first begin command in a file. This restriction is new and makes the pdf output for the parent come before its children.
09-13#
The text
xrst:was added to the beginning of each whats new item (see below) that only pertained to the xrst.py program.xrst: The order of the sections in the pdf file and the table of contents was corrected.
xrst: Put spaces around table of contents levels that have more that one entry. Also remove the level of indentation in table of contents by one because the root section stands out has having not number in front of it.
The latex numbering of sections is incorrect, so change them to the corresponding xrst section numbers in both the html and pdf output.
xrst: Correct position of sphinx_dir in the command line syntax.
09-12#
xrst: A table of contents that only contains section titles, not headings within a section, was added.
xrst: The following restriction was added: a section_name can not begin with
xrst_.
07-31#
xrst: An empty line at beginning of xrst input file was causing it to crash (this has been fixed).
xrst: Putting version number in the documentation navigation side bar changes every gh-pages file when version changes. Move it to the first heading under the title cppad_py
xrst: spell checking is not done for a url of the form ` < url > `_ or ` text < url > `_.
07-30#
xrst: The words ‘anl’, ‘dir’, ‘mcs’ were removed from the xrst dictionary. The word ‘initialization’ was added to the xrst dictionary.
07-29#
xrst: Add the optional command line argument line_increment. This is an aid for finding the source of errors and warnings reported by sphinx.
xrst: Sometimes xrst would not recognize a command that came directly after a Fix file_cmd. This has been fixed.
07-28#
xrst: Move version number from the title in cppad_py to the documentation navigation side bar.
xrst: Add the configure section.
xrst: The xrst begin command was not recognized at the beginning of a file (when there is no new line before it). This has been fixed.
xrst: Change the index_file to keyword and spell_file to spelling
07-25#
xrst: Install xrst.py during the install procedure.
xrst: Add a purpose paragraph to xrst documentation.
Move the
*.omhfiles to*.xrstfiles (they have been converted from omhelp input files to xrst input files).xrst: Change the keyword to use python regular expressions and remove the whats new month-day headings from the index.
07-24#
xrst: Add the xrst.py program which extracts sphinx
*.rstfiles from source code. This program is not yet installed but you can use it by placing the scriptbin/xrst.pyin your execution path.Convert the cppad_py documentation to xrst input files, which are mostly sphinx rst with a few extra xrst commands.
Use xrst and sphinx to generate this documentation for cppad_py.
07-18#
The experimental
bin/xrst.pyprogram was added. This program runs its tests and builds its documentation (in thesphinx) directory with the commandbin/check_xrst.sh. The intention is to convert the cppad_py documentation from omhelp to sphinx.Convert all the cppad_py source code to use spaces instead of tabs (with tab stops at multiples of 4 spaces).
07-05#
The prototype for
vec2a_doublewas the same as for d_vec_std2cppad. This has been fixed.The limits for the fun_from_json_xam.py and fun_to_json_xam.py example code were incorrect (this has been fixed).
The in fun_from_json_xam.cpp the title was corrected; to be specific, to_json was changed to from_json
05-17#
The abs a_double_unary_fun was added
(works the same as the fabs function).
05-16#
A discussion of some subtle issues, when interpolation is used to define an ODE, was added to the
ode_multi_step; see set_t_all_index.Add the alpha parameter to the SEIRWD model.
05-15#
The file ode_solve.py was moved to ode_multi_step.py
and numeric_ode_multi_step was extended to allow for different ODE solvers
(steppers).
05-14#
The example semi-stiff integrator numeric_rosen3_step was added.
The example file
runge4.pywas moved toode_solve.pyin preparation for other solvers.Add the numeric_simple_inv example routine for AD inversion of matrices.
Add mention of which numeric_xam routines can take
a_doublevalues.Simplify the numeric_seirwd_model_xam.py example using numpy vector operations.
More improvements to were made to covid-19 example.
05-12#
05-09#
The covid-19_modeling_example application of AD is changing on a regular basis, so the details of the changes will no longer be tracked in this file, just see current example if you are interested.
05-08#
The
numeric_seirs_fit_xam.pyexample was renamed numeric_covid_19_xam.py. And it was change to fit covariate multipliers that model the infectious rate \(\beta\).The
numeric_seirs_modelwas renamed numeric_seirwd_model, the D compartment was added to track total deaths, the data was changed from Infectious to cumulative death, and noise was added to the data.In
numeric_covid_a9_xam, reduce to just E and I as unknowns in initial conditions. Initial R = D = 0, S = 1 - E - R.Use the observed information matrix to estimate the covariance of the optimal parameters.
05-07#
The function
scipy.misc.factorialhas been deprecated so change it toscipy.special.factorial.Add the
numeric_seirs_modelutility example which allows rates in the ODE to change with time. This enabled changing the numeric_covid_19_xam.py example to estimate a \(\beta\) coefficient that changes with time.The
numeric_seirs_classexample was removed becausenumeric_seirwd_modelreplaces it with more general capabilities.
05-06#
Add the following utility examples: numeric_optimize_fun_class, numeric_runge4_step, numeric_ode_multi_step,
numeric_seirs_class. (Thenumeric_seirs_classwas later replaced by numeric_seirwd_model.)Add mention of using
DYLD_LIBRARY_PATHin the libcppad_lib install error instructions for the Mac.
05-05#
Add the numeric_runge4_step_xam.py example.
05-04#
Add the numeric_optimize_fun_xam.py example.
04-28#
The f_from_json() function was added. In addition, the empty_function constructor was added.
04-27#
The old_setup.py program now installs a separate copy of CppAD
and provides instructions at the end for modifying your
LD_LIBRARY_PATH. These instructions have been removed and placed
in the old_setup.py documentation; see
LD_LIBRARY_PATH .
04-26#
The old_setup.py program was modified to try to automatically solve the
libcppad_lib problem.
04-25#
The f_to_json() function was added.
04-24#
The newer Mac systems seems to require that one use
-stdlib=libc++ compile and link flag.
The install has been changed to check for and adapt to this condition.
In addition, old_setup.py now runs the cmake command; i.e.,
the user no longer needs to run cmake to test the C++ library.
04-23#
Add an old_setup.py.error section to the documentation.
04-22#
Instructions were added for installing using pip (this install was not kept up to date and has been removed).
The binary operators were extended to include x
opay where: x is a double (pythonfloat), ay is ana_double, and op is+,-,*,/, or**. Note that this automatically transfers to numpy arrays; e.g x*ay where x is a double and ay is a numpy array ofa_double.
04-20#
Move configuration setting from old_setup.py to bin/get_setup.sh. They have since been moved to install_settings.py .
First version that installs using
pip. Install instructions for pip will be added soon.
04-19#
Move the python source that gets distributed from
lib/pythontolib/python/cppad_pyso that more like a standard python package.Drop support for python2. It is not consistent with python3 in some of the
old_setup.pyactions.
04-18#
04-13#
The z =
pow( x , y ) functions was added; see a_double_binary.Add the var2par function and improve the notation in the near_equal notation.
04-12#
04-10#
Change the documentation display on the web using a more recent version of the documentation program
omhelp-20200130.Add caching to the CppAD install.