Object-oriented Scientific Computing Library: Version 0.910
Todo List
Class cli
Long options cannot be one letter long, or else process_args() will fail, thus the class should throw if a long option with only one letter is given.
Global cli::process_args (std::string s, std::vector< cmd_line_arg > &ca, int debug=0)
There's a typecast in this function to (char *) from (const char *) which needs reworking.
Global eqi_deriv< func_t, vec_t >::deriv_vector (size_t nv, double dx, const vec_t &y, vec_t &dydx)
generalize to other values of npoints.
File givens_base.h
Make sure create_givens() in givens.h is documented.
Class gsl_astep< func_t, vec_t, alloc_vec_t, alloc_t >

Document what happens when the stepper function returns a non-zero value, as it's different now with the ode-initval2 function.

Document count, failed_steps, etc.

Class gsl_fit< func_t, vec_t, mat_t, bool_vec_t >

Properly generalize other vector types than ovector_base

Allow the user to specify the derivatives

Fix so that the user can specify automatic scaling of the fitting parameters, where the initial guess are used for scaling so that the fitting parameters are near unity.

Class gsl_mmin_bfgs2< func_t, vec_t, alloc_vec_t, alloc_t, dfunc_t, auto_grad_t, def_auto_grad_t >
While BFGS does well in the ex_mmin example with the initial guess of $ (1,0,7\pi) $ it seems to converge more poorly for the spring function than the other minimizers with other initial guesses, and I think this will happen in the GSL versions too. I need to examine this more closely with some code designed to clearly show this.
Class gsl_mroot_hybrids< func_t, vec_t, alloc_vec_t, alloc_t, mat_t, alloc_mat_t, mat_alloc_t, jfunc_t >
Are all the set_all() statements really necessary? Do they need to be executed even if memory hasn't been recently allocated?
Class gsl_ode_control< vec_t >
Double check that the improvements in the ode-initval2 routines are available here
Class gsl_rkf45< func_t, vec_t, alloc_vec_t, alloc_t >
Check this because it may not give exact dydt_out.
Class gsl_smooth
Needs a bit more error checking and more documentation.
Class gsl_vegas< func_t, rng_t, vec_t, alloc_vec_t, alloc_t >
Mode = importance only doesn't give the same answer as GSL yet.
Global gsl_vegas< func_t, rng_t, vec_t, alloc_vec_t, alloc_t >::vegas_minteg_err (int stage, func_t &func, size_t ndim, const vec_t &xl, const vec_t &xu, double &res, double &err)

Should stage be passed by reference?

There was an update between gsl-1.12 and 1.15 which has not been implemented here yet.

Class hdf_file
Error handling with HDF functions is a particular concern. Modify to throw O2scl exceptions when appropriate.
Class hist

Check that the actions of set_bins(), clear() and other functions perform the correct actions on the user_rep vector. I'm a bit concerned that set_bins_auto() shouldn't call user_rep.allocate().

More documentation and testing.

Class hist_ev

Test set_grid_blocks() function.

Create copy constructors as in the scalar_ev class.

File householder_base.h
Better documentation for the Householder functions.
Global matrix_cx_out_paren (std::ostream &os, mat_t &A, size_t nrows, size_t ncols)
Doesn't this only work for GSL matrices? Compare this to the corresponding vector functions
Class multi_min_fix< bool_vec_t >

Generalize to all vector types

Generalize to minimizers which require derivatives

At the moment, the user has to change def_mmin::ntrial instead of multi_min_fix::ntrial, which is a bit confusing. Fix this.

Class ode_bv_multishoot< func_t, vec_t, alloc_vec_t, alloc_t, vec_int_t, mat_t >
Improve documentation a little and create testing code
Global ode_iv_solve< func_t, vec_t, alloc_vec_t, alloc_t >::solve_final_value (double x0, double x1, double h, size_t n, vec_t &ystart, vec_t &yend, func_t &derivs)
Document if yend can be the same as ystart.
Class other_todos_and_bugs
  • Make sure an error message is printed to ensure users do 'make o2scl-test' and not 'make check'
  • Make sure cstdlib is included wherever exit() is used [5/22/11 - Most of these are taken care of now.]
Class ovector_const_view_tlate< data_t, vparent_t, block_t >::const_iterator
Default constructor and iterator typedefs
Class ovector_cx_tlate< data_t, vparent_t, block_t, complex_t >
Add subvector_stride, const_subvector_stride
Global smart_interp< vec_t, svec_t >::find_subset (const double a, const double b, size_t sz, const vec_t &x, const vec_t &y, size_t &nsz)
The error handling is a bit off here, as it can return a non-zero value even with there is no real "error". We should just make a new bool reference paramter.
Global smart_interp< vec_t, svec_t >::interp (const double x0, size_t n, const vec_t &x, const vec_t &y)
After calling find_subset, I think we might need to double check that nn is larger than the minimum interpolation size.
Global smart_interp_vec< vec_t, svec_t, alloc_vec_t, alloc_t >::find_inc_subset (const double x0, size_t sz, const vec_t &x, const vec_t &y, size_t &nsz)
Variables row and row appear to be unused? (2/17/11)
Class table
Document or fix the fact that the table copy constructors do not copy the interpolation objects. Maybe def_interp_mgr objects can have their own copy constructors?
Global table::sort_column (std::string scol)
Use vector_sort() rather than qsort().
Global table::sort_table (std::string scol)
Use vector_sort() rather than qsort().
Global uvector_const_view_tlate< data_t >::norm () const
Fix this so that norm() is computed as in ovector and so that integer norms are performed separately.
Global vector_pvariance (size_t n1, const vec_t &data1, size_t n2, const vec2_t &data2)
Document this
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).

Get Object-oriented Scientific Computing
Lib at SourceForge.net. Fast, secure and Free Open Source software
downloads.