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) } }

Table of contents

Print/export