Boost 当校准被禁用时,Eigen3增压MPFR SEGFULT

Boost 当校准被禁用时,Eigen3增压MPFR SEGFULT,boost,c++14,eigen3,mpfr,Boost,C++14,Eigen3,Mpfr,当我尝试使用Boost.Multiprecision来包装MPFR和禁用Eigen的对齐假设时,我遇到了一个奇怪的segfault问题 示例测试代码: #include <boost/multiprecision/mpfr.hpp> #include <Eigen/Dense> #include <iostream> int main(int argc, char** argv) { typedef boost::multiprecision::numb

当我尝试使用Boost.Multiprecision来包装MPFR和禁用Eigen的对齐假设时,我遇到了一个奇怪的segfault问题

示例测试代码:

#include <boost/multiprecision/mpfr.hpp>
#include <Eigen/Dense>
#include <iostream>

int main(int argc, char** argv)
{
  typedef boost::multiprecision::number<
    boost::multiprecision::mpfr_float_backend<71,
      boost::multiprecision::allocate_stack>,
    boost::multiprecision::et_off>
    real256;

  Eigen::Matrix<real256, 9, 9> mat;
  // set mat to identity matrix
  for (size_t i = 0; i < 9; ++i)
  {
    for (size_t j = 0; j < 9; ++j)
    {
      mat(i, j) = 0;
    }
  }
  for (size_t i = 0; i < 9; ++i)
  {
    mat(i, i) = 1;
  }
  std::cout << mat << std::endl;
  Eigen::Matrix<real256, 9, 9> mat2 = mat2.inverse();
  std::cout << mat2 << std::endl;
}
但是,当我尝试禁用eigen的对齐假设时,它会在反向计算过程中出错

g++ mat_test.cpp -L/usr/lib/x86_64-linux-gnu -lmpfr -I/usr/include/eigen3 -DEIGEN_MAX_ALIGN_BYTES=0 -o mat_test
请注意,如果我将矩阵更改为保持双精度或浮点值,则不会发生此SEGFULT。我注意到boostmultiprecision的MPFR包装中曾经有一个bug,其中自我分配会导致奇怪的问题,但是我相信我正在使用一个足够新的Boost版本,这应该得到修复(1.65.1)

我在定义Boost MPFR类型时使用的特定选项是否有一些特定的东西与Eigen产生了负面影响

我尝试使用gdb来跟踪问题发生的位置,但我无法真正理解实际问题是什么

以下是我从gdb获得的堆栈跟踪:

#0  __memmove_avx_unaligned_erms ()
    at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:227
#1  0x00007ffff79600b5 in mpfr_set4 ()
    from /usr/lib/x86_64-linux-gnu/libmpfr.so.6
#2  0x000055555555cdda in boost::multiprecision::backends::detail::mpfr_float_imp<71u, (boost::multiprecision::mpfr_allocation_type)0>::operator= (this=0x7fffffff6d20, o=...)
    at /usr/include/boost/multiprecision/mpfr.hpp:414
#3  0x000055555555c651 in boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>::operator= (this=0x7fffffff6d20, o=...)
    at /usr/include/boost/multiprecision/mpfr.hpp:709
#4  0x000055555555c0c1 in boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>::operator= (this=0x7fffffff6d20, e=...)
    at /usr/include/boost/multiprecision/number.hpp:159                                                                                          
#5  0x00005555555649d1 in Eigen::internal::gemm_pack_rhs<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, long, Eigen::internal::blas_data_mapper<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, long, 0, 0>, 4, 0, false, true>::operator() (this=0x7fffffff542f, blockB=0x7fffffff6d20, rhs=..., depth=4, cols=9, stride=9, offset=0)
    at /usr/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1988
#6  0x0000555555562d19 in Eigen::internal::triangular_solve_matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, long, 1, 5, false, 0, 0>::run (size=9, otherSize=9, _tri=0x7fffffff99e0, triStride=9, _other=0x7fffffffc480, otherStride=9, blocking=...)  
    at /usr/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h:153
#7  0x000055555556f934 in Eigen::internal::triangular_solver_selector<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> const, Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>, 1, 5, 0, -1>::run (lhs=..., rhs=...)                                          
    at /usr/include/eigen3/Eigen/src/Core/SolveTriangular.h:102
#8  0x000055555556ece1 in Eigen::TriangularViewImpl<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> const, 5u, Eigen::Dense>::solveInPlace<1, Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > (this=0x7fffffff8220, _other=...)                           
    at /usr/include/eigen3/Eigen/src/Core/SolveTriangular.h:179
