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_dimflag added toDistribution.sampleto force the inclusion of extra dimension. (Currently first dimension is omitted islen(dist) == 1.)chaospy.E_condchanged to accept simple polynomials as second argument, allowing for e.g.chaospy.E_cond(q0*q1, q0, dist)which can be interpreted as "expectation ofq0*q1givenq0with respect todist".- Bugfixes to
chaospy.Spearman - Full refactorization of the documentation.
- Updates
numpolyto 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
numpyandscipy. (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.constructorremoved in favor forchaospy.UserDistribution.- Moved submodule
chaospy{.orthogonal->}.recurrence. - Stieltjes method get common interface
chaospy.stieltjeswhich uses analytical three-terms-recurrence if present, and an approximation if not. - Refactor
chaospy.discretized_stieltjesto 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_algorithmdefault changed tostieltjes(as it covers bothanalyticaland discretized Stieltjes). The flaganalyticalremoved. - Discretization default in Lanczos and Stieltjes changed from
fejertoclenshaw_curtisas edge evaluation is better handled these days, and the latter is better for when edges are finite. - Removed
chaospy.basisandchaospy.prange(which was announced in June to be superseded bychaospy.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