<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://www.quanty.org/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://www.quanty.org/feed.php">
        <title>Quanty - documentation:language_reference:objects:responsefunction:operations</title>
        <description></description>
        <link>https://www.quanty.org/</link>
        <image rdf:resource="https://www.quanty.org/_media/wiki/dokuwiki.svg" />
       <dc:date>2026-04-30T18:07:08+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://www.quanty.org/documentation/language_reference/objects/responsefunction/operations/add?rev=1763608825&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.quanty.org/documentation/language_reference/objects/responsefunction/operations/div?rev=1763608825&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.quanty.org/documentation/language_reference/objects/responsefunction/operations/eq?rev=1763608826&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.quanty.org/documentation/language_reference/objects/responsefunction/operations/len?rev=1763608825&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.quanty.org/documentation/language_reference/objects/responsefunction/operations/mul?rev=1763608827&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.quanty.org/documentation/language_reference/objects/responsefunction/operations/start?rev=1763608826&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.quanty.org/documentation/language_reference/objects/responsefunction/operations/sub?rev=1763608826&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://www.quanty.org/_media/wiki/dokuwiki.svg">
        <title>Quanty</title>
        <link>https://www.quanty.org/</link>
        <url>https://www.quanty.org/_media/wiki/dokuwiki.svg</url>
    </image>
    <item rdf:about="https://www.quanty.org/documentation/language_reference/objects/responsefunction/operations/add?rev=1763608825&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-20T03:20:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Add</title>
        <link>https://www.quanty.org/documentation/language_reference/objects/responsefunction/operations/add?rev=1763608825&amp;do=diff</link>
        <description>Add
Response functions can be summed using “+”
Example


a1 = {0, -1,-0.5, 0  }
b1 = {  0.1, 0.1, 0.1}
G1 = ResponseFunction.New( {a1,b1,mu=0,type=&quot;ListOfPoles&quot;, name=&quot;G1&quot;} )

a2 = {0, 0.5,  1,  1.5}
b2 = {   0.1, 0.1, 0.1}
G2 = ResponseFunction.New( {a2,b2,mu=0,type=&quot;ListOfPoles&quot;, name=&quot;G2&quot;} )

G = G1 + G2

print(&quot;The response function of G is&quot;)
print(G)
omega = 1.1
Gamma = 0.001
print()
print(&quot;Evaluated at omega =&quot;,omega,&quot; and Gamma =&quot;,Gamma,&quot; yields\nG (&quot;,G(omega,Gamma),&quot;) = G1 (&quot;,G1(omega,Ga…</description>
    </item>
    <item rdf:about="https://www.quanty.org/documentation/language_reference/objects/responsefunction/operations/div?rev=1763608825&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-20T03:20:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Div</title>
        <link>https://www.quanty.org/documentation/language_reference/objects/responsefunction/operations/div?rev=1763608825&amp;do=diff</link>
        <description>Div
We can divide a response function by a double and scale the size of the response function, i.e. when $G2 = G1/2)$ then $G2(\omega,\Gamma) = (G1(\omega,\Gamma))/2$. For example
Input


a = {0, -1,-0.5, 0,   0.5,   1, 1.5}
b = {  0.2, 0.4, 0.2, 0.4, 0.6, 0.2}
G = ResponseFunction.New( {a,b,mu=0,type=&quot;ListOfPoles&quot;, name=&quot;G&quot;} )

print(G/2)

responsefunction index</description>
    </item>
    <item rdf:about="https://www.quanty.org/documentation/language_reference/objects/responsefunction/operations/eq?rev=1763608826&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-20T03:20:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Eq</title>
        <link>https://www.quanty.org/documentation/language_reference/objects/responsefunction/operations/eq?rev=1763608826&amp;do=diff</link>
        <description>Eq
You can compare two response functions. Two response functions $G1(\omega,\Gamma)$ and $G2(\omega,\Gamma)$ are considered to be equal when $|G1(\omega,\Gamma) - G2(\omega,\Gamma)| &lt; \epsilon$ for $\epsilon=10^{-11}$ at all values of $\omega$ and $\Gamma = \omega/10$. 
For example

Input


a1 = {0, -1,-0.5, 0,   0.5,   1, 1.5}
b1 = {  0.2, 0.4, 0.2, 0.4, 0.6, 0.2}
G1 = ResponseFunction.New( {a1,b1,mu=0,type=&quot;ListOfPoles&quot;, name=&quot;G1&quot;} )

a2 = {0, -1,-0.5, 0,   0.5,   1, 1.5}
b2 = {  0.2, 0.4, 0.…</description>
    </item>
    <item rdf:about="https://www.quanty.org/documentation/language_reference/objects/responsefunction/operations/len?rev=1763608825&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-20T03:20:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Len</title>
        <link>https://www.quanty.org/documentation/language_reference/objects/responsefunction/operations/len?rev=1763608825&amp;do=diff</link>
        <description>Len
The length operator “#” returns the length of the table if the response function would have been transformed to a table. Note that the length for response functions in Tri-diagonal, Anderson, or ListOfPoles format is 2, for Natural impurity format the length is 1.responsefunction index</description>
    </item>
    <item rdf:about="https://www.quanty.org/documentation/language_reference/objects/responsefunction/operations/mul?rev=1763608827&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-20T03:20:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Mul</title>
        <link>https://www.quanty.org/documentation/language_reference/objects/responsefunction/operations/mul?rev=1763608827&amp;do=diff</link>
        <description>Mul
We can divide a response function by a double and scale the size of the response function, i.e. when $G2 = G1*0.5)$ then $G2(\omega,\Gamma) = (G1(\omega,\Gamma))*0.5$. For example
Input


a = {0, -1,-0.5, 0,   0.5,   1, 1.5}
b = {  0.2, 0.4, 0.2, 0.4, 0.6, 0.2}
G = ResponseFunction.New( {a,b,mu=0,type=&quot;ListOfPoles&quot;, name=&quot;G&quot;} )

print(G*0.5)

responsefunction index</description>
    </item>
    <item rdf:about="https://www.quanty.org/documentation/language_reference/objects/responsefunction/operations/start?rev=1763608826&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-20T03:20:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Operations</title>
        <link>https://www.quanty.org/documentation/language_reference/objects/responsefunction/operations/start?rev=1763608826&amp;do=diff</link>
        <description>Operations
Quanty defines several operations like plus, minus, times,  etc. Here you can find a list of the implemented operations
Table of contents
operations index</description>
    </item>
    <item rdf:about="https://www.quanty.org/documentation/language_reference/objects/responsefunction/operations/sub?rev=1763608826&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-20T03:20:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sub</title>
        <link>https://www.quanty.org/documentation/language_reference/objects/responsefunction/operations/sub?rev=1763608826&amp;do=diff</link>
        <description>Sub
We can subtract two response functions from each other. Note that the residue of a pole always needs to be positive. For $G = G_1 - G_2$ we start by setting $G=G_1$. For each pole in $G_2$ we look for the poles in $G_1$ at the same energy (a's). If this is present we subtract the residue of $G_2$$G$$G_2$$G_1$$G_2$$G_1$$G_2$$G_1$$G_2$$-0.5$$-1$$0$$G_1$$0.2/2=0.1$$G_2$$5.75$$5$$6$$G_1$$0.2 * (5.75 - 5) / (6-5) = 0.15$$6$$G_1$$0.2 * (6 - 5.75) / (6-5) = 0.05$$5$$G_1$responsefunction index</description>
    </item>
</rdf:RDF>
