Skip to content

Releases: awsteiner/o2scl

v0.929.2

21 Jul 23:53
Compare
Choose a tag to compare

Small fixes to address some security updates and problems on OpenSUSE and 32-bit systems.

v0.929

09 May 19:41
Compare
Choose a tag to compare

Notes for 0.929 release:

Improved documentation in several places.

Created example ex_mcmc_kde.cpp.

Created new steppers for mcmc_para.

Updated docker files for Ubuntu 24.04.

Improved Python, multiprecision, MPFR support in several classes.

Updated classes and methods inte_kronrod_boost, cli::xml_to_o2(),
eos_leptons, eos_leptons_multip, inte_double_exp_boost, ode_boost,
fermion_deriv_rel, inte_gauss_cern, inte_adapt_cern, astep_boost,
boson_rel, calc_utf8, funct_multip, eos_sn, lib_settings,
fermi_function, and boson_thermo.

Allowed for virtual environments in py_init()

Updates to acol commands: table rename, table3d refine, table cat,
table3d contours, table autocorr, table thin-mcmc. Updated acol
function support.

Updated yanic.

Created a new O2SCL_NO_BOOST_MULTIPRECISION ifdef for speed.

v0.928

18 Jul 04:20
Compare
Choose a tag to compare

Notes for 0.928 release:

Several improvements to documentation and examples.

Reworked interp_krige, interp_krige_optim, interpm_krige and
interpm_krige_optim.

Fixed ioctl calls and removed default ncurses requirement.

Improved multiprecision support in the integrators and created
funct_multip_transform. Created a getfp, setfp, sets_vec_vec, and
setd_vec_vec functions for hdf_file.

Updated mcmc_para, eos_tov_interp, polylog, and eos_sn_hfsl classes.

Removed old acolm_o2graph functions.

Updated fermion_rel class, continuing work on multiprecision support.

Updated python interface for several classes.

Created new classes vec_prob_dens_mdim, vec_prob_cond_mdim,
prob_dens_func_gmm,

Created new classes gmm_python, kde_python, interpm_python and reworked
python support.

Created new FFT functions, rng_set_seed(), rng_set_seed_mpi(),
screenify_trans(), backslashify(),

Created new example ex_tensor.

Created acol command to-hist for table3d objects, interp-table3d for
table objects, to-gmm for table objects, refine for table3d and
hist_2d objects. Improved commands generic, autocorr, to-gaussian.
Improved handling of string[] objects. Renamed entry to value and
entry-grid to value-grid. Fixed color specs.

Work on experimental emulator classes and experimental exp_max.

Deprecated class interp, now superceded by interp_vec.

Generalized axpy_prod() for other linear algebra libraries.

Updated docker files, now including python support, tensorflow,
and sckit-learn.

Fixed table::delete_column(), tensor_grid::copy_table3d_align(),
tensor_grid::grid_rearrange_and_copy().

Created new unicode mode for format_float().

v0.927

23 Jul 20:52
Compare
Choose a tag to compare

Notes for 0.927 release:

The internal structure has been reworked so that the HDF5, EOS, and
particle libraries are always included and there is only one library
file, libo2scl.

Constants, unit conversions, the find_constants class, and the
associated documentation have been improved.

The boost integration and multiprecision libraries are now enabled by
default. The precision parameter in the dtos() function has been updated
to automatically output either digits or max_digits as requested by
the user. Multiprecision support has been improved throughout.

The old cubature classes have been removed but there is still a
./configure flag for cubature support (principally for the separate
EOS code which is under development).

Classes funct_python, fermion_rel, polylog, eos_quark_njl, nstar_cold,
eos_had_rmf_hyp, multi_funct_python, mm_funct_python, interp_krige,
interpm_krige, inte_qagi_gsl, inte_adapt_cern, eos_had_base,
bessel_K_exp_integ_boost, nucmass_dz, calc_utf8, convert_units,
boson_rel, part_pdg, and inte_double_exp_boost, have been updated.

Class eos_cs2_const was removed since its functionality is in
contained in eos_tov_linear.

New classes eos_leptons, emulator, emulator_python,
emulator_interpm_idw_table, fermi_dirac_integ_bf, part_funcs, and
eos_quark_njl_vec have been created.

The strings_spec function has been updated. New function unc_to_string()
has been added.

The ex_eos_gibbs and ex_lambda examples have been updated.

The C++/python interface and the yanic executable have been significantly
improved. The python interface is much more detailed and there has
been corresponding work on the examples in o2sclpy.

