59 template<
typename inVecValueType,
class ...inVecProperties>
60 KOKKOS_INLINE_FUNCTION
62 vectorNorm(
const Kokkos::DynRankView<inVecValueType,inVecProperties...> inVec,
63 const ENorm normType );
74 template<ordinal_type D,
class MatrixViewType>
75 KOKKOS_INLINE_FUNCTION
76 static typename MatrixViewType::value_type
77 det(
const MatrixViewType inMat );
88 template<
class MatrixViewType>
89 KOKKOS_INLINE_FUNCTION
90 static typename MatrixViewType::value_type
91 det(
const MatrixViewType inMat );
104 template<
typename inVec1ValueType,
class ...inVec1Properties,
105 typename inVec2ValueType,
class ...inVec2Properties>
106 KOKKOS_INLINE_FUNCTION
107 static inVec1ValueType
108 dot(
const Kokkos::DynRankView<inVec1ValueType,inVec1Properties...> inVec1,
109 const Kokkos::DynRankView<inVec2ValueType,inVec2Properties...> inVec2 );
119 template<
typename outputValueType,
class ...outputProperties,
120 typename inputValueType,
class ...inputProperties>
123 const Kokkos::DynRankView<inputValueType, inputProperties...> input );
135 template<
typename outputValueType,
class ...outputProperties,
136 typename inputValueType,
class ...inputProperties>
138 clone( Kokkos::DynRankView<outputValueType,outputProperties...> output,
139 const Kokkos::DynRankView<inputValueType,inputProperties...> input );
150 template<
typename absArrayValueType,
class ...absArrayProperties,
151 typename inArrayValueType,
class ...inArrayProperties>
153 absval( Kokkos::DynRankView<absArrayValueType,absArrayProperties...> absArray,
154 const Kokkos::DynRankView<inArrayValueType, inArrayProperties...> inArray );
161 template<
typename inoutArrayValueType,
class ...inoutArrayProperties>
163 absval( Kokkos::DynRankView<inoutArrayValueType,inoutArrayProperties...> inoutArray );
179 template<
typename normArrayValueType,
class ...normArrayProperties,
180 typename inVecValueType,
class ...inVecProperties>
182 vectorNorm( Kokkos::DynRankView<normArrayValueType,normArrayProperties...> normArray,
183 const Kokkos::DynRankView<inVecValueType, inVecProperties...> inVecs,
184 const ENorm normType );
200 template<
typename transposeMatValueType,
class ...transposeMatProperties,
201 typename inMatValueType,
class ...inMatProperties>
203 transpose( Kokkos::DynRankView<transposeMatValueType,transposeMatProperties...> transposeMats,
204 const Kokkos::DynRankView<inMatValueType, inMatProperties...> inMats );
206 template<ordinal_type D,
class MatrixViewType>
207 KOKKOS_INLINE_FUNCTION
208 static typename MatrixViewType::value_type
209 det(
const MatrixViewType inMat );
226 template<ordinal_type D,
class InverseMatrixViewType,
class MatrixViewType>
228 inverse( InverseMatrixViewType inverseMats, MatrixViewType inMats );
245 template<
class InverseMatrixViewType,
class MatrixViewType>
247 inverse( InverseMatrixViewType inverseMats, MatrixViewType inMats );
263 template<
class DeterminantArrayViewType,
class MatrixViewType>
265 det( DeterminantArrayViewType detArray,
const MatrixViewType inMats );
278 template<
typename sumArrayValueType,
class ...sumArrayProperties,
279 typename inArray1ValueType,
class ...inArray1Properties,
280 typename inArray2ValueType,
class ...inArray2Properties>
282 add( Kokkos::DynRankView<sumArrayValueType,sumArrayProperties...> sumArray,
283 const Kokkos::DynRankView<inArray1ValueType,inArray1Properties...> inArray1,
284 const Kokkos::DynRankView<inArray2ValueType,inArray2Properties...> inArray2 );
296 template<
typename inoutSumArrayValueType,
class ...inoutSumArrayProperties,
297 typename inArrayValueType,
class ...inArrayProperties>
299 add( Kokkos::DynRankView<inoutSumArrayValueType,inoutSumArrayProperties...> inoutSumArray,
300 const Kokkos::DynRankView<inArrayValueType, inArrayProperties...> inArray );
313 template<
typename diffArrayValueType,
class ...diffArrayProperties,
314 typename inArray1ValueType,
class ...inArray1Properties,
315 typename inArray2ValueType,
class ...inArray2Properties>
317 subtract( Kokkos::DynRankView<diffArrayValueType,diffArrayProperties...> diffArray,
318 const Kokkos::DynRankView<inArray1ValueType, inArray1Properties...> inArray1,
319 const Kokkos::DynRankView<inArray2ValueType, inArray2Properties...> inArray2 );
331 template<
typename inoutDiffArrayValueType,
class ...inoutDiffArrayProperties,
332 typename inArrayValueType,
class ...inArrayProperties>
334 subtract( Kokkos::DynRankView<inoutDiffArrayValueType,inoutDiffArrayProperties...> diffArray,
335 const Kokkos::DynRankView<inArrayValueType, inArrayProperties...> inArray );
348 template<
typename ValueType,
349 typename scaledArrayValueType,
class ...scaledArrayProperties,
350 typename inArrayValueType,
class ...inArrayProperties>
352 scale( Kokkos::DynRankView<scaledArrayValueType,scaledArrayProperties...> scaledArray,
353 const Kokkos::DynRankView<inArrayValueType, inArrayProperties...> inArray,
354 const ValueType alpha );
362 template<
typename ValueType,
363 typename inoutScaledArrayValueType,
class ...inoutScaledArrayProperties>
365 scale( Kokkos::DynRankView<inoutScaledArrayValueType,inoutScaledArrayProperties...> inoutScaledArray,
366 const ValueType alpha );
382 template<
typename dotArrayValueType,
class ...dotArrayProperties,
383 typename inVec1ValueType,
class ...inVec1Properties,
384 typename inVec2ValueType,
class ...inVec2Properties>
386 dot( Kokkos::DynRankView<dotArrayValueType,dotArrayProperties...> dotArray,
387 const Kokkos::DynRankView<inVec1ValueType, inVec1Properties...> inVecs1,
388 const Kokkos::DynRankView<inVec2ValueType, inVec2Properties...> inVecs2 );
408 template<
typename matVecValueType,
class ...matVecProperties,
409 typename inMatValueType,
class ...inMatProperties,
410 typename inVecValueType,
class ...inVecProperties>
412 matvec( Kokkos::DynRankView<matVecValueType,matVecProperties...> matVecs,
413 const Kokkos::DynRankView<inMatValueType, inMatProperties...> inMats,
414 const Kokkos::DynRankView<inVecValueType, inVecProperties...> inVecs );
421 template<
typename outMatValueType,
class ...outMatProperties,
422 typename inMatValueType,
class ...inMatProperties>
424 AtA( Kokkos::DynRankView<outMatValueType,outMatProperties...> outMats,
425 const Kokkos::DynRankView<inMatValueType, inMatProperties...> inMats);
440 template<
typename vecProdValueType,
class ...vecProdProperties,
441 typename inLeftValueType,
class ...inLeftProperties,
442 typename inRightValueType,
class ...inRightProperties>
444 vecprod( Kokkos::DynRankView<vecProdValueType,vecProdProperties...> vecProd,
445 const Kokkos::DynRankView<inLeftValueType, inLeftProperties...> inLeft,
446 const Kokkos::DynRankView<inRightValueType,inRightProperties...> inRight );