P.S. the individual matrix S is usually rather small, say 3x3 or 6x6

On Tue, Apr 1, 2014 at 4:47 PM, Mathis Friesdorf
<[email protected]>wrote:

> Thanks Jed, this is great. I was trying to implement what was proposed in
> http://lists.mcs.anl.gov/pipermail/petsc-users/2011-September/009991.html,
> by you as I just realised. For this the matrices would be of varying size,
> so for three local systems, I would need:
>
> S \otimes Id \otimes Id ; Id \otimes S \otimes Id ; Id \otimes Id \otimes
> S.
>
> Realistic systems are of the order of at least 20 local systems, which
> would mean that I need the matrices of the above structure for all 20
> possible positions.
>
> Again, I really appreciate the help. Thanks, Mathis
>
>
> On Tue, Apr 1, 2014 at 4:39 PM, Jed Brown <[email protected]> wrote:
>
>> Mathis Friesdorf <[email protected]> writes:
>>
>> > Thanks Jed! The libaries you are pointing to look very interesting
>> indeed.
>> > For the particular implementation I have in mind, I was hoping to get
>> away
>> > with something easier, as my time to work on this is a bit limited. All
>> I
>> > really need is a way to construct a block-diagonal matrix where each
>> block
>> > is given by the same matrix and all blocks are on the diagonal. Am I
>> wrong
>> > to assume that this should be possible to implement with TAIJ?
>>
>> That is exactly TAIJ.  How large are the diagonal blocks?  The
>> implementation is intended to be fast only for small sizes, though I
>> could make it good for large sizes as well.  In the special case of
>>
>>   (I \otimes S) X
>>
>> where I is the sparse identity and S is the dense diagonal block, this
>> involves interpreting X as a matrix rather than a vector and using dgemm.
>>
>
>

Reply via email to