![]() |
Prev | Next | whats_new_16 |
true
and false
in the ar1_xam
input arguments
and
output
were changed to
yes
and no
respectively.
This was also done for the capture_xam
program.
bin/speed_compare.py
program
(which has since been moved to bin/speed_old.py
).
capture_xam
be more similar to
ar1_xam
.
cppad_mixed
with the
checkpoint_newton_step option.
Previously, the Newton step was always checkpointed.
initialize
Syntax. This has been fixed.
make speed
command; see
speed
.
sparse_ad_cholesky
; to be more specific,
the inverse permutation @(@
P^{-1}
@)@ was being used where the permutation
P
in sparse_ad_cholesky
was required.
This the first version with cppad_mixed
passes all its tests with
use_atomic_cholesky
true.
cmake
command line.
use_atomic_cholesky
option to the cmake
command line.
sparse_ad_cholesky
. To be specific,
when search for the beginning of a row, do not check that at column index
is less than an element known to be in the row before you get to the row.
install_suitesparse.sh
(introduced on 2016-10-24).
sparse_ad_cholesky
class forward mode.
To be specific, ignore higher order Taylor coefficients that do
not appear in the sparsity patter for the zero order coefficient
(they are no effects).
log_fatal_error
option (which has since been removed).
log_fatal_error
option to the cppad_mixed configuration.
A_rcv
, is now specified in
initialize
instead
derived_ctor
.
This was undone on
2017-03-08
.
metis
package.
Note that the proper value for
metis_version
,
in the suitesparse install,
is printed at the end of the ipopt install.
sparse_ad_cholesky
.
libdir
for all the install scripts;
see cmake_libdir
.
cppad_mixed
).
This enables one to build into the actual prefix
(without debug
or release
at the end)
by not ending the prefix with cppad_mixed
.
sparse_up_tri_sol
(plan to use this with a sparse atomic Cholesky AD operation).
sparse_low_tri_sol
(plan to use this with a sparse atomic Cholesky AD operation).
install_suitesparse.sh
so they better ensure that debug and release versions got into proper
directories.
start_near_solution
argument to
ar1_xam.cpp
and capture_xam.cpp
.
quasi_fixed
argument to ar1_xam.cpp
and change its position in capture_xam.cpp
(so it has same relative location as in ar1_xam.cpp
).
2
and the default for
obj_scaling_factor
back to 1
.
obj_scaling_factor
from 1.0
to
obj_scaling_factor = 1.0 / sqrt( n_fixed + n_random )
This avoids scaling problems in ar1_xam.cpp
with there is a large number of random effects (10,000 or more).
To be specific, the number of backtracking line search steps
ls
is much smaller.
method
in ldlt_cholmod_inv
.
The
method
in ldlt_eigen_inv
has not been changed.
number_times
to
number_random
(in both programs).
In addition, the
derivative_test
argument was added to both programs.
hold_memory
parameter to
capture_xam.cpp
and
ar1_xam.cpp
.
bool_sparsity
parameter to the following:
initialize
,
information_mat
,
capture_xam.cpp
,
ar1_xam.cpp
.
In addition, remove
bool_sparsity
from the run_cmake.sh
configuration script.
This puts the choose between boolean and set sparsity patterns
during run-time, instead of during the install
process.
The
bool_sparsity
parameter has since been moved for
initialize
and information_mat
to
derived_ctor
.
ipopt_solve
in
capture_xam
and
ar1_xam
.
src/cholmod/sim_cov.cpp
.
ok
flag; e.g., see
ok
in ipopt_xam_eval_f
.
capture_xam.cpp
.
auto_regressive_xam.cpp
example to the
ar1_xam.cpp
example and speed test.
bin/debian_install
has been moved to
bin/example_install.sh
and it should work for both Debian and Red Hat systems.
auto_regressive_xam.cpp
example.
bin/debian_install.sh
for an easy install on Debian
systems. There are some 2DO items in this install that need to be
fixed so they work on all systems.
bin/install_omhelp
an easy install of omhelp
for Debian systems. This is needed to do cppad_mixed
development.
build_type
choice
(debug or release) to the install script for
eigen
,
ipopt
, and
suitesparse
.
Compiling debug versus release
for the installs above and for the
build_type
made a difference of 40.0 seconds versus 5.5 seconds
for the average of 20 values of capture_xam
optimize_fixed_seconds
.
solution.fixed_opt
equal to the fixed effects for this warning.
a1_double
version of the user defined
ran_likelihood
function.
Also drop the corresponding template functions from the
user_examples
.
Assertion `H_info.col[k] == j' failed.
The problem was that H_info
was not in
column manor order
.
This has been fixed.
box_newton
to optimize the random effects
(added on 06-03
).
It turns out this had some problems and did not yield the hoped for
improvements in speed.
box_newton
fails, change message from
fatal_error
to
warning
.
box_newton
convergence
tolerance
to be in terms of the
Newton step (instead of projected gradient).
box_newton
line search termination criteria
(did not affect any test results).
box_newton
more robust by doing line search in a
scaled negative projected gradient direction.
(Step size of one in negative projected gradient direction
may be much too large or much too small).
ldlt_cholmod_solve_H
where an unnecessary
condition was check and failed. The example
cholmod_solve2_a.cpp
has been change to demonstrate that
only a subset of the right hand side values matter.
ldlt_eigen_logdet
function in the special case where the
determinant was zero. This has been fixed.
box_newton
to optimize the random effects.
This changed the user API for the functions listed below
(but has since been remove and the API has been changed back):
options
argument determines
if ipopt
or box_newton
is used.
random_options
have been split into
random_box_options/
and
random_ipopt_options
.
random_options
have been split into
random_box_options/
and
random_ipopt_options
.
sample_fixed
results
(with a warning) when the information matrix is invertible,
but not positive definite.
This is intended to help determine which variables are
not determined by the model plus data.
sample_fixed
wish list item.
adaptive
and trace-adaptive
choices to the
derivative_test
fixed effects options.
Note that this gives the user direct control over doing this test
(which can be time intensive for large problems).
sample_fixed
wish list item.
cholmod
class to ldlt_cholmod
class
and choleig
class to ldlt_eigen
class.
cholmod_cholesky
to
ldlt_cholmod
in run_cmake.sh
.
ldlt_cholmod
to be NO
.
This has been fixed by changing the ldlt_eigen_solve_H
function to work the same as the ldlt_cholmod_solve_H
function.
cholmod_solve2_sim.cpp
, an example that shows
how to use Cholmod to efficiently sample a distribution that
has covariance equal to the inverse of a sparse positive definite matrix.
cppad_mixed
when checking if a fixed effect
bound
or a fixed constraint
bound
is active. This should give better detection.
optimize_fixed
would have non-zero values for
fixed_lag
that should have been zero.
This has been fixed.
bin/install_cppad.sh
).
This fixed the remaining warnings when building a release version.
RELEASE
.
ipopt_fixed_adapt_derivative_chk
now checks
ipopt_fixed_eval_jac_g
in addition to
ipopt_fixed_eval_grad_f
.
ipopt_fixed_adapt_derivative_chk
fails,
it now results in warning instead of a fatal error.
-1
.
ipopt_fixed_adapt_derivative_chk
to handle case where
the function at both central difference points is zero,
and the derivatives is also zero.
ipopt_fixed_adapt_derivative_chk
to down to step size
1e-9
(used to just go to 1e-7
.
In addition, in error report changed step=
to best_step=
.
cppad_mixed
defined routines,
and other examples.
optimize_fixed
. This has been fixed.
fixed_out
was the return value for the previous version of optimize_fixed
,
and
solution
is the current return value,
fixed_out = solution.fixed_opt
.
This shows how to convert old optimize_fixed
calls to the new form.
ran_likelihood_hes
function
(since removed).
ran_likelihood_jac
function
(since removed).
ldlt_cholmod_solve_H
.
to be specific, accessing past the end of the
row
vector in ldlt_cholmod_solve_H
, in addition it must be
in increasing order (and was not specified as such).
A_rcv
to be an argument to the
derived class constructor
instead of an argument to the
initialize
routine.
This was undone on
2016-10-15
and redone on
2017-03-08
.
cholmod
Cholesky factorization package.
ldlt_cholmod
wish list its (completed) and add
partial Newton step second order method wish list item
(this item has been completed).
set_sparsity
to bool_sparsity
(so that the default value is YES
).
cholmod
for sparse Cholesky factorization;
see ldlt_cholmod
.
cppad_mixed_eigen
library. In addition, the new example check_install.sh
demonstrates compiling, linking and running a program using
cppad_mixed
.
bin/install_eigen.sh
places
the Eigen package (because warnings are suppressed for this directory).
valgrind
) in the setting of the upper bound
(
g_u
in ipopt_fixed_get_bounds_info
) for the
random constraints
.
assert(false)
).
Furthermore, change the tolerance in one of the solution tests
to avoid a warning (when convergence has been achieved).
ldlt_eigen
Cholesky factorization of the Hessian
with respect to the random effects has been changed from a static
variable to the private member variable
ldlt_ran_hes_
.
This has many advantages; e.g.,
it allows for multiple derived_ctor
objects.
-Wno-shadow
and -Wno-deprecated-declarations
options
when compiling Eigen files by using the CMake system option
for the
Eigen
include directories.
This should work on more systems.
bin/install_cppad.sh
).
dismod_at
to
cppad_mixed
.
This should have been done when cppad_mixed
was extracted
from dismod_at
.