#9  0x000055555556d757 in Eigen::TriangularViewImpl<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> const, 5u, Eigen::Dense>::solveInPlace<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > (this=0x7fffffff8220, other=...)                               
    at /usr/include/eigen3/Eigen/src/Core/TriangularMatrix.h:511
#10 0x000055555556b541 in Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >::_solve_impl<Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> >, Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >, Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > (this=0x7fffffff99e0, rhs=..., dst=...)
    at /usr/include/eigen3/Eigen/src/LU/PartialPivLU.h:240
#11 0x0000555555569f3d in Eigen::internal::Assignment<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>, Eigen::Solve<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> >, Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > >, Eigen::internal::assign_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> >, Eigen::internal::Dense2Dense, void>::run (dst=..., src=...)
    at /usr/include/eigen3/Eigen/src/Core/Solve.h:147
#12 0x0000555555567ca4 in Eigen::internal::call_assignment_no_alias<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>, Eigen::Solve<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> >, Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > >, Eigen::internal::assign_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> > > (dst=..., src=..., func=...)
    at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:836                                                                      
#13 0x0000555555563690 in Eigen::internal::call_assignment<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>, Eigen::Solve<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> >, Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > >, Eigen::internal::assign_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> > >(Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>&, Eigen::Solve<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> >, Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > > const&, Eigen::internal::assign_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> > const&, Eigen::internal::enable_if<!Eigen::internal::evaluator_assume_aliasing<Eigen::Solve<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> >, Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > >, Eigen::internal::evaluator_traits<Eigen::Solve<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> >, Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > > >::Shape>::value, void*>::type) (dst=..., src=..., func=...)
    at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:804                                                                                     
#14 0x0000555555561742 in Eigen::internal::call_assignment<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>, Eigen::Solve<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> >, Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > > > (dst=..., src=...)
    at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:782                                                                                                      
#15 0x0000555555560637 in Eigen::PlainObjectBase<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >::_set<Eigen::Solve<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> >, Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > > > (this=0x7fffffffc480, other=...)
    at /usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:710                                                                                           
#16 0x000055555555ef35 in Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>::operator=<Eigen::Solve<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> >, Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > > > (this=0x7fffffffc480, other=...)
    at /usr/include/eigen3/Eigen/src/Core/Matrix.h:225
#17 0x000055555555db42 in Eigen::internal::Assignment<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>, Eigen::Inverse<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > >, Eigen::internal::assign_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> >, Eigen::internal::Dense2Dense, void>::run (dst=..., src=...)
    at /usr/include/eigen3/Eigen/src/LU/PartialPivLU.h:574
#18 0x000055555555cda8 in Eigen::internal::call_assignment_no_alias<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>, Eigen::Inverse<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > >, Eigen::internal::assign_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> > > (dst=..., src=..., func=...)     
    at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:836
#19 0x000055555555c62a in Eigen::internal::call_assignment<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>, Eigen::Inverse<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > >, Eigen::internal::assign_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> > >(Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>&, Eigen::Inverse<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > > const&, Eigen::internal::assign_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> > const&, Eigen::internal::enable_if<!Eigen::internal::evaluator_assume_aliasing<Eigen::Inverse<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > >, Eigen::internal::evaluator_traits<Eigen::Inverse<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > > >::Shape>::value, void*>::type) (dst=..., src=..., func=...)                                           
    at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:804
#20 0x000055555555c086 in Eigen::internal::call_assignment<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>, Eigen::Inverse<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > > > (dst=..., src=...)                                     
    at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:782
#21 0x000055555555bb35 in Eigen::PlainObjectBase<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >::_set<Eigen::Inverse<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > > > (this=0x7fffffffc480, other=...)                          
    at /usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:710
#22 0x000055555555b54d in Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>::operator=<Eigen::Inverse<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > > > (this=0x7fffffffc480, other=...)                                              
    at /usr/include/eigen3/Eigen/src/Core/Matrix.h:225
#23 0x000055555555b055 in Eigen::internal::compute_inverse<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>, Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>, 9>::run (matrix=..., result=...)
    at /usr/include/eigen3/Eigen/src/LU/InverseImpl.h:28          
#24 0x000055555555ac92 in Eigen::internal::Assignment<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>, Eigen::Inverse<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >, Eigen::internal::assign_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> >, Eigen::internal::Dense2Dense, void>::run (dst=..., src=...)           
    at /usr/include/eigen3/Eigen/src/LU/InverseImpl.h:310
