Welcome to the KDE Community Forums, the official forum board for KDE.
You are currently viewing the forums as an unregistered user. Registration allows you to post and discuss topics, receive private messages, vote on ideas, subscribe to topics and many such great features. Registration is a simple process and completely free. So register now and be a part of the community!

svd help



sfhaider

Registered Member

Posts: 3

Karma: 0

Gender:  Male

OS: Ubuntu Ubuntu

United States

svd help

Post Thu Nov 05, 2009 12:29 pm

I get the following error if i use a large matrix

#include </home/syed/eigen2/Eigen/Core>
#include </home/syed/eigen2/Eigen/Array>
#include </home/syed/eigen2/Eigen/LU>
using namespace Eigen;
int main () {

MatrixXf A = MatrixXf::Random(150000,4000);
VectorXf b = VectorXf::Random(150000);
VectorXf x;
A.lu().solve(b, &x);

}


terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Aborted (core dumped)

Beside, for a matrix of size 15000 x 4000, it kept running for more than 1 hr and i killed it
How long does it take to run SVD for larger matrices. Well, i am using a regular old PC P4 2.8 GhZ



FMD

Registered Member

Posts: 8

Karma: 0

Re: svd help

Post Thu Nov 05, 2009 5:46 pm

Ummh...

150000 x 4000 = 6x10^8 Doubles = 4.47 GByte.
This will take a while.... 8)

Moderator User avatar

bjacob

Moderator

Posts: 293

Karma: 0

France

Re: svd help

Post Thu Nov 05, 2009 6:49 pm

yep, for matrices of this size, the only way it can terminate in reasonable time is if that's sparse matrices, and we don't do sparse svd, so, you need to look for another library! Sorry.
Join us on Eigen's IRC channel: #eigen on irc.freenode.net
Have a serious interest in Eigen? Then join the mailing list!


Who is online

Users browsing this forum: No registered users and 4 guests