Frank Dellaert
3247751b5d
Major check-in: there are now two interchangeable implementations of VectorConfig.
...
VectorMap uses a straightforward stl::map of Vectors. It has O(log n)
insert and access, and is fairly fast at both. However, it has high overhead
for arithmetic operations such as +, scale, axpy etc...
VectorBTree uses a functional BTree as a way to access SubVectors
in an ordinary Vector. Inserting is O(n) and much slower, but accessing,
is O(log n) and might be a bit slower than VectorMap. Arithmetic operations
are blindingly fast, however. The cost is it is not as KISS as VectorMap.
Access to vectors is now exclusively via operator[]
Vector access in VectorMap is via a Vector reference
Vector access in VectorBtree is via the SubVector type (see Vector.h)
Feb 16 2010: FD: I made VectorMap the default, because I decided to try
and speed up conjugate gradients by using Sparse FactorGraphs all the way.
2010-02-17 03:29:12 +00:00
Frank Dellaert
5d33eb185c
added SubVector type and some related routines
2010-02-15 23:53:16 +00:00
Alex Cunningham
9f16d7b07f
Added in-place sub insert function to Vector
2010-01-31 17:24:01 +00:00
Frank Dellaert
881d739371
BLAS level 1 style "scal" saves even more time in PCG
2010-01-30 04:01:49 +00:00
Frank Dellaert
4913326c22
BLAS level 1 style axpy calls in Vector and VectorConfig shave some seconds off PCG
2010-01-30 02:04:37 +00:00
Alex Cunningham
ac746ccead
Improved performance of updateAb in NoiseModel with GSL/ATLAS. Various other small optimizations were made.
2010-01-21 18:51:59 +00:00
Michael Kaess
8fd0c2ae72
new fluid relinearization algorithm, in sync with lyx
2010-01-21 07:38:37 +00:00
Frank Dellaert
ea14959835
NoiseModel inhertance structure reversed, all constructors protected, new static "factories"
2010-01-17 17:47:23 +00:00
Richard Roberts
f0ae2c064e
Merging in NoiseModel, not yet used though
2010-01-16 18:39:39 +00:00
Frank Dellaert
91a0fb23df
Weighted pseudo-inverse now takes weights (1/sigma^2). Does not make a lot of performance difference.
2010-01-16 06:25:11 +00:00
Kai Ni
f5a6a10feb
debug hard constraint and make pose2prior work
2010-01-16 05:08:29 +00:00
Frank Dellaert
fb3e38b161
25% performance increase by improving weighted_eliminate
2010-01-16 04:57:58 +00:00
Frank Dellaert
8088aea598
Added double as Lie type, needed to remove Lie.h include from Vector.h
2010-01-14 05:58:58 +00:00
Frank Dellaert
bf315781af
defined global functions in Lie.h rather than here
2010-01-10 12:35:41 +00:00
Richard Roberts
4fa53a1f79
Merging lieconfig branch - LieConfig works but currently requires Lie objects to have a global print function.
2010-01-10 06:35:16 +00:00
Frank Dellaert
f7d5b517a4
ediv_ is same as ediv except returns 0 for 0/0 division, needed for dealing with constraints
2009-12-31 10:29:25 +00:00
Frank Dellaert
674ae9d030
steepest descent now all implemented in iterative.h/cpp
2009-12-28 12:37:34 +00:00
Frank Dellaert
bf504d30db
new concatVectors call
2009-12-18 06:11:19 +00:00
Frank Dellaert
bca489384e
dot product
2009-12-11 21:37:40 +00:00
Kai Ni
5bde26a885
odprintf is an auxiliary function to printf for Win32 compatibility
2009-12-02 19:37:54 +00:00
Alex Cunningham
a3ce3f31c8
Cleanup with NonlinearConstraints to make the active() function do thresholding for inequality constraints, rather than constraint function itself.
...
testSQP now has all tests active and passing.
Added greaterThanOrEqual() for vector comparison.
2009-11-30 17:36:34 +00:00
Frank Dellaert
17aaae42d8
Refactoring of weightedPseudoInverse, emul, sum
2009-11-13 06:14:55 +00:00
Alex Cunningham
f51614813e
Improved weighted eliminate to handle arbitrary linear equality constraints
2009-11-11 14:42:09 +00:00
Alex Cunningham
ddc0173671
Basic handling of constraints now works in factor graphs, assuming there is only one constraint on any given variable.
2009-11-10 04:36:07 +00:00
Alex Cunningham
2c37c94b5d
Replaced the householder transform with the weighted system
...
Removed constrained components from makefile, they will disappear shortly
2009-11-09 21:34:20 +00:00
Richard Roberts
e2414561be
Merged r895:900 from branch weightedQR - LinearFactorGraph now has sigmas and ConditionalGaussian now has precisions
2009-11-04 20:59:16 +00:00
Frank Dellaert
921cb0a8fc
Got rid of (defunct) "dump" methods
2009-10-31 17:13:36 +00:00
Alex Cunningham
4c48bb08e1
Vector and Matrix updated with improved weighted householder operations and more tests.
2009-10-29 12:52:27 +00:00
Alex Cunningham
37bc303492
Added weighted Householder transforms that use precisions perform QDR factorization. Functions create a weighted vector pseudoinverse, and then use the pseudoinverse to substitute a solution into system.
2009-10-27 14:21:22 +00:00
Richard Roberts
d80fa24a9f
Fixing directory structure
2009-08-21 22:23:24 +00:00