abacus-develop icon indicating copy to clipboard operation
abacus-develop copied to clipboard

Can ABACUS export the matrix elements of the angular momentum operator in the real-space atomic basis?

Open QuantumLab-ZY opened this issue 9 months ago • 2 comments

Background

Dear developers,

Recently, I want to use our machine learning model HamGNN to fit the SOC Hamiltonian matrix of ABACUS. I plan to use the following formula to fit the Hsoc part of the Hamiltonian matrix, which requires fewer network model parameters and can achieve transferable prediction across materials because the angular momentum matrix can be analytically calculated and the machine learning model only needs to fit the scalar coefficient in front of it. I have successfully used this formula to fit the SOC Hamiltonian matrix of BixSey in OPENMX. The results can be found in our previous work. However, I found that ABACUS does not have a function for exporting the matrix elements of the angular momentum operator in real-space atomic basis and hope that ABACUS can output these elements so that we can use our machine learning model to fit its SOC Hamiltonian matrix and achieve direct prediction for large-scale systems.

Best regards, Yang Zhong

image image image

Describe the solution you'd like

An option can be added to output the angular momentum matrix elements, similar to outputting the overlap matrix.

Task list only for developers

  • [ ] Notice possible changes of behavior
  • [ ] Explain the changes of codes in core modules of ESolver, HSolver, ElecState, Hamilt, Operator or Psi

Notice Possible Changes of Behavior (Reminder only for developers)

No response

Notice any changes of core modules (Reminder only for developers)

No response

Notice Possible Changes of Core Modules (Reminder only for developers)

No response

Additional Context

No response

Task list for Issue attackers (only for developers)

  • [ ] Review and understand the proposed feature and its importance.
  • [ ] Research on the existing solutions and relevant research articles/resources.
  • [ ] Discuss with the team to evaluate the feasibility of implementing the feature.
  • [ ] Create a design document outlining the proposed solution and implementation details.
  • [ ] Get feedback from the team on the design document.
  • [ ] Develop the feature following the agreed design.
  • [ ] Write unit tests and integration tests for the feature.
  • [ ] Update the documentation to include the new feature.
  • [ ] Perform code review and address any issues.
  • [ ] Merge the feature into the main branch.
  • [ ] Monitor for any issues or bugs reported by users after the feature is released.
  • [ ] Address any issues or bugs reported by users and continuously improve the feature.

QuantumLab-ZY avatar May 24 '24 10:05 QuantumLab-ZY