Kai Ni
d5c6f62387
massive check in for using spqr_front
2010-07-04 23:50:21 +00:00
Kai Ni
1547597ba4
add separate flags for lapack
2010-06-30 17:23:58 +00:00
Kai Ni
70adcb26c9
the lapack version of householder
2010-06-30 15:57:12 +00:00
Kai Ni
e6e93475cf
added sizeOfA
2010-05-26 08:05:31 +00:00
Richard Roberts
3b06e6401a
Fixed small typo when debug mode is on
2010-05-22 18:55:45 +00:00
Alex Cunningham
e8979dafad
Renabled BLAS using ATLAS for Linux, fixed a variety of annoying warnings
2010-05-21 17:59:26 +00:00
Alex Cunningham
bb654a73ac
solve_ldl() now works and is a real function
2010-04-22 23:53:36 +00:00
Alex Cunningham
25bd1c840f
Added Tim Davis' LDL library to use for solving quadratic programming problem. Currently, code compiles and executes some sample code in a test for Matrix. Also fixed some small issues with colamd.
2010-04-22 22:17:08 +00:00
Kai Ni
41c77ef421
remove column singletons in the factor graph
2010-04-03 03:36:10 +00:00
Kai Ni
94395249fb
add stack_matrices to prevent the name conflict with class std::stack
2010-04-02 00:04:11 +00:00
Kai Ni
b895760404
reenable veclib include path
2010-03-17 18:03:54 +00:00
Alex Cunningham
1f6990635c
removed gsl code, fixed flags for inclusion of blas
2010-03-17 13:23:01 +00:00
Kai Ni
d5262135f4
1. to link with mac veclib, the compiler needs -DYA_BLAS, I changed matrix.cpp to handle both YA_BLAS and the linux's CBLAS flag
...
2. so the current plan is that linux just enables USE_BLAS_LINUX in configure.ac, and macos enables USE_BLAS_MACOS. Those two should be independent given USE_BLAS passed by the user when calling configure.
2010-03-16 21:16:36 +00:00
Alex Cunningham
276c027ef3
Added mechanism to check for blas functionality.
2010-03-16 13:06:24 +00:00
Alex Cunningham
a1273a91fc
Integrated blas into gtsam using autotools
2010-03-15 18:17:43 +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
Richard Roberts
74f8102d29
Fixed warnings
2010-03-08 14:06:07 +00:00
Frank Dellaert
c62ebe3ea8
exponential map approximation
2010-03-02 02:24:38 +00:00
Kai Ni
d894e23a06
assert_equal for a list of matrices
2010-02-28 00:48:42 +00:00
Manohar Paluri
4604cbce05
svd now handles m < n cases. Added unit tests to verify this. But svd in place will throw an exception for such cases.
2010-02-27 18:23:34 +00:00
justinca
9941b28128
Fix matrix inverse square root so it, once again, returns an upper triangular matrix
2010-02-26 18:53:41 +00:00
Frank Dellaert
17bd59ec80
only call alpha calls if CBLAS version will be called.
2010-02-26 03:23:48 +00:00
Alex Cunningham
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
Frank Dellaert
71089a6354
vector_scale_inplace
2010-02-24 06:12:56 +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
5b6af9e4bd
1.0 versions of BLAS level 2
2010-02-20 23:44:07 +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
Manohar Paluri
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
Alex Cunningham
ea3b8083b0
Fixed more tests for NonlinearConstraints, inequality constraints now work.
2010-02-07 01:18:17 +00:00
Frank Dellaert
5554f6fc7e
Faster non-GSL versions of BLAS 2-style calls
2010-01-31 22:56:06 +00:00
Alex Cunningham
efe51c8419
Fixed typo in function name
2010-01-31 21:09:03 +00:00
Alex Cunningham
c266012dcd
Added GSL/ATLAS version of multiplyAdd() and transposeMultiplyAdd()
2010-01-31 18:25:03 +00:00
justinca
74dd7128ac
Fixup cholesky decomposition - rename to LLt and RtR to make convention clear
2010-01-31 18:07:29 +00:00
Alex Cunningham
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
Frank Dellaert
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
Frank Dellaert
4f998e5ecd
Matrix::transposeMultiplyAdd
2010-01-31 02:53:03 +00:00
justinca
16c55975c1
Fix inverse_square_root, add cholesky decomposition options
2010-01-22 22:28:03 +00:00
Kai Ni
4b778a4e82
fixed a bug in matrix solve function
2010-01-22 06:45:01 +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
Alex Cunningham
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
Alex Cunningham
5f588031bc
Merged NoiseQR back into trunk
2010-01-20 18:32:48 +00:00
Alex Cunningham
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
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
Alex Cunningham
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
Alex Cunningham
55e414cbdd
Tried noalias() for collect(), but no real improvement
2010-01-20 03:25:55 +00:00
Alex Cunningham
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
Alex Cunningham
820ae5682d
Optimized row version of vector_scale with approx 20% improvement
2010-01-20 02:04:25 +00:00
Alex Cunningham
b860f06614
Switched Matrix::collect() over to a memcpy, but the results weren't actually an improvement
2010-01-20 01:42:36 +00:00
Alex Cunningham
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