53 template<
typename dtype>
66 Shape newShape(inShape);
71 for (
uint32 row = 0; row < order; ++row)
73 for (
uint32 col = 0; col < order; ++col)
75 tempArray(row, col) =
static_cast<double>(inArray(row, col));
79 for (
uint32 row = 0; row < order; ++row)
81 for (
uint32 col = order; col < 2 * order; ++col)
83 if (row == col - order)
85 tempArray(row, col) = 1.0;
89 tempArray(row, col) = 0.0;
94 for (
uint32 row = 0; row < order; ++row)
96 double t = tempArray(row, row);
97 for (
uint32 col = row; col < 2 * order; ++col)
99 tempArray(row, col) /= t;
102 for (
uint32 col = 0; col < order; ++col)
106 t = tempArray(col, row);
107 for (
uint32 k = 0; k < 2 * order; ++k)
109 tempArray(col, k) -= t * tempArray(row, k);
116 for (
uint32 row = 0; row < order; row++)
119 for (
uint32 col = order; col < 2 * order; ++col)
121 returnArray(row, colCounter++) = tempArray(row, col);