#25 0x0000555555559d99 in Eigen::internal::call_assignment_no_alias<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>, Eigen::Inverse<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >, Eigen::internal::assign_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> > > (dst=..., src=..., func=...)                           
    at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:836
#26 0x00005555555599ba in Eigen::PlainObjectBase<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >::_set_noalias<Eigen::Inverse<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > > (this=0x7fffffffc480, other=...)                                        
    at /usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:728
#27 0x00005555555593ac in Eigen::PlainObjectBase<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >::PlainObjectBase<Eigen::Inverse<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > > (this=0x7fffffffc480, other=...)                                     
    at /usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:537
#28 0x0000555555558a4a in Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>::Matrix<Eigen::Inverse<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > > (this=0x7fffffffc480, other=...)
    at /usr/include/eigen3/Eigen/src/Core/Matrix.h:379
#29 0x0000555555556f16 in main (argc=1, argv=0x7fffffffd9c8)
    at mat_test.cpp:27
#0(内存移动)avx(未对齐)
位于../sysdeps/x86_64/multiarch/memmove vec未对齐的erms.S:227
#mpfr_设置中的1 0x00007FF79600B5()
来自/usr/lib/x86_64-linux-gnu/libmpfr.so.6
#boost::multiprecision::backends::detail::mpfr\u float\u imp::operator=(这个=0x7fffffff6d20,o=…)中的2 0x0000555cdda
at/usr/include/boost/multiprecision/mpfr.hpp:414
#boost::multiprecision::backends::mpfr\u float\u backend::operator=(this=0x7fffffff6d20,o=…)中的3 0x0000555c651
at/usr/include/boost/multiprecision/mpfr.hpp:709
#boost::multiprecision::number::operator=(这个=0x7fffffff6d20,e=…)中的4 0x0000555C0C1
at/usr/include/boost/multiprecision/number.hpp:159
#Eigen::internal::gemm_pack_rhs::operator()中的5 0x0000555555649D1(这=0x7FFFFF542F,块B=0x7FFFFF6D20,rhs=…,深度=4,cols=9,跨距=9,偏移=0)
at/usr/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1988
#6 Eigen::internal::triangular_solve_matrix::run中的0x000055555562D19(大小=9,其他大小=9,_tri=0x7fffffff99e0,triStride=9,_其他=0x7FFFFFC480,其他跨距=9,阻塞=…)
at/usr/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h:153
#7 0x00005555556F934在Eigen::internal::Triangal_solver_selector::run(lhs=…,rhs=…)
at/usr/include/eigen3/Eigen/src/Core/solvetriangal.h:102
#8 0x00005555556ECE1在Eigen::TriangularViewImpl::solveInPlace中(此=0x7fffffff8220,_其他=…)
at/usr/include/eigen3/Eigen/src/Core/solvetriangal.h:179
#9在Eigen::TriangularViewImpl::solveInPlace中的0x00005555556D757(此=0x7fffffff8220,其他=…)
at/usr/include/eigen3/Eigen/src/Core/TriangularMatrix.h:511
#10 0x00005555556b541在特征::PartialPivLU::_solve_impl中(this=0x7fffffff99e0,rhs=…,dst=…)
at/usr/include/eigen3/Eigen/src/LU/PartialPivLU.h:240
#11 0x000055555569F3D在Eigen::internal::Assignment::run中(dst=…,src=…)
at/usr/include/eigen3/Eigen/src/Core/Solve.h:147
#12 0x000055555567CA4,在Eigen::internal::call_assignment_no_别名中(dst=…,src=…,func=…)
at/usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:836
#13 0x000055555563690在本征::内部::调用分配中(本征::矩阵&,本征::求解常数&,本征::内部::分配运算常数&,本征::内部::启用如果,(boost::多精度::表达式模板选项)0>,9,9,0,9>,本征::CwiseNullaryOp>,本征::内部::求值器特征::形状>:值,无效*::类型)(dst=,src=,func=…)
at/usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:804
#内部::调用分配(dst=…,src=…)中的14 0x000055555561742
at/usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:782
#Eigen::PlainObjectBase::_集合中的15 0x000055555560637(此=0x7fffffffc480,其他=…)
at/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:710
#16特征::矩阵::运算符=(此=0x7fffffffc480,其他=…)中的0x0000555EF35
at/usr/include/eigen3/Eigen/src/Core/Matrix.h:225
#在Eigen::internal::Assignment::run(dst=…,src=…)中的17 0x0000555db42
at/usr/include/eigen3/Eigen/src/LU/PartialPivLU.h:574
#18 Eigen::internal::call_assignment_no_别名(dst=…,src=…,func=…)中的0x0000555CDA8
at/usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:836
#19 0x000055555C62A在本征::内部::调用分配中(本征::矩阵&,本征::逆常量&,本征::内部::分配(运算常量&,本征::内部::启用)如果,(boost::多精度::表达式(模板)选项)0>,9,9,0,9,9>>,本征::内部::求值器(特征)形状>::值,无效*::类型)(dst=…,src=…,func=…)                                           
at/usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:804
#20 0x0000555C086在本征::内部::调用分配中(dst=…,src=…)
at/usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:782
#21 Eigen::PlainObjectBase::_集合中的0x0000555BB35(此=0x7FFFFFC480,其他=…)
at/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:710
#22特征::矩阵::运算符=(此=0x7fffffffc480,其他=…)中的0x0000555B54D
at/usr/include/eigen3/Eigen/src/Core/Matrix.h:225
#23 0x0000555B055在特征::内部::计算逆::运行(矩阵=…,结果=…)
at/usr/include/eigen3/Eigen/src/LU/InverseImpl.h:28
#特征::内部::赋值中的24 0x0000555AC92
#0  __memmove_avx_unaligned_erms ()
    at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:227
