Recent Releases of chaospy

chaospy - Support for approximate multivariate raw moments

- Python
Published by jonathf about 5 years ago

chaospy - Bugfix: Change TrunkNormal distribution type

TrunkNormal has mistakenly been classified as a J operator. It has now correctly been changed to a ShiftScaleDistribution.

- Python
Published by jonathf about 5 years ago

chaospy - Bugfix sparsegrid

Bugfix: Growth rule not enabled by default in sparse grid, making sparse grid not take full advantage of nestedness for quadrature rules that required it.

In other words: Sparse-grid for Fejer, Clenshaw-Curtis, Newton-Cotes and Discrete should now take more advantage of the sparse-grid and create fewer samples per order. Other rules are not affected.

- Python
Published by jonathf about 5 years ago

chaospy - Improved Fejer/Clenshaw-Curtis and Sobol Sequence

ADDED: * Increase the number of dimensions supported in Sobol sequence to 1111. * New allow_approx flag in Distribution.pdf. * More docs and tests. * Support for bibliography in docs.

CHANGED: * Updated Clenshaw-Curtis and Fejér algorithm which scales much better. * More aggressive sample use in approximate_moment as bottleneck was the quadrature (Clenshaw-Curtis and Fejér). * Better support for density approximation. Allow for more contexts by weaving a full density history. * Bugfix: wrappers distribution no longer ignores wrapped distribution during dependency declaration. Ignoring them have in some cases caused some variables not to be declared correctly.

- Python
Published by jonathf over 5 years ago

chaospy - Documentation refactor

  • include_axis_dim flag added to Distribution.sample to force the inclusion of extra dimension. (Currently first dimension is omitted is len(dist) == 1.)
  • chaospy.E_cond changed to accept simple polynomials as second argument, allowing for e.g. chaospy.E_cond(q0*q1, q0, dist) which can be interpreted as "expectation of q0*q1 given q0 with respect to dist".
  • Bugfixes to chaospy.Spearman
  • Full refactorization of the documentation.
  • Updates numpoly to version 1.1.0. (some small breaking changes).
  • Deprecated report_on_exception. Caused recursion problems, and only a semi-useful diagnostic tool to begin with.
  • No more support for Python 3.5. This allows the poetry install to use newer version of numpy and scipy. (This relates to poetry install, so working in py35 might still be possible in practice.)

- Python
Published by jonathf over 5 years ago

chaospy - Bugfixes, touch-ups and Python requirement

New Python requirement: ^2.7 || >=3.6 I.e. no more support for python 3.0-3.5. (Python 2 support will likely be dropped by the end of the year.)

ADDED: * include_axis_dim flag added to Distribution.sample to force the inclusion of extra dimension. (Currently first dimension is omitted is len(dist) == 1.) CHANGED: * chaospy.E_cond changed to accept simple polynomials as second argument, allowing for e.g. chaospy.E_cond(q0*q1, q0, dist) which can be interpreted as "expectation of q0*q1 given q0 with respect to dist". * Bugfixes to chaospy.Spearman REMOVED: * Deprecated report_on_exception. Caused recursion problems, and only a semi-useful diagnostic tool to begin with. * No more support for Python 3.5. This allows the poetry install to use newer version of numpy and scipy.

- Python
Published by jonathf over 5 years ago

chaospy - Refactoring Recursion Algorithm

  • chaospy.constructor removed in favor for chaospy.UserDistribution.
  • Moved submodule chaospy{.orthogonal->}.recurrence.
  • Stieltjes method get common interface chaospy.stieltjes which uses analytical three-terms-recurrence if present, and an approximation if not.
  • Refactor chaospy.discretized_stieltjes to be an iterative size method with tolerance criteria instead of fixed size method. This is likely going to be faster for simpler and lower order orthogonal polynomials and more accurate for the more complicated distributions/higher order polynomials, Also some changes to the call signature.
  • Flag: Default recurrence_algorithm default changed to stieltjes (as it covers both analytical and discretized Stieltjes). The flag analytical removed.
  • Discretization default in Lanczos and Stieltjes changed from fejer to clenshaw_curtis as edge evaluation is better handled these days, and the latter is better for when edges are finite.
  • Removed chaospy.basis and chaospy.prange (which was announced in June to be superseded by chaospy.monomial).

- Python
Published by jonathf over 5 years ago

chaospy - Iterative distribution backend

ADDED: * Multivariate kernel density estimation distribution GaussianKDE. * Gaussian Mixture Model: GaussianMixture. * Support for additive recursive sampling scheme additive_recursive. * New basic distribution: InverseGamma. * New error type of error UnsupportedFeatureError to differentiate illegal operations (covered by StochasticallyDependentError) and unsupported features. * Property for checking for dependencies: Dist.stochastic_dependent. * Lots of illegal probability distribution configuration that would cause trouble during execution are now caught earlier with an appropriate error.

CHANGED: * Lots of distribution have fixes such that dist.inv([0, 1]) is now allowed in general. * chaospy.Trunc updated to take both lower and upper at the same time. * Enhanced == operator, which deals with equality as in the same dist. E.g. dist == cp.J(dist) is now true. * Tiny changes in argument signature for some distribution. Same arguments, but some change in names or order to standardize. These changes affect: Angelit, Burr, Cauchy, ChiSquared, F, FoldedNormal, GeneralizedExtreme, HyperbolicSecant, Levy, LogWeibull, Logistic, MvStudentT, Pareto1, Pareto2, PowerLogNormal, PowerNormal, StudentT, * DependencyError deprecated in favor of StochasticallyDependentError. * Much improved REPR handle.

REMOVED: * chaospy.SampleDist removed in favor of chaospy.GaussianKDE. * Comparison operators <, <=, > and => for distributions. * matmul operator is in practice an really odd duckling that is highly incompatible with the rotation idea. If linear map is needed, use new MeanCovariance.

- Python
Published by jonathf over 5 years ago

chaospy - Fix to Sobol order

- Python
Published by jonathf over 7 years ago