Table of Contents
ChangeType
The function ResponseFunction.ChangeType(G, type, …) can be used to transform the representation (type) of matrix, which which a response function of the form $ I(\omega) = A_0 + B_0^* \frac{ 1 }{\omega - H + i \gamma / 2} B_0^{T} $ is defined. In Quanty, there are 4 different types for the matrix $H$:
-
list of poles (ListOfPoles)
-
tri-diagonal (Tri)
-
Anderson (And)
-
natural impurity orbital (NaturalImpurityOrbital)
These types are related to each other by unitary transformations.
List of poles is the simplest way to represent a spectral function of the form $ I(\omega) = \sum_{k} \frac{R_k}{\omega - \omega_k + i \gamma/2} $, by storing only an array for the values of $ \{R_k\} $ (residues) and $ \{\omega_k\} $ (poles).
In the Tri-diagonal type the matrix $H$ has a try-diagonal form, similar to a Hamiltonian describing a tight-binding problem with nearest-neighbor interaction:
\begin{equation} \begin{pmatrix} A_1 & B_1 & 0 & 0 & \cdots & 0 \\ B_1^{\dagger} & A_2 & B_2 & 0 & \cdots & 0 \\ 0 & B_2^{\dagger} & A_3 & B_3 & \cdots & 0 \\ 0 & 0 & B_3^{\dagger} & A_4 & \cdots & 0 \\ \vdots & \vdots & \vdots & \vdots & \ddots & B_{n-1} \\ 0 & 0 & 0 & 0 & B_{n-1}^{\dagger} & A_n \end{pmatrix} \end{equation} The response function is defined as $ I(\omega) = \frac{1}{\omega - H + i \gamma/2} \Big|_{[1,1]} $ and hence in the try-diagonal form, the [1,1] element od the inverted matrix follows the Shur's formula and leads to the continued fraction form: $ \frac{1}{\omega - H + i \gamma/2} \Big|_{[1,1]} = \frac{1}{\omega - A_1 - B_1 \frac{1}{\omega - A_2 - B_2 \frac{1}{\omega - A3 - \cdots}B_2^{\dagger}} B_1^{\dagger}} $. This type is often represented by the following geometry in the literature (see for example Phys. Rev. B 90, 085102 (2014)):
Example
A simple example for changing the type of the response functions and printing and evaluating them:
Input
- Example.Quanty
-- Defining single-valued response functions a = {0, -1,-0.5, 0, 0.5, 1, 1.5} b = { 0.2, 0.1, 0.1, 0.1, 0.2, 0.3} GA_L = {a,b,mu=0,type="ListOfPoles", name="A"} setmetatable(GA_L, ResponseFunctionMeta) a = {0, 1, 1, 1, 1, 1, 1} b = { 1, 0.5, 0.5, 0.5, 0.5, 0.5} GB_T = {a,b,mu=0,type="Tri", name="B"} setmetatable(GB_T, ResponseFunctionMeta) a = {0, 1, 1.5, 2, 2.5, 3, 3.5} b = { 1, 0.5, 0.5, 0.5, 0.5, 0.5} GC_A = {a,b,mu=0,type="And", name="C"} setmetatable(GC_A, ResponseFunctionMeta) acon = {0, 1, 1, 1, 1, 1, 1} bcon = { sqrt(1/2), 0.5, 0.5, 0.5, 0.5, 0.5} Gcon = {acon,bcon,mu=0,type="Tri"} setmetatable(Gcon, ResponseFunctionMeta) aval = {0, -1, -1, -1, -1, -1, -1} bval = { sqrt(1/2), 0.5, 0.5, 0.5, 0.5, 0.5} Gval = {aval,bval,mu=0,type="Tri"} setmetatable(Gval, ResponseFunctionMeta) a0=0 b0=1 GD_N = {{a0,b0},val=Gval,con=Gcon,mu=0,type="Nat", name="D"} setmetatable(GD_N, ResponseFunctionMeta) -- For a more efficient storage, one can convert from Table to Userdata GA_l = ResponseFunction.ToUserdata(GA_L) GB_t = ResponseFunction.ToUserdata(GB_T) GC_a = ResponseFunction.ToUserdata(GC_A) GD_n = ResponseFunction.ToUserdata(GD_N) -- changing the type of response functions to other types -- GA GA_T = ResponseFunction.ChangeType(GA_L,"Tri") GA_A = ResponseFunction.ChangeType(GA_L,"And") GA_N = ResponseFunction.ChangeType(GA_L,"Nat") GA_D = ResponseFunction.ChangeType(GA_L,"Dense") GA_U = ResponseFunction.ChangeType(GA_L,"Userdata") GA_B = ResponseFunction.ChangeType(GA_L,"Table") GA_t = ResponseFunction.ChangeType(GA_l,"Tri") GA_a = ResponseFunction.ChangeType(GA_l,"And") GA_n = ResponseFunction.ChangeType(GA_l,"Nat") GA_d = ResponseFunction.ChangeType(GA_l,"Dense") GA_u = ResponseFunction.ChangeType(GA_l,"Userdata") GA_b = ResponseFunction.ChangeType(GA_l,"Table") --GB GB_L = ResponseFunction.ChangeType(GB_T,"LP") GB_A = ResponseFunction.ChangeType(GB_T,"And") GB_N = ResponseFunction.ChangeType(GB_T,"Nat") GB_D = ResponseFunction.ChangeType(GB_T,"Dense") GB_U = ResponseFunction.ChangeType(GB_T,"Userdata") GB_B = ResponseFunction.ChangeType(GB_T,"Table") GB_l = ResponseFunction.ChangeType(GB_t,"LP") GB_a = ResponseFunction.ChangeType(GB_t,"And") GB_n = ResponseFunction.ChangeType(GB_t,"Nat") GB_d = ResponseFunction.ChangeType(GB_t,"Dense") GB_u = ResponseFunction.ChangeType(GB_t,"Userdata") GB_b = ResponseFunction.ChangeType(GB_t,"Table") --GC GC_L = ResponseFunction.ChangeType(GC_A,"LP") GC_T = ResponseFunction.ChangeType(GC_A,"Tri") GC_N = ResponseFunction.ChangeType(GC_A,"Nat") GC_D = ResponseFunction.ChangeType(GC_A,"Dense") GC_U = ResponseFunction.ChangeType(GC_A,"Userdata") GC_B = ResponseFunction.ChangeType(GC_A,"Table") GC_l = ResponseFunction.ChangeType(GC_a,"LP") GC_t = ResponseFunction.ChangeType(GC_a,"Tri") GC_n = ResponseFunction.ChangeType(GC_a,"Nat") GC_d = ResponseFunction.ChangeType(GC_a,"Dense") GC_u = ResponseFunction.ChangeType(GC_a,"Userdata") GC_b = ResponseFunction.ChangeType(GC_a,"Table") --GD GD_L = ResponseFunction.ChangeType(GD_N,"LP") GD_T = ResponseFunction.ChangeType(GD_N,"Tri") GD_A = ResponseFunction.ChangeType(GD_N,"And") GD_D = ResponseFunction.ChangeType(GD_N,"Dense") GD_U = ResponseFunction.ChangeType(GD_N,"Userdata") GD_B = ResponseFunction.ChangeType(GD_N,"Table") GD_l = ResponseFunction.ChangeType(GD_n,"LP") GD_t = ResponseFunction.ChangeType(GD_n,"Tri") GD_a = ResponseFunction.ChangeType(GD_n,"And") GD_d = ResponseFunction.ChangeType(GD_n,"Dense") GD_u = ResponseFunction.ChangeType(GD_n,"Userdata") GD_b = ResponseFunction.ChangeType(GD_n,"Table") -- printing the different types of the response function GA_L (similarly can be one for the rest) print("GA_L:") print(GA_L) print("GA_T:") print(GA_T) print("GA_A:") print(GA_A) print("GA_N:") print(GA_N) print("GA_D:") print(GA_D) print("GA_U:") print(GA_U) print("GA_B:") print(GA_B) -- response functions in Quanty are functions that, given -- a complex number as input w + I gamma/2 return a complex -- number (single valued functions) or a matrix (matrix functions) omega = 0.764 gamma = 0.1 print("omega = ", omega) print("gamma = ", gamma) print("") print("GA_L(omega, gamma) = ", GA_L(omega, gamma)) print("GA_l(omega, gamma) = ", GA_l(omega, gamma)) print("GA_T(omega, gamma) = ", GA_T(omega, gamma)) print("GA_t(omega, gamma) = ", GA_t(omega, gamma)) print("GA_A(omega, gamma) = ", GA_A(omega, gamma)) print("GA_a(omega, gamma) = ", GA_a(omega, gamma)) print("GA_N(omega, gamma) = ", GA_N(omega, gamma)) print("GA_n(omega, gamma) = ", GA_n(omega, gamma)) print("GA_U(omega, gamma) = ", GA_U(omega, gamma)) print("GA_u(omega, gamma) = ", GA_u(omega, gamma)) print("GA_B(omega, gamma) = ", GA_B(omega, gamma)) print("GA_b(omega, gamma) = ", GA_b(omega, gamma)) -- Defining matrix response functions A0 = {{0,0,0},{0,0,0},{0,0,0}} setmetatable(A0, MatrixMeta) A1 = {{1,2,3},{2,5,6},{3,6,9}} setmetatable(A1, MatrixMeta) A2 = {{2,2,3},{2,5,6},{3,6,9}} setmetatable(A2, MatrixMeta) A3 = {{3,2,3},{2,5,6},{3,6,9}} setmetatable(A3, MatrixMeta) a1 = -1 a2 = 0 a3 = 1 av1 = -0.5 av2 = -1.0 av3 = -1.5 ac1 = 0.5 ac2 = 1.0 ac3 = 1.5 B0s = {{1,0,0},{0,1,0},{0,0,1}} setmetatable(B0s, MatrixMeta) t=sqrt(0.5) B0vs = {{t,0,0},{0,t,0},{0,0,t}} setmetatable(B0vs, MatrixMeta) B0cs = {{t,0,0},{0,t,0},{0,0,t}} setmetatable(B0cs, MatrixMeta) B0 = B0s * B0s B0v = B0vs * B0vs B0c = B0cs * B0cs B1s = {{1,I,3},{-I,5,6},{3,6,9}} setmetatable(B1s, MatrixMeta) B1 = B1s * B1s B2s = {{2,0,3},{0,5,6},{3,6,9}} setmetatable(B2s, MatrixMeta) B2 = B2s * B2s B3s = {{3,0,3},{0,5,6},{3,6,9}} setmetatable(B3s, MatrixMeta) B3 = B3s * B3s MA_L = { {A0,a1,a2,a3}, {B1,B2,B3}, mu=0, type="ListOfPoles", name="A"} setmetatable(MA_L, ResponseFunctionMeta) MB_T = { {A0,A1,A2,A3}, {B0,B1,B2}, mu=0, type="Tri", name="B"} setmetatable(MB_T, ResponseFunctionMeta) MC_A = { {A0,A1,A2,A3}, {B0,B1,B2}, mu=0, type="And", name="C"} setmetatable(MC_A, ResponseFunctionMeta) MD_Nv = { {A0,av1,av2,av3}, {B1,B2,B3}, mu=0, type="ListOfPoles", name="Dv"} setmetatable(MD_Nv, ResponseFunctionMeta) MD_Nc = { {A0,ac1,ac2,ac3}, {B1,B2,B3}, mu=0, type="ListOfPoles", name="Dc"} setmetatable(MD_Nc, ResponseFunctionMeta) MD_N = {{A0,B0},val=MD_Nv,con=MD_Nc,mu=0,type="Nat", name="D"} setmetatable(MD_N, ResponseFunctionMeta) -- For a more efficient storage, one can convert from Table to Userdata MA_l = ResponseFunction.ToUserdata(MA_L) MB_t = ResponseFunction.ToUserdata(MB_T) MC_a = ResponseFunction.ToUserdata(MC_A) MD_n = ResponseFunction.ToUserdata(MD_N) -- changing the type of response functions to other types -- MA MA_T = ResponseFunction.ChangeType(MA_L,"Tri") MA_A = ResponseFunction.ChangeType(MA_L,"And") MA_N = ResponseFunction.ChangeType(MA_L,"Nat") MA_D = ResponseFunction.ChangeType(MA_L,"Dense") MA_U = ResponseFunction.ChangeType(MA_L,"Userdata") MA_B = ResponseFunction.ChangeType(MA_L,"Table") MA_t = ResponseFunction.ChangeType(MA_l,"Tri") MA_a = ResponseFunction.ChangeType(MA_l,"And") MA_n = ResponseFunction.ChangeType(MA_l,"Nat") MA_d = ResponseFunction.ChangeType(MA_l,"Dense") MA_u = ResponseFunction.ChangeType(MA_l,"Userdata") MA_b = ResponseFunction.ChangeType(MA_l,"Table") -- MB MB_T = ResponseFunction.ChangeType(MB_T,"Tri") MB_A = ResponseFunction.ChangeType(MB_T,"And") MB_N = ResponseFunction.ChangeType(MB_T,"Nat") MB_D = ResponseFunction.ChangeType(MB_T,"Dense") MB_U = ResponseFunction.ChangeType(MB_T,"Userdata") MB_B = ResponseFunction.ChangeType(MB_T,"Table") MB_t = ResponseFunction.ChangeType(MB_t,"Tri") MB_a = ResponseFunction.ChangeType(MB_t,"And") MB_n = ResponseFunction.ChangeType(MB_t,"Nat") MB_d = ResponseFunction.ChangeType(MB_t,"Dense") MB_u = ResponseFunction.ChangeType(MB_t,"Userdata") MB_b = ResponseFunction.ChangeType(MB_t,"Table") -- MC MC_T = ResponseFunction.ChangeType(MC_A,"Tri") MC_A = ResponseFunction.ChangeType(MC_A,"And") MC_N = ResponseFunction.ChangeType(MC_A,"Nat") MC_D = ResponseFunction.ChangeType(MC_A,"Dense") MC_U = ResponseFunction.ChangeType(MC_A,"Userdata") MC_B = ResponseFunction.ChangeType(MC_A,"Table") MC_t = ResponseFunction.ChangeType(MC_a,"Tri") MC_a = ResponseFunction.ChangeType(MC_a,"And") MC_n = ResponseFunction.ChangeType(MC_a,"Nat") MC_d = ResponseFunction.ChangeType(MC_a,"Dense") MC_u = ResponseFunction.ChangeType(MC_a,"Userdata") MC_b = ResponseFunction.ChangeType(MC_a,"Table") -- MD MD_T = ResponseFunction.ChangeType(MD_N,"Tri") MD_A = ResponseFunction.ChangeType(MD_N,"And") MD_N = ResponseFunction.ChangeType(MD_N,"Nat") MD_D = ResponseFunction.ChangeType(MD_N,"Dense") MD_U = ResponseFunction.ChangeType(MD_N,"Userdata") MD_B = ResponseFunction.ChangeType(MD_N,"Table") MD_t = ResponseFunction.ChangeType(MD_n,"Tri") MD_a = ResponseFunction.ChangeType(MD_n,"And") MD_n = ResponseFunction.ChangeType(MD_n,"Nat") MD_d = ResponseFunction.ChangeType(MD_n,"Dense") MD_u = ResponseFunction.ChangeType(MD_n,"Userdata") MD_b = ResponseFunction.ChangeType(MD_n,"Table") -- printing the different types of the response function MA_L (similarly can be one for the rest) print("MA_L:") print(MA_L) print("MA_T:") print(MA_T) print("MA_A:") print(MA_A) print("MA_N:") print(MA_N) print("MA_D:") print(MA_D) print("MA_U:") print(MA_U) print("MA_B:") print(MA_B) -- response functions in Quanty are functions that, given -- a complex number as input w + I gamma/2 return a complex -- number (single valued functions) or a matrix (matrix functions) omega = 0.764 gamma = 0.1 print("omega = ", omega) print("gamma = ", gamma) print("") print("MA_L(omega, gamma) = ") print(MA_L(omega, gamma)) print("MA_l(omega, gamma) = ") print(MA_l(omega, gamma)) print("") print("MA_T(omega, gamma) = ") print(MA_T(omega, gamma)) print("MA_t(omega, gamma) = ") print(MA_t(omega, gamma)) print("") print("MA_A(omega, gamma) = ") print(MA_A(omega, gamma)) print("MA_a(omega, gamma) = ") print(MA_a(omega, gamma)) print("") print("MA_N(omega, gamma) = ") print(MA_N(omega, gamma)) print("MA_n(omega, gamma) = ") print(MA_n(omega, gamma)) print("") print("MA_U(omega, gamma) = ") print(MA_U(omega, gamma)) print("MA_u(omega, gamma) = ") print(MA_u(omega, gamma)) print("") print("MA_B(omega, gamma) = ") print(MA_B(omega, gamma)) print("MA_b(omega, gamma) = ") print(MA_b(omega, gamma))
Result
GA_L: { { 0 , -1 , -0.5 , 0 , 0.5 , 1 , 1.5 } , { 0.2 , 0.1 , 0.1 , 0.1 , 0.2 , 0.3 } , mu = 0 , name = A , type = ListOfPoles } GA_T: { { 0 , 0.45 , 0.098780487804878 , 0.30027611596871 , 0.27252394333888 , 0.16862924309733 , 0.20979020979021 } , { 1 , 0.96046863561493 , 0.64837079796348 , 0.63259154750787 , 0.5124195484797 , 0.38052497511644 } , mu = 0 , name = A , type = Tri } GA_A: { { 0 , 0.45 , -0.76161617861542 , -0.29842922372363 , 0.19897178227059 , 0.6659769422191 , 1.2450966778494 } , { 1 , 0.43278870689518 , 0.47898927914625 , 0.47339798985938 , 0.40080485003603 , 0.34786925853206 } , mu = 0 , name = A , type = And } GA_N: { { 0 , 1 } , mu = 0 , type = NaturalImpurityOrbital , name = A , con = { { 0 , 1.0769230769231 , 0.67307692307692 , 0.65 , 0.6 } , { 0.80622577482986 , 0.47418569253608 , 0.46240219449488 , 0.33717089216941 } , mu = 0 , name = A , type = Tri } , epsilon = 1.49166814624e-154 , val = { { 0 , -0.71428571428571 , -0.4010989010989 , -0.38461538461538 } , { 0.59160797830996 , 0.36421567954234 , 0.28781979898261 } , mu = 0 , name = A , type = Tri } } GA_D: { { 0.45 , 0.96046863561493 , 0 , 0 , 0 , 0 } , { 0.96046863561493 , 0.098780487804878 , 0.64837079796348 , 0 , 0 , 0 } , { 0 , 0.64837079796348 , 0.30027611596871 , 0.63259154750787 , 0 , 0 } , { 0 , 0 , 0.63259154750787 , 0.27252394333888 , 0.5124195484797 , 0 } , { 0 , 0 , 0 , 0.5124195484797 , 0.16862924309733 , 0.38052497511644 } , { 0 , 0 , 0 , 0 , 0.38052497511644 , 0.20979020979021 } } GA_U: ResponseFunction in userdata format use ToTable() in order to get a table form GA_B: { { 0 , -1 , -0.5 , 0 , 0.5 , 1 , 1.5 } , { 0.2 , 0.1 , 0.1 , 0.1 , 0.2 , 0.3 } , mu = 0 , name = A , type = ListOfPoles } omega = 0.764 gamma = 0.1 GA_L(omega, gamma) = (-0.52850742098896 - 0.28351791776891 I) GA_l(omega, gamma) = (-0.52850742098896 - 0.28351791776891 I) GA_T(omega, gamma) = (-0.52850742098896 - 0.28351791776891 I) GA_t(omega, gamma) = (-0.52850742098896 - 0.28351791776891 I) GA_A(omega, gamma) = (-0.52850742098896 - 0.28351791776891 I) GA_a(omega, gamma) = (-0.52850742098896 - 0.28351791776891 I) GA_N(omega, gamma) = (-0.52850742098896 - 0.28351791776891 I) GA_n(omega, gamma) = (-0.52850742098896 - 0.28351791776891 I) GA_U(omega, gamma) = (-0.52850742098896 - 0.28351791776891 I) GA_u(omega, gamma) = (-0.52850742098896 - 0.28351791776891 I) GA_B(omega, gamma) = (-0.52850742098896 - 0.28351791776891 I) GA_b(omega, gamma) = (-0.52850742098896 - 0.28351791776891 I) MA_L: { { { { 0 , 0 , 0 } , { 0 , 0 , 0 } , { 0 , 0 , 0 } } , -1 , 0 , 1 } , { { { 11 , (18 + 6 I) , (30 + 6 I) } , { (18 - 6 I) , 62 , (84 - 3 I) } , { (30 - 6 I) , (84 + 3 I) , 126 } } , { { 13 , 18 , 33 } , { 18 , 61 , 84 } , { 33 , 84 , 126 } } , { { 18 , 18 , 36 } , { 18 , 61 , 84 } , { 36 , 84 , 126 } } } , mu = 0 , name = A , type = ListOfPoles } MA_T: { { { { 0 , 0 , 0 } , { 0 , 0 , 0 } , { 0 , 0 , 0 } } , { { 0.16666666666667 , (-0.13022979303898 - 0.10128983903032 I) , (-0.047305511920658 + 0.046651217149971 I) } , { (-0.13022979303898 + 0.10128983903032 I) , 0.10929648241206 , (0.057606743237538 - 0.12716542294799 I) } , { (-0.047305511920658 - 0.046651217149971 I) , (0.057606743237538 + 0.12716542294799 I) , -0.68515164199414 } } , { { -0.077110602330781 , (0.074638856089262 + 0.045637694983038 I) , (-0.056914103135513 - 0.017048414352757 I) } , { (0.074638856089262 - 0.045637694983038 I) , -0.06065563832358 , (0.032452328273403 + 0.053308787363712 I) } , { (-0.056914103135513 + 0.017048414352757 I) , (0.032452328273403 - 0.053308787363712 I) , 0.24136711159571 } } , { { -0.065917961917565 , (0.049794475857968 + 0.060666926143643 I) , (0.086997231267786 - 0.014806632638776 I) } , { (0.049794475857968 - 0.060666926143643 I) , -0.063907522589848 , (-0.07316843035449 + 0.029265943858547 I) } , { (0.086997231267786 + 0.014806632638776 I) , (-0.07316843035449 - 0.029265943858547 I) , 0.43541310648148 } } } , { { { 6.4807406984079 , (-1.2143064331838e-15 + 5.5511151231258e-17 I) , (8.9234175604247e-15 - 3.7470027081099e-16 I) } , { (8.332380897953 + 0.92582009977255 I) , 10.663690060869 , (8.8748453030973e-15 + 3.3306690738755e-16 I) } , { (15.276031646247 + 0.92582009977255 I) , (11.614848345193 + 0.32151829329254 I) , (2.962707915228 + 4.1633363423443e-17 I) } } , { { (0.79439589292304 + 1.7347234759768e-17 I) , (-2.7755575615629e-17 - 5.5511151231258e-17 I) , (3.3306690738755e-16 + 4.7488055154865e-17 I) } , { (0.032719083913803 - 0.073204404310554 I) , (0.78371241357092 + 2.5153490401664e-17 I) , (-3.1918911957973e-16 + 1.9081958235745e-16 I) } , { (-0.064272050276232 - 0.0086277246489823 I) , (0.079376737206155 + 0.047708620355922 I) , (0.55021207146433 - 1.3617579286418e-16 I) } } , { { (0.55886288839695 - 1.2143064331838e-17 I) , (-1.2490009027033e-16 + 5.4643789493269e-17 I) , (-1.8596235662471e-15 - 1.0408340855861e-17 I) } , { (0.027406972267103 + 0.063427642519147 I) , (0.57332577260026 - 8.2399365108898e-18 I) , (4.9960036108132e-16 - 2.4286128663675e-17 I) } , { (0.10335613712055 - 0.013379675858424 I) , (-0.086762737864481 + 0.02785620840128 I) , (0.54215239769194 + 1.5178830414797e-18 I) } } } , mu = 0 , BlockSize = { 3 , 3 , 3 , 3 } , name = Block Tridiagonal Matrix , type = Tri } MA_A: { { { { 0 , 0 , 0 } , { 0 , 0 , 0 } , { 0 , 0 , 0 } } , { { 0.16666666666667 , (-0.13022979303898 - 0.10128983903032 I) , (-0.047305511920658 + 0.046651217149971 I) } , { (-0.13022979303898 + 0.10128983903032 I) , 0.10929648241206 , (0.057606743237538 - 0.12716542294799 I) } , { (-0.047305511920658 - 0.046651217149971 I) , (0.057606743237538 + 0.12716542294799 I) , -0.68515164199414 } } , { { -0.74824917063688 , 0 , 0 } , { 0 , -0.55176620808018 , 0 } , { 0 , 0 , -0.195986162297 } } , { { 0.4008317819551 , 0 , 0 } , { 0 , 0.58010154488234 , 0 } , { 0 , 0 , 0.92425670709204 } } } , { { { 6.4807406984079 , 0 , 8.9234175604247e-15 } , { (8.332380897953 + 0.92582009977255 I) , 10.663690060869 , 8.8748453030973e-15 } , { (15.276031646247 + 0.92582009977255 I) , (11.614848345193 + 0.32151829329254 I) , 2.962707915228 } } , { { (0.24097080547555 - 0.29664799446126 I) , (0.39224946582974 - 0.10264693896817 I) , (-0.062867256185939 - 0.016207317018869 I) } , { (0.067424024860904 + 0.35341331631802 I) , (0.15864032980588 - 0.38002135542186 I) , (0.019861325341262 + 0.083019106894471 I) } , { (-0.059910872913698 - 5.7419347054832e-16 I) , (0.088195965907595 + 6.1582683397177e-17 I) , (0.4079538662058 - 4.0332320816461e-17 I) } } , { { (-0.41390709824793 + 0.077494400090899 I) , (0.34801455330164 - 0.12934361343755 I) , (0.032301032971473 - 0.013234123760548 I) } , { (0.31210810500257 - 0.12397408059286 I) , (0.3448385208667 - 0.28207365201981 I) , (-0.037977125762259 + 0.040193474735979 I) } , { (0.15425658164474 + 4.8225312632155e-16 I) , (0.021258962398143 - 5.9327542878407e-16 I) , (0.336859320814 - 5.681219383824e-17 I) } } } , mu = 0 , name = Block Anderson Matrix , type = And } MA_N: { { { { 0 , 0 , 0 } , { 0 , 0 , 0 } , { 0 , 0 , 0 } } , { { 1 , 0 , 0 } , { 0 , 1 , 0 } , { 0 , 0 , 1 } } } , mu = 0 , type = NaturalImpurityOrbital , name = A , con = { { { { 0 , 0 , 0 } , { 0 , 0 , 0 } , { 0 , 0 , 0 } } , { { 0.73469387755102 , -0.047224008524508 , -0.096598865465415 } , { -0.047224008524508 , 0.69944923928917 , 0.067058248999092 } , { -0.096598865465415 , 0.067058248999092 , 0.34095728476622 } } , { { 0.27777316161196 , 0.044811078057023 , 0.10335188213433 } , { 0.044811078057023 , 0.2971917474739 , -0.083356640452583 } , { 0.10335188213433 , -0.083356640452583 , 0.64993468930773 } } } , { { { 4.9497474683058 , -5.5511151231258e-16 , 3.219646771413e-15 } , { 5.4548237405819 , 7.8577921809618 , 2.0428103653103e-14 } , { 10.606601717798 , 8.6720106072488 , 1.1385218609074 } } , { { 0.42820244750554 , 6.9388939039072e-17 , -2.7755575615629e-16 } , { 0.063006947253793 , 0.44668020977516 , -1.1102230246252e-15 } , { 0.024461737279587 , -0.01972918341835 , 0.45813714965493 } } } , mu = 0 , BlockSize = { 3 , 3 , 3 } , name = Block Tridiagonal Matrix , type = Tri } , epsilon = -11.387106220778 , val = { { { { 0 , 0 , 0 } , { 0 , 0 , 0 } , { 0 , 0 , 0 } } , { { -0.62857142857143 , (-0.035202142615368 - 0.076271308999964 I) , (0.014268326791755 + 0.020739753697305 I) } , { (-0.035202142615368 + 0.076271308999964 I) , -0.61125287596737 , (-0.013427564027265 - 0.07147802937526 I) } , { (0.014268326791755 - 0.020739753697305 I) , (-0.013427564027265 + 0.07147802937526 I) , -0.87679694886719 } } , { { -0.38032141589657 , (0.038574866213605 + 0.07391432102671 I) , (-0.009272599365364 - 0.013478204542004 I) } , { (0.038574866213605 - 0.07391432102671 I) , -0.39306795769 , (0.007349722367922 + 0.047070648400436 I) } , { (-0.009272599365364 + 0.013478204542004 I) , (0.007349722367922 - 0.047070648400436 I) , -0.10998937300744 } } } , { { { (4.1833001326704 + 2.7755575615629e-17 I) , (2.7061686225238e-16 - 5.5511151231258e-17 I) , (-1.7347234759768e-16 - 4.3021142204225e-16 I) } , { (6.4542344904057 + 1.4342743312013 I) , (6.9846771067612 - 5.5511151231258e-17 I) , (-1.0824674490095e-15 - 5.8286708792821e-16 I) } , { (11.11562606681 + 1.4342743312013 I) , (7.4735022395624 + 0.52768570821212 I) , (2.6933299750159 - 1.0685896612017e-15 I) } } , { { (0.47516224787009 + 3.4694469519536e-18 I) , (-8.3266726846887e-17 - 3.4694469519536e-17 I) , (8.3266726846887e-17 - 2.1337098754515e-16 I) } , { (-0.014244195126559 + 0.04005600451924 I) , (0.4727256132428 - 3.4694469519536e-18 I) , (2.2204460492503e-16 - 4.1633363423443e-17 I) } , { (0.025653984624153 - 0.014607427329554 I) , (-0.0074433472559292 + 0.0762864206612 I) , (0.30879508314817 - 2.2117724318704e-17 I) } } } , mu = 0 , BlockSize = { 3 , 3 , 3 } , name = Block Tridiagonal Matrix , type = Tri } } MA_D: { { 0.16666666666667 , (-0.13022979303898 - 0.10128983903032 I) , (-0.047305511920658 + 0.046651217149971 I) , (0.79439589292304 + 1.7347234759768e-17 I) , (-2.7755575615629e-17 - 5.5511151231258e-17 I) , (3.3306690738755e-16 + 4.7488055154865e-17 I) , 0 , 0 , 0 } , { (-0.13022979303898 + 0.10128983903032 I) , 0.10929648241206 , (0.057606743237538 - 0.12716542294799 I) , (0.032719083913803 - 0.073204404310554 I) , (0.78371241357092 + 2.5153490401664e-17 I) , (-3.1918911957973e-16 + 1.9081958235745e-16 I) , 0 , 0 , 0 } , { (-0.047305511920658 - 0.046651217149971 I) , (0.057606743237538 + 0.12716542294799 I) , -0.68515164199414 , (-0.064272050276232 - 0.0086277246489823 I) , (0.079376737206155 + 0.047708620355922 I) , (0.55021207146433 - 1.3617579286418e-16 I) , 0 , 0 , 0 } , { (0.79439589292304 - 1.7347234759768e-17 I) , (0.032719083913803 + 0.073204404310554 I) , (-0.064272050276232 + 0.0086277246489823 I) , -0.077110602330781 , (0.074638856089262 + 0.045637694983038 I) , (-0.056914103135513 - 0.017048414352757 I) , (0.55886288839695 - 1.2143064331838e-17 I) , (-1.2490009027033e-16 + 5.4643789493269e-17 I) , (-1.8596235662471e-15 - 1.0408340855861e-17 I) } , { (-2.7755575615629e-17 + 5.5511151231258e-17 I) , (0.78371241357092 - 2.5153490401664e-17 I) , (0.079376737206155 - 0.047708620355922 I) , (0.074638856089262 - 0.045637694983038 I) , -0.06065563832358 , (0.032452328273403 + 0.053308787363712 I) , (0.027406972267103 + 0.063427642519147 I) , (0.57332577260026 - 8.2399365108898e-18 I) , (4.9960036108132e-16 - 2.4286128663675e-17 I) } , { (3.3306690738755e-16 - 4.7488055154865e-17 I) , (-3.1918911957973e-16 - 1.9081958235745e-16 I) , (0.55021207146433 + 1.3617579286418e-16 I) , (-0.056914103135513 + 0.017048414352757 I) , (0.032452328273403 - 0.053308787363712 I) , 0.24136711159571 , (0.10335613712055 - 0.013379675858424 I) , (-0.086762737864481 + 0.02785620840128 I) , (0.54215239769194 + 1.5178830414797e-18 I) } , { 0 , 0 , 0 , (0.55886288839695 + 1.2143064331838e-17 I) , (0.027406972267103 - 0.063427642519147 I) , (0.10335613712055 + 0.013379675858424 I) , -0.065917961917565 , (0.049794475857968 + 0.060666926143643 I) , (0.086997231267786 - 0.014806632638776 I) } , { 0 , 0 , 0 , (-1.2490009027033e-16 - 5.4643789493269e-17 I) , (0.57332577260026 + 8.2399365108898e-18 I) , (-0.086762737864481 - 0.02785620840128 I) , (0.049794475857968 - 0.060666926143643 I) , -0.063907522589848 , (-0.07316843035449 + 0.029265943858547 I) } , { 0 , 0 , 0 , (-1.8596235662471e-15 + 1.0408340855861e-17 I) , (4.9960036108132e-16 + 2.4286128663675e-17 I) , (0.54215239769194 - 1.5178830414797e-18 I) , (0.086997231267786 + 0.014806632638776 I) , (-0.07316843035449 - 0.029265943858547 I) , 0.43541310648148 } } MA_U: ResponseFunction in userdata format use ToTable() in order to get a table form MA_B: { { { { 0 , 0 , 0 } , { 0 , 0 , 0 } , { 0 , 0 , 0 } } , -1 , 0 , 1 } , { { { 11 , (18 + 6 I) , (30 + 6 I) } , { (18 - 6 I) , 62 , (84 - 3 I) } , { (30 - 6 I) , (84 + 3 I) , 126 } } , { { 13 , 18 , 33 } , { 18 , 61 , 84 } , { 33 , 84 , 126 } } , { { 18 , 18 , 36 } , { 18 , 61 , 84 } , { 36 , 84 , 126 } } } , mu = 0 , name = A , type = ListOfPoles } omega = 0.764 gamma = 0.1 MA_L(omega, gamma) = { { (-49.82074737235 - 16.750435144161 I) , (-39.242754250336 - 13.890672203015 I) , (-85.890426598686 - 30.827754261851 I) } , { (-39.435420350993 - 20.687932234176 I) , (-132.74935751632 - 58.607579693628 I) , (-183.63057392827 - 82.382725361235 I) } , { (-86.083092699343 - 37.625014293012 I) , (-183.53424087794 - 78.984095345655 I) , (-275.37361110465 - 121.02511553017 I) } } MA_l(omega, gamma) = { { (-49.82074737235 - 16.750435144161 I) , (-39.242754250336 - 13.890672203015 I) , (-85.890426598686 - 30.827754261851 I) } , { (-39.435420350993 - 20.687932234176 I) , (-132.74935751632 - 58.607579693628 I) , (-183.63057392827 - 82.382725361235 I) } , { (-86.083092699343 - 37.625014293012 I) , (-183.53424087794 - 78.984095345655 I) , (-275.37361110465 - 121.02511553017 I) } } MA_T(omega, gamma) = { { (-49.82074737235 - 16.750435144161 I) , (-39.242754250336 - 13.890672203015 I) , (-85.890426598686 - 30.827754261851 I) } , { (-39.435420350993 - 20.687932234176 I) , (-132.74935751632 - 58.607579693628 I) , (-183.63057392827 - 82.382725361235 I) } , { (-86.083092699343 - 37.625014293012 I) , (-183.53424087794 - 78.984095345655 I) , (-275.37361110465 - 121.02511553017 I) } } MA_t(omega, gamma) = { { (-49.82074737235 - 16.750435144161 I) , (-39.242754250336 - 13.890672203015 I) , (-85.890426598686 - 30.827754261851 I) } , { (-39.435420350993 - 20.687932234176 I) , (-132.74935751632 - 58.607579693628 I) , (-183.63057392827 - 82.382725361235 I) } , { (-86.083092699343 - 37.625014293012 I) , (-183.53424087794 - 78.984095345655 I) , (-275.37361110465 - 121.02511553017 I) } } MA_A(omega, gamma) = { { (-49.82074737235 - 16.750435144161 I) , (-39.242754250337 - 13.890672203015 I) , (-85.890426598687 - 30.827754261851 I) } , { (-39.435420350993 - 20.687932234176 I) , (-132.74935751632 - 58.607579693628 I) , (-183.63057392827 - 82.382725361236 I) } , { (-86.083092699343 - 37.625014293012 I) , (-183.53424087794 - 78.984095345655 I) , (-275.37361110465 - 121.02511553017 I) } } MA_a(omega, gamma) = { { (-49.82074737235 - 16.750435144161 I) , (-39.242754250337 - 13.890672203015 I) , (-85.890426598687 - 30.827754261851 I) } , { (-39.435420350993 - 20.687932234176 I) , (-132.74935751632 - 58.607579693628 I) , (-183.63057392827 - 82.382725361236 I) } , { (-86.083092699343 - 37.625014293012 I) , (-183.53424087794 - 78.984095345655 I) , (-275.37361110465 - 121.02511553017 I) } } MA_N(omega, gamma) = { { (-49.82074737235 - 16.750435144161 I) , (-39.242754250336 - 13.890672203015 I) , (-85.890426598686 - 30.827754261851 I) } , { (-39.435420350993 - 20.687932234176 I) , (-132.74935751632 - 58.607579693628 I) , (-183.63057392827 - 82.382725361235 I) } , { (-86.083092699343 - 37.625014293012 I) , (-183.53424087794 - 78.984095345655 I) , (-275.37361110465 - 121.02511553017 I) } } MA_n(omega, gamma) = { { (-49.82074737235 - 16.750435144161 I) , (-39.242754250336 - 13.890672203015 I) , (-85.890426598686 - 30.827754261851 I) } , { (-39.435420350993 - 20.687932234176 I) , (-132.74935751632 - 58.607579693628 I) , (-183.63057392827 - 82.382725361235 I) } , { (-86.083092699343 - 37.625014293012 I) , (-183.53424087794 - 78.984095345655 I) , (-275.37361110465 - 121.02511553017 I) } } MA_U(omega, gamma) = { { (-49.82074737235 - 16.750435144161 I) , (-39.242754250336 - 13.890672203015 I) , (-85.890426598686 - 30.827754261851 I) } , { (-39.435420350993 - 20.687932234176 I) , (-132.74935751632 - 58.607579693628 I) , (-183.63057392827 - 82.382725361235 I) } , { (-86.083092699343 - 37.625014293012 I) , (-183.53424087794 - 78.984095345655 I) , (-275.37361110465 - 121.02511553017 I) } } MA_u(omega, gamma) = { { (-49.82074737235 - 16.750435144161 I) , (-39.242754250336 - 13.890672203015 I) , (-85.890426598686 - 30.827754261851 I) } , { (-39.435420350993 - 20.687932234176 I) , (-132.74935751632 - 58.607579693628 I) , (-183.63057392827 - 82.382725361235 I) } , { (-86.083092699343 - 37.625014293012 I) , (-183.53424087794 - 78.984095345655 I) , (-275.37361110465 - 121.02511553017 I) } } MA_B(omega, gamma) = { { (-49.82074737235 - 16.750435144161 I) , (-39.242754250336 - 13.890672203015 I) , (-85.890426598686 - 30.827754261851 I) } , { (-39.435420350993 - 20.687932234176 I) , (-132.74935751632 - 58.607579693628 I) , (-183.63057392827 - 82.382725361235 I) } , { (-86.083092699343 - 37.625014293012 I) , (-183.53424087794 - 78.984095345655 I) , (-275.37361110465 - 121.02511553017 I) } } MA_b(omega, gamma) = { { (-49.82074737235 - 16.750435144161 I) , (-39.242754250336 - 13.890672203015 I) , (-85.890426598686 - 30.827754261851 I) } , { (-39.435420350993 - 20.687932234176 I) , (-132.74935751632 - 58.607579693628 I) , (-183.63057392827 - 82.382725361235 I) } , { (-86.083092699343 - 37.625014293012 I) , (-183.53424087794 - 78.984095345655 I) , (-275.37361110465 - 121.02511553017 I) } }