[petsc-users] Best way to compute the null space of a sparse maximum-rank rectangular matrix

Jose E. Roman jroman at dsic.upv.es
Sun Mar 9 16:41:42 CDT 2014


El 09/03/2014, a las 18:36, Luca Argenti escribió:

> On 08 Mar 2014, at 23:11, Jose E. Roman <jroman at dsic.upv.es> wrote:
> 
>> The nullspace of A^h A is equal to the right singular space of A corresponding to the zero singular value. It should be possible to compute this with SLEPc's SVD. Computing a large number of zeros may be problematic, so I cannot say in advance if the method will succeed. If you can generate a small matrix with these properties, send it to my personal address (not the list) and I will give it a try.
> 
> Dear Jose, thank you for the answer. I thought of using the SVD (my solution would correspond to Eq. 4.4).
> SLEPc guide, however, focuses on the case of a null space for A* which is much larger than its range, and 
> says that the null space is often not computed at all. Furthermore, of the AA^h and A^hA cases, it says it 
> takes the smallest one. In my case, that would be AA^h, and the right singular space of A would be gone at
> the outset. I am glad to hear that the calculation is possible. Most probably. however, I’ll need some hints on 
> how to achieve that. Finally, I really appreciate your offer of testing the algorithm; I will try to prepare a test case.
> 
> Cheers,
> 
>       Luca
> 

Yes, that is true. Maybe it is possible to add an option to workaround this. I will check. The 'cyclic' solver does not have this problem, but may be difficult to compute the null space in that setting.

An alternative is, if you are able to permute the columns in a way that A = [ B C ] with B square and non-singular, then the nullspace will be
[ B^{-1}*C ]
[   I_k    ]
The difficult part here is to do the permutation, but you said your A matrix is already in this form.

Jose



More information about the petsc-users mailing list