The Doxygen XML and run-time acol documentation has been synchronized
so that acol documentation will be clearer and more easily updated.
A corresponding new "vec_vec_string" type has been added to acol
and hdf_file. New command 'ninteg' was added to acol.

New index classes ix_fixed, ix_sum, etc. have been created for index
specifications. These are used in the tensor rearrange_and_copy()
functions.

v0.926

06 Oct 20:09
Compare
Choose a tag to compare

Notes for 0.926 release:

The gen_test_number class has been rewritten and improved to allow for
more flexbility.

Improvements to polylogs and associated testing.

Started process of using C++ std random number generators instead of
GSL.

Improved the verbose output in root_brent_gsl, the behavior of
tensor::rearrange(), the polynomial classes (especially for larger
floating-point types).

Improved OpenMP integration.

Created functions to compute KL divergence and a new set of classes,
matrix_invert_det to handle the inversion and determinants with Eigen
or Armadillo.

Updated to more recent versions of AME and FRDM.

Created a new vector_autocorr_fftw function for autocorrelations.

Created dockerfiles in a docker directory for common configurations.

The fnmatch() function is being replaced by regex, enabled if
O2SCL_REGEX is defined. This is not yet enabled by default, because it
has caused some problems with o2graph.

A new version of the calculator class which partially supports UTF8 is
in implemented in calc_utf8. This new UTF-8 compatible class is used
in O2scl unless O2SCL_NO_CALC_UTF8 is defined. There are still some
complications with regex and UTF8 which haven't fully been resolved.

The convert_units class has been reworked to enable UTF8 support.

Created a new set of HDF5 input functions, hdf_input_n(), to allow
input with or without a name.

More work on the python interface everywhere and the snapcraft
configuration.

Improved citations for nuclear masses, handling of electrons and
photons in eos_sn, the fermion_rel nondegenerate expansion, the
fermion_rel pair_density() function, the nstar_cold class (including a
small change to the default crust), the fermion_mag_zerot class, the
tov_love class, the eos_tov_buchdahl class, the command ser-hist-t3d
in acol, the function table3d::create_hist_set().

Updated nucmass_ldrop to avoid unphysical central densities.

Created experimental exp_max, nstar_hot, eos_quark_njl_vec, and
eos_had_virial_spin. Progress on the experimental interp_krige
classes.

Improved documentation everywhere.

Cleaned the "acol -commands" and "acol -help" output.

v0.925

06 Nov 18:52
Compare
Choose a tag to compare

Notes for 0.925 release:

Fixed interpolation bug and log grid bug in
tensor_grid::rearrange_and_copy().

Improved acol docs everywhere. Created acol table3d to-tensor-grid,
acol table3d to-hist-2d, acol table3d get-grid, acol create table-mv,
acol table3d slice-hist, acol table3d select, acol h5-copy, acol table
correl, acol constant, acol binary, acol docs, and acol wdocs. The
acol help documentation has also been reformatted and improved.

The integration routines for semi-infinite intervals have been
refactored to use \ref integ_iu(), \ref integ_il() and \ref integ_i().

Improved error handling and documentation in cloud_file.

Several updates to eos_sn, nstar_rot, eos_had_rmf, eos_had_rmf_hyp_ts,
and ex_eos_gibbs. Created new beta-equilibrium functions in some
EOS classes. Created new function nucmass_fit::fit_covar() to
fit nuclear masses with a covariance matrix.

Reworked documentation in sphinx/breathe.

Fixed spacing bug in rewrap_keep_endlines().

Updated strings_spec(), vector_spec(), mult_vector_spec() and
value_spec().

Added OpenMP support to some table functions. Updated table::swap().

Created experimental new convert_units::convert_calc() function
and created find_constants class. Updated solar system constants.

Improvements to the vec_index class.

Updated the vector_acor() function. Created vectors_equal() and
vectors_equal_tol().

Fixed hidden virtual function warnings.

Created columnify::add_spaces().

Worked on multiprecision support for several particle classes.
Cleaned up polylogs and created bessel_K_exp class.

Fixed HDF5 1.12-related deprecation warnings.

Renamed integration classes for infinite or semi-infinite limits.

Created a new experimental auto_format class.

Created new vt100 string functions and moved them into a new
terminal class.

Added quadratic and cubic discriminants.

Added experimental part_pdg.

v0.924

31 Dec 00:58
Compare
Choose a tag to compare

Notes for 0.924 release:

Updated second derivatives of the pressure for the particle clases and updated the eos_had_skyrme class to compute second derivatives.

Created a new system for OS detection to make compilation a bit more user-friendly. HDF5 headers have been reworked a bit accordingly.

