Вычисление определителя матрицы 3х3

В этой теме 1 ответ, 2 участника, последнее обновление  Васильев Владимир Сергеевич 11 мес. назад.

  • Автор
    Сообщения
  • #4223

    Slotq
    Участник

    Доброго времени суток, надеюсь на помощь в решении данной задачи:
    необходимо посчитать, а лучше просто проверить на равенство нулю определитель матрицы 3х3
    Один из вариантов:

    X1 X2 X3
    Y1 Y2 Y3
    Z1 Z2 Z3

    Определитель равен
    X1*Y2*Z3+X2*Y3*Z1+Y1*Z2*X3-Z1*Y2*X3-Z2*Y3*X1-Y1*X2*Z3

  • #4233

    То, что вы привели — не «один из вариантов», а единственный вариант.
    Если матрица задается списком списков — то решение будет выглядеть так:

    det([[X1, X2, X3],[Y1, Y2, Y3],[Z1, Z2, Z3]], Det):-
      Det is X1*Y2*Z3+X2*Y3*Z1+Y1*Z2*X3-Z1*Y2*X3-Z2*Y3*X1-Y1*X2*Z3.

    Это на SWI Prolog. Скриншот с результатами работы прикрепил.

    Вложения:
    1. prolog_det_3x3.png

Для ответа в этой теме необходимо авторизоваться.