Para citar este trabalho use um dos padrões abaixo:
How to use geometry to optimise the Hartree-Fock wave function
Caio Oliveira da Silva
Universidade Federal do ABC
Agora você poderia compartilhar comigo suas dúvidas, observações e parabenizações
Crie um tópicoIn the present work we show how to use tools from a field called Differential Geometry to optimise the Hartree-Fock wave function. Essentially, we encode the Slater determinants as elements of a set called Grassmannian and we use a generalized version of the Newton Method to optimise the expected value of the energy. So far, we computed almost all of the mathematical objects needed to the algorithm, but we faced a problem concerning the non-orthogonality of the basis set. This point of view to the Hartree-Fock method is not well explored in the literature and we hope to achieve good convergence to the Hartree-Fock wave function using it.
Itamar Borges
Parabéns Caio, muito interessante. Qual é a demanda computacional do seu método em comparação com o SCF/DIIS? A vantagem do seu método é combiná-lo com o SCF/DIIS para convergência mais rápido ?
Itamar Borges
Oi Caio. Existe alguém que fez algo parecido na literatura?
Caio Oliveira da Silva
Olá, Itamar. Então, eu e meu orientador acabamos descobrindo no meio do mestrado que existe, sim, alguém que já tinha feito algo parecido (esse artigo aqui: https://www.tandfonline.com/doi/abs/10.1080/00268970110103642). No artigo eles usam uma outra parametrização pro conjunto dos determinantes de Slater, mas a ideia global, do ponto de vista matemático, digamos, é essencialmente a mesma. Inclusive, pelo que entendi, eles até usam o método em um programa chamado Q-Chem (https://manual.q-chem.com/5.2/Ch4.S5.SS4.html), o que, eu diria, mostra que o método de fato apresenta bons resultados práticos. No artigo eles comentam que conseguiram obter convergência em casos em que o SCF não obtém, por exemplo, que é algo que eu também quero verificar em breve se acontece para a nossa parametrização.
Andrii Shyichuk
I am not 100% sure, but I feel like the problem of basis non-orthogonality can have to do with the fact of missing correlation in HF - i.e. it might be compensated if correlation is used.
If that happened to be true - your method might do better with any correlated calculation, e.g. with DFT (including hybrids) or CISD or CCSD.
In case you try it - I'd really like to know if it works.
Also, the DIIS joke gave me a good laugh (given I got it right).
Thanks.
Caio Oliveira da Silva
I am note sure I made a joke about DIIS. Maybe it was unintentional or the translation was not 100%. In which part it was? Now I'm curious. About the non-orthogonality, I think it's simpler than that, it's just the fact that the orbitals that compose basis sets like STO-3G, cc-pVDZ are not orthonormal, which, in my case, means they overlap (ie, <psi|phi> is not 0). But I'd like to investigate the relation of HF with DFT in the future, so, if I find something along those lines, I send you an email. Thanks.
Andrii Shyichuk
I thought you've called DIIS a shaman technique at some point :)
Marcio Varella
Caro Caio, muito interessante o trabalho
No HF usual, otimizamos os coeficientes de combinação linear dos orbitais atômicos para obter os orbitais moleculares do determinante de Slater
1) Quando você calcula gradientes e Hessianas o faz em reação aos mesmos coeficientes? Ou utiliza outras variáveis na otimização?
2) O HF usual procura o mínimo tipicamente seguindo o gradiente, enquanto você utiliza a geodésica, certo? Você poderia explicar em termos simples se haveria vantagem em seguir a geodésica?
Obrigado
Marcio
Caio Oliveira da Silva
Rodrigo Albuquerque
Ola Caio, parabens pela originalidade do seu trabalho. Precisamos de mais trabalhos de base desse tipo. Gostaria de entender melhor a questao do gradiente nulo. Voce aborda na apresentacao que a condicao de dE = 0 nos leva a tres possiveis condicoes (minimo, maximo e ponto de sela). Dai como podemos ter certeza se o calculo do gradiente nos levou ao minino?
Caio Oliveira da Silva
Pra ter 100% de certeza, pode ser feito o teste da segunda derivada (https://en.wikipedia.org/wiki/Second_partial_derivative_test), por exemplo, que seria verificar se o determinante da hessiana e uma das derivadas parciais de segunda ordem são maiores do que 0, o que é um teste até simples de fazer dado que no nosso algoritmo por enquanto estamos calculando a hessiana completa.
Carlos Eduardo Vieira de Moura
Olá, Caio. Seu trabalho é muito bonito! Parabéns pela pesquisa. Tenho uma pergunta: esse tipo de abordagem poderia ser aplicada para problemas de autovalor de matrizes esparças, como os que são tratados com o algoritmo de Davidson? Obrigado!
Caio Oliveira da Silva
Agradeço os elogios e fico feliz que tenha gostado, Carlos. A resposta sincera é que eu não tenho certeza, mas acredito que poderia. Não sei se pro Método de Davidson em si funcionaria (pelo menos eu não vejo tão claramente como adaptar), mas talvez para algumas sub-etapas usadas ao longo do método (obter o par de autovalor/autovetor, encontrar uma direção "melhor" para realizar a iteração, coisas do tipo) seja viável. Na verdade um dos principais e primeiros artigos que trata do Método de Newton no conjunto dos determinantes de Slater (que na matemática chamamos de grassmannian) envolvia justamente problemas de autovalor e encontrar subespaços com certas restrições, como é mais ou menos o caso do Método de Davidson, então essa pode de fato ser uma relação frutífera a ser investigada. Se eu encontrar algo, te aviso por email. Agradeço novamente os elogios. :D
Marco Antonio Chaer Nascimento
Prezado Caio,
Achei bastante interessante o seu trabalho.
Gostaria de fazer alguns comentários e perguntas. Primeiramente, achei estranho você dizer que não conseguiu convergir o "SCF puro" para a água. Eu já fiz esse cálculo várias vezes e nunca tive problema de convergência.
Já usei métodos de otimização global para átomos, mas nunca para moléculas. Existe alguma relação entre o seu método e métodos de otimização global? Posso lhe mandar um artigo se lhe interessar.
A função determinante de Slater, embora a forma mais usual de função de onda teste, por sua utilização em métodos Hartree-Fock e DFT, não tem a forma correta para tratamento de sistemas polieletrônicos. As funções DS não respeitam a simetria de permutação do hamiltoniano polieletrônico, ou seja, não são base para o grupo simétrico, como deveriam ser. Posso lhe mandar um artigo se interessar.
Teria como usar métodos de geometria diferencial para otimizar funções de onda que são bases para o grupo simétrico?
Caio Oliveira da Silva
Olá, Marco, muito obrigado por ter achado interessante o trabalho. Sobre a não convergência: então, o SCF que usamos é uma implementação bem ingênua, digamos. É praticamente o que está no capítulo 3 do livro Modern Quantum Chemistry, do Szabo e Ostlund. Então talvez o SCF convirja em outros programas (Gaussian, Orca, Molpro etc.) por eles estarem considerando alguma simetria e mais provavelmente porque eles começam com um chute inicial mais próximo da função de onda HF do que o que começamos no nosso programa (nosso chute inicial vem direto da diagonalização do operador de um elétron, que também é um chute inicial bem ingênuo e bem distante, pra ser sincero). Sobre métodos de otimização global, eu não tenho muita certeza do que seriam tais métodos, então gostaria de alguma referência pra eu tentar relacionar melhor com meu trabalho. E sobre métodos de geometria diferencial para funções de onda simétricas, acredito que seja possível, sim, mas 100% de certeza eu não tenho. Eu diria que é possível porque eu sei que existe um Método Hartree-Fock para bósons, ie, levando em consideração funções de onda simétricas, e a parte teórica que eu usei a princípio admite a troca de funções de onda antissimétricas por simétricas. Em termos matemáticos, seria trabalhar com permanentes (https://en.wikipedia.org/wiki/Permanent_(mathematics)) ao invés de determinantes. Mas isso é na teoria, não cheguei a explorar essa parte simétrica no meu mestrado.
Marco Antonio Chaer Nascimento
Caio,
Obrigado pela resposta. Eu estaria interessado em otimizar funções de onda antissimétricas e que são bases para o grupo simétrico. Se você me der seu e-mail eu posso lhe enviar o trabalho sobre otimização global e um outro que talvez lhe desperte interesse nas funções antissimétricas que são bases para o Sn
Caio Oliveira da Silva
Meu email é: [email protected]. Pode mandar, ficarei feliz em dar uma olhada melhor no assunto.
BRENO RODRIGUES LAMAGHERE GALVAO
Olá Cayo, achei o seu trabalho super curioso e interessante! parabéns. Eu não sou da matemática, então corro o risco de estar sugerindo algo a toa, mas será que daria para trocar o metodo de Newton pelo L-BFGS ou algum outro metodo mais rapido? Talvez com mais avanços incrementais da sua parte isso se torne algo ainda mais competitivo e possa ser implementado em outros codigos (vi na discussao abaixo que tem no Q-Chem). att
Caio Oliveira da Silva
Olá, Breno, muito obrigado pelos elogios. A princípio poderia, sim. Recentemente eu encontrei uma expressão mais explícita para a hessiana nas contas que eu fiz e, pelo que me parece, certamente ela poderia ser trocada por uma hessiana aproximada como é feito no L-BFGS e outros métodos quasi-Newton. Eu só não digo com 100% de certeza que poderia, pois preciso investigar ainda se tal aproximação violaria de alguma forma a geometria do conjunto dos determinantes de Slater e se ela deveria ser adaptada ou se eu simplesmente posso apenas trocar as matrizes e pronto. Muitas dessas expressões aproximadas acabam usando, até mesmo sem perceber, o fato de que o espaço geométrico ambiente é linear, digamos, mas no caso dos determinantes de Slater isso não acontece, infelizmente. Mas eu acredito que é possível, sim, até porque o artigo que eu citei na outra resposta diz justamente que eles usaram a aproximação BFGS (embora eles também digam que, mesmo assim, não tornou o método competitivo em termos de demanda computacional com o SCF com DIIS). E isso com certeza ajudaria muito em termos de demanda, visto que a hessiana é, disparada, a etapa mais custosa do Método de Newton.
Lucas Modesto da Costa
Excelente trabalho e apresentação. Gostei muito do tema que vc está estudando. Algumas vezes o cálculo SCF falha, mesmo em sistemas que possuem a geometria bem definida. As alternativas ao DIIS disponíveis na literatura, como QC, XQC, aumentar o número de iterações ou mesmo reduzir a precisão também podem falhar causando uma situação decepcionante.
Eu gostaria de saber sobre o comportamento do determinante de Slater durante a otimização da função de onda. Será que alguns blocos de valores do determinante de Slater permanecem imutáveis durante o processo de otimização (principalmente os relacionados aos orbitais do caroço)? É possível que seu algoritmo evite modificar tais "blocos imutáveis" a fim de reduzir o custo computacional?
abraços
Caio Oliveira da Silva
Muito obrigado pelos elogios, Lucas. Pois é, eu não sou especialista, mas infelizmente no mundo dos métodos aproximados nada é perfeito, e isso definitivamente não acontece apenas na química. Mas aos poucos vamos melhorando o que temos e tentando dar embasamento teórico mais robusto e assim o mundo segue. Então, essa é uma boa pergunta, mas infelizmente não vou conseguir te fornecer uma resposta 100% nesse momento, pois é uma análise que eu ainda não fiz e que eu precisaria investigar melhor com meu orientador, que entende beeem mais do que eu da "química" por trás do método (eu sou só um matemático aplicado interessado no mundo quântico, rs). Mas, com a parametrização que estamos usando (ie, otimizando os coeficientes que aparecem na combinação linear quando expandimos os orbitais em alguma base), me parece que nenhum bloco permanece imutável. No entanto, vejo duas ramificações possíveis para explorar tais propriedades: trocar a parametrização do conjunto dos determinantes de Slater e levar em consideração a simetria da base. No primeiro caso, isso certamente pode ser explorado bem mais profundamente (no capítulo 10 do livro Molecular Electronic-Structure Theory, do Helgaker et al., eles exploram uma outra parametrização e o algoritmo que eles desenvolvem de fato tem menos parâmetros a serem otimizados e eles explicam direitinho quais blocos são ignorados (essencialmente os blocos que relacionam orbitais virtuais-ocupados)). Eu conheço mais duas parametrizações do conjunto dos determinantes de Slater, e talvez uma análise parecida com a feita no Helgaker possa ser feita também nesses casos. Certamente é algo interessante a ser investigado. No segundo caso, ie, levar em consideração as simetrias, nós ainda não fizemos essencialmente porque o código que eu escrevi faz parte de um código maior que vem sido desenvolvido pelo meu orientador praticamente sozinho há alguns anos, e ainda não exploramos as simetrias mais comuns que aparecem. Mas, pelas discussões que já tive com meu orientador, isso provavelmente diminuiria bastante o custo computacional do Método de Newton, ainda mais se conseguíssemos "acoplar" tais simetrias diretamente nas contas que fizemos para o Método em si. Outra coisa que pretendo explorar ainda no meu mestrado, por exemplo, é a versão restrita do Método de Newton. O caso que implementei é o caso não restrito, e certamente já seria um alívio computacional enorme adaptar e implementar as contas para o caso restrito. Abraços, Lucas.
Com ~200 mil publicações revisadas por pesquisadores do mundo todo, o Galoá impulsiona cientistas na descoberta de pesquisas de ponta por meio de nossa plataforma indexada.
Confira nossos produtos e como podemos ajudá-lo a dar mais alcance para sua pesquisa:
Esse proceedings é identificado por um DOI , para usar em citações ou referências bibliográficas. Atenção: este não é um DOI para o jornal e, como tal, não pode ser usado em Lattes para identificar um trabalho específico.
Verifique o link "Como citar" na página do trabalho, para ver como citar corretamente o artigo
Caio Oliveira da Silva
Respondendo a primeira pergunta:
Então, a comparação que eu fiz até agora é um pouco injusta com o Método de Newton nesse aspecto porque eu implementei a versão para o caso não restrito e o SCF que meu orientador implementou é para o caso restrito. Mas, em termos de demanda computacional, o Método de Newton sempre irá perder porque é um método de segunda ordem enquanto que o SCF não é. O SCF é um método cúbico no tamanho da base (na linguagem de complexidade computacional, é O(n^3), sendo n o tamanho da base), enquanto que o nosso, por enquanto, tem complexidade (n^4) * (N^2) * L, sendo n o tamanho da base, N o número de orbitais ocupados e L é um parâmetro que vem do cálculo das integrais de dois elétrons que estamos usando. Mas eu estou trabalhando na otimização do código no momento e acredito que será possível reduzir a complexidade para (n^3) * (N^2) * L ou, com MUITA sorte, para (n^3) * N * L, o que obviamente é bem mais custoso que o SCF, mas que, com sorte, irá convergir em casos em que o SCF/DIIS não converge. Em termos de memória, eu acredito que o SCF não restrito gaste 2*(n^2) de memória, que é usado para armazenar a matriz de Fock, enquanto que o Método de Newton gasta (n*N)^2 de memória para guardar a hessiana.
Respondendo a segunda pergunta:
Nosso método apresenta algumas vantagens (já falo delas), mas, por enquanto, em termos de tempo, compensa bem mais rodar o SCF com DIIS até o final do que trocar para o Método de Newton no meio do caminho, que leva muito tempo para realizar cada iteração. Após a otimização do código, esperamos que essa troca acabe compensando e reduzindo o tempo total (pelo menos para moléculas maiores) mesmo que cada iteração do Método de Newton demore mais.
Sobre as vantagens: por enquanto elas são todas teóricas porque o código realmente precisa ser otimizado para testarmos o que queremos testar na prática e ver se obtemos vantagens práticas ao invés de apenas teóricas. Mas a nossa abordagem teórica é mais produtiva e versátil que a abordagem teórica por trás do SCF, eu diria. Então isso abre muitos caminhos possíveis para futuros estudos. Exemplos: *parece* ser relativamente simples mudar a parametrização do conjunto dos determinantes de Slater e readaptar nossas contas/código para essas novas parametrizações. A vantagem é que existem pelo menos quatro parametrizações distintas e, pelo que eu e meu orientador encontramos na literatura, apenas duas delas foram exploradas até hoje. Então esse é um campo possível de exploração porque, dependendo da parametrização, a complexidade do método pode mudar drasticamente por necessitar de menos parâmetros. Outra vantagem teórica é que *parece* ser relativamente simples adaptar as nossas equações para abarcar DFT, por exemplo. Ou seja, fazer um Método de Newton para DFT. Outra vantagem teórica é que o formalismo usado por trás do nosso trabalho (geometria diferencial) na verdade pode ser adaptado pra, potencialmente, explorar muitas outras coisas interessantes de química (basta ver as apresentações do meu orientador (prof. Yuri Alexandre Aoto) e do seu aluno (Guilherme Barbosa)). Acredito que essas são algumas das vantagens teóricas por trás do nosso trabalho, e a palavra parece acima está entre asterisco pra enfatizar que, na prática, em termos de implementação computacional, essas coisas acabam sendo mais difíceis do que se imagina de início e essas extensões do nosso trabalho citadas talvez tomariam o tempo de um doutorado inteiro para serem feitas. Existem potenciais vantagens práticas também que ainda não testamos, mas que acreditamos serem válidas por conta do artigo que citei na outra resposta. Uma delas é que literalmente de graça nós ganhamos um outro método de otimização famoso chamado steepest descent ou gradient descent. Esse é um método de primeira ordem, ie, precisamos apenas do gradiente da energia, e é beeeem menos custoso do ponto de vista computacional (esse sim compete com o SCF com DIIS), mas por enquanto ele não apresentou uma boa convergência. No entanto, eu implementei apenas uma versão bem ingênua desse método e eu sei que existem diversas técnicas a princípio não muito difíceis de usar que teoricamente melhoram bastante a convergência dele. Eu vou tentar implementá-las ainda no meu mestrado pra ver o que acontece. Isso vai bastante na linha do que foi feito no artigo que citei na outra resposta e nesse artigo eles dizem que conseguem competir com o SCF e até obter convergência em casos em que o SCF/DIIS não obtém, então existe potencial.
Itamar Borges
Obrigado pela super resposta, muito boa. Belo trabalho, sucesso !