Improved integration between acol and o2sclpy.

Improved the handling of aliases in acol and cli.

Generalized convert_units, several of the integration classes, a few derivative and solver classes, and several of the particle classes to templates to allow for other floating point types.

Improvements to the ex_mmin example and the example plots. Created new example ex_fermion_summ.

Improvements to the ode_iv_solve_grid class.

Improved error handling for calculator class.

Created functions vector_refine(), file_exists(), and o2isfinite().

Created classes inte_tanh_sinh_boost, inte_sinh_sinh_boost, inte_kronrod_boost, inte_exp_tanh_boost, nucmass_gen, and frib_mex.

Created a couple_threads option and an ac_coeffs() function for mcmc_para.

Creating strings_spec() for string list specifications and updated vector_spec() and mult_vector_spec().

Improved tabulate option for tov_love::calc_y().

Updated constants for CODATA 2018 release.

v0.923

29 Apr 16:14
Compare
Choose a tag to compare

Notes for 0.923 release:

A new function "rearrange_and_copy()" was added to the tensor and tensor_grid classes for several kinds of tensor rearrangements.

A new matrix_view_transpose class and a new wordexp() function were created.

The classes cloud_file, boson_rel, eos_had_skyrme, eos_tov_buchdahl, fermion_deriv_rel, fermion_eff, fermion_nonrel, fermion_rel, eos_had_rmf, hist, interpm_krige, and interp_krige_optim classes were improved improved. The particle calibration routines were improved.

The constants were updated for the CODATA 2014 release.

Several updates were made to acol. The handling of tensor and tensor_grid classes was improved. Vector and value specifications were added. The help text was reworked. The autocorr command was improved.

A new class slack_messenger was created to send messages to Slack.

v0.922

19 Oct 15:26
Compare
Choose a tag to compare

Notes for 0.922 release:

In the table class, the set() function no longer automatically adds
rows or columns. This prevents some behavior which was not intuitive for
users.

Several tensor functions have been added, including
tensor::swap_data(), tensor_out(), tensor::min(), tensor::max(),
tensor::copy(), tensor::is_valid(). Slicing for tensor_grid objects
has been improved. Copy constructors for tensor and tensor_grid have
been created.

A few long double integration classes have been added when higher
accuracy is required.

The MCMC classes have been completely reworked, offering better
support for OpenMP and MPI parallelism.

The acol command has been expanded and improved in several ways.
Code for o2graph has been moved out and the documentation has
been improved.

The conversion functions in convert_units now has a const version

The documentation has been improved everywhere.

A new nearest neighbor interpolation type has been added.

A seed bug in rng_gsl has been fixed.

HDF5 I/0 for table3d types now allows const references.

The cloud_file class is updated and simplified.

The prob_dens_func_amr class has been updated.

Some work has been done on heat capacity functions for particle
objects.

The fermion_rel::calc_mu() and pair_mu() functions work better
now with bad initial guesses.

The tov_solve, eos_tov, eos_cs2_const, and eos_had_rmf_hyp classes
are improved.

v0.921

09 Feb 16:09
Compare
Choose a tag to compare

Notes for 0.921 release:

New vector_autocorr() functions were created to analyze
autocorrelations.

The class serach_vec now has improved thread safety.

Kriging classes interpm_krige_nn, interpm_krige, and interp_krige were
created. These are still a bit experimental.

A new Robbins-Monro iteration root-finding class has been created. A
class smooth_func for smoothing multivariate functions by averaging in
a neighborhood has been created. These should help dealing with noisy
functions.

All 'funct11' classes have been renamed to 'funct'.

New vector bin size functions have been created.

The 'acol' command has been reworked to handle HDF5 I/O for more
types. It can now manipulate vectors, matrices, and tensors
in several new ways. The interaction with o2graph in o2sclpy
has also been improved.

The Markov chain Monte Carlo classes have been updated, but
are still experimental. Similarly with the probability
density distribution classes where new bivariate gaussian
and AMR-like probability densities were created.

The internal bibliography mechanics have been improved.

Error handling in nucleus_rmf has been improved.

Updates to eos_tov_vectors, eos_had_rmf, eos_tov_vectors,
eos_had_skyrme.

Created an eos_cs2_poly class and anneal_para_ts.

Nuclear masses were updated for the 2016 AME data set.

The calculation of dndT, dndmu, and dsdT for relativistic
fermions has been improved.

The SFHo and SFHx EOSs were updated.

Several internal changes have been made to allow Ubuntu-style
packages. The 'make check' target now works without 'make install'. A
snapcraft snap has also been created. These are still in progress.