ResponseFunction.New(Table) creates a new response function object according to the values in Table. Response functions can be of 4 different types (ListOfPoles, Tri, And, or Nat) and single-valued or matrix-valued. Below 8 examples for creating each of these response functions by hand at some arbitrary values.
Response functions stored as list of poles are defined via $$ G(\omega,\Gamma) = A_0 + \sum_{i=1}^{n} B_{i-1} \frac{1}{\omega + \mathrm{i}\Gamma/2 - a_i} $$
a = {10, -1,-0.5, 0, 0.5, 1, 1.5} b = { 0.1, 0.1, 0.1, 0.1, 0.2, 0.3} G = ResponseFunction.New( {a,b,mu=0,type="ListOfPoles", name="A"} ) print("The resposne function definition is") print(G) omega = 1.1 Gamma = 0.001 print() print("Evaluated at omega =",omega," and Gamma =",Gamma," yields ",G(omega,Gamma))
Generates the output
{ { 10 , -1 , -0.5 , 0 , 0.5 , 1 , 1.5 } , { 0.1 , 0.1 , 0.1 , 0.1 , 0.2 , 0.3 } , mu = 0 , name = A , type = ListOfPoles } Evaluated at omega = 1.1 and Gamma = 0.001 yields (11.617645834991 - 0.011148328755289 I)