Eric the python equivalent of a MATSHELL is MATPYTHON, where you are in control of the implementation of the matrix vector product and other operations, see https://urldefense.us/v3/__https://petsc.org/release/petsc4py/petsc_python_types.html*petsc-python-matrix-type__;Iw!!G_uCfscf7eWS!cBWJhNKIAgapcwHEU8n-DdtvG1b4efLyBq4hz-hD3u12q055vU-37qhdbu7HsyS9_9yUlAmmIPPCBqfdlCsXdy-GASOOnmY$
This should cover your needs, let me know if you need methods that are not wrapped Il giorno mar 3 dic 2024 alle ore 09:15 Pierre Jolivet <pie...@joliv.et> ha scritto: > > > On 2 Dec 2024, at 11:15 PM, Eric Chamberland via petsc-users < > petsc-users@mcs.anl.gov> wrote: > > > > Hello, > > We were exploring the use of the MatCreateComposite function with petsc4py, > but we noticed that it doesn't seem to be available in the Python interface > (https://urldefense.us/v3/__https://petsc.org/release/petsc4py/reference/petsc4py.PETSc.Mat.html__;!!G_uCfscf7eWS!cBWJhNKIAgapcwHEU8n-DdtvG1b4efLyBq4hz-hD3u12q055vU-37qhdbu7HsyS9_9yUlAmmIPPCBqfdlCsXdy-GYsA6br0$ > > <https://urldefense.us/v3/__https://petsc.org/release/petsc4py/reference/petsc4py.PETSc.Mat.html__;!!G_uCfscf7eWS!fphemsDPNmxHUr-ybYLt_xWUrP575eKuI4xixwypEzd2g7uc6qMilt8etg13o24gU0vloOVrsHDXwqlgoY1T7jrcQUiv83PrXvNSYlNU$> > ). > > We were wondering if this is due to a technical limitation or if there is > a better alternative to achieve the same result. > > Our goal is to create a matrix representing PTAP without explicitly > computing the product. > > We also considered using MatShell, but it seems that this approach is not > supported in petsc4py either. > > What do you mean? > You can use either a MatShell or a MatPython in petsc4py out of the box. > > Thanks, > Pierre > > On the other hand, we noticed that MatCreateTranspose is implemented, and > it aligns somewhat with the kind of operation we're aiming for. > > Any insights or advice you could provide would be greatly appreciated! > > Thank you, > > Eric > > -- > Eric Chamberland, ing., M. Ing > Professionnel de recherche > GIREF/Université Laval > (418) 656-2131 poste 41 22 42 > > -- Stefano