Next revision | Previous revision |
documentation:language_reference:functions:createresonantspectra [2016/10/09 22:04] – created Maurits W. Haverkort | documentation:language_reference:functions:createresonantspectra [2022/05/18 17:01] (current) – Corrected NTri1/2 standard values. Yi Lu |
---|
| ====== CreateResonantSpectra ====== |
| |
| ### |
| //CreateResonantSpectra($O_1$,$O_2$,$O_3$,$O_4$,$\psi$)// calculates |
| \begin{equation} |
| \langle \psi | O_3^{\dagger} \frac{1}{(\omega_1 - \mathrm{i} \Gamma_1/2 + E_0^{(1)} - O_1^{\dagger})} O_4^{\dagger} \frac{1}{(\omega_2 + \mathrm{i} \Gamma_2/2 + E_0^{(2)} - O_2)} O_4\frac{1}{(\omega_1 + \mathrm{i} \Gamma_1/2 + E_0^{(1)} - O_1)} O_3 | \psi \rangle, |
| \end{equation} |
| with $E_0^{(i)} = \langle \psi | O_i | \psi \rangle$. The spectrum is returned as a spectrum object. |
| ### |
| |
| ===== Input ===== |
| |
| * $O_1$ : Operator |
| * $O_2$ : Operator |
| * $O_3$ : Operator |
| * $O_4$ : Operator |
| * $\psi$ : Wavefunction |
| * Possible options are: |
| * "NTri1" Positive integer specifying the number of states in the Krylov basis of $O_1$. (Standard value 100) |
| * "NTri2" Positive integer specifying the number of states in the Krylov basis of $O_2$. (Standard value 100) |
| * "epsilon" Positive real defining the smallest absolute value considered different than zero. (Standard value 1.49E-8) |
| * "restrictions1" A list of restrictions defining restrictions on configurations and occupations included for $O_1$ . Allows one to do restricted active space calculations. Note that the action of $O_3$ and $O_4$ are not restricted and all excitations they can make are included. |
| * "restrictions2" A list of restrictions defining restrictions on configurations and occupations included for $O_2$ . Allows one to do restricted active space calculations. Note that the action of $O_3$ and $O_4$ are not restricted and all excitations they can make are included. |
| * "Emin1" Real value defining the minimum energy in the spectra (Standard value determined such that the spectrum fits into the range) |
| * "Emax1" Real value defining the maximum energy in the spectra (Standard value determined such that the spectrum fits into the range) |
| * "NE1" Positive integer defining the number of points in the spectrum. (Standard value 1000) |
| * "Gamma1" Positive real defining the full width half maximum Lorenzian broadening. (Standard value 10*(Emax1-Emin1)/NE1) |
| * "Emin2" Real value defining the minimum energy in the spectra (Standard value determined such that the spectrum fits into the range) |
| * "Emax2" Real value defining the maximum energy in the spectra (Standard value determined such that the spectrum fits into the range) |
| * "NE2" Positive integer defining the number of points in the spectrum. (Standard value 1000) |
| * "Gamma2" Positive real defining the full width half maximum Lorenzian broadening. (Standard value 10*(Emax2-Emin2)/NE2) |
| |
| ===== Output ===== |
| |
| * //G// : Spectrum object. |
| |
| In the case that $O_3$ ($\{O_3^a, O_3^b\}$) , $O_4$ ($\{O_4^{\alpha}, O_4^{\beta}, O_4^{\gamma}\}$) and $\psi$ ($\{\psi_1,\psi_2,\psi_3\}$) are given as tables the order of spectra returned is: |
| |
| $\{$ |
| $I_1^{a,\alpha}(E_0)$, $I_1^{a,\alpha}(E_1)$, $\dots$, $I_1^{a,\alpha}(E_{N_E})$, |
| $I_1^{a,\beta}(E_0)$, $I_1^{a,\beta}(E_1)$, $\dots$, $I_1^{a,\beta}(E_{N_E})$, |
| $I_1^{a,\gamma}(E_0)$, $I_1^{a,\gamma}(E_1)$, $\dots$, $I_1^{a,\gamma}(E_{N_E})$, |
| |
| $I_1^{b,\alpha}(E_0)$, $I_1^{b,\alpha}(E_1)$, $\dots$, $I_1^{b,\alpha}(E_{N_E})$, |
| $I_1^{b,\beta}(E_0)$, $I_1^{b,\beta}(E_1)$, $\dots$, $I_1^{b,\beta}(E_{N_E})$, |
| $I_1^{b,\gamma}(E_0)$, $I_1^{b,\gamma}(E_1)$, $\dots$, $I_1^{b,\gamma}(E_{N_E})$, |
| |
| |
| $I_2^{a,\alpha}(E_0)$, $I_2^{a,\alpha}(E_1)$, $\dots$, $I_2^{a,\alpha}(E_{N_E})$, |
| $I_2^{a,\beta}(E_0)$, $I_2^{a,\beta}(E_1)$, $\dots$, $I_2^{a,\beta}(E_{N_E})$, |
| $I_2^{a,\gamma}(E_0)$, $I_2^{a,\gamma}(E_1)$, $\dots$, $I_2^{a,\gamma}(E_{N_E})$, |
| |
| $I_2^{b,\alpha}(E_0)$, $I_2^{b,\alpha}(E_1)$, $\dots$, $I_2^{b,\alpha}(E_{N_E})$, |
| $I_2^{b,\beta}(E_0)$, $I_2^{b,\beta}(E_1)$, $\dots$, $I_2^{b,\beta}(E_{N_E})$, |
| $I_2^{b,\gamma}(E_0)$, $I_2^{b,\gamma}(E_1)$, $\dots$, $I_2^{b,\gamma}(E_{N_E})$, |
| |
| |
| $I_3^{a,\alpha}(E_0)$, $I_3^{a,\alpha}(E_1)$, $\dots$, $I_3^{a,\alpha}(E_{N_E})$, |
| $I_3^{a,\beta}(E_0)$, $I_3^{a,\beta}(E_1)$, $\dots$, $I_3^{a,\beta}(E_{N_E})$, |
| $I_3^{a,\gamma}(E_0)$, $I_3^{a,\gamma}(E_1)$, $\dots$, $I_3^{a,\gamma}(E_{N_E})$, |
| |
| $I_3^{b,\alpha}(E_0)$, $I_3^{b,\alpha}(E_1)$, $\dots$, $I_3^{b,\alpha}(E_{N_E})$, |
| $I_3^{b,\beta}(E_0)$, $I_3^{b,\beta}(E_1)$, $\dots$, $I_3^{b,\beta}(E_{N_E})$, |
| $I_3^{b,\gamma}(E_0)$, $I_3^{b,\gamma}(E_1)$, $\dots$, $I_3^{b,\gamma}(E_{N_E})$ $\}$ |
| |
| where the alphabetic, greek and numeral indices refer to $O_3$, $O_4$ and $\psi$. |
| ===== Example ===== |
| |
| ### |
| Calculates the resonant spectra for some toy Hamiltonian and transition operators. |
| ### |
| |
| ==== Input ==== |
| <code Quanty CreateResonantSpectra.Quanty> |
| dofile("../definitions.Quanty") |
| -- define an Hamiltonian (in this case a magnetic field of 6 tesla in the z direction) |
| H1 = 6 * EnergyUnits.Tesla.value * (2*OppSz + OppLz) |
| -- define a second Hamiltonian (in this case a magnetic field of 6 tesla in the z direction) |
| H2 = 6 * EnergyUnits.Tesla.value * (2*OppSz + OppLz) |
| -- define a transition operator (in this case a pulsed magnetic field of 20 tesla in the x direction) |
| T1 = 20 * EnergyUnits.Tesla.value * (2*OppSx + OppLx) |
| -- define a ground-state (in this case a p electron with spin and angular momentum down) |
| psigrd = psim1dn |
| -- define a feritale operator to be able to calculate resonant spectroscopy |
| T2 = (2*OppSy + OppLy) |
| |
| -- calculate < psigrd | T1^dag 1/(w1-i*G1/2+E0-H1^dag) T2^dag 1/(w2+i*G2/2+E0-H2) T2 1/(w1+i*G1/2+E0-H1) T1 | psigrd > |
| -- with E0 = <psigrd | H | psigrd > |
| spec = CreateResonantSpectra(H1, H2, T1, T2, psigrd, {{"NE1",2} , {"NE2",10}}) |
| |
| -- the real and imaginary=0 part on a fixed energy grid |
| print(spec) |
| </code> |
| |
| ==== Result ==== |
| <file Quanty_Output CreateResonantSpectra.out> |
| Start of LanczosTriDiagonalizeKrylovRR |
| #Spectra: 3 |
| Emin______Emax -2.192128838174913E-04 1.516839581805201E-03 -2.192128838174913E-04 1.516839581805201E-03 -2.192128838174913E-04 1.516839581805201E-03 |
| EminPole__EmaxPole -4.261691575999300E-05 1.372168543003309E-03 -3.252606517456513E-19 1.103426565393108E-03 -7.454184501560037E-05 1.231092634560993E-03 |
| dE________Gamma 1.736052465622692E-04 8.680262328113460E-04 1.736052465622692E-04 8.680262328113460E-04 1.736052465622692E-04 8.680262328113460E-04 |
| Energy Re[0] Im[0] Re[1] Im[1] Re[2] Im[2] |
| -2.192128838175E-04 -4.567517681416985E+03 -5.543001799870324E+03 -6.525966405714727E+03 -7.880181085715437E+03 -9.384459417866910E+03 -1.130970660619754E+04 |
| -4.560763725522E-05 -3.049277280510574E+03 -6.941998645128027E+03 -4.378985928344880E+03 -9.870966283781299E+03 -6.310071944361847E+03 -1.416835749667363E+04 |
| 1.279976093070E-04 -1.110398821142657E+03 -6.912151183558704E+03 -1.635935503976258E+03 -9.839344445259658E+03 -2.381205186729950E+03 -1.413028103055951E+04 |
| 3.016028558693E-04 -2.339718928433063E+02 -6.040288069886097E+03 -3.980926728647760E+02 -8.619719098196922E+03 -6.087166968383502E+02 -1.239320326724325E+04 |
| 4.752081024316E-04 -2.390678249447761E+02 -5.634601111286659E+03 -4.035726414751845E+02 -8.068711266115147E+03 -6.128411970706163E+02 -1.161934969943266E+04 |
| 6.488133489939E-04 -2.524732347767481E+02 -6.001004351733182E+03 -4.060760193483442E+02 -8.614860860968134E+03 -6.011480856818257E+02 -1.241731791050131E+04 |
| 8.224185955561E-04 3.679380250879433E+02 -6.833308993933237E+03 5.040215977236442E+02 -9.811795868961692E+03 7.258932025733963E+02 -1.413634888162722E+04 |
| 9.960238421184E-04 2.021779007891823E+03 -7.375129604228581E+03 2.886102637616710E+03 -1.058171170957882E+04 4.159362152701476E+03 -1.523242665463819E+04 |
| 1.169629088681E-03 4.003817796524420E+03 -6.533443251521155E+03 5.730077171546568E+03 -9.369302108441347E+03 8.248266324697368E+03 -1.348088402875583E+04 |
| 1.343234335243E-03 4.923590725326930E+03 -4.801398097101529E+03 7.048863360389564E+03 -6.883831893729633E+03 1.014238202103176E+04 -9.903347380254836E+03 |
| 1.516839581805E-03 4.881130744512203E+03 -3.318203623750060E+03 6.988195901103923E+03 -4.756658494950744E+03 1.005361328477628E+04 -6.843031437448207E+03 |
| </file> |
| |
| ===== Table of contents ===== |
| {{indexmenu>.#1}} |