Предположим, у меня есть список матриц, сохраненных в переменной G
, и применяются следующие операции:
top[g_] = Minors[g]
Diagonal[top /@ G]
Minors
возвращает матрицу, в которой каждый элемент является определителем с удаленной строкой / столбцом (i, j), а Diagonal
возвращает список диагональных элементов матрицы.
Мой вопрос касается оценки этих команд - очевидно, я не хочу, чтобы все записи оценивались. Является ли Mathematica ленивым в том смысле, что сначала разбирается Диагональ, которая извлекает только те элементы, которые требуются от несовершеннолетних, или строится младшая матрица, а затем вытягиваются ее диагональные элементы?
Это общий вопрос для ленивых вычислений, однако, будучи новичком в Mathematica, я буду признателен за любые советы о том, как улучшить синтаксис для конкретной проблемы.