# metrics¶

Additional metrics for evaluating a set of nodes

recursivenodes.metrics.mass_matrix_condition(d, n, nodes, domain='biunit')[source]

Compute the condition number of the mass matrix $$M_{ij} = \int_{\Delta^d} \varphi_i \varphi_j\ dx$$, where $$\{\varphi_i\}$$ is the set of shape functions associated with a set of nodes.

Parameters
• d (int) – The spatial dimension

• n (int) – The polynomial degree

• nodes (ndarray) – The set of polynomial nodes, with shape $$(\binom{n+d}{d}, d)$$ (unless domain=barycentric, then with shape $$(\binom{n+d}{d}, d+1))$$

• domain (str, optional) – The domain of the nodes. See “The domain optional argument”.

Returns

the condition number $$\kappa_2(M)$$.

Return type

float

recursivenodes.metrics.nodal_gradient_condition(d, n, nodes, domain='biunit')[source]

Compute the condition number of the nodal gradient matrix $$G_{(d i + k)j} = \nabla_k \varphi_j(x_i)$$, where $$\{\varphi_i\}$$ is the set of shape functions associated with a set of nodes.

Parameters
• d (int) – The spatial dimension

• n (int) – The polynomial degree

• nodes (ndarray) – The set of polynomial nodes, with shape $$(\binom{n+d}{d}, d)$$ (unless domain=barycentric, then with shape $$(\binom{n+d}{d}, d+1))$$

• domain (str, optional) – The domain of the nodes. See “The domain optional argument”. The condition number will be computed for the nodes mapped to the biunit simplex.

Returns

the condition number $$\kappa_2(G)$$ (with respect to the pseudoinverse).

Return type

float

recursivenodes.metrics.nodal_laplacian_condition(d, n, nodes, domain='biunit')[source]

Compute the condition number of the nodal strong-form Laplacian matrix $$L_{ij} = \Delta \varphi_j(x_i)$$, where $$\{\varphi_i\}$$ is the set of shape functions associated with a set of nodes.

Parameters
• d (int) – The spatial dimension

• n (int) – The polynomial degree

• nodes (ndarray) – The set of polynomial nodes, with shape $$(\binom{n+d}{d}, d)$$ (unless domain=barycentric, then with shape $$(\binom{n+d}{d}, d+1))$$

• domain (str, optional) – The domain of the nodes. See “The domain optional argument”. The condition number will be computed for the nodes mapped to the biunit simplex.

Returns

the condition number $$\kappa_2(L)$$ (with respect to the pseudoinverse).

Return type

float

recursivenodes.metrics.strong_laplacian_condition(d, n, nodes, domain='biunit')[source]

Compute the condition number of the strong-form Laplacian matrix $$L_{ij} = \int_{\Delta^d} \varphi_i \cdot \Delta \varphi_j\ dx$$, where $$\{\varphi_i\}$$ is the set of shape functions associated with a set of nodes.

Parameters
• d (int) – The spatial dimension

• n (int) – The polynomial degree

• nodes (ndarray) – The set of polynomial nodes, with shape $$(\binom{n+d}{d}, d)$$ (unless domain=barycentric, then with shape $$(\binom{n+d}{d}, d+1))$$

• domain (str, optional) – The domain of the nodes. See “The domain optional argument”. The condition number will be computed for the nodes mapped to the biunit simplex.

Returns

the condition number $$\kappa_2(L)$$ (with respect to the pseudoinverse).

Return type

float

recursivenodes.metrics.weak_laplacian_condition(d, n, nodes, domain='biunit')[source]

Compute the condition number of the weak-form Laplacian matrix $$K_{ij} = \int_{\Delta^d} \nabla \varphi_i \cdot \nabla \varphi_j\ dx$$, where $$\{\varphi_i\}$$ is the set of shape functions associated with a set of nodes.

Parameters
• d (int) – The spatial dimension

• n (int) – The polynomial degree

• nodes (ndarray) – The set of polynomial nodes, with shape $$(\binom{n+d}{d}, d)$$ (unless domain=barycentric, then with shape $$(\binom{n+d}{d}, d+1)$$)

• domain (str, optional) – The domain of the nodes. See “The domain optional argument”. The condition number will be computed for the nodes mapped to the biunit simplex.

Returns

the condition number $$\kappa_2(K)$$ (with respect to the pseudoinverse).

Return type

float