[eigen] JacobiSVD::compute does malloc for non-square matrices |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: <eigen@xxxxxxxxxxxxxxxxxxx>
- Subject: [eigen] JacobiSVD::compute does malloc for non-square matrices
- From: <hamelin.philippe@xxxxxxx>
- Date: Wed, 18 May 2011 11:24:30 -0400
- Thread-index: AcwVb67Dkwr9TYSMSC6cd1YVl0BdWQ==
- Thread-topic: JacobiSVD::compute does malloc for non-square matrices
Hello,
I'm trying to use
the SVD in a real-time process, so I can't do any malloc. I found that my SVD
(JacobiSVD) was doing some malloc, even when the pre-allocation ctor is used.
The jacobi unit tests (jacobisvd_preallocate) does make this validation, but
only for a square 3x3 matrix. The same test fail when using non-square matrices.
Here is an example of a failing test:
bool
testSVDNoMalloc()
{
const int rows =
15;
const int cols = 15;
Eigen::MatrixXd A = Eigen::MatrixXd::Random(rows, cols);
Eigen::JacobiSVD<Eigen::MatrixXd> svd1(rows, cols);
Eigen::internal::set_is_malloc_allowed(false);
svd1.compute(A);
Eigen::internal::set_is_malloc_allowed(true);
return true;
}
Is this a bug or
maybe I misunderstood something?
Thank
you,
------------------------------------
Philippe
Hamelin, ing. jr, M. Ing
Chercheur / Researcher
T: 450-652-8499 x2198
F: 450-652-1316
Expertise robotique et
civil
Institut de recherche d'Hydro-Québec (IREQ)
1740, boul.
Lionel-Boulet
Varennes (QC) J3X 1S1, Canada