The matrix can be a shell matrix, only the matrix-vector product operation is 
required.

Jose


> El 30 ene 2023, a las 22:23, Guglielmo, Tyler Hardy via petsc-users 
> <petsc-users@mcs.anl.gov> escribió:
> 
> I have an implementation of the slepc MFN matrix exponential which is 
> implicitly using ExpoKit.  You have to supply a matrix into the Slepc MFN 
> operator to set the problem up as far as I know.
>  
> Tyler
>  
> From: Matthew Knepley <knep...@gmail.com>
> Date: Monday, January 30, 2023 at 12:24 PM
> To: Guglielmo, Tyler Hardy <gugliel...@llnl.gov>
> Cc: Barry Smith <bsm...@petsc.dev>, petsc-users@mcs.anl.gov 
> <petsc-users@mcs.anl.gov>
> Subject: Re: [petsc-users] Kronecker Product
> 
> On Mon, Jan 30, 2023 at 3:08 PM Guglielmo, Tyler Hardy via petsc-users 
> <petsc-users@mcs.anl.gov> wrote:
> I would need the Kronecker product to be explicitly available to perform 
> matrix exponentials.  A and B are of order 5000, so not too large.  I will 
> give storing them on all ranks a shot.  Thanks for the tips!
>  
> Were you going to do exponentials by explicit factorization? For large 
> matrices, I thought it was common to
> use matrix-free methods 
> (https://slepc.upv.es/documentation/current/docs/manualpages/MFN/index.html)
>  
>   Thanks,
>  
>     Matt
>  
>  
> Best,
> Tyler
>  
> From: Barry Smith <bsm...@petsc.dev>
> Date: Monday, January 30, 2023 at 12:01 PM
> To: Guglielmo, Tyler Hardy <gugliel...@llnl.gov>
> Cc: petsc-users@mcs.anl.gov <petsc-users@mcs.anl.gov>
> Subject: Re: [petsc-users] Kronecker Product
> 
>  
>   What is large? If A and B have dimensions of 1000, then the Kronecker 
> product is of size 1,000,000. Do you want the Kronecker product to be 
> explicitly formed or just available as matrix vector products?  If just 
> explicitly available then I think you can just store sparse A (for example) 
> completely on all ranks, 10,000 by 10,000 sparse matrix is small for 
> sequential) while B is distributed.
>  
> Barry
>  
>  
> 
> On Jan 30, 2023, at 2:48 PM, Guglielmo, Tyler Hardy <gugliel...@llnl.gov> 
> wrote:
>  
> Both matrices (A and B) would be approximately the same size and large.  The 
> use case (for me at least) is to create several large sparse matrices which 
> will be combined in various ways through Kronecker products.  The combination 
> happens at every time step in an evolution, so it really needs to be fast as 
> well.  I’m thinking mpi/petsc is probably not the most optimal way for 
> dealing with this, and might just have to work with single node 
> multi-threading.
>  
> Best,
> Tyler
>  
> From: Matthew Knepley <knep...@gmail.com>
> Date: Monday, January 30, 2023 at 11:31 AM
> To: Guglielmo, Tyler Hardy <gugliel...@llnl.gov>
> Cc: Barry Smith <bsm...@petsc.dev>, petsc-users@mcs.anl.gov 
> <petsc-users@mcs.anl.gov>
> Subject: Re: [petsc-users] Kronecker Product
> 
> On Mon, Jan 30, 2023 at 2:24 PM Guglielmo, Tyler Hardy via petsc-users 
> <petsc-users@mcs.anl.gov> wrote:
> Thanks Barry,
>  
> I saw that function, but wasn’t sure how to apply it since the documentation 
> says that S and T are dense matrices, but in my case all matrices involved 
> are sparse.  Is there a way to work around the dense requirement?
>  
> We don't have parallel sparse-sparse. It would not be too hard to write, but 
> it would be some work.
>  
> It is hard to understand the use case. Is one matrix much smaller? If not, 
> and you inherit the distribution from A, it seems
> like it might be very suboptimal, and otherwise you would have to 
> redistribute on the fly and it would get very complicated.
>  
>   Thanks,
>  
>      Matt
>  
> Best,
> Tyler
>  
> From: Barry Smith <bsm...@petsc.dev>
> Date: Monday, January 30, 2023 at 11:12 AM
> To: Guglielmo, Tyler Hardy <gugliel...@llnl.gov>
> Cc: petsc-users@mcs.anl.gov <petsc-users@mcs.anl.gov>
> Subject: Re: [petsc-users] Kronecker Product
> 
>  
>    Do you need the explicit sparse representation of the Kronecker product? 
> Or do you want to apply it as an operator or solve systems with it? If the 
> latter you can use 
> https://petsc.org/release/docs/manualpages/Mat/MatCreateKAIJ/#matcreatekaij
>  
>   Barry
>  
>  
> 
>  
> 
> On Jan 30, 2023, at 12:53 PM, Guglielmo, Tyler Hardy via petsc-users 
> <petsc-users@mcs.anl.gov> wrote:
>  
> Hi all,
>  
> I am wondering if there is any functionality for taking Kronecker products of 
> large sparse matrices that are parallel?  MatSeqAIJKron is as close as I have 
> found, but it seems like this does not work for parallel matrices.  Any ideas 
> here? 
>  
> An option could be to make A and B sequential, compute the Kronecker product, 
> C, then scatter C into a parallel matrix?  This seems like a horribly 
> inefficient procedure.  I’m still fairly new to petsc, so thanks for patience 
> :)!
>  
> Best,
> Tyler 
>  
> +++++++++++++++++++++++++++++
> Tyler Guglielmo
> Postdoctoral Researcher
> Lawrence Livermore National Lab
> Office: 925-423-6186
> Cell: 210-480-8000
> +++++++++++++++++++++++++++++
>  
> 
>  
> -- 
> What most experimenters take for granted before they begin their experiments 
> is infinitely more interesting than any results to which their experiments 
> lead.
> -- Norbert Wiener
>  
> https://www.cse.buffalo.edu/~knepley/
>  
> 
>  
> -- 
> What most experimenters take for granted before they begin their experiments 
> is infinitely more interesting than any results to which their experiments 
> lead.
> -- Norbert Wiener
>  
> https://www.cse.buffalo.edu/~knepley/

Reply via email to