Что означает статус Intel IPP -179 (ippStsNotPosDefErr)?

 
Предыдущий Следующий
ippStsJPEG2KCodeBlockIsNotAttached ippStsEphemeralKeyErr

ippStsNotPosDefErr

Что означает ippStsNotPosDefErr

ippStsNotPosDefErr означает: Матрица не является положительно определённой. Для ippStsNotPosDefErr статус относится к матричной или численно-линейной операции: размерам и шагу матриц, коэффициентам, обусловленности, рангу либо требованиям выбранного разложения.

Для ippStsNotPosDefErr корректный адрес буфера ещё не гарантирует допустимость задачи. Матрица может иметь подходящие размеры, но быть вырожденной, плохо масштабированной, несимметричной или не удовлетворять требованиям положительной определённости.

При разборе ippStsNotPosDefErr исходная техническая страница отдельно связывает статус с LAPACK. Для ippStsNotPosDefErr сохраните эти значения вместе с точной функцией и версией Intel IPP, чтобы не потерять специфичный для вызова контекст.

Что проверить

  • При диагностике ippStsNotPosDefErr запишите размеры, leading dimension/stride, тип элементов и выбранный вариант верхнего или нижнего треугольника.
  • При диагностике ippStsNotPosDefErr проверьте NaN и infinity, масштаб строк и столбцов, нулевые pivots, линейно зависимые строки и численную обусловленность.
  • При диагностике ippStsNotPosDefErr для SVD или итерационного алгоритма сохраните tolerance, workspace и минимальную матрицу, на которой не достигается сходимость.
  • При диагностике ippStsNotPosDefErr не маскируйте математическую причину увеличением буфера: отдельно проверяйте layout и отдельно свойства самой матрицы.

Для ippStsNotPosDefErr после исправления сравните результат с эталонной реализацией на той же матрице и оставьте отрицательный тест для вырожденного или недопустимого случая.

Документация для ippStsNotPosDefErr


Нужно найти другой код? Найти другой код состояния или ошибки.