Инвертирование разреженной матрицы
У меня есть разреженная квадратная симметричная матрица со следующей структурой: (допустим, размер матрицы равен N x N)
Здесь область под синими полосами - это ненулевые элементы. Может кто-нибудь сказать мне, если есть алгоритм для инвертирования такого рода матрицы, который прост, но более эффективен, чем устранение Гаусса и разложение LU? Заранее спасибо.
2 ответа
Разложение по Холецкому быстрее, O(n²). Или некоторые специализированные многополосные решатели, если вы знаете число ненулевых недиагоналей.
Вы также можете применять итеративные методы, возможно, с предварительной подготовкой, это зависит от вашей цели.
Есть много разреженных решателей. Это может быть легко решено с помощью libeigen. Выбор решателя действительно будет зависеть от свойств разреженной матрицы, кроме структуры. Надеюсь это поможет.