Commit Graph

39 Commits (d5c6f62387c14ba37889746ee6db07d05017f763)

Author SHA1 Message Date
Kai Ni d5c6f62387 massive check in for using spqr_front 2010-07-04 23:50:21 +00:00
Kai Ni e6e93475cf added sizeOfA 2010-05-26 08:05:31 +00:00
Frank Dellaert 67fb7fa9ff in-place house vector (was about 10% of all mallocs in Urban) 2010-03-11 15:04:31 +00:00
Kai Ni 547427514f add save functions for Matrix and Vector to save them to disk 2010-02-24 00:12:10 +00:00
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
Alex Cunningham 98b143cd22 Switched all loop indices in Matrix/Vector to size_t, with improved results in timeGaussianFactorGraph 2010-01-20 14:42:05 +00:00
Frank Dellaert 6f2b5a904a save on fabs 2010-01-19 19:04:37 +00:00
Frank Dellaert 6dcc275432 small comment/print 2010-01-19 04:39:54 +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
Richard Roberts 8d28763339 Vector and Matrix initialization optimization 2010-01-12 16:12:31 +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 bf504d30db new concatVectors call 2009-12-18 06:11:19 +00:00
Frank Dellaert 56a4172480 Fixed printing in matlab 2009-12-12 04:12:24 +00:00
Frank Dellaert e46cfbd7c4 fixed bug in sum 2009-12-11 21:37:52 +00:00
Frank Dellaert 152fa0069a fixed expected, actual nomenclature in assert_equal: always use (expected, equal) order 2009-12-08 13:53:33 +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
Eohan George ab65dfb4dd Adding include file stdio.h to resolve compiling issue when upgrading to Ubuntu 9.10. The printf() compiles on ubuntu 9.04 and mac machines. 2009-11-11 17:15:17 +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
Alex Cunningham 1ae81b59d8 Fixed vector comparisons that will erroneously return true when there are NaN values. 2009-11-09 16:47:37 +00:00
Manohar Paluri 0ef7fe4a01 changed case of foreach ( it was capitals before and will not compile on linux ) 2009-11-04 22:19:16 +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 65b949c008 Fixed flaw in pseudoinverse calculation, and updated tests for Matrix and Vector 2009-10-29 20:12:07 +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