Simple and straightforward. Thanks a lot Barry.

________________________________
De : [email protected] <[email protected]>
Envoyé : vendredi 2 février 2024 18:34
À : TARDIEU Nicolas <[email protected]>
Cc : [email protected] <[email protected]>
Objet : Re: [petsc-users] Build a basis of the kernel of a matrix


   Call MatSetOption(mat,MAT_IGNORE_ZERO_ENTRIES,PETSC_TRUE)
   For each column call VecGetArray(), zero the "small entries", then call 
MatSetValues() for that single column.

   Barry


On Feb 2, 2024, at 12:28 PM, TARDIEU Nicolas via petsc-users 
<[email protected]> wrote:

Dear PETSc users,

I consider a sparse rectangular matrix B of size n x m, n<m, and I want to 
compute a basis of its kernel.
Conceptually, I compute the SVD decomposition u, s, v = svd(B) and obtain the 
basis from the columns of v^T associated with (near) zero singular values.

In terms of implementation, B is an MPIAIJ matrix and I can use SLEPc to 
retrieve each vector v_i associated with a given singular value.
Then I want to assemble a matrix from the set of v_i vectors. Depending on the 
sparsity of B, the v_i may also be very sparse, so I want to build a sparse 
matrix.

Is there an efficient way to do this in PETSc?

Regards,
Nicolas

Ce message et toutes les pièces jointes (ci-après le 'Message') sont établis à 
l'intention exclusive des destinataires et les informations qui y figurent sont 
strictement confidentielles. Toute utilisation de ce Message non conforme à sa 
destination, toute diffusion ou toute publication totale ou partielle, est 
interdite sauf autorisation expresse.
Si vous n'êtes pas le destinataire de ce Message, il vous est interdit de le 
copier, de le faire suivre, de le divulguer ou d'en utiliser tout ou partie. Si 
vous avez reçu ce Message par erreur, merci de le supprimer de votre système, 
ainsi que toutes ses copies, et de n'en garder aucune trace sur quelque support 
que ce soit. Nous vous remercions également d'en avertir immédiatement 
l'expéditeur par retour du message.
Il est impossible de garantir que les communications par messagerie 
électronique arrivent en temps utile, sont sécurisées ou dénuées de toute 
erreur ou virus.
____________________________________________________
This message and any attachments (the 'Message') are intended solely for the 
addressees. The information contained in this Message is confidential. Any use 
of information contained in this Message not in accord with its purpose, any 
dissemination or disclosure, either whole or partial, is prohibited except 
formal approval.
If you are not the addressee, you may not copy, forward, disclose or use any 
part of it. If you have received this message in error, please delete it and 
all copies from your system and notify the sender immediately by return message.
E-mail communication cannot be guaranteed to be timely secure, error or 
virus-free.




Ce message et toutes les pièces jointes (ci-après le 'Message') sont établis à 
l'intention exclusive des destinataires et les informations qui y figurent sont 
strictement confidentielles. Toute utilisation de ce Message non conforme à sa 
destination, toute diffusion ou toute publication totale ou partielle, est 
interdite sauf autorisation expresse.

Si vous n'êtes pas le destinataire de ce Message, il vous est interdit de le 
copier, de le faire suivre, de le divulguer ou d'en utiliser tout ou partie. Si 
vous avez reçu ce Message par erreur, merci de le supprimer de votre système, 
ainsi que toutes ses copies, et de n'en garder aucune trace sur quelque support 
que ce soit. Nous vous remercions également d'en avertir immédiatement 
l'expéditeur par retour du message.

Il est impossible de garantir que les communications par messagerie 
électronique arrivent en temps utile, sont sécurisées ou dénuées de toute 
erreur ou virus.
____________________________________________________

This message and any attachments (the 'Message') are intended solely for the 
addressees. The information contained in this Message is confidential. Any use 
of information contained in this Message not in accord with its purpose, any 
dissemination or disclosure, either whole or partial, is prohibited except 
formal approval.

If you are not the addressee, you may not copy, forward, disclose or use any 
part of it. If you have received this message in error, please delete it and 
all copies from your system and notify the sender immediately by return message.

E-mail communication cannot be guaranteed to be timely secure, error or 
virus-free.

Reply via email to