18 if (
x_o.NumRows() != n) {
19 std::string error =
"Error: Matrix-Vector dimensions are not compatible: " + \
20 boost::lexical_cast<std::string>(
x_o.NumRows()) + \
21 " rows vs " + boost::lexical_cast<std::string>(n) +
" nuclides.";
26 double alpha = MaxAbsDiag(
A);
37 x_t = GetSolutionVector(
B,
x_o, alpha, t,
tol);
43double UniformTaylor::MaxAbsDiag(
const Matrix&
A) {
45 double a_ii =
A(1, 1);
53 for (
int i = 2; i <= n; ++i) {
67 double alpha,
double t,
double tol) {
74 "Error: exp(-alpha * t) exceeds the range of a long double.";
75 error +=
"\nThe Uniform Taylor method cannot solve the matrix exponential.";
76 throw ValueError(error);
111int UniformTaylor::MaxNumTerms(
long double alpha_t,
double epsilon) {
124 "Error: exp(alpha * t) exceeds the range of a long double";
125 error +=
"\nThe Uniform Taylor method cannot solve the matrix exponential.";
126 throw ValueError(error);
For values that are too big, too small, etc.
taken directly from OsiSolverInterface.cpp on 2/17/14 from https://projects.coin-or....
T OptionalQuery(InfileTree *tree, std::string query, T default_val)
a query method for optional parameters
struct pyne::alpha alpha
a struct matching the '/decay/alphas' table in nuc_data.h5.