The LAPACK forum has moved to https://github.com/Reference-LAPACK/lapack/discussions.

About Schur complement

Open discussion regarding features, bugs, issues, vendors, etc.

About Schur complement

Postby libuxiao » Thu Aug 28, 2008 10:03 pm

Recently,I am trying to solve a problem in the form of D-C*INVERS(A)*B, and A,B,C,D are all full matrix.I used to solve it by constructing a matrix and then called mumps to return a schur complement of it.But the memory use is imblanced.So now I want to use SCALAPACK to solve it.I am new to it and want to know whether there is any routine that can return the Schur complement of a matrix as mumps do.Or will I have to try to solve this problem by computing the inverse of matrix A,then multiply C and B?Is there any better advice?
libuxiao
 
Posts: 7
Joined: Wed Aug 27, 2008 11:59 pm

Re: About Schur complement

Postby Julien Langou » Fri Aug 29, 2008 10:26 am

There is no Schur complement routine in ScaLAPACK but there is all the tools to write one. To perform
Code: Select all
D - C * inv(A) * B

with ScaLAPACK, you want to rewrite this as:
Code: Select all
D - C * ( A \ B )

where \ is the Matlab command that means 'solve AX = B'. (This is not done through X = inv(A) * B, this is done by a faster and more stable way.) \ is in ScaLAPACK, this is PxGESV. Then you just need to perform a matrix mulyiply, you can use PxGEMM.

Julien.
Julien Langou
 
Posts: 835
Joined: Thu Dec 09, 2004 12:32 pm
Location: Denver, CO, USA

Re: About Schur complement

Postby libuxiao » Mon Sep 01, 2008 3:46 am

Thank you for your reply.It helps me a lot,thank you.
libuxiao
 
Posts: 7
Joined: Wed Aug 27, 2008 11:59 pm


Return to User Discussion

Who is online

Users browsing this forum: No registered users and 7 guests