Alex Cunningham
badc7b6ee6
Added keys() function to LieConfig to return an ordered list of keys
2010-03-04 13:21:48 +00:00
Frank Dellaert
b9045528ee
no more normalize. in compose?
...
Also moved constructors around, one inline in h, others to cpp
2010-03-03 05:35:00 +00:00
Frank Dellaert
c9fcf95501
fixed some issues in SE(2) "branch"
2010-03-03 05:34:08 +00:00
Frank Dellaert
707627fb3a
Rot2 "named constructors" ( http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.8 ):
...
/** Named constructor from angle == exponential map at identity */
static Rot2 fromAngle(double theta) { return Rot2(cos(theta),sin(theta));}
/** Named constructor from cos(theta),sin(theta) pair, will *not* normalize! */
static Rot2 fromCosSin(double c, double s);
/** Named constructor that behaves as atan2, i.e., y,x order (!) and normalizes */
static Rot2 atan2(double y, double x);
which are a bit more verbose, but at least won't cause hours of bug-tracking :-(
I also made most compose, inverse, and rotate functions into methods, with the global functions mostly calling the methods. Methods have privileged access to members and hence are typically much more readable.
2010-03-03 03:31:53 +00:00
Frank Dellaert
85fe43949d
arithmetic tests
2010-03-03 02:50:49 +00:00
Frank Dellaert
eec6017b12
scalar multiplication
2010-03-03 02:49:06 +00:00
Kai Ni
23986349de
added measured function
2010-03-02 21:43:39 +00:00
Frank Dellaert
190e87afb9
Correct exmap is indeed correct, but derivatives *still* do not check out. I'm starting to suspect numericalDerivative.
2010-03-02 17:56:26 +00:00
Frank Dellaert
32beb8c712
more refactoring, use different Rot3 constructor so no confusion
2010-03-02 06:16:11 +00:00
Kai Ni
680a6a28c1
added begin and end iterators
2010-03-02 06:07:46 +00:00
Frank Dellaert
33c6c51658
refactored and thoroughly checked rodrgues, added two more unit test
2010-03-02 05:45:19 +00:00
Frank Dellaert
f956bae6a4
combined version only
2010-03-02 02:27:09 +00:00
Frank Dellaert
1093317fdc
wedge
2010-03-02 02:25:27 +00:00
Frank Dellaert
c62ebe3ea8
exponential map approximation
2010-03-02 02:24:38 +00:00
Alex Cunningham
20ac6b85c8
Added static dim() functions to remaining geometry types so that dimensions can be calculated on size alone.
2010-03-01 21:56:13 +00:00
Manohar Paluri
e670e00e3b
added const Tensor3expression
2010-03-01 18:08:18 +00:00
Manohar Paluri
8bf8e4dc1f
added operator() to change values
2010-03-01 18:07:18 +00:00
Manohar Paluri
6073bdb679
made the function const
2010-03-01 18:05:24 +00:00
Alex Cunningham
a46dc4cea0
Added threshold for lambda in NonlinearOptimizer so that if lambda has gotten unreasonably large, optimization will throw a runtime exception to prevent infinite loops where lambda goes to infinity.
2010-03-01 16:31:05 +00:00
Frank Dellaert
d9c185498e
combined a few arithmetic tests
2010-03-01 01:38:26 +00:00
Frank Dellaert
4cb59438f7
documentation
2010-03-01 01:37:50 +00:00
Frank Dellaert
619190a818
new-style combined unrotate
2010-03-01 01:36:27 +00:00
Frank Dellaert
20ad08e48f
new Pose3 derivatives still don't work :-(
2010-03-01 01:35:33 +00:00
Frank Dellaert
b943644ddd
re-factored so corresponds to math.lyx
2010-03-01 01:33:45 +00:00
Frank Dellaert
6e03783465
negation
2010-03-01 01:30:15 +00:00
Frank Dellaert
28f4493a2b
Now uses Adjoint map for derivatives of inverse/compose/between, see doc/math.pdf
2010-02-28 09:10:39 +00:00
Frank Dellaert
98aa08bcd0
Re-use memory
2010-02-28 09:09:37 +00:00
Frank Dellaert
85784400c6
prototype object map
2010-02-28 09:09:12 +00:00
Frank Dellaert
dcfe52dae7
some renaming of variables
2010-02-28 09:08:47 +00:00
Kai Ni
b58f7b8ea7
the derivative for transform_from
2010-02-28 08:51:43 +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
Frank Dellaert
5e00c58ea7
Baker–Campbell–Hausdorff formula: in non-commutative Lie groups, when composing exp(Z) = exp(X)exp(Y) it is not true that Z = X+Y. Instead, Z can be calculated using the BCH formula:
...
Z = X + Y + [X,Y]/2 + [X-Y,[X,Y]]/12 - [Y,[X,[X,Y]]]/24 + ...
See http://en.wikipedia.org/wiki/Baker–Campbell–Hausdorff_formula
2010-02-27 14:58:54 +00:00
Kai Ni
67b4834bdb
someone forgot to return it
2010-02-27 00:04:51 +00:00
Viorela Ila
b6599ebdce
readst the tree files
2010-02-26 22:23:00 +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
Manohar Paluri
940202226b
added #pragma
2010-02-26 14:45:17 +00:00
Frank Dellaert
d21ff82d21
Kruskal skeleton
2010-02-26 13:31:38 +00:00
Kai Ni
87c8465315
the beautiful Jacobian of compose in pose2
2010-02-26 10:55:41 +00:00
Frank Dellaert
c40760485d
I think we might have a problem: is expmap<Pose2> correct? Uncomment the new test in testPose2. It does not match what is said in http://www.cis.upenn.edu/~cis610/cis610lie1.ps .
2010-02-26 06:00:58 +00:00
Frank Dellaert
0004d90feb
formatting only
2010-02-26 05:30:02 +00:00
Frank Dellaert
38ed1a5cdd
more compulsive checking, more efficient removing
2010-02-26 05:29:45 +00:00
Kai Ni
73848d9e0e
added comments to make people realize it is for the matlab wrapper not actually c++ implementation
2010-02-26 05:05:05 +00:00
Kai Ni
7e8aa6e6b9
add unit test for the constructor
2010-02-26 05:04:03 +00:00
Frank Dellaert
5e97d07f5e
*it is already the right type
2010-02-26 04:03:56 +00:00
Frank Dellaert
0a33b50554
use Matrix.resize
2010-02-26 04:03:31 +00:00
Frank Dellaert
17bd59ec80
only call alpha calls if CBLAS version will be called.
2010-02-26 03:23:48 +00:00
Frank Dellaert
044ea1348d
Modernized/refactored, esp. with regards to map insert and iterating.
2010-02-26 03:20:15 +00:00
Alex Cunningham
9d704bb977
Added flag to default Factorization for old or new elimination, defaulting to old code.
2010-02-25 21:07:35 +00:00
Alex Cunningham
5b60511505
Reverted default elimination code to older implementation - use switch in optimize() or eliminate() to use newer code.
2010-02-25 20:43:59 +00:00