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 VectorProtofastmath.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-matrixlog-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-testt-test-one-sample, t-test-two-samples (more information returned)z-test-one-sample, z-test-two-samplesf-testpower-divergence-test + special cases
chisq-testmultinomial-likelihood-ratio-testminimum-discrimination-information-testneyman-modified-chisq-testfreeman-tukey-testcressie-read-testad-test-one-sample - Anderson Darling testks-test-one-sample, ks-test-two-samples - Kolmogorov Smirnov testone-way-anova-testlevene-testbrown-forsythe-testfligner-killeen-testkruskal-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 kurtosisr2-determination, eta-sq, omega-sq, epsilon-sq, cohens-f2, cohens-q, cramers-v, cohens-w, tschuprows-ttrim 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 kdeinteger-discrete-distribution and real-discrete-distribution are sorted version of enumerated-int and enumerated-realfastmath.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 :bfgsfastmath.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 normCleaned documentation with more usage examples.
demean functionseq->vec2, seq->vec3 and seq->vec4warp-noiseTOLERANCE constant in fastmath.vectoroptimization 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-vecexpm1 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 ILookupPI, 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.statsnorm 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 builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |