{"id":440,"date":"2014-02-21T14:38:54","date_gmt":"2014-02-21T13:38:54","guid":{"rendered":"http:\/\/numbercrunch.de\/blog\/?p=440"},"modified":"2023-01-18T23:25:41","modified_gmt":"2023-01-18T22:25:41","slug":"eigenvalues-and-eigenfunctions","status":"publish","type":"post","link":"https:\/\/www.numbercrunch.de\/blog\/2014\/02\/eigenvalues-and-eigenfunctions\/","title":{"rendered":"Eigenvalues and eigenfunctions"},"content":{"rendered":"<p style=\"text-align: justify;\">Computing the eigenvectors $\\psi(x)$ and eigenvalues $E$ of some Hamiltonian $H$ belongs to the key problems of quantum mechanics. For the one-dimensional Schr\u00f6dinger equation we have to solve<br \/>\n\\begin{equation}<br \/>\nE\\psi(x) = H\\psi(x) = -\\frac{1}{2}\\frac{\\mathrm{d}^2\\psi(x)}{\\mathrm{d} x^2} + V(x)\\psi(x)<br \/>\n\\end{equation}for some given potential $V(x)$. Analytical solutions, however, are scare goods. Thus, one has to rely on approximations or numerical methods.<\/p>\n<p style=\"text-align: justify;\">In principle, numerical approaches are straight forward. Just replace the Hermitian Hamiltonian by some Hermitian matrix by discretizing the differential operators, e.g., by finite differences or pseudospectral methods. Then utilize the computational routines of your favorite computational linear algebra package to solve the eigenvalue problem. Often\u00a0 these packages are equipped with special routines that can take advantage of\u00a0hermiticity. Below I give an example, which calculates the eigenvalues and the eigenvectors of the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Quantum_harmonic_oscillator\">harmonic oscillator<\/a> with $V(x)=x^2\/2$ in Python. Differentials are approximated via 2nd order finite differences. Numerical results for the discrete Hamiltonian matrix are compared to the known eigenvalues and eigenvectors. One clearly sees that the small eigenvalues are well reproduced. The discrete Hamiltonian features, however, also large eigenvalues and eigenstates which are very different from the eigenvalues and eigenvectors of the related contiguous problem.<\/p>\n<p style=\"text-align: justify;\">Our naive approach works reasonably well. It has, however, a serious drawback. It becomes computationally very demanding as soon as one tries to tackle two- or three-dimensional problems because the matrices become easily very large. So large that one can not compute its eigenvalues and eigenvectors in a reasonable amount of time. Even worse, the matrices may become so large that they no longer fit in the computers main memory. Fortunately, one is usually not interested in all eigenvalues, knowing some, e.g., a few of the smallest ones, might be sufficient. In this case the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Lanczos_algorithm\">Lanczos algorithm<\/a> is often the method of choice. This algorithm basically constructs from the original large Hermitian matrix a smaller tridiagonal symmetric matrix that has eigenvalues that are close to some eigenvalues of the larger original matrix. A further nice feature of the Lanczos algorithm is that it does not require to store the matrix explicitly in memory, a routine that computes matrix-vector products of the matrix is sufficient.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">#!\/usr\/bin\/env python\n\n# import useful modules\nimport matplotlib \nfrom math import factorial\nfrom numpy import *\nfrom pylab import *\nfrom numpy.polynomial.hermite import *\n\n# use LaTeX, choose nice some looking fonts and tweak some settings\nmatplotlib.rc('font', family='serif')\nmatplotlib.rc('font', size=16)\nmatplotlib.rc('legend', fontsize=16)\nmatplotlib.rc('legend', numpoints=1)\nmatplotlib.rc('legend', handlelength=1.5)\nmatplotlib.rc('legend', frameon=False)\nmatplotlib.rc('xtick.major', pad=7)\nmatplotlib.rc('xtick.minor', pad=7)\nmatplotlib.rc('lines', lw=1.5)\nmatplotlib.rc('text', usetex=True)\nmatplotlib.rc('text.latex', \n              preamble=[r'\\usepackage[T1]{fontenc}',\n                        r'\\usepackage{amsmath}',\n                        r'\\usepackage{txfonts}',\n                        r'\\usepackage{textcomp}'])\n\ndef V(x):\n    return 0.5*x**2\n\nclose('all')\nfigure(figsize=(6, 4.5))\n\n# define grid\nN=512                   # number of grid points\nx0, x1=-10., 10.        # grid boundaries\ndx=(x1-x0)\/(N-1)        # grid spacing\nx=linspace(x0, x1, N)   # grid points\n# setup Hamiltonian\nH_kin=zeros([N, N])\nfor k in range(0, N):\n    if k&gt;0:\n        H_kin[k-1, k]=-0.5\/dx**2\n    H_kin[k, k]=1.\/dx**2\n    if k+1&lt;N:\n        H_kin[k+1, k]=-0.5\/dx**2\nH_pot=diag(V(x))\nH=H_kin+H_pot\n# compute eigenvalues\nE=eigvalsh(H)\n# plot first eigenvalues\nn=100\nplot(array(range(0, n)), array(range(0, n))+0.5, 'rx', mew=1.25, ms=8, \n     label='harmonic oscillator eigenvalues')\nplot(array(range(0, n)), sort(E)[0:n], '.', mew=1.25, ms=8, mfc='none', mec='b',\n     label='eigenvalues of the finite differences Hamiltonian')\nxlabel('index')\nylabel('energy')\nlegend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,\n       borderaxespad=0.)\ngca().set_position((0.15, 0.15, 0.8, 0.625))\nshow()\nsavefig('eigenvalues.png')\n\n# compute eigenvectors\nE, psi_E=eigh(H)\n# plot some eigenvectors\nclf()\nfor n in [0, 1, 2, 20]:\n    c=zeros(n+1)\n    c[n]=1\n    plot(x, psi_E[:, n]\/sqrt(dx), \n         label='$n=%i$' % n)\nlegend(ncol=2)\nxlabel(r'$x$')\nylabel(r'$\\Psi_n(x)$')\ngca().set_ylim(-0.8, 1.2)\ngca().set_position((0.15, 0.15, 0.8, 0.75))\nshow()\nsavefig('eigenvectors.png')\n\n# plot error of some eigenvectors\nclf()\nfor n in [0, 1, 2, 20]:\n    c=zeros(n+1)\n    c[n]=1\n    plot(x, \n         (psi_E[:, n]\/sqrt(dx))**2 -\n         (hermval(x, c)*exp(-0.5*x**2)\/sqrt(sqrt(pi)*2**n*factorial(n)))**2, \n         label='$n=%i$' % n)\nlegend(ncol=2)\nxlabel(r'$x$')\nylabel(r'$|\\Psi_n(x)|^2-|\\Psi_{n,\\mathrm{exact}}(x)|^2$')\ngca().set_ylim(-0.004, 0.006)\ngca().set_position((0.2, 0.15, 0.75, 0.75))\nshow()\nsavefig('eigenvectors_error.png')<\/pre>\n<figure id=\"attachment_452\" aria-describedby=\"caption-attachment-452\" style=\"width: 480px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/numbercrunch.de\/blog\/wp-content\/uploads\/2014\/02\/eigenvalues.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-452\" src=\"\/\/numbercrunch.de\/blog\/wp-content\/uploads\/2014\/02\/eigenvalues.png\" alt=\"Eigenvalues of the harmonic oscillator, numerical approximations versus analytical values.\" width=\"480\" height=\"362\" srcset=\"https:\/\/www.numbercrunch.de\/blog\/wp-content\/uploads\/2014\/02\/eigenvalues.png 480w, https:\/\/www.numbercrunch.de\/blog\/wp-content\/uploads\/2014\/02\/eigenvalues-300x226.png 300w\" sizes=\"(max-width: 480px) 100vw, 480px\" \/><\/a><figcaption id=\"caption-attachment-452\" class=\"wp-caption-text\">Eigenvalues of the harmonic oscillator, numerical approximations versus analytical values.<\/figcaption><\/figure>\n<figure id=\"attachment_454\" aria-describedby=\"caption-attachment-454\" style=\"width: 480px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/numbercrunch.de\/blog\/wp-content\/uploads\/2014\/02\/eigenvectors.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-454\" src=\"\/\/numbercrunch.de\/blog\/wp-content\/uploads\/2014\/02\/eigenvectors.png\" alt=\"Some eigenvectors of the harmonic oscillator.\" width=\"480\" height=\"362\" srcset=\"https:\/\/www.numbercrunch.de\/blog\/wp-content\/uploads\/2014\/02\/eigenvectors.png 480w, https:\/\/www.numbercrunch.de\/blog\/wp-content\/uploads\/2014\/02\/eigenvectors-300x226.png 300w\" sizes=\"(max-width: 480px) 100vw, 480px\" \/><\/a><figcaption id=\"caption-attachment-454\" class=\"wp-caption-text\">Some eigenvectors of the harmonic oszillator.<\/figcaption><\/figure>\n<figure id=\"attachment_453\" aria-describedby=\"caption-attachment-453\" style=\"width: 480px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/numbercrunch.de\/blog\/wp-content\/uploads\/2014\/02\/eigenvectors_error.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-453\" src=\"\/\/numbercrunch.de\/blog\/wp-content\/uploads\/2014\/02\/eigenvectors_error.png\" alt=\"Errors of the squared absolute value of some eigenvectors of the harmonic oszilator.\" width=\"480\" height=\"362\" srcset=\"https:\/\/www.numbercrunch.de\/blog\/wp-content\/uploads\/2014\/02\/eigenvectors_error.png 480w, https:\/\/www.numbercrunch.de\/blog\/wp-content\/uploads\/2014\/02\/eigenvectors_error-300x226.png 300w\" sizes=\"(max-width: 480px) 100vw, 480px\" \/><\/a><figcaption id=\"caption-attachment-453\" class=\"wp-caption-text\">Errors of the squared absolute value of some eigenvectors of the harmonic oszillator.<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Computing the eigenvectors $\\psi(x)$ and eigenvalues $E$ of some Hamiltonian $H$ belongs to the key problems of quantum mechanics. For the one-dimensional Schr\u00f6dinger equation we have to solve \\begin{equation} E\\psi(x) = H\\psi(x) = -\\frac{1}{2}\\frac{\\mathrm{d}^2\\psi(x)}{\\mathrm{d} x^2} + V(x)\\psi(x) \\end{equation}for some given potential $V(x)$. Analytical solutions, however, are scare goods. Thus, one has to rely on approximations&hellip; <a href=\"https:\/\/www.numbercrunch.de\/blog\/2014\/02\/eigenvalues-and-eigenfunctions\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Eigenvalues and eigenfunctions<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15,11],"tags":[],"class_list":["post-440","post","type-post","status-publish","format-standard","hentry","category-numerical-methods","category-python"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Eigenvalues and eigenfunctions - Number Crunch<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.numbercrunch.de\/blog\/2014\/02\/eigenvalues-and-eigenfunctions\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Eigenvalues and eigenfunctions - Number Crunch\" \/>\n<meta property=\"og:description\" content=\"Computing the eigenvectors $psi(x)$ and eigenvalues $E$ of some Hamiltonian $H$ belongs to the key problems of quantum mechanics. For the one-dimensional Schr\u00f6dinger equation we have to solve begin{equation} Epsi(x) = Hpsi(x) = -frac{1}{2}frac{mathrm{d}^2psi(x)}{mathrm{d} x^2} + V(x)psi(x) end{equation}for some given potential $V(x)$. Analytical solutions, however, are scare goods. Thus, one has to rely on approximations&hellip; Continue reading Eigenvalues and eigenfunctions\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.numbercrunch.de\/blog\/2014\/02\/eigenvalues-and-eigenfunctions\/\" \/>\n<meta property=\"og:site_name\" content=\"Number Crunch\" \/>\n<meta property=\"article:published_time\" content=\"2014-02-21T13:38:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-01-18T22:25:41+00:00\" \/>\n<meta name=\"author\" content=\"Heiko Bauke\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Heiko Bauke\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.numbercrunch.de\/blog\/2014\/02\/eigenvalues-and-eigenfunctions\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.numbercrunch.de\/blog\/2014\/02\/eigenvalues-and-eigenfunctions\/\"},\"author\":{\"name\":\"Heiko Bauke\",\"@id\":\"https:\/\/www.numbercrunch.de\/blog\/#\/schema\/person\/e73eab65b1721dd0c3d408edb887e413\"},\"headline\":\"Eigenvalues and eigenfunctions\",\"datePublished\":\"2014-02-21T13:38:54+00:00\",\"dateModified\":\"2023-01-18T22:25:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.numbercrunch.de\/blog\/2014\/02\/eigenvalues-and-eigenfunctions\/\"},\"wordCount\":433,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.numbercrunch.de\/blog\/#\/schema\/person\/e73eab65b1721dd0c3d408edb887e413\"},\"articleSection\":[\"numerical methods\",\"Python\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.numbercrunch.de\/blog\/2014\/02\/eigenvalues-and-eigenfunctions\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.numbercrunch.de\/blog\/2014\/02\/eigenvalues-and-eigenfunctions\/\",\"url\":\"https:\/\/www.numbercrunch.de\/blog\/2014\/02\/eigenvalues-and-eigenfunctions\/\",\"name\":\"Eigenvalues and eigenfunctions - Number Crunch\",\"isPartOf\":{\"@id\":\"https:\/\/www.numbercrunch.de\/blog\/#website\"},\"datePublished\":\"2014-02-21T13:38:54+00:00\",\"dateModified\":\"2023-01-18T22:25:41+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.numbercrunch.de\/blog\/2014\/02\/eigenvalues-and-eigenfunctions\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.numbercrunch.de\/blog\/2014\/02\/eigenvalues-and-eigenfunctions\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.numbercrunch.de\/blog\/2014\/02\/eigenvalues-and-eigenfunctions\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.numbercrunch.de\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Eigenvalues and eigenfunctions\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.numbercrunch.de\/blog\/#website\",\"url\":\"https:\/\/www.numbercrunch.de\/blog\/\",\"name\":\"Number Crunch\",\"description\":\"A computational science blog.\",\"publisher\":{\"@id\":\"https:\/\/www.numbercrunch.de\/blog\/#\/schema\/person\/e73eab65b1721dd0c3d408edb887e413\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.numbercrunch.de\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.numbercrunch.de\/blog\/#\/schema\/person\/e73eab65b1721dd0c3d408edb887e413\",\"name\":\"Heiko Bauke\",\"logo\":{\"@id\":\"https:\/\/www.numbercrunch.de\/blog\/#\/schema\/person\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Eigenvalues and eigenfunctions - Number Crunch","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.numbercrunch.de\/blog\/2014\/02\/eigenvalues-and-eigenfunctions\/","og_locale":"en_US","og_type":"article","og_title":"Eigenvalues and eigenfunctions - Number Crunch","og_description":"Computing the eigenvectors $psi(x)$ and eigenvalues $E$ of some Hamiltonian $H$ belongs to the key problems of quantum mechanics. For the one-dimensional Schr\u00f6dinger equation we have to solve begin{equation} Epsi(x) = Hpsi(x) = -frac{1}{2}frac{mathrm{d}^2psi(x)}{mathrm{d} x^2} + V(x)psi(x) end{equation}for some given potential $V(x)$. Analytical solutions, however, are scare goods. Thus, one has to rely on approximations&hellip; Continue reading Eigenvalues and eigenfunctions","og_url":"https:\/\/www.numbercrunch.de\/blog\/2014\/02\/eigenvalues-and-eigenfunctions\/","og_site_name":"Number Crunch","article_published_time":"2014-02-21T13:38:54+00:00","article_modified_time":"2023-01-18T22:25:41+00:00","author":"Heiko Bauke","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Heiko Bauke","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.numbercrunch.de\/blog\/2014\/02\/eigenvalues-and-eigenfunctions\/#article","isPartOf":{"@id":"https:\/\/www.numbercrunch.de\/blog\/2014\/02\/eigenvalues-and-eigenfunctions\/"},"author":{"name":"Heiko Bauke","@id":"https:\/\/www.numbercrunch.de\/blog\/#\/schema\/person\/e73eab65b1721dd0c3d408edb887e413"},"headline":"Eigenvalues and eigenfunctions","datePublished":"2014-02-21T13:38:54+00:00","dateModified":"2023-01-18T22:25:41+00:00","mainEntityOfPage":{"@id":"https:\/\/www.numbercrunch.de\/blog\/2014\/02\/eigenvalues-and-eigenfunctions\/"},"wordCount":433,"commentCount":0,"publisher":{"@id":"https:\/\/www.numbercrunch.de\/blog\/#\/schema\/person\/e73eab65b1721dd0c3d408edb887e413"},"articleSection":["numerical methods","Python"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.numbercrunch.de\/blog\/2014\/02\/eigenvalues-and-eigenfunctions\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.numbercrunch.de\/blog\/2014\/02\/eigenvalues-and-eigenfunctions\/","url":"https:\/\/www.numbercrunch.de\/blog\/2014\/02\/eigenvalues-and-eigenfunctions\/","name":"Eigenvalues and eigenfunctions - Number Crunch","isPartOf":{"@id":"https:\/\/www.numbercrunch.de\/blog\/#website"},"datePublished":"2014-02-21T13:38:54+00:00","dateModified":"2023-01-18T22:25:41+00:00","breadcrumb":{"@id":"https:\/\/www.numbercrunch.de\/blog\/2014\/02\/eigenvalues-and-eigenfunctions\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.numbercrunch.de\/blog\/2014\/02\/eigenvalues-and-eigenfunctions\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.numbercrunch.de\/blog\/2014\/02\/eigenvalues-and-eigenfunctions\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.numbercrunch.de\/blog\/"},{"@type":"ListItem","position":2,"name":"Eigenvalues and eigenfunctions"}]},{"@type":"WebSite","@id":"https:\/\/www.numbercrunch.de\/blog\/#website","url":"https:\/\/www.numbercrunch.de\/blog\/","name":"Number Crunch","description":"A computational science blog.","publisher":{"@id":"https:\/\/www.numbercrunch.de\/blog\/#\/schema\/person\/e73eab65b1721dd0c3d408edb887e413"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.numbercrunch.de\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.numbercrunch.de\/blog\/#\/schema\/person\/e73eab65b1721dd0c3d408edb887e413","name":"Heiko Bauke","logo":{"@id":"https:\/\/www.numbercrunch.de\/blog\/#\/schema\/person\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.numbercrunch.de\/blog\/wp-json\/wp\/v2\/posts\/440"}],"collection":[{"href":"https:\/\/www.numbercrunch.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.numbercrunch.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.numbercrunch.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.numbercrunch.de\/blog\/wp-json\/wp\/v2\/comments?post=440"}],"version-history":[{"count":22,"href":"https:\/\/www.numbercrunch.de\/blog\/wp-json\/wp\/v2\/posts\/440\/revisions"}],"predecessor-version":[{"id":993,"href":"https:\/\/www.numbercrunch.de\/blog\/wp-json\/wp\/v2\/posts\/440\/revisions\/993"}],"wp:attachment":[{"href":"https:\/\/www.numbercrunch.de\/blog\/wp-json\/wp\/v2\/media?parent=440"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.numbercrunch.de\/blog\/wp-json\/wp\/v2\/categories?post=440"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.numbercrunch.de\/blog\/wp-json\/wp\/v2\/tags?post=440"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}