{"id":4061,"date":"2023-11-04T23:14:02","date_gmt":"2023-11-04T23:14:02","guid":{"rendered":"http:\/\/localhost:10003\/how-to-use-scipy-for-scientific-computing-in-python\/"},"modified":"2023-11-05T05:48:02","modified_gmt":"2023-11-05T05:48:02","slug":"how-to-use-scipy-for-scientific-computing-in-python","status":"publish","type":"post","link":"http:\/\/localhost:10003\/how-to-use-scipy-for-scientific-computing-in-python\/","title":{"rendered":"How to Use SciPy for Scientific Computing in Python"},"content":{"rendered":"

Introduction<\/h2>\n

Scientific computing is an essential aspect of many scientific and engineering disciplines. It involves the use of computers and algorithms to solve complex mathematical problems, perform data analysis, and simulate real-world systems. Python is a popular language for scientific computing due to its simplicity, versatility, and an extensive ecosystem of libraries.<\/p>\n

SciPy is a powerful library in Python that builds on NumPy, another essential library for numerical computing. It provides many efficient and user-friendly functions for numerical integration, optimization, interpolation, linear algebra, and more. In this tutorial, we will explore the different capabilities of SciPy for scientific computing.<\/p>\n

Installation<\/h2>\n

Before we begin, ensure that you have Python and pip installed on your system. You can install SciPy by running the following command in your terminal:<\/p>\n

pip install scipy\n<\/code><\/pre>\n

Once the installation is complete, you are ready to use SciPy in your Python programs.<\/p>\n

Array Manipulation<\/h2>\n

The first aspect of SciPy we will explore is array manipulation. Array manipulation refers to operations that modify the shape, size, or content of arrays. NumPy provides a powerful foundation for array manipulation, and SciPy extends it with additional functionality.<\/p>\n

To begin, import the numpy<\/code> and scipy<\/code> libraries:<\/p>\n

import numpy as np\nfrom scipy import *\n<\/code><\/pre>\n

Reshaping Arrays<\/h3>\n

You can reshape arrays in SciPy using the reshape()<\/code> function. The reshape()<\/code> function allows you to change the shape of an array while maintaining the same data.<\/p>\n

a = np.array([[1, 2, 3], [4, 5, 6]])\nb = np.reshape(a, (3, 2))\nprint(b)\n<\/code><\/pre>\n

Output:<\/p>\n

array([[1, 2],\n       [3, 4],\n       [5, 6]])\n<\/code><\/pre>\n

Flattening Arrays<\/h3>\n

Flattening an array means converting a multi-dimensional array into a one-dimensional array. You can use the flatten()<\/code> function in SciPy to achieve this.<\/p>\n

a = np.array([[1, 2], [3, 4]])\nb = np.flatten(a)\nprint(b)\n<\/code><\/pre>\n

Output:<\/p>\n

array([1, 2, 3, 4])\n<\/code><\/pre>\n

Stacking Arrays<\/h3>\n

Stacking arrays involves combining multiple arrays into a single array. SciPy provides the hstack()<\/code>, vstack()<\/code>, and dstack()<\/code> functions to stack arrays horizontally, vertically, and depth-wise, respectively.<\/p>\n

a = np.array([1, 2, 3])\nb = np.array([4, 5, 6])\nc = np.hstack((a, b))\nprint(c)\n\nd = np.vstack((a, b))\nprint(d)\n\ne = np.dstack((a, b))\nprint(e)\n<\/code><\/pre>\n

Output:<\/p>\n

[1 2 3 4 5 6]\n\n[[1 2 3]\n [4 5 6]]\n\n[[[1 4]\n  [2 5]\n  [3 6]]]\n<\/code><\/pre>\n

Numerical Integration<\/h2>\n

Numerical integration involves approximating the definite integral of a function numerically. SciPy provides various functions for numerical integration, including quad()<\/code>, dblquad()<\/code>, and tplquad()<\/code>.<\/p>\n

The quad()<\/code> function performs a one-dimensional integration using adaptive quadrature methods.<\/p>\n

from scipy import integrate\n\nresult, error = integrate.quad(lambda x: np.exp(-x), 0, np.inf)\nprint(result)\n<\/code><\/pre>\n

Output:<\/p>\n

1.0000000000000002\n<\/code><\/pre>\n

The dblquad()<\/code> and tplquad()<\/code> functions perform double and triple integration, respectively.<\/p>\n

result, error = integrate.dblquad(lambda x, y: x * y, 0, 1, lambda x: 0, lambda x: 2)\nprint(result)\n<\/code><\/pre>\n

Output:<\/p>\n

0.5\n<\/code><\/pre>\n

Optimization<\/h2>\n

Optimization is the process of finding the best solution for a given problem. SciPy provides a range of optimization algorithms for both constrained and unconstrained optimization problems.<\/p>\n

To optimize a function using SciPy, you need to define a target function and pass it to an optimization algorithm.<\/p>\n

Unconstrained Optimization<\/h3>\n

Unconstrained optimization involves finding the minimum or maximum of a function without any constraints.<\/p>\n

from scipy import optimize\n\nresult = optimize.minimize_scalar(lambda x: x ** 2, bounds=(-10, 10))\nprint(result)\n<\/code><\/pre>\n

Output:<\/p>\n

     fun: 0.0\n    nfev: 6\n     nit: 5\n success: True\n       x: 0.0\n<\/code><\/pre>\n

Constrained Optimization<\/h3>\n

Constrained optimization involves finding the minimum or maximum of a function subject to constraints. SciPy provides several algorithms for constrained optimization, such as minimize()<\/code> and fmin_slsqp()<\/code>.<\/p>\n

def objective(x):\n    return x[0] ** 2 + x[1] ** 2\n\ndef constraint(x):\n    return x[0] + x[1] - 1\n\nresult = optimize.minimize(objective, [0, 0], constraints={'type': 'eq', 'fun': constraint})\nprint(result)\n<\/code><\/pre>\n

Output:<\/p>\n

     fun: 0.5\n     jac: array([0.99999997, 0.99999997])\n message: 'Optimization terminated successfully.'\n    nfev: 32\n     nit: 8\n    njev: 8\n  status: 0\n success: True\n       x: array([0.49999999, 0.49999999])\n<\/code><\/pre>\n

Interpolation<\/h2>\n

Interpolation refers to the process of estimating the values between existing data points. SciPy provides several interpolation functions, including interp1d()<\/code>, interp2d()<\/code>, and griddata()<\/code>.<\/p>\n

from scipy.interpolate import interp1d\n\nx = np.linspace(0, 10, num=11, endpoint=True)\ny = np.cos(-x ** 2 \/ 9.0)\nf = interp1d(x, y)\nxnew = np.linspace(0, 10, num=101, endpoint=True)\nynew = f(xnew)\n\nimport matplotlib.pyplot as plt\n\nplt.plot(x, y, 'o', xnew, ynew, '-')\nplt.show()\n<\/code><\/pre>\n

In the example above, we create a set of data points (x, y)<\/code> and use the interp1d()<\/code> function to create a linear interpolation function. We then use this function to estimate the values at xnew<\/code>, and finally, plot the original data points and the interpolated function.<\/p>\n

Linear Algebra<\/h2>\n

Linear algebra is an essential branch of mathematics used in various fields, including computer science, physics, and engineering. SciPy provides several functions for linear algebra, such as matrix multiplication, eigenvalue decomposition, and solving linear equations.<\/p>\n

from scipy import linalg\n\na = np.array([[1, 2], [3, 4]])\nb = np.array([5, 6])\nx = linalg.solve(a, b)\nprint(x)\n<\/code><\/pre>\n

Output:<\/p>\n

[-4.   4.5]\n<\/code><\/pre>\n

The solve()<\/code> function in the linalg<\/code> module solves a linear system of equations, given the coefficient matrix a<\/code> and the right-hand side b<\/code>.<\/p>\n

Fourier Transforms<\/h2>\n

Fourier analysis is a mathematical technique used to analyze periodic functions by representing them as a sum of sine and cosine waves. The Fourier transform is a mathematical transform that converts a time-domain signal into a frequency-domain representation.<\/p>\n

SciPy provides functions for computing one-dimensional and multi-dimensional discrete Fourier transforms (DFT).<\/p>\n

from scipy.fftpack import fft\n\nx = np.array([1.0, 2.0, 1.0, -1.0, 1.5])\ny = fft(x)\nprint(y)\n<\/code><\/pre>\n

Output:<\/p>\n

[4.5 +0.j         0.25+0.36327126j -0.5 +0.j         0.25-0.36327126j\n 0.25+0.j        ]\n<\/code><\/pre>\n

The fft()<\/code> function computes the one-dimensional DFT of an array x<\/code>.<\/p>\n

Conclusion<\/h2>\n

In this tutorial, we explored the various capabilities of SciPy for scientific computing in Python. We covered array manipulation, numerical integration, optimization, interpolation, linear algebra, and Fourier transforms. SciPy provides a powerful and user-friendly interface for performing complex mathematical operations efficiently. With a little practice, you can leverage the power of SciPy to solve a wide range of scientific and engineering problems.<\/p>\n","protected":false},"excerpt":{"rendered":"

Introduction Scientific computing is an essential aspect of many scientific and engineering disciplines. It involves the use of computers and algorithms to solve complex mathematical problems, perform data analysis, and simulate real-world systems. Python is a popular language for scientific computing due to its simplicity, versatility, and an extensive ecosystem Continue Reading<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[193,155,41,1119,632,337,1118,1117],"yoast_head":"\nHow to Use SciPy for Scientific Computing in Python - Pantherax Blogs<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/localhost:10003\/how-to-use-scipy-for-scientific-computing-in-python\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Use SciPy for Scientific Computing in Python\" \/>\n<meta property=\"og:description\" content=\"Introduction Scientific computing is an essential aspect of many scientific and engineering disciplines. It involves the use of computers and algorithms to solve complex mathematical problems, perform data analysis, and simulate real-world systems. Python is a popular language for scientific computing due to its simplicity, versatility, and an extensive ecosystem Continue Reading\" \/>\n<meta property=\"og:url\" content=\"http:\/\/localhost:10003\/how-to-use-scipy-for-scientific-computing-in-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Pantherax Blogs\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-04T23:14:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-11-05T05:48:02+00:00\" \/>\n<meta name=\"author\" content=\"Panther\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Panther\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\n\t \"@context\": \"https:\/\/schema.org\",\n\t \"@graph\": [\n\t {\n\t \"@type\": \"Article\",\n\t \"@id\": \"http:\/\/localhost:10003\/how-to-use-scipy-for-scientific-computing-in-python\/#article\",\n\t \"isPartOf\": {\n\t \"@id\": \"http:\/\/localhost:10003\/how-to-use-scipy-for-scientific-computing-in-python\/\"\n\t },\n\t \"author\": {\n\t \"name\": \"Panther\",\n\t \"@id\": \"http:\/\/localhost:10003\/#\/schema\/person\/b63d816f4964b163e53cbbcffaa0f3d7\"\n\t },\n\t \"headline\": \"How to Use SciPy for Scientific Computing in Python\",\n\t \"datePublished\": \"2023-11-04T23:14:02+00:00\",\n\t \"dateModified\": \"2023-11-05T05:48:02+00:00\",\n\t \"mainEntityOfPage\": {\n\t \"@id\": \"http:\/\/localhost:10003\/how-to-use-scipy-for-scientific-computing-in-python\/\"\n\t },\n\t \"wordCount\": 657,\n\t \"publisher\": {\n\t \"@id\": \"http:\/\/localhost:10003\/#organization\"\n\t },\n\t \"keywords\": [\n\t \"\\\"Data analysis\\\"\",\n\t \"\\\"Data Visualization\\\"\",\n\t \"\\\"Machine Learning\\\"\",\n\t \"\\\"numerical computing\\\"\",\n\t \"\\\"Python libraries\\\"\",\n\t \"\\\"Python programming\\\"\",\n\t \"\\\"scientific computing\\\"\",\n\t \"[\\\"SciPy\\\"\"\n\t ],\n\t \"inLanguage\": \"en-US\"\n\t },\n\t {\n\t \"@type\": \"WebPage\",\n\t \"@id\": \"http:\/\/localhost:10003\/how-to-use-scipy-for-scientific-computing-in-python\/\",\n\t \"url\": \"http:\/\/localhost:10003\/how-to-use-scipy-for-scientific-computing-in-python\/\",\n\t \"name\": \"How to Use SciPy for Scientific Computing in Python - Pantherax Blogs\",\n\t \"isPartOf\": {\n\t \"@id\": \"http:\/\/localhost:10003\/#website\"\n\t },\n\t \"datePublished\": \"2023-11-04T23:14:02+00:00\",\n\t \"dateModified\": \"2023-11-05T05:48:02+00:00\",\n\t \"breadcrumb\": {\n\t \"@id\": \"http:\/\/localhost:10003\/how-to-use-scipy-for-scientific-computing-in-python\/#breadcrumb\"\n\t },\n\t \"inLanguage\": \"en-US\",\n\t \"potentialAction\": [\n\t {\n\t \"@type\": \"ReadAction\",\n\t \"target\": [\n\t \"http:\/\/localhost:10003\/how-to-use-scipy-for-scientific-computing-in-python\/\"\n\t ]\n\t }\n\t ]\n\t },\n\t {\n\t \"@type\": \"BreadcrumbList\",\n\t \"@id\": \"http:\/\/localhost:10003\/how-to-use-scipy-for-scientific-computing-in-python\/#breadcrumb\",\n\t \"itemListElement\": [\n\t {\n\t \"@type\": \"ListItem\",\n\t \"position\": 1,\n\t \"name\": \"Home\",\n\t \"item\": \"http:\/\/localhost:10003\/\"\n\t },\n\t {\n\t \"@type\": \"ListItem\",\n\t \"position\": 2,\n\t \"name\": \"How to Use SciPy for Scientific Computing in Python\"\n\t }\n\t ]\n\t },\n\t {\n\t \"@type\": \"WebSite\",\n\t \"@id\": \"http:\/\/localhost:10003\/#website\",\n\t \"url\": \"http:\/\/localhost:10003\/\",\n\t \"name\": \"Pantherax Blogs\",\n\t \"description\": \"\",\n\t \"publisher\": {\n\t \"@id\": \"http:\/\/localhost:10003\/#organization\"\n\t },\n\t \"potentialAction\": [\n\t {\n\t \"@type\": \"SearchAction\",\n\t \"target\": {\n\t \"@type\": \"EntryPoint\",\n\t \"urlTemplate\": \"http:\/\/localhost:10003\/?s={search_term_string}\"\n\t },\n\t \"query-input\": \"required name=search_term_string\"\n\t }\n\t ],\n\t \"inLanguage\": \"en-US\"\n\t },\n\t {\n\t \"@type\": \"Organization\",\n\t \"@id\": \"http:\/\/localhost:10003\/#organization\",\n\t \"name\": \"Pantherax Blogs\",\n\t \"url\": \"http:\/\/localhost:10003\/\",\n\t \"logo\": {\n\t \"@type\": \"ImageObject\",\n\t \"inLanguage\": \"en-US\",\n\t \"@id\": \"http:\/\/localhost:10003\/#\/schema\/logo\/image\/\",\n\t \"url\": \"http:\/\/localhost:10003\/wp-content\/uploads\/2023\/11\/cropped-9e7721cb-2d62-4f72-ab7f-7d1d8db89226.jpeg\",\n\t \"contentUrl\": \"http:\/\/localhost:10003\/wp-content\/uploads\/2023\/11\/cropped-9e7721cb-2d62-4f72-ab7f-7d1d8db89226.jpeg\",\n\t \"width\": 1024,\n\t \"height\": 1024,\n\t \"caption\": \"Pantherax Blogs\"\n\t },\n\t \"image\": {\n\t \"@id\": \"http:\/\/localhost:10003\/#\/schema\/logo\/image\/\"\n\t }\n\t },\n\t {\n\t \"@type\": \"Person\",\n\t \"@id\": \"http:\/\/localhost:10003\/#\/schema\/person\/b63d816f4964b163e53cbbcffaa0f3d7\",\n\t \"name\": \"Panther\",\n\t \"image\": {\n\t \"@type\": \"ImageObject\",\n\t \"inLanguage\": \"en-US\",\n\t \"@id\": \"http:\/\/localhost:10003\/#\/schema\/person\/image\/\",\n\t \"url\": \"http:\/\/2.gravatar.com\/avatar\/b8c0eda5a49f8f31ec32d0a0f9d6f838?s=96&d=mm&r=g\",\n\t \"contentUrl\": \"http:\/\/2.gravatar.com\/avatar\/b8c0eda5a49f8f31ec32d0a0f9d6f838?s=96&d=mm&r=g\",\n\t \"caption\": \"Panther\"\n\t },\n\t \"sameAs\": [\n\t \"http:\/\/localhost:10003\"\n\t ],\n\t \"url\": \"http:\/\/localhost:10003\/author\/pepethefrog\/\"\n\t }\n\t ]\n\t}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Use SciPy for Scientific Computing in Python - Pantherax Blogs","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":"http:\/\/localhost:10003\/how-to-use-scipy-for-scientific-computing-in-python\/","og_locale":"en_US","og_type":"article","og_title":"How to Use SciPy for Scientific Computing in Python","og_description":"Introduction Scientific computing is an essential aspect of many scientific and engineering disciplines. It involves the use of computers and algorithms to solve complex mathematical problems, perform data analysis, and simulate real-world systems. Python is a popular language for scientific computing due to its simplicity, versatility, and an extensive ecosystem Continue Reading","og_url":"http:\/\/localhost:10003\/how-to-use-scipy-for-scientific-computing-in-python\/","og_site_name":"Pantherax Blogs","article_published_time":"2023-11-04T23:14:02+00:00","article_modified_time":"2023-11-05T05:48:02+00:00","author":"Panther","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Panther","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/localhost:10003\/how-to-use-scipy-for-scientific-computing-in-python\/#article","isPartOf":{"@id":"http:\/\/localhost:10003\/how-to-use-scipy-for-scientific-computing-in-python\/"},"author":{"name":"Panther","@id":"http:\/\/localhost:10003\/#\/schema\/person\/b63d816f4964b163e53cbbcffaa0f3d7"},"headline":"How to Use SciPy for Scientific Computing in Python","datePublished":"2023-11-04T23:14:02+00:00","dateModified":"2023-11-05T05:48:02+00:00","mainEntityOfPage":{"@id":"http:\/\/localhost:10003\/how-to-use-scipy-for-scientific-computing-in-python\/"},"wordCount":657,"publisher":{"@id":"http:\/\/localhost:10003\/#organization"},"keywords":["\"Data analysis\"","\"Data Visualization\"","\"Machine Learning\"","\"numerical computing\"","\"Python libraries\"","\"Python programming\"","\"scientific computing\"","[\"SciPy\""],"inLanguage":"en-US"},{"@type":"WebPage","@id":"http:\/\/localhost:10003\/how-to-use-scipy-for-scientific-computing-in-python\/","url":"http:\/\/localhost:10003\/how-to-use-scipy-for-scientific-computing-in-python\/","name":"How to Use SciPy for Scientific Computing in Python - Pantherax Blogs","isPartOf":{"@id":"http:\/\/localhost:10003\/#website"},"datePublished":"2023-11-04T23:14:02+00:00","dateModified":"2023-11-05T05:48:02+00:00","breadcrumb":{"@id":"http:\/\/localhost:10003\/how-to-use-scipy-for-scientific-computing-in-python\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/localhost:10003\/how-to-use-scipy-for-scientific-computing-in-python\/"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/localhost:10003\/how-to-use-scipy-for-scientific-computing-in-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/localhost:10003\/"},{"@type":"ListItem","position":2,"name":"How to Use SciPy for Scientific Computing in Python"}]},{"@type":"WebSite","@id":"http:\/\/localhost:10003\/#website","url":"http:\/\/localhost:10003\/","name":"Pantherax Blogs","description":"","publisher":{"@id":"http:\/\/localhost:10003\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/localhost:10003\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"http:\/\/localhost:10003\/#organization","name":"Pantherax Blogs","url":"http:\/\/localhost:10003\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/localhost:10003\/#\/schema\/logo\/image\/","url":"http:\/\/localhost:10003\/wp-content\/uploads\/2023\/11\/cropped-9e7721cb-2d62-4f72-ab7f-7d1d8db89226.jpeg","contentUrl":"http:\/\/localhost:10003\/wp-content\/uploads\/2023\/11\/cropped-9e7721cb-2d62-4f72-ab7f-7d1d8db89226.jpeg","width":1024,"height":1024,"caption":"Pantherax Blogs"},"image":{"@id":"http:\/\/localhost:10003\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"http:\/\/localhost:10003\/#\/schema\/person\/b63d816f4964b163e53cbbcffaa0f3d7","name":"Panther","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/localhost:10003\/#\/schema\/person\/image\/","url":"http:\/\/2.gravatar.com\/avatar\/b8c0eda5a49f8f31ec32d0a0f9d6f838?s=96&d=mm&r=g","contentUrl":"http:\/\/2.gravatar.com\/avatar\/b8c0eda5a49f8f31ec32d0a0f9d6f838?s=96&d=mm&r=g","caption":"Panther"},"sameAs":["http:\/\/localhost:10003"],"url":"http:\/\/localhost:10003\/author\/pepethefrog\/"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/posts\/4061"}],"collection":[{"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/comments?post=4061"}],"version-history":[{"count":1,"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/posts\/4061\/revisions"}],"predecessor-version":[{"id":4477,"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/posts\/4061\/revisions\/4477"}],"wp:attachment":[{"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/media?parent=4061"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/categories?post=4061"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/localhost:10003\/wp-json\/wp\/v2\/tags?post=4061"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}