1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244
|
Change log for DDogleg Numerics
Date Format: YEAR-MONTH-DAY
------------------------------------------------------
Version: 0.17
Date: 2019/06/20
- Nearest Neighbor searches can now have the search component parallelized across multiple threads
* Changed API to accommodate this feature
- Fixed bug in GrowQueue dealing with an initialize size of zero.
- FastQueue
* Added shuffle
* Added flip and swap
* Added remove set of indexes
- Fixed typecast issue with KdTree
------------------------------------------------------
Version: 0.16
Date: 2019/03/13
- Created PrimitiveArrays
- FastQueue now supports Lambdas in its constructor
* This is now the preferred method and the old override will be removed
- GrowQueue
* Added setTo(array,offset,length)
- FastQueue
* Added indexOf()
- Optimization
* Added Dense Schur Complement. Useful when a robust linear solver is needed and not a large problem
------------------------------------------------------
Version: 0.15.2
Date: 2018/12/25
- Updated gradle
- Fixed type-o in DerivativeChecker R variants
- Added Tuple3, Tuple4
------------------------------------------------------
Version: 0.15.1
Date: 2018/10/15
- Fixed bug in KdTreeNearestNeighbor constructor
------------------------------------------------------
Version: 0.15
Date: 2018/09/29
- Non-Linear Optimization
* Rewrote and redesigned Trust-Region (TR) and Levenberg-Marquardt (LM)
* Scaled Hessian for least squares TR and LM
* Sparse LM and TR
* Schur Decomposition interface with TR and LM implementations
* Refactored line search and Quasi Newton
* Better verbose mode
- Added float circular queues
- GrowQueue
* Added contains()
* Added remove(a,b)
* Added indexOfGreatest() and indexOfLeast()
- Misc
* Added SwapElement
- Nearest-Neighbor Search
* generalized so that any data structure can now be used
------------------------------------------------------
Version: 0.14
Date: 2018/06/20
- Added Stoppable
- Added DDoglegVersion an autogenerated version file
- Various addition to the API
------------------------------------------------------
Version: 0.13
Date: 2018/01/17
- GrowQueue
* Created an interface for GrowQueue
* Added zero()
* Added extend()
* Added flip()
* Added sort()
* Added static function zeros(N)
* Added static function array(...)
- Support for sparse matrix solvers in optimization
- LeastMedianOfSquares
* Can make it optimize for values other than median
------------------------------------------------------
Version: 0.12
Date: 2017/09/18
- Refactored for changes in EJML
- Changed behavior of NearestNeighbor. Search results are now cleared. No idea why it wasn't this way by default...
------------------------------------------------------
Version: 0.11
Date: 2017/07/14
- Added getType() functions to ModelMatcher
- RANSAC now uses a much more efficient sampling method which works well on small and large lists
* First useful interview question I've been given!
- ShellSort now supports multiple primitive data types
------------------------------------------------------
Version: 0.10
Date: 2016/11/29
- Added indexOf() to GrowQueue
------------------------------------------------------
Version: 0.9
Date: 2016
- Fixed bug in InitializePlusPlus where duplicate points in input set could cause a crash
* behavior is now defined
- Moved Tuple2 into this project
------------------------------------------------------
Version: 0.9
Date: 2016-01-23
- Added bounds check to GrowQueue.get()
- Added GrowQueue.unsafe_get()
- Updated version of EJML
------------------------------------------------------
Version: 0.8
Date: 2015-11-07
- Added another variant of QuickSort that uses Comparator
- Added FastQueue.getTail(index) for getting items relative to the end of the list
- Added a variant of RecycleManager, RecycleManagerL, which keeps track of the used list
- Added insert into GrowQueue
- Added bounds check to GrowQueue.get() and unsafe_get()
------------------------------------------------------
Version: 0.7
Date: 2015-09-18
- Moved complex math into the EJML project
- Added clustering algorithms
* k-means
- Random initialization
- k-means++ initialization
* Gaussian Mixture Model
- Work in progress... Doesn't work yet in all situations due to overflow issues
- Created ModelManagerDefault which uses reflections
* Assumes no argument constructor and set() function
- JacobianChecker
* Can use a relative fractional error threshold instead of an absolute
* Added support for gradient
* Renamed to DerivativeChecker
- QuasiNewtonBFGS
* If the initial step is selected poorly it can recover now by selecting one half its size
* Can now handle the case where the derivative is zero and gtol is zero. <= instead of <
- GrowQueue
* Added addAll(array,start,end)
* Added removeTail()
- Created UtilStatisticsQueue for computing statistics from GrowQueues
- LinkedList
- Added RecycleManager
- Fixed Permute
* Was completely broken when run on lists larger than what was in the unit test
------------------------------------------------------
Version: 0.6
Date: 2014-09-17
- Switched build to Gradle
- Added CircularQueue
- QuickSort and QuickSortArray have been combined into one class
- QuickSort comparable index has been added
- Fixed a bug in AxisSplitRuleRandomK where is the number of consider was greater than the DOF it would throw
an out of bounds exception.
- Added vantage point tree (VpTree).
* Thanks Karel Petránek
- Fixed bug in KdTreeMemory.recycleGraph(). Didn't check to see if root was null
------------------------------------------------------
Version: 0.5
Date: 2014-06-18
- Added missing functions to GrowQueue_*
- Nearest-neighbor search
* Maximum distance is specified as inclusive
* Maximum distance is specified as Euclidean squared
- Added Counting Sort. Sorts integer valued elements in O(N) time
- Added approximate sort. Counting sort for continuous valued data
- Fixed bug in SturmSequence where it would get stuck in an infinite loop while bounding the roots
- Tweaked FastQueue so that it is a valid Java Bean
------------------------------------------------------
Version: 0.4
Date: 2013-12-26
- Added N nearest-neighbor search.
* Modified NearestNeighbor interface
* Standard K-D tree
* Best-Bin-First K-D tree
* Random Forest K-D tree
- Changed behavior of K-D tree constructor
* Empty leafs will be null instead of identical to the parent. Duplicate data caused problems when searching
for the N nearest-neighbors
- Refactored and tweaked documentation for ModelMatcher
- Added ModelMatcherMulti
* Can be given different types of models to fit the data to
* RansacMulti added and only implementation of it so far
- Added graph related data structure
- Created ModelManager for making new instances and copying a model
* removed similar functions from ModelGenerator and ModelFitter
- Added UtilOptimize.step() and changed behavior of UtilOptimize.process()
- Added forwards + backwards numerical differentiation
- Added remove(index)
* FastQueue and GrowQueue*
- Renamed some optimization functions for getting size of input and output. Less confusing now.
------------------------------------------------------
Version: 0.3
Date: 2013-04-10
- Added QuickSort_S32
------------------------------------------------------
Version: 0.2
Date: 2013-02-16
- Added Nearest-Neighbor Search
* Exhaustive
* K-D Trees
* K-D Random Forests
- FindRealRootsSturm
* Fixed bug where it incorrectly handled the case when the max iterations has been exceeded and no roots were found
* Better handling of contradictory number of real roots
------------------------------------------------------
Version: 0.1
Date: 2012-11-26
- Initial public release
- Code from other projects and cleaned up
|