17bd59ec80 
								
							
								 
							
						 
						
							
							
								
								only call alpha calls if CBLAS version will be called.  
							
							
							
						 
						
							2010-02-26 03:23:48 +00:00  
				
					
						
							
							
								 
						
							
							
								9955ea20bd 
								
							
								 
							
						 
						
							
							
								
								Added pure cblas implementation of multiplyAdd functions.  This does not have autotools support yet, so to enable, goto cpp/Makefile.am, comment out the block concerning GSL/ATLAS, and uncomment the above section enabling just blas.  
							
							
							
						 
						
							2010-02-24 18:12:48 +00:00  
				
					
						
							
							
								 
						
							
							
								71089a6354 
								
							
								 
							
						 
						
							
							
								
								vector_scale_inplace  
							
							
							
						 
						
							2010-02-24 06:12:56 +00:00  
				
					
						
							
							
								 
						
							
							
								547427514f 
								
							
								 
							
						 
						
							
							
								
								add save functions for Matrix and Vector to save them to disk  
							
							
							
						 
						
							2010-02-24 00:12:10 +00:00  
				
					
						
							
							
								 
						
							
							
								5b6af9e4bd 
								
							
								 
							
						 
						
							
							
								
								1.0 versions of BLAS level 2  
							
							
							
						 
						
							2010-02-20 23:44:07 +00:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								5d33eb185c 
								
							
								 
							
						 
						
							
							
								
								added SubVector type and some related routines  
							
							
							
						 
						
							2010-02-15 23:53:16 +00:00  
				
					
						
							
							
								 
						
							
							
								693e13ef88 
								
							
								 
							
						 
						
							
							
								
								added default bool option to svd to sort the singular values and V. the default is true so pass false to avoid sorting  
							
							
							
						 
						
							2010-02-14 04:54:39 +00:00  
				
					
						
							
							
								 
						
							
							
								ea3b8083b0 
								
							
								 
							
						 
						
							
							
								
								Fixed more tests for NonlinearConstraints, inequality constraints now work.  
							
							
							
						 
						
							2010-02-07 01:18:17 +00:00  
				
					
						
							
							
								 
						
							
							
								5554f6fc7e 
								
							
								 
							
						 
						
							
							
								
								Faster non-GSL versions of BLAS 2-style calls  
							
							
							
						 
						
							2010-01-31 22:56:06 +00:00  
				
					
						
							
							
								 
						
							
							
								efe51c8419 
								
							
								 
							
						 
						
							
							
								
								Fixed typo in function name  
							
							
							
						 
						
							2010-01-31 21:09:03 +00:00  
				
					
						
							
							
								 
						
							
							
								c266012dcd 
								
							
								 
							
						 
						
							
							
								
								Added GSL/ATLAS version of multiplyAdd() and transposeMultiplyAdd()  
							
							
							
						 
						
							2010-01-31 18:25:03 +00:00  
				
					
						
							
							
								 
						
							
							
								74dd7128ac 
								
							
								 
							
						 
						
							
							
								
								Fixup cholesky decomposition - rename to LLt and RtR to make convention clear  
							
							
							
						 
						
							2010-01-31 18:07:29 +00:00  
				
					
						
							
							
								 
						
							
							
								48d2dabe43 
								
							
								 
							
						 
						
							
							
								
								Added in-place insertion functions to Matrix, as well as a #define flag to enable or disable GSL code without a reconfigure.  
							
							
							
						 
						
							2010-01-31 17:21:07 +00:00  
				
					
						
							
							
								 
						
							
							
								5e4b23df59 
								
							
								 
							
						 
						
							
							
								
								Matrix::multiplyAdd and transposeMultiplyAdd are "level 2" BLAS and speed up the numeric part of the code substantially. Alex might be able to speed them up even more by making them use real BLAS code within Matrix.cpp.  
							
							
							
						 
						
							2010-01-31 16:04:24 +00:00  
				
					
						
							
							
								 
						
							
							
								4f998e5ecd 
								
							
								 
							
						 
						
							
							
								
								Matrix::transposeMultiplyAdd  
							
							
							
						 
						
							2010-01-31 02:53:03 +00:00  
				
					
						
							
							
								 
						
							
							
								16c55975c1 
								
							
								 
							
						 
						
							
							
								
								Fix inverse_square_root, add cholesky decomposition options  
							
							
							
						 
						
							2010-01-22 22:28:03 +00:00  
				
					
						
							
							
								 
						
							
							
								4b778a4e82 
								
							
								 
							
						 
						
							
							
								
								fixed a bug in matrix solve function  
							
							
							
						 
						
							2010-01-22 06:45:01 +00:00  
				
					
						
							
							
								 
						
							
							
								ac746ccead 
								
							
								 
							
						 
						
							
							
								
								Improved performance of updateAb in NoiseModel with GSL/ATLAS.  Various other small optimizations were made.  
							
							
							
						 
						
							2010-01-21 18:51:59 +00:00  
				
					
						
							
							
								 
						
							
							
								063aa14118 
								
							
								 
							
						 
						
							
							
								
								Reimplemented matrix::householder_update using GSL and BLAS, you'll need to edit Makefile.am to enable the new version -- see email  
							
							
							
						 
						
							2010-01-21 00:59:33 +00:00  
				
					
						
							
							
								 
						
							
							
								5f588031bc 
								
							
								 
							
						 
						
							
							
								
								Merged NoiseQR back into trunk  
							
							
							
						 
						
							2010-01-20 18:32:48 +00:00  
				
					
						
							
							
								 
						
							
							
								9c9007920a 
								
							
								 
							
						 
						
							
							
								
								Changed the interface on Matrix::column() so that it uses the one in our library (now called column_() ) rather than the boost default.  Currently, our implementation just uses the boost default, but this may change due to timing results.  
							
							
							
						 
						
							2010-01-20 16:08:14 +00:00  
				
					
						
							
							
								 
						
							
							
								98b143cd22 
								
							
								 
							
						 
						
							
							
								
								Switched all loop indices in Matrix/Vector to size_t, with improved results in timeGaussianFactorGraph  
							
							
							
						 
						
							2010-01-20 14:42:05 +00:00  
				
					
						
							
							
								 
						
							
							
								6bc0462669 
								
							
								 
							
						 
						
							
							
								
								Checked Matrix::collect() with different timing metric, and memcpy has approx 25% speedup over original version.  Matrix_range is slower or the same speed as the original version.  
							
							
							
						 
						
							2010-01-20 13:45:22 +00:00  
				
					
						
							
							
								 
						
							
							
								55e414cbdd 
								
							
								 
							
						 
						
							
							
								
								Tried noalias() for collect(), but no real improvement  
							
							
							
						 
						
							2010-01-20 03:25:55 +00:00  
				
					
						
							
							
								 
						
							
							
								03ec3e3e62 
								
							
								 
							
						 
						
							
							
								
								Implemented a version of collect() using matrix_range, but it had worse performance than memcpy.  New version of vector_scale[column] with new pointer arithmetic implementation for approx 20% improvement.  
							
							
							
						 
						
							2010-01-20 02:28:25 +00:00  
				
					
						
							
							
								 
						
							
							
								820ae5682d 
								
							
								 
							
						 
						
							
							
								
								Optimized row version of vector_scale with approx 20% improvement  
							
							
							
						 
						
							2010-01-20 02:04:25 +00:00  
				
					
						
							
							
								 
						
							
							
								b860f06614 
								
							
								 
							
						 
						
							
							
								
								Switched Matrix::collect() over to a memcpy, but the results weren't actually an improvement  
							
							
							
						 
						
							2010-01-20 01:42:36 +00:00  
				
					
						
							
							
								 
						
							
							
								f577b27f52 
								
							
								 
							
						 
						
							
							
								
								Small optimizations on Matrix::collect(), additional timing capabilities, and now collect() can have dimensions specified to avoid need for lookup.  
							
							
							
						 
						
							2010-01-19 21:49:22 +00:00  
				
					
						
							
							
								 
						
							
							
								ea14959835 
								
							
								 
							
						 
						
							
							
								
								NoiseModel inhertance structure reversed, all constructors protected, new static "factories"  
							
							
							
						 
						
							2010-01-17 17:47:23 +00:00  
				
					
						
							
							
								 
						
							
							
								f0ae2c064e 
								
							
								 
							
						 
						
							
							
								
								Merging in NoiseModel, not yet used though  
							
							
							
						 
						
							2010-01-16 18:39:39 +00:00  
				
					
						
							
							
								 
						
							
							
								a4d61d2f23 
								
							
								 
							
						 
						
							
							
								
								Little performance twiddles that make little difference  
							
							
							
						 
						
							2010-01-16 07:22:34 +00:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								fb3e38b161 
								
							
								 
							
						 
						
							
							
								
								25% performance increase by improving weighted_eliminate  
							
							
							
						 
						
							2010-01-16 04:57:58 +00:00  
				
					
						
							
							
								 
						
							
							
								8d28763339 
								
							
								 
							
						 
						
							
							
								
								Vector and Matrix initialization optimization  
							
							
							
						 
						
							2010-01-12 16:12:31 +00:00  
				
					
						
							
							
								 
						
							
							
								f1f21a8589 
								
							
								 
							
						 
						
							
							
								
								inverted sign of square root to make inv sqrt positive for simple covariance matrices  
							
							
							
						 
						
							2010-01-10 13:53:31 +00:00  
				
					
						
							
							
								 
						
							
							
								15bb00683a 
								
							
								 
							
						 
						
							
							
								
								transpose backsubstitute on upper-triangular matrix  
							
							
							
						 
						
							2009-12-30 13:20:16 +00:00  
				
					
						
							
							
								 
						
							
							
								c43cd425ab 
								
							
								 
							
						 
						
							
							
								
								new back-substitution functions that can do unit triangular solves  
							
							
							
						 
						
							2009-12-29 13:59:34 +00:00  
				
					
						
							
							
								 
						
							
							
								a7a5e5e816 
								
							
								 
							
						 
						
							
							
								
								small performance improvement by using a pointer to address r  
							
							
							
						 
						
							2009-12-14 16:56:50 +00:00  
				
					
						
							
							
								 
						
							
							
								be10fc2a90 
								
							
								 
							
						 
						
							
							
								
								18% performance boost by using pointer to address destination matrix A  
							
							
							
						 
						
							2009-12-11 23:59:37 +00:00  
				
					
						
							
							
								 
						
							
							
								d7c67532bf 
								
							
								 
							
						 
						
							
							
								
								Changed format of Matrix::vector_scale() to switch arguments  
							
							
							
						 
						
							2009-12-08 21:10:38 +00:00  
				
					
						
							
							
								 
						
							
							
								16da0895a8 
								
							
								 
							
						 
						
							
							
								
								square_root_inverse  
							
							
							
						 
						
							2009-12-08 20:48:13 +00:00  
				
					
						
							
							
								 
						
							
							
								152fa0069a 
								
							
								 
							
						 
						
							
							
								
								fixed expected, actual nomenclature in assert_equal: always use (expected, equal) order  
							
							
							
						 
						
							2009-12-08 13:53:33 +00:00  
				
					
						
							
							
								 
						
							
							
								ae9789c9ee 
								
							
								 
							
						 
						
							
							
								
								Cleaner printing with tabs after each element  
							
							
							
						 
						
							2009-12-02 23:01:49 +00:00  
				
					
						
							
							
								 
						
							
							
								f5fc14c0f4 
								
							
								 
							
						 
						
							
							
								
								Fixed bug in revealing rank, even simpler than before.  
							
							
							
						 
						
							2009-11-13 06:16:56 +00:00  
				
					
						
							
							
								 
						
							
							
								77a1754b69 
								
							
								 
							
						 
						
							
							
								
								Renamed LinearFactor -> GaussianFactor, LinearFactorGraph -> GaussianFactorGraph  
							
							
							
						 
						
							2009-11-12 16:16:32 +00:00  
				
					
						
							
							
								 
						
							
							
								f51614813e 
								
							
								 
							
						 
						
							
							
								
								Improved weighted eliminate to handle arbitrary linear equality constraints  
							
							
							
						 
						
							2009-11-11 14:42:09 +00:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								03985d16f6 
								
							
								 
							
						 
						
							
							
								
								Fixed equality checking with NaNs in Matrix  
							
							... 
							
							
							
							removed extraneous print statement in Vector 
							
						 
						
							2009-11-09 16:57:30 +00:00