# Copyright (c) [2024] [] # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in all # copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. from typing import Final import numpy as np # Pauli matrices TAU_X: Final[np.array] = np.array([[0, 1], [1, 0]]) TAU_Y: Final[np.array] = np.array([[0, -1j], [1j, 0]]) TAU_Z: Final[np.array] = np.array([[1, 0], [0, -1]]) TAU_0: Final[np.array] = np.array([[1, 0], [0, 1]]) # list of accepted input parameters ACCEPTED_INPUTS: Final[list] = [ "infile", "outfile", "scf_xcf_orientation", "ref_xcf_orientations", "kset", "kdirs", "ebot", "eset", "esetp", "parallel_solver_for_Gk", "padawan_mode", ] DEFAULT_ARGUMENTS: Final[dict] = dict( infile=None, outfile=None, scf_xcf_orientation=np.array([0, 0, 1]), ref_xcf_orientations=[ dict(o=np.array([1, 0, 0]), vw=[np.array([0, 1, 0]), np.array([0, 0, 1])]), dict(o=np.array([0, 1, 0]), vw=[np.array([1, 0, 0]), np.array([0, 0, 1])]), dict(o=np.array([0, 0, 1]), vw=[np.array([1, 0, 0]), np.array([0, 1, 0])]), ], kset=2, kdirs="xyz", ebot=None, eset=42, esetp=1000, parallel_solver_for_Gk=False, padawan_mode=True, )