PlayaSimpleOps.cpp

00001 /* @HEADER@ */
00002 //   
00003 /* @HEADER@ */
00004 
00005 
00006 #include "PlayaDefs.hpp"
00007 
00008 #ifdef HAVE_TEUCHOS_EXPLICIT_INSTANTIATION
00009 
00010 #include "PlayaSimpleAddedOpImpl.hpp"
00011 #include "PlayaSimpleBlockOpImpl.hpp"
00012 #include "PlayaSimpleComposedOpImpl.hpp"
00013 #include "PlayaSimpleDiagonalOpImpl.hpp"
00014 #include "PlayaSimpleIdentityOpImpl.hpp"
00015 #include "PlayaSimpleScaledOpImpl.hpp"
00016 #include "PlayaSimpleTransposedOpImpl.hpp"
00017 #include "PlayaSimpleZeroOpImpl.hpp"
00018 
00019 namespace Playa
00020 {
00021 
00022 template class SimpleAddedOp<double>;
00023 template class SimpleBlockOp<double>;
00024 template class SimpleComposedOp<double>;
00025 template class SimpleDiagonalOp<double>;
00026 template class SimpleIdentityOp<double>;
00027 template class SimpleScaledOp<double>;
00028 template class SimpleTransposedOp<double>;
00029 template class SimpleZeroOp<double>;
00030 
00031 template 
00032 LinearOperator<double> operator*(const LinearOperator<double>& A,
00033   const LinearOperator<double>& B);
00034 
00035 template 
00036 LinearOperator<double> operator+(const LinearOperator<double>& A,
00037   const LinearOperator<double>& B);
00038 
00039 template 
00040 LinearOperator<double> operator*(const double& s,
00041   const LinearOperator<double>& A);
00042 
00043 template 
00044 LinearOperator<double> scaledOperator(const double& s,
00045   const LinearOperator<double>& A);
00046 
00047 template 
00048 LinearOperator<double> 
00049 composedOperator(const Array<LinearOperator<double> >& A);
00050 
00051 template 
00052 LinearOperator<double> transposedOperator(const LinearOperator<double>& A);
00053 
00054 template 
00055 LinearOperator<double> diagonalOperator(const Vector<double>& v);
00056 
00057 template
00058 LinearOperator<double> identityOperator(const VectorSpace<double>& space);
00059 
00060 template
00061 LinearOperator<double> zeroOperator(const VectorSpace<double>& domain,
00062   const VectorSpace<double>& range);
00063 
00064 template 
00065 LinearOperator<double> makeBlockOperator(
00066   const VectorSpace<double>& domain,
00067   const VectorSpace<double>& range
00068   );
00069 
00070 }
00071 
00072 
00073 #endif

doxygen