00001
00002
00003
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