Todo List

page O2scl User's Guide
Double check this documentation above

Class bin_size
Not working yet.

Class cern_adapt
It looks like the first segment is of zero size, is this because there's an offset? Double check that we don't have memory issues if nseg=nsub.

Class collection

Class columnify
Move the screenify() functionality from misc.h into this class?

Class contour

Class eqi_deriv
The uncertainties in the derivatives are not yet computed and the second and third derivative formulas are not yet finished.

Global eqi_deriv::deriv_array (size_t nv, double dx, const vec_t &y, vec_t &dydx)
generalize to other values of npoints.

Class gaussian_2d
Double check that sigma is implemented correctly

Class gsl_astep
Finish implementing the scaled "control"

Class gsl_fit
Properly generalize other vector types than ovector_view

Class gsl_fit
Allow the user to specify the derivatives

Class gsl_fit
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_inte_qag
Verbose output has been setup for this class, but this needs to be done for the other GSL-like integrators

Class gsl_inte_qagiu
I had to add extra code to check for non-finite values for some integrations. This should be checked.

Class gsl_inte_qawf_cos
Verbose output has been setup for this class, but this needs to be done for the other GSL-like integrators

Class gsl_inte_qawo_cos
Verbose output has been setup for this class, but this needs to be done for the other GSL-like integrators

Class gsl_inte_singular::extrapolation_table
Improve the documentation

Class gsl_min_brent
Simplify temporary storage and document stopping conditions.

Class gsl_mmin_conf
A bit of needless copying is required in the function wrapper to convert from gsl_vector to the templated vector type. This can be fixed, probably by rewriting take_step to produce a vec_t &x1 rather than a gsl_vector *x1;

Global gsl_mmin_conf::it_info
Document this better

Class gsl_mmin_conp
A bit of needless copying is required in the function wrapper to convert from gsl_vector to the templated vector type. This can be fixed.

Class gsl_mmin_conp
Document stopping conditions

