Я все еще новичок Максима, так что терпите меня. Я пытаюсь написать собственную формулу для вычисления сопряженной матрицы (я знаю, что у максимумов уже есть одна встроенная, но я пробовал свою собственную в качестве учебного упражнения). Пока у меня есть (для матрицы 3х3):
/* cofactor of some submatrix of the matrix, by deleting row i and column j */
cof(i, j, M) := determinant(submatrix(i, M, j));
/* for 3 x 3 matrix */
C3(M) := matrix( [cof(1,1,M), cof(1,2,M), cof(1,3)],
[cof(2,1,M), cof(2,2,M), cof(2,3)],
[cof(3,1,M), cof(3,2,M), cof(3,3)] );
/* function for calculating adjoint sign for x at position i, j */
adj_f(i, j, x) := -1^(i+j) * x;
/* adjugate for a 3x3 matrix M */
adj3(M) := matrixmap(lambda([i,j,x], adj_f(i,j,x), transpose(C3(M))));
Я знаю, что это, вероятно, не лучший способ сделать это; Однако мне было интересно, есть ли способ доступа к элементам i и j при использовании matrixmap или fullmapl?
(я использую wxMaxima, и у меня нет большого опыта работы с lisp, я пытался сойти с рук, не касаясь кода).