1043{
1044 (void) A;
1045#if 1
1046#if 0
1050 if (B == 0)
1051 {
1052 ERROR(
"expected a dense mutable matrix over the ffpack finite field");
1053 return 0;
1054 }
1057
1058 Element *elemsA = B->
get_Mat()->array();
1061
1062
1063
1064 Element *X = new Element[n * (n + 1)];
1065 size_t *P = new size_t[n];
1066
1067
1068 FFPACK::Protected::Hybrid_KGF_LUK_MinPoly(
1069 B->
get_Mat()->ring().field(), minpoly, n, elemsA, n, X, n, P);
1070
1071 delete[] P;
1072 delete[] X;
1073
1074 for (size_t i = 0; i < minpoly.size(); i++) std::cout << minpoly[i] << " ";
1075 std::cout << std::endl;
1077#else
1078 return nullptr;
1079#endif
1080#else
1081 ERROR(
"not implemented: configure M2 with --enable-ffpack-fflas");
1082 return 0;
1083#endif
1084}
FieldType::Element ElementType
virtual size_t n_rows() const
MutableMat< MatType > * cast_to_MutableMat()
virtual const Ring * get_ring() const =0
DMat< M2::ARingZZp > DMatZZp
engine_RawRingElementArray convertRingelemsToArray(const Ring *R, std::vector< M2::ARingZZpFFPACK::ElementType > &elems)