#1  0x00007ffff79600b5 in mpfr_set4 ()
    from /usr/lib/x86_64-linux-gnu/libmpfr.so.6
#2  0x000055555555cdda in boost::multiprecision::backends::detail::mpfr_float_imp<71u, (boost::multiprecision::mpfr_allocation_type)0>::operator= (this=0x7fffffff6d20, o=...)
    at /usr/include/boost/multiprecision/mpfr.hpp:414
#3  0x000055555555c651 in boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>::operator= (this=0x7fffffff6d20, o=...)
    at /usr/include/boost/multiprecision/mpfr.hpp:709
#4  0x000055555555c0c1 in boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>::operator= (this=0x7fffffff6d20, e=...)
    at /usr/include/boost/multiprecision/number.hpp:159                                                                                          
#5  0x00005555555649d1 in Eigen::internal::gemm_pack_rhs<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, long, Eigen::internal::blas_data_mapper<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, long, 0, 0>, 4, 0, false, true>::operator() (this=0x7fffffff542f, blockB=0x7fffffff6d20, rhs=..., depth=4, cols=9, stride=9, offset=0)
    at /usr/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1988
#6  0x0000555555562d19 in Eigen::internal::triangular_solve_matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, long, 1, 5, false, 0, 0>::run (size=9, otherSize=9, _tri=0x7fffffff99e0, triStride=9, _other=0x7fffffffc480, otherStride=9, blocking=...)  
    at /usr/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h:153
#7  0x000055555556f934 in Eigen::internal::triangular_solver_selector<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> const, Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>, 1, 5, 0, -1>::run (lhs=..., rhs=...)                                          
    at /usr/include/eigen3/Eigen/src/Core/SolveTriangular.h:102
#8  0x000055555556ece1 in Eigen::TriangularViewImpl<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> const, 5u, Eigen::Dense>::solveInPlace<1, Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > (this=0x7fffffff8220, _other=...)                           
    at /usr/include/eigen3/Eigen/src/Core/SolveTriangular.h:179
#9  0x000055555556d757 in Eigen::TriangularViewImpl<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> const, 5u, Eigen::Dense>::solveInPlace<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > (this=0x7fffffff8220, other=...)                               
    at /usr/include/eigen3/Eigen/src/Core/TriangularMatrix.h:511
#10 0x000055555556b541 in Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >::_solve_impl<Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> >, Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >, Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > (this=0x7fffffff99e0, rhs=..., dst=...)
    at /usr/include/eigen3/Eigen/src/LU/PartialPivLU.h:240
#11 0x0000555555569f3d in Eigen::internal::Assignment<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>, Eigen::Solve<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> >, Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > >, Eigen::internal::assign_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> >, Eigen::internal::Dense2Dense, void>::run (dst=..., src=...)
    at /usr/include/eigen3/Eigen/src/Core/Solve.h:147
#12 0x0000555555567ca4 in Eigen::internal::call_assignment_no_alias<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>, Eigen::Solve<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> >, Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > >, Eigen::internal::assign_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> > > (dst=..., src=..., func=...)
    at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:836                                                                      
