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.

Reply via email to