[Trilinos-Users] Creating linear operators by combining other linear operators
eotnes at gmail.com
Fri Jul 1 09:26:06 MDT 2011
Is this functionality available for the Tpetra operators as well? Can I construct a composite operator classes using Thyra and then bring this new operator back as a Tpetra operator?
On Jul 1, 2011, at 3:48 PM, Bartlett, Roscoe A wrote:
> With the magic of Thyra::EpetraOperatorWapper shown at:
> you can use all of the Thyra composite operator classes and still get back an Epetra_Operator in the end. There is no need to write any new software for this.
>> -----Original Message-----
>> From: trilinos-users-bounces at software.sandia.gov [mailto:trilinos-
>> users-bounces at software.sandia.gov] On Behalf Of Baker, Christopher G.
>> Sent: Friday, July 01, 2011 8:37 AM
>> To: Einar Otnes; trilinos-users at software.sandia.gov
>> Subject: Re: [Trilinos-Users] Creating linear operators by combining
>> other linear operators
>> Hi Einar,
>> There are a few different linear operator interfaces in Trilinos. Most
>> notably, there are Epetra and Thyra.
>> Supporting composite linear operators in Thyra is more straight-forward
>> than Epetra, because the linear operator interface is based on
>> y = alpha*Op*x + beta*y
>> whereas Epetra's linear operator interface is
>> y = Op*x
>> As such, Thyra has significant support for composite operators of many
>> different forms. I have used these in the past, and they are very
>> convenient. See, for example, the "Composite and other linear operator
>> base classes" under the THyra operator/vector extended interfaces at
>> following URL:
>> In particular, the one that you are looking for is here:
>> As for Epetra, I don't know of an implementation to support this. It
>> should be straightforward to write one, and to encapsulate it into an
>> Epetra_Operator implementation.
>> On 7/1/11 6:24 AM, "Einar Otnes" <eotnes at gmail.com> wrote:
>>> Dear experts,
>>> I have a question related to constructing linear operators in
>>> Are there any packages in trilinos that support constructing new
>>> operators from previously defined ones.
>>> In other words, say I want to do two operations
>>> y = A(x)
>>> z = B(y)
>>> Is there a way I can combine the two operators such that
>>> z=B(y) = B(A(x)) = (BA)(x) = C(x) , where C is now a new operator
>>> generated from B and A?
>>> Trilinos-Users mailing list
>>> Trilinos-Users at software.sandia.gov
>> Trilinos-Users mailing list
>> Trilinos-Users at software.sandia.gov
More information about the Trilinos-Users