Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
documentation:language_reference:objects:responsefunction:start [2024/12/17 19:34] – Maurits W. Haverkort | documentation:language_reference:objects:responsefunction:start [2024/12/20 17:07] (current) – Maurits W. Haverkort | ||
---|---|---|---|
Line 1: | Line 1: | ||
{{indexmenu_n> | {{indexmenu_n> | ||
====== Response function ====== | ====== Response function ====== | ||
+ | |||
+ | ### | ||
The ResponseFunction object in Quanty defines (linear) response functions. For Hamiltonian H, ground-state |ψ0⟩ and a list of transition operators Ti with i∈[1,n] we define the response function G(ω,Γ) as giving an n by n matrix for each value of ω and Γ. The elements of this matrix are given as | The ResponseFunction object in Quanty defines (linear) response functions. For Hamiltonian H, ground-state |ψ0⟩ and a list of transition operators Ti with i∈[1,n] we define the response function G(ω,Γ) as giving an n by n matrix for each value of ω and Γ. The elements of this matrix are given as | ||
Line 8: | Line 10: | ||
with E0=⟨ψ0|H|ψ0⟩. One can calculate response functions using the Quanty function [[documentation: | with E0=⟨ψ0|H|ψ0⟩. One can calculate response functions using the Quanty function [[documentation: | ||
- | ResponseFunctions are objects that can be evaluated at any frequency or imaginary | + | ### |
+ | |||
+ | |||
+ | ### | ||
+ | |||
+ | ResponseFunctions are objects that can be evaluated at any frequency or imaginary | ||
<code Quanty Example.Quanty> | <code Quanty Example.Quanty> | ||
H = Matrix.ToOperator( Matrix.Diagonal({1, | H = Matrix.ToOperator( Matrix.Diagonal({1, | ||
Line 26: | Line 33: | ||
</ | </ | ||
i.e. the value of the response function for the first transition operator defined at ω=1.1 and Γ=0.01. | i.e. the value of the response function for the first transition operator defined at ω=1.1 and Γ=0.01. | ||
+ | |||
+ | ### | ||
+ | |||
+ | ### | ||
Besides single complex valued functions we can generate a response function that returns a matrix for each value of ω. For example | Besides single complex valued functions we can generate a response function that returns a matrix for each value of ω. For example | ||
Line 49: | Line 60: | ||
</ | </ | ||
i.e. a 5 by 5 matrix with matrix elements Gi,j(ω,γ). (In this case the response function is diagonal as the Hamiltonian is diagonal. In general all elements can be non-zero.) | i.e. a 5 by 5 matrix with matrix elements Gi,j(ω,γ). (In this case the response function is diagonal as the Hamiltonian is diagonal. In general all elements can be non-zero.) | ||
+ | |||
+ | ### | ||
+ | |||
+ | ### | ||
Response functions can be added, subtracted, scaled and many other functions are available to modify them. Response functions can be used to calculate self energies of systems and used for diagrammatic expansions of problems otherwise to involved to solve. | Response functions can be added, subtracted, scaled and many other functions are available to modify them. Response functions can be used to calculate self energies of systems and used for diagrammatic expansions of problems otherwise to involved to solve. | ||
+ | |||
+ | ### | ||
+ | |||
+ | ### | ||
Internally response functions can be stored in different formats. We need several formats as (1) transformations between the different formats take time (2) transformations between different formats can involve a loss of numerical accuracy and (3) different algorithms require the response function in different formats. The formats used in Quanty to store response functions are | Internally response functions can be stored in different formats. We need several formats as (1) transformations between the different formats take time (2) transformations between different formats can involve a loss of numerical accuracy and (3) different algorithms require the response function in different formats. The formats used in Quanty to store response functions are | ||
Line 56: | Line 75: | ||
- Tri-diagonal G(ω,Γ)=A0+B∗01ω+iΓ/2−A1−B†11ω+iΓ/2−A2−B†21ω+iΓ/2−A2−B†3...ω+iΓ/2−An−1−B†n−11ω+iΓ/2−AnB†n−1B†3B†2B†1BT0 | - Tri-diagonal G(ω,Γ)=A0+B∗01ω+iΓ/2−A1−B†11ω+iΓ/2−A2−B†21ω+iΓ/2−A2−B†3...ω+iΓ/2−An−1−B†n−11ω+iΓ/2−AnB†n−1B†3B†2B†1BT0 | ||
- Anderson G(ω,Γ)=A0+B∗01ω+iΓ/2−A1−∑ni=2B†i−11ω+iΓ/2−AiB†i−1BT0 | - Anderson G(ω,Γ)=A0+B∗01ω+iΓ/2−A1−∑ni=2B†i−11ω+iΓ/2−AiB†i−1BT0 | ||
- | - Natural Impurity. We define Gval(ω,Γ) and Gcon(ω,Γ) as response functions | + | - Natural Impurity. We define Gval(ω,Γ) and Gcon(ω,Γ) as response functions with poles either at positive energy (Gcon(ω,Γ)) or poles at negative energy (Gval(ω,Γ)). The full response function is defined as $$ G(\omega, |
+ | |||
+ | ### | ||
+ | |||
+ | ### | ||
+ | |||
Whereby capital letters Ai and Bi refer to matrices equal to the dimension of G(ω,Γ) and small letters ai refer to numbers. | Whereby capital letters Ai and Bi refer to matrices equal to the dimension of G(ω,Γ) and small letters ai refer to numbers. | ||
+ | ### | ||
+ | |||
+ | ### | ||
+ | |||
+ | |||
+ | Below you find several functions, methods, properties and operations related to response functions. | ||
+ | |||
+ | Response functions can be stored internally as Lua tables with a metatable set to ResponseFunctionMeta, | ||
+ | ### | ||
===== Table of contents ===== | ===== Table of contents ===== | ||
{{indexmenu> | {{indexmenu> | ||