1.4. Алгоритм линейного скейлинга O(N)

advertisement
1.4. Алгоритм линейного скейлинга O(N)
Все методы расчета, как было сказано ранее, можно разделить на несколько групп, в
которых они различаются уровнем сделанных аппроксимаций. Закономерен вопрос
зачем использовать полуэмпирические методы расчета или метод с
использованием эмпирических потенциалов, если можно использовать
первопринципные методы, дающие обычно достаточно точные результаты?
Ответ очевиден
конечно же, расчет из первых принципов не может
описывать некоторые специфические случаи, однако главным их недостатком является
степенная зависимость времени расчета t от числа атомов N в системе:
.
Здесь с3
(1.209)
префактор алгоритма.
Обычно расчеты методом Хартри
Фока с ЛКАО-базисом шкалируются как
4
N из-за необходимости вычислять многоцентровые интегралы. Современные реализации
метода псевдопотенциала, использующие итерационные (приближенные) методы
диагонализации и базис в виде плоских волн (программа VASP), могут шкалироваться
как
.
Таким образом, даже с современными компьютерными мощностями расчет
оптимизации геометрии системы из более чем двухсот атомов первопринципным
методом является трудновыполнимой задачей. На следующей иллюстрации приведено
сравнение между наиболее широко используемыми методами в зависимости от
максимального количества атомов в расчете. Как видно из рис. 1-15, с помощью
ab initio методов невозможно произвести расчет больших систем, к тому же обычно не
обладающих высокой симметрией (как, например, биологические молекулы).
Рис. 1-15. Максимально возможное количество атомов в системе, которое может быть
рассчитано с помощью наиболее широко используемых методов расчета [12].
Очевидно, что проблема расчета системы из большого числа атомов напрямую связана
со степенной зависимостью времени любого первопринципного расчета от количества
атомов. Если бы эта зависимость была линейной, расчет очень большого числа атомов
был бы возможен уже сегодня.
На сегодняшний день первые такие методы уже разработаны. Все они получили
название
алгоритмы линейного скейлинга (linear scaling algorithm
O(N)). В них общее время расчета
.
(1.210)
В качестве примера на рис. 1-16 при расчете кластера из атомов кремния [108]
приведена реальная зависимость времени и памяти, необходимых для O(N) расчета в
зависимости от числа атомов в системе.
Рис. 1-16. Зависимость памяти и времени, необходимых для расчета с помощью O(N)
алгоритма, от числа N атомов в системе [108].
Естественно, что зависимость (1.209) напрямую связана со скоростью диагонализации
матрицы гамильтониана, используемого в расчете. Прямые методы диагонализации,
т. е. методы, которые за фиксированное количество шагов находят все собственные
значения и собственные векторы матрицы (метод Хаусхолдера, LQ-метод),
диагонализируют матрицу за количество операций умножений
, где Nbasis
количество базисных функций, т. е. размер матрицы гамильтониана. Эти
методы применялись в ранних расчетных схемах квантово-химических расчетов 20
30 лет назад. В связи с прогрессом в методах линейной алгебры в
последние 20 лет интенсивно развивались итерационные методы диагонализации,
которые с помощью итераций и с фиксированной точностью позволяют с гораздо
большей скоростью находить небольшое по сравнению с размером матрицы
количество собственных значений и векторов Nband [26]. При этом шкалирование
времени расчета может расти только как Nbasislog(Nbasis), если в качестве базисных
функций использовать плоские волны. К сожалению, требование удерживания
найденных собственных векторов ортогональными друг другу требует проведения
(Nband)2 Nbasis операций, причем как Nband, так и Nbasis шкалируются линейно с
количеством атомов в системе N. Этот факт легко доказать: с ростом размера системы
каждая собственная волновая функция распространяется по большему объему и,
следовательно, должна быть разложена по большему базисному набору функций Nbasis.
В то же самое время необходимо учитывать все большее количество волновых
функций Nband, каждая из которых должна быть ортогональна ко всем остальным.
Поэтому общие затраты определяются произведением трех сомножителей, каждый из
которых линеен по отношению к размеру системы, следовательно, общее время расчета
будет меняться кубично по отношению к размеру системы. Именно требование
ортогональности волновых функций во многом ухудшает общую шкалируемость
расчета.
В сравнении стандартных и O(N)-алгоритмов префактор с1> с3 из уравнений (1.209) и
(1.210) при условии, что используются одни и те же приближения в одноэлектронной
аппроксимации. Это говорит о том, что должна существовать точка пересечения
(кроссовер) N*, где скорость расчета обоими методами будет совпадать (рис. 1-17).
Рис. 1-17. Зависимости времени расчета от числа атомов алгоритма
линейного скейлинга и стандартного ab initio метода.
При этом использование метода tight-binding в O(N)-расчетах является очень
перспективным, так как в нем из-за сделанных аппроксимаций можно рассчитывать
достаточно большие системы, когда все преимущества линейного метода будут
наиболее очевидны. Следует также отметить, что важность O(N)-алгоритмов растет с
увеличением мощности компъютеров. Если сегодня трудно отойти далеко от точки
кроссовера
(~100 атомов), то в будущем с увеличением описываемых систем и удалением от точки
кроссовера, преимущества линейных алгоритмов станут все более впечатляющими.
В основе всех предложенных O(N)-методов так или иначе лежит принцип локальности.
Согласно ему, статические свойства многоэлектронной системы в данной точке
пространства можно считать зависящими только от ее локального окружения. Иными
словами, изменение в потенциале
не влияет на физические свойства части
системы, находящейся на большом расстоянии от источника изменения
.
Доказательством этому служит тот факт [109], что матрица плотности
для изоляторов затухает экспоненциально с
ростом
. Для металлов матрица плотности тоже затухает, хотя и по
степенному закону.
В методах O(N)-оптимизации обычно используется подход на основе формализма
функционала плотности. Это происходит потому, что линейность уравнений Кона
Шэма позволяет упростить алгоритм и во многом добиться свойства
линейности алгоритма по скорости расчета. Поэтому применение формализма ТФП
будет у нас неявно подразумеваться в дальнейшем.
Все предложенные O(N)-методы условно можно разбить на несколько категорий:
1. Метод «разделяй и властвуй»
divide-and-conquer (DC).
2. Метод прямого вычисления матрицы плотности
решения уравнения Кона
Шэма.
без использования
3. Метод вычисления функций Грина (метод рекурсии).
Кроме вышеописанных методов существуют также O(N)-методы, использующие
другую идеологию, так например, гибридные методы [110, 111, 112] B-сплайнов [113],
методов конечных разностей [114, 115], но они применяются значительно реже
В настоящий момент наиболее широко применяется метод DC. Именно он
используется в расчетных программах (Siesta, OpenMX). Это связано с тем, что в
методе вычисляются волновые функции, т. е. в нем можно самосогласованно
вычислять многие физические характеристики. Метод прямого вычисления матрицы
плотности применяется значительно более редко и используется обычно для
приближенных методик расчета на базе подхода tight-binding. Метод, основанный на
вычислениях функций Грина, является наименее экономичным ввиду необходимости
проведения дополнительного интегрирования по энергии и поэтому применяется
значительно реже.
Ниже мы опишем первые два метода как наиболее популярные.
Download