12#ifndef __VEM_MCC_PerformanceAnalysis_HPP
13#define __VEM_MCC_PerformanceAnalysis_HPP
40 template <
typename VEM_Monomials_Type,
typename VEM_Monomials_Data_Type,
typename VEM_LocalSpace_Type,
typename VEM_LocalSpaceData_Type>
42 const VEM_Monomials_Data_Type &vem_monomials_data,
43 const VEM_LocalSpace_Type &vem_local_space,
44 const VEM_LocalSpaceData_Type &vem_local_space_data)
const
51 const Eigen::MatrixXd &Vmatrix = vem_local_space_data.Vmatrix;
52 const Eigen::MatrixXd &Hmatrix = vem_local_space_data.Hmatrix;
53 const Eigen::MatrixXd &Gmatrix = vem_local_space_data.Gmatrix;
54 const Eigen::MatrixXd &pi0k = vem_local_space_data.Pi0k;
61 const unsigned int Nk = vem_local_space_data.Nk;
62 const unsigned int dimension = vem_local_space_data.Dimension;
64 const Eigen::MatrixXd identity = Eigen::MatrixXd::Identity(dimension * Nk, dimension * Nk);
66 const Eigen::MatrixXd &polynomialBasisDofs = vem_local_space_data.Dmatrix;
67 result.
ErrorPi0k = (pi0k * polynomialBasisDofs - identity).norm() / identity.norm();
69 const Eigen::MatrixXd stabilizationMatrix =
71 result.
StabNorm = stabilizationMatrix.norm();
74 if (vem_local_space_data.Gmatrix.size() > 0 && vem_local_space_data.Bmatrix.size() > 0)
75 result.
ErrorGBD = (vem_local_space_data.Gmatrix - vem_local_space_data.Bmatrix * polynomialBasisDofs).norm() /
76 vem_local_space_data.Gmatrix.norm();
static void Unused(const T &)
Tells the compiler the parameter is unused.
Definition CommonUtilities.hpp:28
double cond(const Eigen::VectorXd &s)
Compute condition number in norm 2 given singular values.
Definition LAPACK_utilities.hpp:38
void svd(Eigen::MatrixXd A, Eigen::MatrixXd &V, Eigen::VectorXd &S)
Given A = U * S * V' returns only S and V'.
Definition LAPACK_utilities.cpp:166
Definition FEM_MCC_2D_LocalSpace.cpp:17