All notable changes to this project will be documented in this file. This change log follows the conventions of keepachangelog.com.
RealMatrix
and double[][] matrix interfacesvec->array
converts any vector to double arraySMILE
deps updatedmat->float-array2d
, mat->array
, mat->float-array
- row-wise matrix representations as arraysdebug?
option for :lbfgsb
optimizerrint
accepts scale argument (same as floor
and ceil
)roll-a-dice
to simulate dice rollingdouble-exponent
, double-significand
and ulp
functionsfastmath.solver/quadratic
solver of quadratic equation ax^2+bx+c=0fastmath.quaternion
namespacenegative-zero?
tests for -0.0
valuelinear-optimizer
- linear optimizationmat
, rows->mat
and cols->mat
- additional matrix creatorsnorm
- various matrix norms (0, 1, Inf, max, generalized L_pq, Shatten p-norm, Frobenius)condition
- condition number of the matrixsmooth-maximum
- boltzmann operator, lse, smu, p-norm, mellowmaxfastmath.calculus
- integration (VEGAS+ MC, h-adaptive Cubature and Gauss-Kronrod, ACM wrappers) and differentiations: derivative, gradient and hessian + Richardson extrapolationfastmath.complex
reimplementedmatrix
object name in printing, indentation:lbfgsb
java implementation of L-BFGS-B optimization algorithm, use it instead of :bfgs
(buggy SMILE implementation)2.1.9-SNAPSHOT
renamed to be 2.2.0
- see changes below
fma
- fused multiply and add (+ (* x y) z)
(for java 9+)fastmath.efloat
- floating point operations with error boundsproject
- vector projectionArrayRealVector
extended with VectorProto
fastmath.matrix
- matrix 2x2, 3x3 and 4x4 basic operations (unrolled)binomial-ci
- confidence interval methods for binomial distributiongamlss.dist
):
:zaga
- zero adjusted gamma distribution:nbi
- negative binomial type I:zinbi
- zero inflated negative binomial type I:zanbi
- zero altered negative binomial type I:zip
- poisson zero inflated:zip2
- zero inflated poisson 2:exgaus
- ex-Gaussian, exponentially modified gaussian:zabi
- zero adjusted binomial:zibi
- binomial zero inflated:bb
- beta binomial:zabb
- zero adjusted beta binomial:zibb
- zero inflated beta binomial:kolmogorov
- Kolmogorov distribution:half-normal
- half-normal distribution:truncated
and :mixture
distributions:multinomial
distributionhpdi-extent
and pi-extent
- new extents based on HPDI and PI from rethinking
R packagedistribution-parameters
accept a keyword additionallyfastmath.solver/find-root
- root solver for univariate functionsdelta-eq
and delta=
for checking eqality with given accuracy.coefficient-matrix
and correlation-matrix
log-exp
functionswmean
), median (wmedian
) and quantiles (wquantile
,wquantiles
):cramer-von-misses
distribution (based on finite difference)integrate-pdf
converted from private to publiccontingency-2x2-measures
- selection of 2x2 contingency measuresfastmath.stats.bootstrap
introduced as the replacement of fastmath.stats/bootstrap
function (now deprecated)p-value
- helper for calculating p-valuecontingency-table
- calculate frequenciesbinomial-test
t-test-one-sample
, t-test-two-samples
(more information returned)z-test-one-sample
, z-test-two-samples
f-test
power-divergence-test
+ special cases
chisq-test
multinomial-likelihood-ratio-test
minimum-discrimination-information-test
neyman-modified-chisq-test
freeman-tukey-test
cressie-read-test
ad-test-one-sample
- Anderson Darling testks-test-one-sample
, ks-test-two-samples
- Kolmogorov Smirnov testone-way-anova-test
levene-test
brown-forsythe-test
fligner-killeen-test
kruskal-test
- Kruskal-Wallis rank sum test(set! *warn-on-reflection* true)
removed (motivation)ttest-
-> t-test-
:histogram
issues with low number of samplesfast-max
and fast-min
had wrong inline operationset-seed
calls protocol for PRNGsintegrate-pdf
accuracy increasednrd
fixed when bandwidth was 0use-primitive-operators
accepts optional set of symbols which shouldn't be importedabs
redefinition in vector
was not properly implemented (problem was visible when vector
was precompiled with javac for Clojure2d)ball-random
- unit ball random vectorsequence-generator
:ball
added - unit ball random samplingceil
and floor
can snap to the nearest multiply of scale parameter (optional)next-double
and prev-double
to properly cross 0.0abs
)jinc
- besselj1(x)/xmuladd
macroevalpoly
and mevalpoly
- evaluate polynomial (from Julia)makepoly
create polynomial functionSi
and Ci
- https://dlmf.nist.gov/6.2#iiskewness
and kurtosis
r2-determination
, eta-sq
, omega-sq
, epsilon-sq
, cohens-f2
, cohens-q
, cramers-v
, cohens-w
, tschuprows-t
trim
and winsor
data based on quantilesdist-ang
- angular distancesim-cos
- cosine similarityangular
- refers to angular distance->seq
in fastmath.random
can accept sampling scheme (:uniform
, :stratified
and :systematic
)softmax
, logsoftmax
, logsumexp
, logmeanexp
, shift
(adds a value to all elements), average
(mean / weighted average)moment
didn't work properly for certain caseseffect-size
methods fixedfastmath.distance/cosine
- refers to cosine similarity nowcontinuous-distribution
is the same as kde
integer-discrete-distribution
and real-discrete-distribution
are sorted version of enumerated-int
and enumerated-real
fastmath.vector/dist-cos
- wrong implementationrhombus
is now a real rhombus, triangle
is equilateral now (cont. #8)cell->mid
for :triangle
grid returned wrong mid point for down
triangles (#8):triangle
grid anchor is 3d now, last coordinate indicates triangle position (up/down)l-bfgs-b
optimizer as :bfgs
fastmath.gp
relies now on SMILE backend (openblas/mkl)set-seed!
accept :smile
RNG which calls smile.math.MathEx/setSeed
function. Also, without RNG function will set seed to both: Smile and default-rng
.:kde
distribution - create distribution based on kernel density estimationmoving-average-filter
- moving average smoothingkernel-smoothing-filter
- signal smoothing filter using kernel methodssavgol-filter
- Savitzky-Golay smoothing filterBreaking change: due to significant change of SMILE API I decided to remove three ML namespaces: classification and regression. They probably be back as a separated bindings or incorporeted into SMILE directly.
lloyd
k-means variantsspectral
clusteringgp
namespace (GaussianProcesses) - moved from regression namespaceneural-gas
clustering:outliers?
key is removed from regrouped data for clusters, now :outliers
key is created when outliers are presentround-even
- even (or IEEE/IEC) roundingcut
- cut range into even intervalsslice-range
- cut range into even steps:dense
rank ties methodrank
and order
chagned to be zero based.co-intervals
works the same as in R nowgroup-by-intervals
checks all intervals instead the first onemoment
when center is nil should use meanmoment
functionsecond-moment
(invalid implementation)cb
as cube of the numbermnorm
- macro version of norm
Cleaned documentation with more usage examples.
demean
functionseq->vec2
, seq->vec3
and seq->vec4
warp-noise
TOLERANCE
constant in fastmath.vector
optimization
package with various optimization methodsclassification
and regression
refactoredkernel-density
moved to kernel
namespacemake-vector
returns vector for given number of dimensions and optional sequence.IPersistentVector
to work with vector?
clamp
, zero-count
, nonzero-count
, as-vec
expm1
functionhaversine
and haversine-dist
(distance)nan?
, inf?
, valid-double?
, invalid-double?
, between?
co-intervals
(same as R's function). Also group-by-intervals
.kernel-density-ci
for kernel density with confidence intervalfmap
instead of applyf
(now deprecated)kernel-density
is now multimethodhistogram
:bins
contain starting point and sample counts onlylcm
- least common multiplierReversible
Indexed
ILookup
PI
, E
etc.)GAMMA
constant name clashstats-map
returns list of outliers rather than number of outliers:bessel
vector field removed (hard to limit input range)sample
can now return pairs of [x,(f x)]
.fastmath.clustering
namespacek-means
from fastmath.stats
norm
when domain is a point, returns range start when value is less or equal domain, range end otherwisesample
function-interpolator
suffix)estimation-strategy
can be passed to any function calculating quantiles/percentilesstats-map
doesn't contain select keys option anymoreInitial version created from Clojure2d
library.
Can you improve this documentation? These fine people already did:
GenerateMe, tsulej, genmeblog, generateme, genme & tslEdit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close