У меня есть уравнение на форме A^n * b = e = c, где A - матрица, а b & c - векторы столбцов.Уравнение, содержащее матричную мощность
n - фиксированное число для моей модели, определяемое константой. Скорее всего, он будет в сотнях и будет изменен для разных решений.
A - матрица переменных, b & c - константы.
Как я могу сформулировать A^n * b = e = c в gams?
Необязательно: модель, которая ведет меня к этому, состоит в том, что у меня есть граф с матрицей связности con (x, x2), обозначающий связь между x и x2, когда x и x2 связаны. Я хотел бы рассчитать связь между двумя произвольными узлами, связь между двумя узлами x и x2 является суммой связности для всех путей от x до x2. соединение для пути является продуктом всех соединений по пути. Есть ли более разумный способ сформулировать это ограничение, так что мне не нужно делать экспоненцию матрицы?
A не является симметричным или обратимым, но является положительным Полуконечным.
Не обладает ли степенью просто возведения в степень aka A_ (x, x2)^n вместо фактического выполнения умножения матрицы на всех A, что является совсем другим результатом? – Bomaz
Да, это абсолютно верно. GAMS действительно не идеальна для выполнения матричных умножений AFAIK, но есть несколько утилит, которые могут помочь, например, инверсия матрицы и собственные векторы. Я думал, что упомянул бы их, если вы их не увидели. https: //www.gams.com/latest/docs/userguides/mccarl/matrix_utilities.htm Я уверен, что вы спрашиваете, возможно, но я понятия не имею, как это сделать. –
«Я хотел бы рассчитать связь между двумя произвольными узлами, связь между двумя узлами x-x2 является суммой связности для всех путей от x до x2. Связность для пути является продуктом всех соединений по пути Есть ли более разумный способ сформулировать это ограничение, так что мне не нужно делать экспоненцию матрицы? " Похоже, что это может быть выполнено довольно легко с комбинацией циклов и сумм. –