def predictSpectrum(E, LMax, E_0): print(E) result = [] for L in range(LMax): partitions = usefulTools.generatePartitions(L) result += [[L, E_0 + stateEnergyFromDispersion(p, E)] for p in partitions] return result
def calcPredictedSpectrum(LMax, g, h_22, h_33, E_0): predSpectrum = [] for L in range(LMax): partitions = generatePartitions(L) predSpectrum += [[L, E_0 + stateEnergy(p, g, h_22, h_33)] for p in partitions] return predSpectrum
def findDispersion(spectrum, LMax): E = {0 : 0} E_0 = spectrum[0][1] energyIndex = 1 for L in range(1,LMax): E[L] = spectrum[energyIndex][1] - E_0 energyIndex += len(usefulTools.generatePartitions(L)) return E
def calcSpetrumCoulomb(LMax, E_0, h_22, h_33, f, N, m): result = [] for L in range(LMax): partitions = generatePartitions(L) result += [[ L, E_0 + f * stateEnergyCoulomb(p, N, m) + stateEnergy(p, h_22, h_33) ] for p in partitions] return result
def convertToShur(self, N): partitions = generatePartitions(sum(self.partition)) resultPoly = genralSymPolySchur([ schurPoly( p, self.coeficient * characterTables.characterTab(p, self.partition)) for p in partitions if len(p) <= N ]) return resultPoly
def calcSpetrum(LMax, E_0, h_22, h_33, maxOrder, N, m): result = [] for L in range(LMax): partitions = generatePartitions(L) levelMatrix = numpy.array([[ H(h_22, h_33, state1, state2, maxOrder, N, m) for state2 in partitions ] for state1 in partitions]) print(levelMatrix) energies = numpy.linalg.eigvals(levelMatrix) result += [[L, E_0 + E] for E in energies] return result
def generateStates(L, N): """ Generate a slater basis of states for angular momentum level L above ground. """ partitions = [item for item in generatePartitions(L) if len(item) <= N] print(partitions) states = [] for x in partitions: tempState = [i for i in range(N)] y = len(x) for i in range(y): tempState[N - 1 - i] = tempState[N - 1 - i] + x[y - 1 - i] states.append(tempState) #X = slatToSymBasisTrans.basisConversion(states, partitions, N) X = 0 return states, X
def calcSpetrumZeroOrder(LMax, E_0, h_22, h_33): result = [] for L in range(LMax): partitions = generatePartitions(L) result += [[L, E_0 + stateEnergy(p, h_22, h_33)] for p in partitions] return result