29 KOKKOS_INLINE_FUNCTION
const T *
30 find(
const T & target,
const T *
const begin,
const T *
const end)
40 auto mid = left + (right - left) / 2;
44 else if (*mid < target)
61 KOKKOS_INLINE_FUNCTION
void 62 choleskySolve(Real *
const A, Real *
const x, Real *
const b,
const unsigned int n)
64 for (
unsigned int i = 0; i < n; ++i)
66 for (
unsigned int j = 0; j <= i; ++j)
68 Real sum = A[j + n * i];
70 for (
unsigned int k = 0; k < j; ++k)
71 sum -= A[k + n * i] * A[k + n * j];
76 A[j + n * i] = sum / A[j + n * j];
80 for (
unsigned int i = 0; i < n; ++i)
84 for (
unsigned int j = 0; j < i; ++j)
85 sum -= A[j + n * i] * b[j];
87 b[i] = sum / A[i + n * i];
90 for (
int i = n - 1; i >= 0; --i)
94 for (
unsigned int j = i + 1; j < n; ++j)
95 sum -= A[i + n * j] * b[j];
97 x[i] = sum / A[i + n * i];
KOKKOS_INLINE_FUNCTION const T * find(const T &target, const T *const begin, const T *const end)
Find a value in an array.
KOKKOS_INLINE_FUNCTION void choleskySolve(Real *const A, Real *const x, Real *const b, const unsigned int n)
Perform an in-place linear solve using Cholesky decomposition Matrix and right-hand-side vector are m...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
CTSub CT_OPERATOR_BINARY CTMul CTCompareLess CTCompareGreater CTCompareEqual _arg template * sqrt(_arg)) *_arg.template D< dtag >()) CT_SIMPLE_UNARY_FUNCTION(tanh
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...