Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
iterative solvers

Subject: iterative solvers

From: Marios Karaoulis

Date: 19 Mar, 2012 19:03:46

Message: 1 of 4

Hi all,
I have a large matrix A (1e5,1e5), square sparse and symmetric, and I
want to fine the solution of
A*X=b;

X=A\b is out of question since I am running out of memory.

None of the pcg, minres or fmres algorithms converge after 250
iterations. They even gave values for x that are negative (everything
should be positive).

The only think it is working for me is this file
http://www.mathworks.com/matlabcentral/fileexchange/22494-conjugate-gradient-method

but it is painful slow. Am I doing something wrong?

Subject: iterative solvers

From: Nasser M. Abbasi

Date: 19 Mar, 2012 19:27:07

Message: 2 of 4

On 3/19/2012 2:03 PM, Marios Karaoulis wrote:
> Hi all,
> I have a large matrix A (1e5,1e5), square sparse and symmetric, and I
> want to fine the solution of
> A*X=b;
>
> X=A\b is out of question since I am running out of memory.
>
> None of the pcg, minres or fmres algorithms converge after 250
> iterations. They even gave values for x that are negative (everything
> should be positive).
>
> The only think it is working for me is this file
> http://www.mathworks.com/matlabcentral/fileexchange/22494-conjugate-gradient-method
>
> but it is painful slow. Am I doing something wrong?
>

how big is A ? i.e. size of the system.

--Nasser

Subject: iterative solvers

From: Marios Karaoulis

Date: 19 Mar, 2012 19:30:23

Message: 3 of 4


> how big is A ? i.e. size of the system.
>
> --Nasser


A is [1e5 X 1e5]

Subject: iterative solvers

From: Nasser M. Abbasi

Date: 19 Mar, 2012 19:52:51

Message: 4 of 4

On 3/19/2012 2:30 PM, Marios Karaoulis wrote:
>
>> how big is A ? i.e. size of the system.
>>
>> --Nasser
>
>
> A is [1e5 X 1e5]

oh sorry, I missed that at the top of your post.

I think multigrid can be useful for your problem, it is
supposed to be one of the fastest iterative solver
(full multigrid is O(n) where n is size of the problem,
or number of unknowns).

http://en.wikipedia.org/wiki/Multigrid_method

You might be able to find a good matlab implementation
of multigrid. I do not know if Matlab has one build-in

--Nasser

Tags for this Thread

No tags are associated with this thread.

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us