#13 0x0000555555563690 in Eigen::internal::call_assignment<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>, Eigen::Solve<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> >, Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > >, Eigen::internal::assign_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> > >(Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>&, Eigen::Solve<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> >, Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > > const&, Eigen::internal::assign_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> > const&, Eigen::internal::enable_if<!Eigen::internal::evaluator_assume_aliasing<Eigen::Solve<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> >, Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > >, Eigen::internal::evaluator_traits<Eigen::Solve<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> >, Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > > >::Shape>::value, void*>::type) (dst=..., src=..., func=...)
    at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:804                                                                                     
#14 0x0000555555561742 in Eigen::internal::call_assignment<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>, Eigen::Solve<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> >, Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > > > (dst=..., src=...)
    at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:782                                                                                                      
#15 0x0000555555560637 in Eigen::PlainObjectBase<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >::_set<Eigen::Solve<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> >, Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > > > (this=0x7fffffffc480, other=...)
    at /usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:710                                                                                           
#16 0x000055555555ef35 in Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>::operator=<Eigen::Solve<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >, Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> >, Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > > > (this=0x7fffffffc480, other=...)
    at /usr/include/eigen3/Eigen/src/Core/Matrix.h:225
#17 0x000055555555db42 in Eigen::internal::Assignment<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>, Eigen::Inverse<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > >, Eigen::internal::assign_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> >, Eigen::internal::Dense2Dense, void>::run (dst=..., src=...)
    at /usr/include/eigen3/Eigen/src/LU/PartialPivLU.h:574
#18 0x000055555555cda8 in Eigen::internal::call_assignment_no_alias<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>, Eigen::Inverse<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > >, Eigen::internal::assign_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> > > (dst=..., src=..., func=...)     
    at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:836
#19 0x000055555555c62a in Eigen::internal::call_assignment<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>, Eigen::Inverse<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > >, Eigen::internal::assign_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> > >(Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>&, Eigen::Inverse<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > > const&, Eigen::internal::assign_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> > const&, Eigen::internal::enable_if<!Eigen::internal::evaluator_assume_aliasing<Eigen::Inverse<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > >, Eigen::internal::evaluator_traits<Eigen::Inverse<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > > >::Shape>::value, void*>::type) (dst=..., src=..., func=...)                                           
    at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:804
#20 0x000055555555c086 in Eigen::internal::call_assignment<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>, Eigen::Inverse<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > > > (dst=..., src=...)                                     
    at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:782
#21 0x000055555555bb35 in Eigen::PlainObjectBase<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >::_set<Eigen::Inverse<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > > > (this=0x7fffffffc480, other=...)                          
    at /usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:710
#22 0x000055555555b54d in Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>::operator=<Eigen::Inverse<Eigen::PartialPivLU<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > > > (this=0x7fffffffc480, other=...)                                              
    at /usr/include/eigen3/Eigen/src/Core/Matrix.h:225
#23 0x000055555555b055 in Eigen::internal::compute_inverse<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>, Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>, 9>::run (matrix=..., result=...)
    at /usr/include/eigen3/Eigen/src/LU/InverseImpl.h:28          
#24 0x000055555555ac92 in Eigen::internal::Assignment<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>, Eigen::Inverse<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >, Eigen::internal::assign_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> >, Eigen::internal::Dense2Dense, void>::run (dst=..., src=...)           
    at /usr/include/eigen3/Eigen/src/LU/InverseImpl.h:310
#25 0x0000555555559d99 in Eigen::internal::call_assignment_no_alias<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>, Eigen::Inverse<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >, Eigen::internal::assign_op<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0> > > (dst=..., src=..., func=...)                           
    at /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:836
#26 0x00005555555599ba in Eigen::PlainObjectBase<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >::_set_noalias<Eigen::Inverse<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > > (this=0x7fffffffc480, other=...)                                        
    at /usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:728
#27 0x00005555555593ac in Eigen::PlainObjectBase<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> >::PlainObjectBase<Eigen::Inverse<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > > (this=0x7fffffffc480, other=...)                                     
    at /usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:537
#28 0x0000555555558a4a in Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9>::Matrix<Eigen::Inverse<Eigen::Matrix<boost::multiprecision::number<boost::multiprecision::backends::mpfr_float_backend<71u, (boost::multiprecision::mpfr_allocation_type)0>, (boost::multiprecision::expression_template_option)0>, 9, 9, 0, 9, 9> > > (this=0x7fffffffc480, other=...)
    at /usr/include/eigen3/Eigen/src/Core/Matrix.h:379
#29 0x0000555555556f16 in main (argc=1, argv=0x7fffffffd9c8)
    at mat_test.cpp:27