Class gsl_mmin_simp
Not properly generalized to non-GSL vectors (to do this, I'll have to store the simplex as a vec_t array rather than a gsl_matrix). Right now, this only works with vec_t = ovector_view.

Class gsl_mmin_simp
Add a minimize function which allows specification of the entire simplex.

Class gsl_mmin_simp
Gracefully ensure memory allocation and deallocation is performed automatically.

Class gsl_mmin_simp
Test mmin_twovec().

Class gsl_mmin_simp
Document how set() chooses the simplex from the initial guess and step size

Class gsl_mroot_hybrids
Need to complete generalization to generic matrix types

Class gsl_quartic_real2
Document the distinction between this class and gsl_quartic_real

Class gsl_root_brent
There is some duplication in the variables x_lower, x_upper, a, and b, which could be removed.

Class gsl_series
Covert to use a more general vector

Class gsl_vegas
Need to double check that the verbose output is good for all settings of verbose.

Class gsl_vegas
BINS_MAX and bins_max are somehow duplicates. Fix this.

Class hybrids_base
Document the individual functions for this class

Class io_base
Should the remove() functions be moved to class collection?

Global minimize::bracket (double &ax, double &bx, double &cx, double &fa, double &fb, double &fc, param_t &pa, func_t &func)
Improve this algorithm with the standard golden ratio method.

Global minimize::bracket (double &ax, double &bx, double &cx, double &fa, double &fb, double &fc, param_t &pa, func_t &func)
Double check that this works when at least two of f(a), f(b) and f((a+b)/2) are equal.

Class naive_metropolis
Talk about how accurate this is with $ \beta $ .

Class naive_metropolis
Redo statistics, talk about how many times the integral is evaluated.

Class naive_metropolis
Offer an option of giving more results than just the final averange and error?

Class naive_quartic_real
3/8/07 - Compilation at the NSCL produced non-finite values in solve_r() for some values of the coefficients. This should be checked.

Class naive_quartic_real
It looks like this code is tested only for a4=1, and if so, the tests should be generalized.

Class naive_quartic_real
Also, there is a hard-coded number in here ($ 10^{-6} $), which might be moved to a data member?

Class o2scl_interp_vec
Need to fix constructor to behave properly if init() fails. It should free the memory and set ln to zero.

Class ode_it_solve
Max and average tolerance?

Class ode_it_solve
partial correction option?

Class ode_iv_solve
(10/8/07) It's not clear to me that astepper shouldn't be a member pointer instead of having the type adapt_step be a template parameter. The present code certainly works, but prevents the user from changing the adaptive stepper for the ODE solver at runtime.

Class ode_iv_solve
Decide what to do if the adaptive stepper fails. (1/18/07: Two approaches: continue no matter what, or just stop. 10/8/07: should probably let the class user decide?)

Class omatrix_view_tlate
This class isn't sufficiently general for some applications, such as sub-matrices of higher-dimensional structures. It might be nice to create a more general class with a "stride" and a "tda".

Class other_todos_and_bugs

Class ovector_cx_tlate
There is a slight difference between how this works in comparison to MV++. The function allocate() operates a little differently than newsize(), as it will feel free to allocate new memory when owner is false. It's not clear if this is an issue, however, since it doesn't appear possible to create an ovector_cx_tlate with a value of owner equal to zero. This situation ought to be clarified further.

Class ovector_cx_tlate
Add subvector_stride, const_subvector_stride

Class ovector_cx_view_tlate
Move conversion b/w complex<double> and gsl_complex to cx_arith.h

Class polylog

Global rnga::clock_seed ()
Ensure this function is ANSI compatible

Class search_vec
The documentation here is still kind of unclear.

Class simple_jacobian
Double check that this class works with arrays

Global smart_interp::find_subset (const double a, const double b, size_t sz, const vec_t &x, const vec_t &y, size_t &nsz, bool &increasing)
After row and row2 are set, check to make sure the entire inside region is monotonic before expanding

Class table
Move the discussion above to the user guide?

Class table
Add interp() and related functions which avoid caching and can thus be const (This has been started with interp_const() )

Global table::set_nlines_auto (size_t il)
Resolve whether set() should really use this approach. Also, resolve whether this should replace set_nlines() (It could be that the answer is no, because as the documentation in the other version states, the other version is useful if you have columns not owned by the table.)

Global table::new_column (std::string name, ovector_view *ldat)
We've got to figure out what to do if ldat is too small. If it's smaller than nlines, obviously we should just fail, but what if it's size is between nlines and maxlines?

Class tensor
More complete testing.

Class tensor
Add const get functions for const references

Global text_out_file::text_out_file (std::ostream *out_file, int width=80)
Ensure streams are not opened in binary mode for safety.

Class timer_gettod
Better testing which doesn't use a fixed number of mathematical operations, but automatically selects enough operations.

Global twod_intp::set_interp (size_t ni, base_interp< ovector_view > *it, base_interp< ovector_const_subvector > *it_sub, base_interp< ovector_view > &it2, base_interp< ovector_const_subvector > &it2_sub)
Document this function

Class uvector_cx_view_tlate
Write lookup() method, and possible an erase() method.

File array.h
Ensure that array_row works, either here or in src/ode/ode_it_solve_ts.cpp

File array.h
Document vector_sort, etc.

Global array_2d_out
If all of the matrix elements are positive integers and scientific mode is not set, then we can avoid printing the extra spaces.

Global matrix_out
Might need to test to see what happens if all of the matrix elements are positive integers and scientific mode is not set.

File cx_arith.h
Define operators with assignment for complex + double

File cx_arith.h
Ensure all the trig functions are tested

Global err_assert
Should make this consistent with assert() using NDEBUG

Global screenify
Consider making this into a class so that the memory for the output columns is automatically handled.

Global operator<<
Maybe remove this function, as it's superceded by matrix_out()?

Global operator<<
This assumes that scientific mode is on and showpos is off. It'd be nice to fix this.

Global double_to_latex
Fix to ensure final zeros are printed properly if requested

Global dtos
Add error checking to this function using if(strout << x)

Global operator<<
This assumes that scientific mode is on and showpos is off. It'd be nice to fix this.

Global operator<<
This assumes that scientific mode is on and showpos is off. It'd be nice to fix this.

File vec_arith.h
Properly document the operators defined as macros


Documentation generated with Doxygen and provided under the GNU Free Documentation License. See License Information for details.

Project hosting provided by SourceForge.net Logo, O2scl Sourceforge Project Page