{"id":1771,"date":"2024-03-18T15:52:43","date_gmt":"2024-03-18T10:22:43","guid":{"rendered":"https:\/\/moodle.sit.ac.in\/blog\/?p=1771"},"modified":"2024-05-13T23:33:13","modified_gmt":"2024-05-13T18:03:13","slug":"mathematics-ii-for-cse-stream-lab-component","status":"publish","type":"post","link":"https:\/\/moodle.sit.ac.in\/blog\/mathematics-ii-for-cse-stream-lab-component\/","title":{"rendered":"Mathematics-II for CSE stream Lab Component"},"content":{"rendered":"\n<p class=\"has-text-align-center\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">(Course Code: BMATS201)<\/mark> solutions using Python Programming<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Hi everyone! This blog provides solutions for the lab component of the newly introduced subject &#8220;<strong>Mathematics-II for Computer Science and Engineering stream<\/strong>&#8221; (BMATS201) for II semester students of VTU. I have provided solutions for the lab exercises using Python. All the programs shown below have been tested on <strong>Python 3.11.7<\/strong> on <strong>Ubuntu 22.04<\/strong> OS using <strong>Anaconda Distribution<\/strong>. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installation Instructions<\/h2>\n\n\n\n<p>A detailed procedure of installing <strong>ANACONDA <\/strong>distribution and necessary tools for this is provided in my other blog listed below. <a href=\"https:\/\/moodle.sit.ac.in\/blog\/setting-up-anaconda-python-programming-environment\/\" target=\"_blank\" rel=\"noopener\" title=\"https:\/\/moodle.sit.ac.in\/blog\/setting-up-anaconda-python-programming-environment\/\">https:\/\/moodle.sit.ac.in\/blog\/setting-up-anaconda-python-programming-environment\/<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Questions<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><a href=\"#program01\" title=\"2D plots for Cartesian and polar curves\">Program to compute area, surface area, volume and centre of gravity<\/a><\/li>\n\n\n\n<li><a href=\"#program02\" title=\"Finding angle between polar curves, curvature and radius of curvature of a given curve\">Evaluation of improper integrals<\/a><\/li>\n\n\n\n<li><a href=\"#program03\" title=\"Finding partial derivatives and Jacobian\">Finding gradient, divergent, curl and their geometrical interpretation<\/a><\/li>\n\n\n\n<li><a href=\"#program04\" title=\"Basis and Dimension for a vector space and Graphical representation of linear transformation\">Basis and Dimension for a vector space and Graphical representation of linear transformation<\/a><\/li>\n\n\n\n<li><a href=\"#program05\" title=\"Solution of first-order ordinary differential equation and plotting the solution curves\">Computing the inner product and orthogonality<\/a><\/li>\n\n\n\n<li><a href=\"#program06\" title=\"Finding GCD using Euclid\u2019s Algorithm\">Solution of algebraic and transcendental equations by Ramanujan\u2019s, Regula-Falsi and Newton-Raphson method<\/a><\/li>\n\n\n\n<li><a href=\"#program07\" title=\"Solving linear congruences \ud835\udc82\ud835\udc99 \u2261 \ud835\udc83(\ud835\udc8e\ud835\udc90\ud835\udc85 \ud835\udc8e)\">Interpolation\/Extrapolation using Newton\u2019s forward and backward difference formula<\/a><\/li>\n\n\n\n<li><a href=\"#program08\" title=\"Numerical solution of system of linear equations, test for consistency and graphical representation\">Computation of area under the curve using Trapezoidal, Simpson\u2019s (1\/3)rd and (3\/8)th rule<\/a><\/li>\n\n\n\n<li><a href=\"#program09\" title=\"Solution of system of linear equations using Gauss-Seidel iteration\">Solution of ODE of first order and first degree by Taylor\u2019s series and Modified Euler\u2019s method<\/a><\/li>\n\n\n\n<li><a href=\"#program10\" title=\"Compute eigenvalues and eigenvectors and find the largest and smallest eigenvalue by Rayleigh power method.\">Solution of ODE of first order and first degree by Runge-Kutta 4th order and Milne\u2019s predictor-corrector method<\/a><\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/CodingAd.png?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"1024\" height=\"535\" data-src=\"https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/CodingAd.png?resize=1024%2C535&#038;ssl=1\" alt=\"\" class=\"wp-image-1808 lazyload\" data-srcset=\"https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/CodingAd.png?resize=1024%2C535&amp;ssl=1 1024w, https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/CodingAd.png?resize=300%2C157&amp;ssl=1 300w, https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/CodingAd.png?resize=768%2C401&amp;ssl=1 768w, https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/CodingAd.png?w=1200&amp;ssl=1 1200w\" data-sizes=\"(max-width: 1000px) 100vw, 1000px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/535;\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"program01\">1) Program to compute area, surface area, volume and centre of gravity<\/h2>\n\n\n\n<p>Below is a Python program that computes the area, surface area, volume, and center of gravity of a given 3D shape. This example specifically targets a sphere, but you can adapt it for other shapes by defining appropriate functions for area, surface area, volume, and center of gravity calculations.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"import math\n\ndef sphere_area(radius):\n    return 4 * math.pi * radius ** 2\n\ndef sphere_surface_area(radius):\n    return 4 * math.pi * radius ** 2\n\ndef sphere_volume(radius):\n    return (4\/3) * math.pi * radius ** 3\n\ndef sphere_center_of_gravity(radius):\n    return (3\/8) * radius\n\ndef main():\n    radius = float(input(&quot;Enter the radius of the sphere: &quot;))\n\n    area = sphere_area(radius)\n    surface_area = sphere_surface_area(radius)\n    volume = sphere_volume(radius)\n    center_of_gravity = sphere_center_of_gravity(radius)\n\n    print(f&quot;Area of the sphere: {area}&quot;)\n    print(f&quot;Surface area of the sphere: {surface_area}&quot;)\n    print(f&quot;Volume of the sphere: {volume}&quot;)\n    print(f&quot;Center of gravity of the sphere: {center_of_gravity}&quot;)\n\nmain()\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F286C4\">import<\/span><span style=\"color: #F6F6F4\"> math<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">def<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">sphere_area<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">radius<\/span><span style=\"color: #F6F6F4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">4<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> math.pi <\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> radius <\/span><span style=\"color: #F286C4\">**<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">2<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">def<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">sphere_surface_area<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">radius<\/span><span style=\"color: #F6F6F4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">4<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> math.pi <\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> radius <\/span><span style=\"color: #F286C4\">**<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">2<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">def<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">sphere_volume<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">radius<\/span><span style=\"color: #F6F6F4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\"> (<\/span><span style=\"color: #BF9EEE\">4<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #BF9EEE\">3<\/span><span style=\"color: #F6F6F4\">) <\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> math.pi <\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> radius <\/span><span style=\"color: #F286C4\">**<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">3<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">def<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">sphere_center_of_gravity<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">radius<\/span><span style=\"color: #F6F6F4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\"> (<\/span><span style=\"color: #BF9EEE\">3<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #BF9EEE\">8<\/span><span style=\"color: #F6F6F4\">) <\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> radius<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">def<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">main<\/span><span style=\"color: #F6F6F4\">():<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    radius <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #97E1F1; font-style: italic\">float<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #97E1F1\">input<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Enter the radius of the sphere: <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\">))<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    area <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> sphere_area(radius)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    surface_area <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> sphere_surface_area(radius)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    volume <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> sphere_volume(radius)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    center_of_gravity <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> sphere_center_of_gravity(radius)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #97E1F1\">print<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #F286C4\">f<\/span><span style=\"color: #E7EE98\">&quot;Area of the sphere: <\/span><span style=\"color: #BF9EEE\">{<\/span><span style=\"color: #F6F6F4\">area<\/span><span style=\"color: #BF9EEE\">}<\/span><span style=\"color: #E7EE98\">&quot;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #97E1F1\">print<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #F286C4\">f<\/span><span style=\"color: #E7EE98\">&quot;Surface area of the sphere: <\/span><span style=\"color: #BF9EEE\">{<\/span><span style=\"color: #F6F6F4\">surface_area<\/span><span style=\"color: #BF9EEE\">}<\/span><span style=\"color: #E7EE98\">&quot;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #97E1F1\">print<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #F286C4\">f<\/span><span style=\"color: #E7EE98\">&quot;Volume of the sphere: <\/span><span style=\"color: #BF9EEE\">{<\/span><span style=\"color: #F6F6F4\">volume<\/span><span style=\"color: #BF9EEE\">}<\/span><span style=\"color: #E7EE98\">&quot;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #97E1F1\">print<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #F286C4\">f<\/span><span style=\"color: #E7EE98\">&quot;Center of gravity of the sphere: <\/span><span style=\"color: #BF9EEE\">{<\/span><span style=\"color: #F6F6F4\">center_of_gravity<\/span><span style=\"color: #BF9EEE\">}<\/span><span style=\"color: #E7EE98\">&quot;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">main()<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>To run this program online click n the link below<\/p>\n\n\n\n<p><a href=\"https:\/\/t.ly\/ZepGt\" target=\"_blank\" rel=\"noopener\" title=\"P01 Program\">P01 Program<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Output Sample <\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"Enter the radius of the sphere:  6\n\nArea of the sphere: 452.3893421169302\nSurface area of the sphere: 452.3893421169302\nVolume of the sphere: 904.7786842338603\nCenter of gravity of the sphere: 2.25\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #E1E4E8\">Enter the radius of the sphere:  <\/span><span style=\"color: #79B8FF\">6<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">Area of the sphere: <\/span><span style=\"color: #79B8FF\">452.3893421169302<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">Surface area of the sphere: <\/span><span style=\"color: #79B8FF\">452.3893421169302<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">Volume of the sphere: <\/span><span style=\"color: #79B8FF\">904.7786842338603<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">Center of gravity of the sphere: <\/span><span style=\"color: #79B8FF\">2.25<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Additional code<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"import numpy as np\nimport matplotlib.pyplot as plt\nfrom mpl_toolkits.mplot3d import Axes3D\n\ndef plot_wireframe_sphere(radius):\n    fig = plt.figure()\n    ax = fig.add_subplot(111, projection='3d')\n\n    u = np.linspace(0, 2 * np.pi, 100)\n    v = np.linspace(0, np.pi, 100)\n    x = radius * np.outer(np.cos(u), np.sin(v))\n    y = radius * np.outer(np.sin(u), np.sin(v))\n    z = radius * np.outer(np.ones(np.size(u)), np.cos(v))\n\n    ax.plot_wireframe(x, y, z, color='b')\n\n    ax.set_xlabel('X')\n    ax.set_ylabel('Y')\n    ax.set_zlabel('Z')\n    ax.set_title('Wireframe Sphere')\n\n    plt.show()\n\ndef main():\n    radius = float(input(&quot;Enter the radius of the sphere: &quot;))\n    plot_wireframe_sphere(radius)\n\nmain()\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F286C4\">import<\/span><span style=\"color: #F6F6F4\"> numpy <\/span><span style=\"color: #F286C4\">as<\/span><span style=\"color: #F6F6F4\"> np<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">import<\/span><span style=\"color: #F6F6F4\"> matplotlib.pyplot <\/span><span style=\"color: #F286C4\">as<\/span><span style=\"color: #F6F6F4\"> plt<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">from<\/span><span style=\"color: #F6F6F4\"> mpl_toolkits.mplot3d <\/span><span style=\"color: #F286C4\">import<\/span><span style=\"color: #F6F6F4\"> Axes3D<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">def<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">plot_wireframe_sphere<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">radius<\/span><span style=\"color: #F6F6F4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    fig <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> plt.figure()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    ax <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> fig.add_subplot(<\/span><span style=\"color: #BF9EEE\">111<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">projection<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">3d<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    u <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> np.linspace(<\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> np.pi, <\/span><span style=\"color: #BF9EEE\">100<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    v <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> np.linspace(<\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">, np.pi, <\/span><span style=\"color: #BF9EEE\">100<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    x <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> radius <\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> np.outer(np.cos(u), np.sin(v))<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    y <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> radius <\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> np.outer(np.sin(u), np.sin(v))<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    z <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> radius <\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> np.outer(np.ones(np.size(u)), np.cos(v))<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    ax.plot_wireframe(x, y, z, <\/span><span style=\"color: #FFB86C; font-style: italic\">color<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">b<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    ax.set_xlabel(<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">X<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    ax.set_ylabel(<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">Y<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    ax.set_zlabel(<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">Z<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    ax.set_title(<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">Wireframe Sphere<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    plt.show()<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">def<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">main<\/span><span style=\"color: #F6F6F4\">():<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    radius <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #97E1F1; font-style: italic\">float<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #97E1F1\">input<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Enter the radius of the sphere: <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\">))<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    plot_wireframe_sphere(radius)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">main()<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Enter the radius of the sphere: 6<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image.png?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"404\" height=\"421\" data-src=\"https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image.png?resize=404%2C421&#038;ssl=1\" alt=\"\" class=\"wp-image-1778 lazyload\" data-srcset=\"https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image.png?w=404&amp;ssl=1 404w, https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image.png?resize=288%2C300&amp;ssl=1 288w\" data-sizes=\"(max-width: 404px) 100vw, 404px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 404px; --smush-placeholder-aspect-ratio: 404\/421;\" \/><\/a><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"program02\">2) Evaluation of improper integrals<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Python Code<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"from scipy import integrate\n\n# Define the function to be integrated\ndef integrand(x):\n    return (x**3 + 2*x + 7) \/(x + 2)\n\n# Define the limits of integration\na = 0\nb = 1\n\n# Evaluate the improper integral with increased limit\nresult, error = integrate.quad(integrand, a, b)\n\nprint(f&quot;Result of the improper integral: {result}&quot;)\nprint(f&quot;Estimated error: {error}&quot;)\n\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F286C4\">from<\/span><span style=\"color: #F6F6F4\"> scipy <\/span><span style=\"color: #F286C4\">import<\/span><span style=\"color: #F6F6F4\"> integrate<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Define the function to be integrated<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">def<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">integrand<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">x<\/span><span style=\"color: #F6F6F4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\"> (x<\/span><span style=\"color: #F286C4\">**<\/span><span style=\"color: #BF9EEE\">3<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\">x <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">7<\/span><span style=\"color: #F6F6F4\">) <\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">(x <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Define the limits of integration<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">a <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">b <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">1<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Evaluate the improper integral with increased limit<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">result, error <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> integrate.quad(integrand, a, b)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #97E1F1\">print<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #F286C4\">f<\/span><span style=\"color: #E7EE98\">&quot;Result of the improper integral: <\/span><span style=\"color: #BF9EEE\">{<\/span><span style=\"color: #F6F6F4\">result<\/span><span style=\"color: #BF9EEE\">}<\/span><span style=\"color: #E7EE98\">&quot;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #97E1F1\">print<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #F286C4\">f<\/span><span style=\"color: #E7EE98\">&quot;Estimated error: <\/span><span style=\"color: #BF9EEE\">{<\/span><span style=\"color: #F6F6F4\">error<\/span><span style=\"color: #BF9EEE\">}<\/span><span style=\"color: #E7EE98\">&quot;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>To run this program online click n the link below<\/p>\n\n\n\n<p><a href=\"https:\/\/colab.research.google.com\/drive\/1xshZkhsWoIq_FbGDLJuHiVu0fqF_IHpi?usp=sharing\" target=\"_blank\" rel=\"noopener\" title=\"P02 Program\">P02 Program<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Output<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"Result of the improper integral: 3.3060077927925113\nEstimated error: 3.6704059711484397e-14\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9\">Result<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">of<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">the<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">improper<\/span><span style=\"color: #D8DEE9FF\"> integral<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">3.3060077927925113<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">Estimated<\/span><span style=\"color: #D8DEE9FF\"> error<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">3.6704059711484397e-14<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"program03\">3) Finding gradient, divergent, curl and their geometrical interpretation<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Python Program<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"import numpy as np\nimport sympy as sp\n\n# Define symbols\nx, y, z = sp.symbols('x y z')\n\n# Define vector field\nF = sp.Matrix([x**2, y**2, z**2])\n\n# Define variables for differentiation\nvariables = (x, y, z)\n\n# Define gradient\ngradient_F = sp.Matrix([sp.diff(F[i], var) for var in variables for i in range(3)]).reshape(3, 3)\n\n# Calculate divergence\ndivergence_F = sp.diff(F[0], x) + sp.diff(F[1], y) + sp.diff(F[2], z)\n\n# Calculate curl\ncurl_F = sp.Matrix([sp.diff(F[(i+1) % 3], variables[(i+2) % 3]) - sp.diff(F[(i+2) % 3], variables[(i+1) % 3])\n                    for i in range(3)])\n\n# Print results\nprint(&quot;Vector Field F(x, y, z) = &quot;, F)\nprint(&quot;\\nGradient of F:&quot;)\nprint(gradient_F)\nprint(&quot;\\nDivergence of F:&quot;)\nprint(divergence_F)\nprint(&quot;\\nCurl of F:&quot;)\nprint(curl_F)\n\n# Geometrical interpretations\n# Gradient gives the direction of maximum change in the scalar field.\n# Divergence represents how much a vector field is spreading out or converging at a point.\n# Curl indicates the rotation or &quot;whirl&quot; of the vector field at a point.\n\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F286C4\">import<\/span><span style=\"color: #F6F6F4\"> numpy <\/span><span style=\"color: #F286C4\">as<\/span><span style=\"color: #F6F6F4\"> np<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">import<\/span><span style=\"color: #F6F6F4\"> sympy <\/span><span style=\"color: #F286C4\">as<\/span><span style=\"color: #F6F6F4\"> sp<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Define symbols<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">x, y, z <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> sp.symbols(<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">x y z<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Define vector field<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">F <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> sp.Matrix([x<\/span><span style=\"color: #F286C4\">**<\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">, y<\/span><span style=\"color: #F286C4\">**<\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">, z<\/span><span style=\"color: #F286C4\">**<\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">])<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Define variables for differentiation<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">variables <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> (x, y, z)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Define gradient<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">gradient_F <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> sp.Matrix([sp.diff(F[i], var) <\/span><span style=\"color: #F286C4\">for<\/span><span style=\"color: #F6F6F4\"> var <\/span><span style=\"color: #F286C4\">in<\/span><span style=\"color: #F6F6F4\"> variables <\/span><span style=\"color: #F286C4\">for<\/span><span style=\"color: #F6F6F4\"> i <\/span><span style=\"color: #F286C4\">in<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #97E1F1\">range<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #BF9EEE\">3<\/span><span style=\"color: #F6F6F4\">)]).reshape(<\/span><span style=\"color: #BF9EEE\">3<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #BF9EEE\">3<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Calculate divergence<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">divergence_F <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> sp.diff(F[<\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">], x) <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> sp.diff(F[<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">], y) <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> sp.diff(F[<\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">], z)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Calculate curl<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">curl_F <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> sp.Matrix([sp.diff(F[(i<\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">) <\/span><span style=\"color: #F286C4\">%<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">3<\/span><span style=\"color: #F6F6F4\">], variables[(i<\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">) <\/span><span style=\"color: #F286C4\">%<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">3<\/span><span style=\"color: #F6F6F4\">]) <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> sp.diff(F[(i<\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">) <\/span><span style=\"color: #F286C4\">%<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">3<\/span><span style=\"color: #F6F6F4\">], variables[(i<\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">) <\/span><span style=\"color: #F286C4\">%<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">3<\/span><span style=\"color: #F6F6F4\">])<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">                    <\/span><span style=\"color: #F286C4\">for<\/span><span style=\"color: #F6F6F4\"> i <\/span><span style=\"color: #F286C4\">in<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #97E1F1\">range<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #BF9EEE\">3<\/span><span style=\"color: #F6F6F4\">)])<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Print results<\/span><\/span>\n<span class=\"line\"><span style=\"color: #97E1F1\">print<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Vector Field F(x, y, z) = <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\">, F)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #97E1F1\">print<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F286C4\">\\n<\/span><span style=\"color: #E7EE98\">Gradient of F:<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #97E1F1\">print<\/span><span style=\"color: #F6F6F4\">(gradient_F)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #97E1F1\">print<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F286C4\">\\n<\/span><span style=\"color: #E7EE98\">Divergence of F:<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #97E1F1\">print<\/span><span style=\"color: #F6F6F4\">(divergence_F)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #97E1F1\">print<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F286C4\">\\n<\/span><span style=\"color: #E7EE98\">Curl of F:<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #97E1F1\">print<\/span><span style=\"color: #F6F6F4\">(curl_F)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Geometrical interpretations<\/span><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Gradient gives the direction of maximum change in the scalar field.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Divergence represents how much a vector field is spreading out or converging at a point.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Curl indicates the rotation or &quot;whirl&quot; of the vector field at a point.<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>To run this program online click n the link below<\/p>\n\n\n\n<p><a href=\"https:\/\/colab.research.google.com\/drive\/1Ri-6A3T3rpB1pHrl0FuRodPi-ORnMat1?usp=sharing\" target=\"_blank\" rel=\"noopener\" title=\"P03 Program\">P03 Program<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Output<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"Vector Field F(x, y, z) =  Matrix([[x**2], [y**2], [z**2]])\n\nGradient of F:\nMatrix([[2*x, 0, 0], [0, 2*y, 0], [0, 0, 2*z]])\n\nDivergence of F:\n2*x + 2*y + 2*z\n\nCurl of F:\nMatrix([[0], [0], [0]])\" style=\"color:#F8F8F2;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dracula\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F8F8F2\">Vector Field F(x, y, z) <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\">  Matrix([[x<\/span><span style=\"color: #FF79C6\">**<\/span><span style=\"color: #BD93F9\">2<\/span><span style=\"color: #F8F8F2\">], [y<\/span><span style=\"color: #FF79C6\">**<\/span><span style=\"color: #BD93F9\">2<\/span><span style=\"color: #F8F8F2\">], [z<\/span><span style=\"color: #FF79C6\">**<\/span><span style=\"color: #BD93F9\">2<\/span><span style=\"color: #F8F8F2\">]])<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">Gradient of F:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">Matrix([[<\/span><span style=\"color: #BD93F9\">2<\/span><span style=\"color: #FF79C6\">*<\/span><span style=\"color: #F8F8F2\">x, <\/span><span style=\"color: #BD93F9\">0<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #BD93F9\">0<\/span><span style=\"color: #F8F8F2\">], [<\/span><span style=\"color: #BD93F9\">0<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #BD93F9\">2<\/span><span style=\"color: #FF79C6\">*<\/span><span style=\"color: #F8F8F2\">y, <\/span><span style=\"color: #BD93F9\">0<\/span><span style=\"color: #F8F8F2\">], [<\/span><span style=\"color: #BD93F9\">0<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #BD93F9\">0<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #BD93F9\">2<\/span><span style=\"color: #FF79C6\">*<\/span><span style=\"color: #F8F8F2\">z]])<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">Divergence of F:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BD93F9\">2<\/span><span style=\"color: #FF79C6\">*<\/span><span style=\"color: #F8F8F2\">x <\/span><span style=\"color: #FF79C6\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">2<\/span><span style=\"color: #FF79C6\">*<\/span><span style=\"color: #F8F8F2\">y <\/span><span style=\"color: #FF79C6\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">2<\/span><span style=\"color: #FF79C6\">*<\/span><span style=\"color: #F8F8F2\">z<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">Curl of F:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">Matrix([[<\/span><span style=\"color: #BD93F9\">0<\/span><span style=\"color: #F8F8F2\">], [<\/span><span style=\"color: #BD93F9\">0<\/span><span style=\"color: #F8F8F2\">], [<\/span><span style=\"color: #BD93F9\">0<\/span><span style=\"color: #F8F8F2\">]])<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"program04\">4)Computation of basis and dimension for a vector space and Graphical representation of linear transformation<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Python Code<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"import numpy as np\nimport matplotlib.pyplot as plt\n\ndef basis_and_dimension(matrix):\n    # Compute the reduced row echelon form\n    rref_matrix = np.linalg.matrix_rank(matrix)\n    dimension = np.linalg.matrix_rank(matrix.T)\n    \n    return rref_matrix, dimension\n\ndef plot_linear_transformation(matrix):\n    # Create a set of 2D vectors\n    vectors = np.array([[1, 0], [0, 1]])\n    \n    # Apply linear transformation to the vectors\n    transformed_vectors = np.dot(matrix, vectors)\n    \n    # Plot original and transformed vectors\n    plt.figure(figsize=(8, 6))\n    plt.quiver([0, 0], [0, 0], vectors[:,0], vectors[:,1], angles='xy', scale_units='xy', scale=1, color=['r', 'b'], label='Original Vectors')\n    plt.quiver([0, 0], [0, 0], transformed_vectors[:,0], transformed_vectors[:,1], angles='xy', scale_units='xy', scale=1, color=['g', 'y'], label='Transformed Vectors')\n    plt.xlabel('x')\n    plt.ylabel('y')\n    plt.axhline(0, color='black',linewidth=0.5)\n    plt.axvline(0, color='black',linewidth=0.5)\n    plt.grid(color = 'gray', linestyle = '--', linewidth = 0.5)\n    plt.axis('equal')\n    plt.legend()\n    plt.title('Linear Transformation')\n    plt.show()\n\n# Example matrix representing a linear transformation\nA = np.array([[1, 2], [3, 4]])\n\n# Compute basis and dimension\nrref, dimension = basis_and_dimension(A)\nprint(&quot;Reduced Row Echelon Form:\\n&quot;, rref)\nprint(&quot;Dimension of Column Space:&quot;, dimension)\n\n# Plot linear transformation\nplot_linear_transformation(A)\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F286C4\">import<\/span><span style=\"color: #F6F6F4\"> numpy <\/span><span style=\"color: #F286C4\">as<\/span><span style=\"color: #F6F6F4\"> np<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">import<\/span><span style=\"color: #F6F6F4\"> matplotlib.pyplot <\/span><span style=\"color: #F286C4\">as<\/span><span style=\"color: #F6F6F4\"> plt<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">def<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">basis_and_dimension<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">matrix<\/span><span style=\"color: #F6F6F4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #7B7F8B\"># Compute the reduced row echelon form<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    rref_matrix <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> np.linalg.matrix_rank(matrix)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    dimension <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> np.linalg.matrix_rank(matrix.T)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\"> rref_matrix, dimension<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">def<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">plot_linear_transformation<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">matrix<\/span><span style=\"color: #F6F6F4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #7B7F8B\"># Create a set of 2D vectors<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    vectors <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> np.array([[<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">], [<\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">]])<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #7B7F8B\"># Apply linear transformation to the vectors<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    transformed_vectors <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> np.dot(matrix, vectors)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #7B7F8B\"># Plot original and transformed vectors<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    plt.figure(<\/span><span style=\"color: #FFB86C; font-style: italic\">figsize<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #BF9EEE\">8<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #BF9EEE\">6<\/span><span style=\"color: #F6F6F4\">))<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    plt.quiver([<\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">], [<\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">], vectors[<\/span><span style=\"color: #F286C4\">:<\/span><span style=\"color: #F6F6F4\">,<\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">], vectors[<\/span><span style=\"color: #F286C4\">:<\/span><span style=\"color: #F6F6F4\">,<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">], <\/span><span style=\"color: #FFB86C; font-style: italic\">angles<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">xy<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">scale_units<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">xy<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">scale<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">color<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\">[<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">r<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">b<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">], <\/span><span style=\"color: #FFB86C; font-style: italic\">label<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">Original Vectors<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    plt.quiver([<\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">], [<\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">], transformed_vectors[<\/span><span style=\"color: #F286C4\">:<\/span><span style=\"color: #F6F6F4\">,<\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">], transformed_vectors[<\/span><span style=\"color: #F286C4\">:<\/span><span style=\"color: #F6F6F4\">,<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">], <\/span><span style=\"color: #FFB86C; font-style: italic\">angles<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">xy<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">scale_units<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">xy<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">scale<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">color<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\">[<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">g<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">y<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">], <\/span><span style=\"color: #FFB86C; font-style: italic\">label<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">Transformed Vectors<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    plt.xlabel(<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">x<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    plt.ylabel(<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">y<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    plt.axhline(<\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">color<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">black<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">,<\/span><span style=\"color: #FFB86C; font-style: italic\">linewidth<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #BF9EEE\">0.5<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    plt.axvline(<\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">color<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">black<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">,<\/span><span style=\"color: #FFB86C; font-style: italic\">linewidth<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #BF9EEE\">0.5<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    plt.grid(<\/span><span style=\"color: #FFB86C; font-style: italic\">color<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">gray<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">linestyle<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">--<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">linewidth<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">0.5<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    plt.axis(<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">equal<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    plt.legend()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    plt.title(<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">Linear Transformation<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    plt.show()<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Example matrix representing a linear transformation<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">A <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> np.array([[<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">], [<\/span><span style=\"color: #BF9EEE\">3<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #BF9EEE\">4<\/span><span style=\"color: #F6F6F4\">]])<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Compute basis and dimension<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">rref, dimension <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> basis_and_dimension(A)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #97E1F1\">print<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Reduced Row Echelon Form:<\/span><span style=\"color: #F286C4\">\\n<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\">, rref)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #97E1F1\">print<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Dimension of Column Space:<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\">, dimension)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Plot linear transformation<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">plot_linear_transformation(A)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>To run this program online click n the link below<\/p>\n\n\n\n<p><a href=\"https:\/\/colab.research.google.com\/drive\/15lFT8wnrJDx1uI7og24odLVr3JhEeITk?usp=sharing\" target=\"_blank\" rel=\"noopener\" title=\"P04 Program\">P04 Program<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Output<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"Reduced Row Echelon Form:\n 2\nDimension of Column Space: 2\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9\">Reduced<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">Row<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">Echelon<\/span><span style=\"color: #D8DEE9FF\"> Form<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">Dimension<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">of<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">Column<\/span><span style=\"color: #D8DEE9FF\"> Space<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">2<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image-2.png?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"778\" height=\"549\" data-src=\"https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image-2.png?resize=778%2C549&#038;ssl=1\" alt=\"\" class=\"wp-image-1781 lazyload\" data-srcset=\"https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image-2.png?w=778&amp;ssl=1 778w, https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image-2.png?resize=300%2C212&amp;ssl=1 300w, https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image-2.png?resize=768%2C542&amp;ssl=1 768w\" data-sizes=\"(max-width: 778px) 100vw, 778px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 778px; --smush-placeholder-aspect-ratio: 778\/549;\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"program05\">5) Computing the inner product and orthogonality<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Python Code<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"import numpy as np\n\ndef inner_product(vector1, vector2):\n    # Compute the inner product (dot product) between two vectors\n    return np.dot(vector1, vector2)\n\ndef check_orthogonality(vector1, vector2):\n    # Check if two vectors are orthogonal (their inner product is zero)\n    return inner_product(vector1, vector2) == 0\n\n# Example vectors\nvector1 = np.array([1, 2, 3])\nvector2 = np.array([-1, 1, 0])\n\n# Compute the inner product of the vectors\nresult = inner_product(vector1, vector2)\nprint(&quot;Inner product of vector1 and vector2:&quot;, result)\n\n# Check orthogonality\nif check_orthogonality(vector1, vector2):\n    print(&quot;Vectors vector1 and vector2 are orthogonal.&quot;)\nelse:\n    print(&quot;Vectors vector1 and vector2 are not orthogonal.&quot;)\n    \n# Example vectors\nvector3 = np.array([1, 2, 3])\nvector4 = np.array([-1, 1, 2])\n\n# Compute the inner product of the vectors\nresult = inner_product(vector3, vector4)\nprint(&quot;Inner product of vector3 and vector4:&quot;, result)\n\n# Check orthogonality\nif check_orthogonality(vector3, vector4):\n    print(&quot;Vectors vector3 and vector4 are orthogonal.&quot;)\nelse:\n    print(&quot;Vectors vector3 and vector4 are not orthogonal.&quot;)\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F286C4\">import<\/span><span style=\"color: #F6F6F4\"> numpy <\/span><span style=\"color: #F286C4\">as<\/span><span style=\"color: #F6F6F4\"> np<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">def<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">inner_product<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">vector1<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">vector2<\/span><span style=\"color: #F6F6F4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #7B7F8B\"># Compute the inner product (dot product) between two vectors<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\"> np.dot(vector1, vector2)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">def<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">check_orthogonality<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">vector1<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">vector2<\/span><span style=\"color: #F6F6F4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #7B7F8B\"># Check if two vectors are orthogonal (their inner product is zero)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\"> inner_product(vector1, vector2) <\/span><span style=\"color: #F286C4\">==<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">0<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Example vectors<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">vector1 <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> np.array([<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #BF9EEE\">3<\/span><span style=\"color: #F6F6F4\">])<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">vector2 <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> np.array([<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">])<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Compute the inner product of the vectors<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">result <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> inner_product(vector1, vector2)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #97E1F1\">print<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Inner product of vector1 and vector2:<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\">, result)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Check orthogonality<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">if<\/span><span style=\"color: #F6F6F4\"> check_orthogonality(vector1, vector2):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #97E1F1\">print<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Vectors vector1 and vector2 are orthogonal.<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">else<\/span><span style=\"color: #F6F6F4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #97E1F1\">print<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Vectors vector1 and vector2 are not orthogonal.<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Example vectors<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">vector3 <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> np.array([<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #BF9EEE\">3<\/span><span style=\"color: #F6F6F4\">])<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">vector4 <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> np.array([<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">])<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Compute the inner product of the vectors<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">result <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> inner_product(vector3, vector4)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #97E1F1\">print<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Inner product of vector3 and vector4:<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\">, result)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Check orthogonality<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">if<\/span><span style=\"color: #F6F6F4\"> check_orthogonality(vector3, vector4):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #97E1F1\">print<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Vectors vector3 and vector4 are orthogonal.<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">else<\/span><span style=\"color: #F6F6F4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #97E1F1\">print<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Vectors vector3 and vector4 are not orthogonal.<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>To run this program online click n the link below<\/p>\n\n\n\n<p><a href=\"https:\/\/colab.research.google.com\/drive\/1Bh_GAUIrjQrwhlOILCzYyn6hO7VsGGcH?usp=sharing\" target=\"_blank\" rel=\"noopener\" title=\"P04 Program\">P05 Program<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Output<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"Inner product of vector1 and vector2: 1\nVectors vector1 and vector2 are not orthogonal.\n\nInner product of vector3 and vector4: 7\nVectors vector3 and vector4 are not orthogonal.\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F6F6F4\">Inner product of vector1 <\/span><span style=\"color: #F286C4\">and<\/span><span style=\"color: #F6F6F4\"> vector2: <\/span><span style=\"color: #BF9EEE\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Vectors vector1 <\/span><span style=\"color: #F286C4\">and<\/span><span style=\"color: #F6F6F4\"> vector2 are <\/span><span style=\"color: #F286C4\">not<\/span><span style=\"color: #F6F6F4\"> orthogonal.<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Inner product of vector3 <\/span><span style=\"color: #F286C4\">and<\/span><span style=\"color: #F6F6F4\"> vector4: <\/span><span style=\"color: #BF9EEE\">7<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Vectors vector3 <\/span><span style=\"color: #F286C4\">and<\/span><span style=\"color: #F6F6F4\"> vector4 are <\/span><span style=\"color: #F286C4\">not<\/span><span style=\"color: #F6F6F4\"> orthogonal.<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"program06\">6) Solution of algebraic and transcendental equations by Ramanujan\u2019s, Regula-Falsi and Newton-Raphson method<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Python Code<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"import numpy as np\n\ndef ramanujan(f, a, b, tol=1e-6, max_iter=100):\n    # Ramanujan's method for solving equations\n    for _ in range(max_iter):\n        c = (a * f(b) - b * f(a)) \/ (f(b) - f(a))\n        if np.abs(f(c)) &lt; tol:\n            return c\n        if f(a) * f(c) &lt; 0:\n            b = c\n        else:\n            a = c\n    raise ValueError(&quot;Ramanujan's method did not converge&quot;)\n\ndef regula_falsi(f, a, b, tol=1e-6, max_iter=100):\n    # Regula-Falsi method for solving equations\n    for _ in range(max_iter):\n        c = (a * f(b) - b * f(a)) \/ (f(b) - f(a))\n        if np.abs(f(c)) &lt; tol:\n            return c\n        if f(a) * f(c) &lt; 0:\n            b = c\n        else:\n            a = c\n    raise ValueError(&quot;Regula-Falsi method did not converge&quot;)\n\ndef newton_raphson(f, f_prime, x0, tol=1e-6, max_iter=100):\n    # Newton-Raphson method for solving equations\n    x = x0\n    for _ in range(max_iter):\n        x_new = x - f(x) \/ f_prime(x)\n        if np.abs(f(x_new)) &lt; tol:\n            return x_new\n        x = x_new\n    raise ValueError(&quot;Newton-Raphson method did not converge&quot;)\n\n# Example usage:\n\n# Define the function\ndef f(x):\n    return x**3 - 2*x - 5\n\n# Define the derivative of the function\ndef f_prime(x):\n    return 3*x**2 - 2\n\n# Initial guesses\nx0_ramanujan = 1\nx0_regula_falsi = 1\nx0_newton_raphson = 1\n\n# Solve using Ramanujan's method\nsolution_ramanujan = ramanujan(f, 1, 3)\nprint(&quot;Solution using Ramanujan's method:&quot;, solution_ramanujan)\n\n# Solve using Regula-Falsi method\nsolution_regula_falsi = regula_falsi(f, 1, 3)\nprint(&quot;Solution using Regula-Falsi method:&quot;, solution_regula_falsi)\n\n# Solve using Newton-Raphson method\nsolution_newton_raphson = newton_raphson(f, f_prime, 1)\nprint(&quot;Solution using Newton-Raphson method:&quot;, solution_newton_raphson)\n\" style=\"color:#F8F8F2;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dracula\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #FF79C6\">import<\/span><span style=\"color: #F8F8F2\"> numpy <\/span><span style=\"color: #FF79C6\">as<\/span><span style=\"color: #F8F8F2\"> np<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #FF79C6\">def<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #50FA7B\">ramanujan<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">f<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">a<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">b<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">tol<\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #BD93F9\">1e-6<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">max_iter<\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #BD93F9\">100<\/span><span style=\"color: #F8F8F2\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #6272A4\"># Ramanujan&#39;s method for solving equations<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #FF79C6\">for<\/span><span style=\"color: #F8F8F2\"> _ <\/span><span style=\"color: #FF79C6\">in<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #8BE9FD\">range<\/span><span style=\"color: #F8F8F2\">(max_iter):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        c <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> (a <\/span><span style=\"color: #FF79C6\">*<\/span><span style=\"color: #F8F8F2\"> f(b) <\/span><span style=\"color: #FF79C6\">-<\/span><span style=\"color: #F8F8F2\"> b <\/span><span style=\"color: #FF79C6\">*<\/span><span style=\"color: #F8F8F2\"> f(a)) <\/span><span style=\"color: #FF79C6\">\/<\/span><span style=\"color: #F8F8F2\"> (f(b) <\/span><span style=\"color: #FF79C6\">-<\/span><span style=\"color: #F8F8F2\"> f(a))<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #FF79C6\">if<\/span><span style=\"color: #F8F8F2\"> np.abs(f(c)) <\/span><span style=\"color: #FF79C6\">&lt;<\/span><span style=\"color: #F8F8F2\"> tol:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">            <\/span><span style=\"color: #FF79C6\">return<\/span><span style=\"color: #F8F8F2\"> c<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #FF79C6\">if<\/span><span style=\"color: #F8F8F2\"> f(a) <\/span><span style=\"color: #FF79C6\">*<\/span><span style=\"color: #F8F8F2\"> f(c) <\/span><span style=\"color: #FF79C6\">&lt;<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">0<\/span><span style=\"color: #F8F8F2\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">            b <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> c<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #FF79C6\">else<\/span><span style=\"color: #F8F8F2\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">            a <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> c<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #FF79C6\">raise<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #8BE9FD; font-style: italic\">ValueError<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">Ramanujan&#39;s method did not converge<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #FF79C6\">def<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #50FA7B\">regula_falsi<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">f<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">a<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">b<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">tol<\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #BD93F9\">1e-6<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">max_iter<\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #BD93F9\">100<\/span><span style=\"color: #F8F8F2\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #6272A4\"># Regula-Falsi method for solving equations<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #FF79C6\">for<\/span><span style=\"color: #F8F8F2\"> _ <\/span><span style=\"color: #FF79C6\">in<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #8BE9FD\">range<\/span><span style=\"color: #F8F8F2\">(max_iter):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        c <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> (a <\/span><span style=\"color: #FF79C6\">*<\/span><span style=\"color: #F8F8F2\"> f(b) <\/span><span style=\"color: #FF79C6\">-<\/span><span style=\"color: #F8F8F2\"> b <\/span><span style=\"color: #FF79C6\">*<\/span><span style=\"color: #F8F8F2\"> f(a)) <\/span><span style=\"color: #FF79C6\">\/<\/span><span style=\"color: #F8F8F2\"> (f(b) <\/span><span style=\"color: #FF79C6\">-<\/span><span style=\"color: #F8F8F2\"> f(a))<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #FF79C6\">if<\/span><span style=\"color: #F8F8F2\"> np.abs(f(c)) <\/span><span style=\"color: #FF79C6\">&lt;<\/span><span style=\"color: #F8F8F2\"> tol:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">            <\/span><span style=\"color: #FF79C6\">return<\/span><span style=\"color: #F8F8F2\"> c<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #FF79C6\">if<\/span><span style=\"color: #F8F8F2\"> f(a) <\/span><span style=\"color: #FF79C6\">*<\/span><span style=\"color: #F8F8F2\"> f(c) <\/span><span style=\"color: #FF79C6\">&lt;<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">0<\/span><span style=\"color: #F8F8F2\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">            b <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> c<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #FF79C6\">else<\/span><span style=\"color: #F8F8F2\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">            a <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> c<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #FF79C6\">raise<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #8BE9FD; font-style: italic\">ValueError<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">Regula-Falsi method did not converge<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #FF79C6\">def<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #50FA7B\">newton_raphson<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">f<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">f_prime<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">x0<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">tol<\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #BD93F9\">1e-6<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">max_iter<\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #BD93F9\">100<\/span><span style=\"color: #F8F8F2\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #6272A4\"># Newton-Raphson method for solving equations<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    x <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> x0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #FF79C6\">for<\/span><span style=\"color: #F8F8F2\"> _ <\/span><span style=\"color: #FF79C6\">in<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #8BE9FD\">range<\/span><span style=\"color: #F8F8F2\">(max_iter):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        x_new <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> x <\/span><span style=\"color: #FF79C6\">-<\/span><span style=\"color: #F8F8F2\"> f(x) <\/span><span style=\"color: #FF79C6\">\/<\/span><span style=\"color: #F8F8F2\"> f_prime(x)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #FF79C6\">if<\/span><span style=\"color: #F8F8F2\"> np.abs(f(x_new)) <\/span><span style=\"color: #FF79C6\">&lt;<\/span><span style=\"color: #F8F8F2\"> tol:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">            <\/span><span style=\"color: #FF79C6\">return<\/span><span style=\"color: #F8F8F2\"> x_new<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        x <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> x_new<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #FF79C6\">raise<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #8BE9FD; font-style: italic\">ValueError<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">Newton-Raphson method did not converge<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6272A4\"># Example usage:<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6272A4\"># Define the function<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FF79C6\">def<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #50FA7B\">f<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">x<\/span><span style=\"color: #F8F8F2\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #FF79C6\">return<\/span><span style=\"color: #F8F8F2\"> x<\/span><span style=\"color: #FF79C6\">**<\/span><span style=\"color: #BD93F9\">3<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #FF79C6\">-<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">2<\/span><span style=\"color: #FF79C6\">*<\/span><span style=\"color: #F8F8F2\">x <\/span><span style=\"color: #FF79C6\">-<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">5<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6272A4\"># Define the derivative of the function<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FF79C6\">def<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #50FA7B\">f_prime<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">x<\/span><span style=\"color: #F8F8F2\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #FF79C6\">return<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">3<\/span><span style=\"color: #FF79C6\">*<\/span><span style=\"color: #F8F8F2\">x<\/span><span style=\"color: #FF79C6\">**<\/span><span style=\"color: #BD93F9\">2<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #FF79C6\">-<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">2<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6272A4\"># Initial guesses<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">x0_ramanujan <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">x0_regula_falsi <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">x0_newton_raphson <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">1<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6272A4\"># Solve using Ramanujan&#39;s method<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">solution_ramanujan <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> ramanujan(f, <\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #BD93F9\">3<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8BE9FD\">print<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">Solution using Ramanujan&#39;s method:<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F8F8F2\">, solution_ramanujan)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6272A4\"># Solve using Regula-Falsi method<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">solution_regula_falsi <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> regula_falsi(f, <\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #BD93F9\">3<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8BE9FD\">print<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">Solution using Regula-Falsi method:<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F8F8F2\">, solution_regula_falsi)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6272A4\"># Solve using Newton-Raphson method<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">solution_newton_raphson <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> newton_raphson(f, f_prime, <\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8BE9FD\">print<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">Solution using Newton-Raphson method:<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F8F8F2\">, solution_newton_raphson)<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>To run this program online click n the link below<\/p>\n\n\n\n<p><a href=\"https:\/\/colab.research.google.com\/drive\/1S1vWkTB3rMvRpdKxVOsiNc1s4pPI68d0?usp=sharing\" target=\"_blank\" rel=\"noopener\" title=\"P06 Program\">P06 Program<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Output<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"Solution using Ramanujan's method: 2.094551400063298\nSolution using Regula-Falsi method: 2.094551400063298\nSolution using Newton-Raphson method: 2.0945514815642077\n\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9\">Solution<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">using<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">Ramanujan<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">s method: 2.09455140006329<\/span><span style=\"color: #D8DEE9\">8<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">Solution<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">using<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">Regula<\/span><span style=\"color: #D8DEE9FF\">-Falsi method<\/span><span style=\"color: #81A1C1\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">2.094551400063298<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">Solution<\/span><span style=\"color: #D8DEE9FF\"> using Newton-Raphson method<\/span><span style=\"color: #81A1C1\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">2.0945514815642077<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"program07\">7) Interpolation\/Extrapolation using Newton\u2019s forward and backward difference formula<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Python Program<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"import numpy as np\nimport matplotlib.pyplot as plt\n\ndef forward_difference_coefficients(y):\n    n = len(y)\n    coeffs = np.zeros((n, n))\n    coeffs[:, 0] = y\n    \n    for j in range(1, n):\n        for i in range(n - j):\n            coeffs[i, j] = coeffs[i+1, j-1] - coeffs[i, j-1]\n            \n    return coeffs\n\ndef backward_difference_coefficients(y):\n    n = len(y)\n    coeffs = np.zeros((n, n))\n    coeffs[:, 0] = y\n    \n    for j in range(1, n):\n        for i in range(j, n):\n            coeffs[i, j] = coeffs[i, j-1] - coeffs[i-1, j-1]\n            \n    return coeffs\n\ndef newton_interpolation(x, y, coeffs, xi):\n    n = len(x)\n    h = x[1] - x[0]\n    \n    fxi = coeffs[0, 0]\n    for j in range(1, n):\n        term = coeffs[0, j]\n        for i in range(j):\n            term *= (xi - x[i]) \/ ((j+1) * h)\n        fxi += term\n        \n    return fxi\n\n# Data points\nx = np.array([0, 1, 2, 3, 4])\ny = np.array([1, 2, 4, 8, 16])\n\n# Coefficients for forward and backward difference formula\ncoeffs_forward = forward_difference_coefficients(y)\ncoeffs_backward = backward_difference_coefficients(y)\n\n# Visualization of coefficients\nplt.figure(figsize=(12, 6))\n\n# Forward Difference Coefficients\nplt.subplot(1, 2, 1)\nplt.imshow(coeffs_forward, cmap='coolwarm', aspect='auto')\nplt.title('Forward Difference Coefficients')\nplt.xlabel('Order of Difference')\nplt.ylabel('Data Points')\nplt.colorbar(label='Coefficient Value')\n\n# Backward Difference Coefficients\nplt.subplot(1, 2, 2)\nplt.imshow(coeffs_backward, cmap='coolwarm', aspect='auto')\nplt.title('Backward Difference Coefficients')\nplt.xlabel('Order of Difference')\nplt.ylabel('Data Points')\nplt.colorbar(label='Coefficient Value')\n\nplt.tight_layout()\nplt.show()\n\n# Interpolation\nxi = 2.5\nforward_interpolation = newton_interpolation(x, y, coeffs_forward, xi)\nbackward_interpolation = newton_interpolation(x, y, coeffs_backward, xi)\n\nprint(&quot;Interpolated value at xi using forward difference formula:&quot;, forward_interpolation)\nprint(&quot;Interpolated value at xi using backward difference formula:&quot;, backward_interpolation)\" style=\"color:#F8F8F2;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dracula\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #FF79C6\">import<\/span><span style=\"color: #F8F8F2\"> numpy <\/span><span style=\"color: #FF79C6\">as<\/span><span style=\"color: #F8F8F2\"> np<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FF79C6\">import<\/span><span style=\"color: #F8F8F2\"> matplotlib.pyplot <\/span><span style=\"color: #FF79C6\">as<\/span><span style=\"color: #F8F8F2\"> plt<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #FF79C6\">def<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #50FA7B\">forward_difference_coefficients<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">y<\/span><span style=\"color: #F8F8F2\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    n <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #8BE9FD\">len<\/span><span style=\"color: #F8F8F2\">(y)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    coeffs <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> np.zeros((n, n))<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    coeffs[<\/span><span style=\"color: #FF79C6\">:<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #BD93F9\">0<\/span><span style=\"color: #F8F8F2\">] <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> y<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #FF79C6\">for<\/span><span style=\"color: #F8F8F2\"> j <\/span><span style=\"color: #FF79C6\">in<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #8BE9FD\">range<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">, n):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #FF79C6\">for<\/span><span style=\"color: #F8F8F2\"> i <\/span><span style=\"color: #FF79C6\">in<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #8BE9FD\">range<\/span><span style=\"color: #F8F8F2\">(n <\/span><span style=\"color: #FF79C6\">-<\/span><span style=\"color: #F8F8F2\"> j):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">            coeffs[i, j] <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> coeffs[i<\/span><span style=\"color: #FF79C6\">+<\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">, j<\/span><span style=\"color: #FF79C6\">-<\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">] <\/span><span style=\"color: #FF79C6\">-<\/span><span style=\"color: #F8F8F2\"> coeffs[i, j<\/span><span style=\"color: #FF79C6\">-<\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">            <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #FF79C6\">return<\/span><span style=\"color: #F8F8F2\"> coeffs<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #FF79C6\">def<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #50FA7B\">backward_difference_coefficients<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">y<\/span><span style=\"color: #F8F8F2\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    n <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #8BE9FD\">len<\/span><span style=\"color: #F8F8F2\">(y)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    coeffs <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> np.zeros((n, n))<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    coeffs[<\/span><span style=\"color: #FF79C6\">:<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #BD93F9\">0<\/span><span style=\"color: #F8F8F2\">] <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> y<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #FF79C6\">for<\/span><span style=\"color: #F8F8F2\"> j <\/span><span style=\"color: #FF79C6\">in<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #8BE9FD\">range<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">, n):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #FF79C6\">for<\/span><span style=\"color: #F8F8F2\"> i <\/span><span style=\"color: #FF79C6\">in<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #8BE9FD\">range<\/span><span style=\"color: #F8F8F2\">(j, n):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">            coeffs[i, j] <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> coeffs[i, j<\/span><span style=\"color: #FF79C6\">-<\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">] <\/span><span style=\"color: #FF79C6\">-<\/span><span style=\"color: #F8F8F2\"> coeffs[i<\/span><span style=\"color: #FF79C6\">-<\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">, j<\/span><span style=\"color: #FF79C6\">-<\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">            <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #FF79C6\">return<\/span><span style=\"color: #F8F8F2\"> coeffs<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #FF79C6\">def<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #50FA7B\">newton_interpolation<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">x<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">y<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">coeffs<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">xi<\/span><span style=\"color: #F8F8F2\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    n <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #8BE9FD\">len<\/span><span style=\"color: #F8F8F2\">(x)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    h <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> x[<\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">] <\/span><span style=\"color: #FF79C6\">-<\/span><span style=\"color: #F8F8F2\"> x[<\/span><span style=\"color: #BD93F9\">0<\/span><span style=\"color: #F8F8F2\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    fxi <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> coeffs[<\/span><span style=\"color: #BD93F9\">0<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #BD93F9\">0<\/span><span style=\"color: #F8F8F2\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #FF79C6\">for<\/span><span style=\"color: #F8F8F2\"> j <\/span><span style=\"color: #FF79C6\">in<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #8BE9FD\">range<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">, n):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        term <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> coeffs[<\/span><span style=\"color: #BD93F9\">0<\/span><span style=\"color: #F8F8F2\">, j]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #FF79C6\">for<\/span><span style=\"color: #F8F8F2\"> i <\/span><span style=\"color: #FF79C6\">in<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #8BE9FD\">range<\/span><span style=\"color: #F8F8F2\">(j):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">            term <\/span><span style=\"color: #FF79C6\">*=<\/span><span style=\"color: #F8F8F2\"> (xi <\/span><span style=\"color: #FF79C6\">-<\/span><span style=\"color: #F8F8F2\"> x[i]) <\/span><span style=\"color: #FF79C6\">\/<\/span><span style=\"color: #F8F8F2\"> ((j<\/span><span style=\"color: #FF79C6\">+<\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">) <\/span><span style=\"color: #FF79C6\">*<\/span><span style=\"color: #F8F8F2\"> h)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        fxi <\/span><span style=\"color: #FF79C6\">+=<\/span><span style=\"color: #F8F8F2\"> term<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #FF79C6\">return<\/span><span style=\"color: #F8F8F2\"> fxi<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6272A4\"># Data points<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">x <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> np.array([<\/span><span style=\"color: #BD93F9\">0<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #BD93F9\">2<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #BD93F9\">3<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #BD93F9\">4<\/span><span style=\"color: #F8F8F2\">])<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">y <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> np.array([<\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #BD93F9\">2<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #BD93F9\">4<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #BD93F9\">8<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #BD93F9\">16<\/span><span style=\"color: #F8F8F2\">])<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6272A4\"># Coefficients for forward and backward difference formula<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">coeffs_forward <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> forward_difference_coefficients(y)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">coeffs_backward <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> backward_difference_coefficients(y)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6272A4\"># Visualization of coefficients<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">plt.figure(<\/span><span style=\"color: #FFB86C; font-style: italic\">figsize<\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #BD93F9\">12<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #BD93F9\">6<\/span><span style=\"color: #F8F8F2\">))<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6272A4\"># Forward Difference Coefficients<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">plt.subplot(<\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #BD93F9\">2<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">plt.imshow(coeffs_forward, <\/span><span style=\"color: #FFB86C; font-style: italic\">cmap<\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F1FA8C\">coolwarm<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">aspect<\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F1FA8C\">auto<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">plt.title(<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F1FA8C\">Forward Difference Coefficients<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">plt.xlabel(<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F1FA8C\">Order of Difference<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">plt.ylabel(<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F1FA8C\">Data Points<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">plt.colorbar(<\/span><span style=\"color: #FFB86C; font-style: italic\">label<\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F1FA8C\">Coefficient Value<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6272A4\"># Backward Difference Coefficients<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">plt.subplot(<\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #BD93F9\">2<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #BD93F9\">2<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">plt.imshow(coeffs_backward, <\/span><span style=\"color: #FFB86C; font-style: italic\">cmap<\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F1FA8C\">coolwarm<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">aspect<\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F1FA8C\">auto<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">plt.title(<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F1FA8C\">Backward Difference Coefficients<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">plt.xlabel(<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F1FA8C\">Order of Difference<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">plt.ylabel(<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F1FA8C\">Data Points<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">plt.colorbar(<\/span><span style=\"color: #FFB86C; font-style: italic\">label<\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F1FA8C\">Coefficient Value<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">plt.tight_layout()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">plt.show()<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6272A4\"># Interpolation<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">xi <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">2.5<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">forward_interpolation <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> newton_interpolation(x, y, coeffs_forward, xi)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">backward_interpolation <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> newton_interpolation(x, y, coeffs_backward, xi)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #8BE9FD\">print<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">Interpolated value at xi using forward difference formula:<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F8F8F2\">, forward_interpolation)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8BE9FD\">print<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">Interpolated value at xi using backward difference formula:<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F8F8F2\">, backward_interpolation)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>To run this program online click n the link below<\/p>\n\n\n\n<p><a href=\"https:\/\/colab.research.google.com\/drive\/1ZLM1gOgDs12pcC1Uwy3LiEKHtmfIlh4s?usp=sharing\" target=\"_blank\" rel=\"noopener\" title=\"P06 Program\">P07 Program<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Output<\/h3>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image-5.png?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"932\" height=\"508\" data-src=\"https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image-5.png?resize=932%2C508&#038;ssl=1\" alt=\"\" class=\"wp-image-1790 lazyload\" data-srcset=\"https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image-5.png?w=932&amp;ssl=1 932w, https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image-5.png?resize=300%2C164&amp;ssl=1 300w, https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image-5.png?resize=768%2C419&amp;ssl=1 768w\" data-sizes=\"(max-width: 932px) 100vw, 932px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 932px; --smush-placeholder-aspect-ratio: 932\/508;\" \/><\/a><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"program08\">8) Computation of area under the curve using Trapezoidal, Simpson\u2019s (1\/3)<sup>rd<\/sup> and (3\/8)<sup>th<\/sup> rule<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Python Code<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"import numpy as np\nimport matplotlib.pyplot as plt\n\ndef trapezoidal_rule(f, a, b, n):\n    h = (b - a) \/ n\n    x = np.linspace(a, b, n+1)\n    y = f(x)\n    area = h * (np.sum(y) - 0.5 * (y[0] + y[-1]))\n    return area, x, y\n\ndef simpsons_one_third_rule(f, a, b, n):\n    h = (b - a) \/ n\n    x = np.linspace(a, b, n+1)\n    y = f(x)\n    area = h\/3 * (y[0] + 4*np.sum(y[1:-1:2]) + 2*np.sum(y[2:-2:2]) + y[-1])\n    return area, x, y\n\ndef simpsons_three_eighth_rule(f, a, b, n):\n    h = (b - a) \/ n\n    x = np.linspace(a, b, n+1)\n    y = f(x)\n    area = 3*h\/8 * (y[0] + 3*np.sum(y[1:-1:3]) + 3*np.sum(y[2:-2:3]) + 2*np.sum(y[3:-3:3]) + y[-1])\n    return area, x, y\n\n# Example function\ndef f(x):\n    return np.sin(x)\n\n# Integration interval\na = 0\nb = np.pi\n\n# Number of subintervals\nn = 10\n\n# Compute area using different rules\narea_trapezoidal, x_trap, y_trap = trapezoidal_rule(f, a, b, n)\narea_simpsons_one_third, x_simp13, y_simp13 = simpsons_one_third_rule(f, a, b, n)\narea_simpsons_three_eighth, x_simp38, y_simp38 = simpsons_three_eighth_rule(f, a, b, n)\n\n# Plot the function\nx = np.linspace(a, b, 100)\ny = f(x)\n\nplt.figure(figsize=(10, 6))\nplt.plot(x, y, label='Function: sin(x)')\nplt.fill_between(x_trap, 0, y_trap, alpha=0.3, label='Trapezoidal Rule Area')\nplt.fill_between(x_simp13, 0, y_simp13, alpha=0.3, label=&quot;Simpson's 1\/3 Rule Area&quot;)\nplt.fill_between(x_simp38, 0, y_simp38, alpha=0.3, label=&quot;Simpson's 3\/8 Rule Area&quot;)\nplt.xlabel('x')\nplt.ylabel('y')\nplt.title('Area Under the Curve Approximation')\nplt.legend()\nplt.grid(True)\nplt.show()\n\n# Print results\nprint(&quot;Area under the curve using Trapezoidal rule:&quot;, area_trapezoidal)\nprint(&quot;Area under the curve using Simpson's 1\/3 rule:&quot;, area_simpsons_one_third)\nprint(&quot;Area under the curve using Simpson's 3\/8 rule:&quot;, area_simpsons_three_eighth)\n\" style=\"color:#F8F8F2;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dracula\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #FF79C6\">import<\/span><span style=\"color: #F8F8F2\"> numpy <\/span><span style=\"color: #FF79C6\">as<\/span><span style=\"color: #F8F8F2\"> np<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FF79C6\">import<\/span><span style=\"color: #F8F8F2\"> matplotlib.pyplot <\/span><span style=\"color: #FF79C6\">as<\/span><span style=\"color: #F8F8F2\"> plt<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #FF79C6\">def<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #50FA7B\">trapezoidal_rule<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">f<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">a<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">b<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">n<\/span><span style=\"color: #F8F8F2\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    h <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> (b <\/span><span style=\"color: #FF79C6\">-<\/span><span style=\"color: #F8F8F2\"> a) <\/span><span style=\"color: #FF79C6\">\/<\/span><span style=\"color: #F8F8F2\"> n<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    x <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> np.linspace(a, b, n<\/span><span style=\"color: #FF79C6\">+<\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    y <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> f(x)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    area <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> h <\/span><span style=\"color: #FF79C6\">*<\/span><span style=\"color: #F8F8F2\"> (np.sum(y) <\/span><span style=\"color: #FF79C6\">-<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">0.5<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #FF79C6\">*<\/span><span style=\"color: #F8F8F2\"> (y[<\/span><span style=\"color: #BD93F9\">0<\/span><span style=\"color: #F8F8F2\">] <\/span><span style=\"color: #FF79C6\">+<\/span><span style=\"color: #F8F8F2\"> y[<\/span><span style=\"color: #FF79C6\">-<\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">]))<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #FF79C6\">return<\/span><span style=\"color: #F8F8F2\"> area, x, y<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #FF79C6\">def<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #50FA7B\">simpsons_one_third_rule<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">f<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">a<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">b<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">n<\/span><span style=\"color: #F8F8F2\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    h <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> (b <\/span><span style=\"color: #FF79C6\">-<\/span><span style=\"color: #F8F8F2\"> a) <\/span><span style=\"color: #FF79C6\">\/<\/span><span style=\"color: #F8F8F2\"> n<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    x <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> np.linspace(a, b, n<\/span><span style=\"color: #FF79C6\">+<\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    y <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> f(x)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    area <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> h<\/span><span style=\"color: #FF79C6\">\/<\/span><span style=\"color: #BD93F9\">3<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #FF79C6\">*<\/span><span style=\"color: #F8F8F2\"> (y[<\/span><span style=\"color: #BD93F9\">0<\/span><span style=\"color: #F8F8F2\">] <\/span><span style=\"color: #FF79C6\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">4<\/span><span style=\"color: #FF79C6\">*<\/span><span style=\"color: #F8F8F2\">np.sum(y[<\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #FF79C6\">:-<\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #FF79C6\">:<\/span><span style=\"color: #BD93F9\">2<\/span><span style=\"color: #F8F8F2\">]) <\/span><span style=\"color: #FF79C6\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">2<\/span><span style=\"color: #FF79C6\">*<\/span><span style=\"color: #F8F8F2\">np.sum(y[<\/span><span style=\"color: #BD93F9\">2<\/span><span style=\"color: #FF79C6\">:-<\/span><span style=\"color: #BD93F9\">2<\/span><span style=\"color: #FF79C6\">:<\/span><span style=\"color: #BD93F9\">2<\/span><span style=\"color: #F8F8F2\">]) <\/span><span style=\"color: #FF79C6\">+<\/span><span style=\"color: #F8F8F2\"> y[<\/span><span style=\"color: #FF79C6\">-<\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">])<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #FF79C6\">return<\/span><span style=\"color: #F8F8F2\"> area, x, y<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #FF79C6\">def<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #50FA7B\">simpsons_three_eighth_rule<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">f<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">a<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">b<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">n<\/span><span style=\"color: #F8F8F2\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    h <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> (b <\/span><span style=\"color: #FF79C6\">-<\/span><span style=\"color: #F8F8F2\"> a) <\/span><span style=\"color: #FF79C6\">\/<\/span><span style=\"color: #F8F8F2\"> n<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    x <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> np.linspace(a, b, n<\/span><span style=\"color: #FF79C6\">+<\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    y <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> f(x)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    area <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">3<\/span><span style=\"color: #FF79C6\">*<\/span><span style=\"color: #F8F8F2\">h<\/span><span style=\"color: #FF79C6\">\/<\/span><span style=\"color: #BD93F9\">8<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #FF79C6\">*<\/span><span style=\"color: #F8F8F2\"> (y[<\/span><span style=\"color: #BD93F9\">0<\/span><span style=\"color: #F8F8F2\">] <\/span><span style=\"color: #FF79C6\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">3<\/span><span style=\"color: #FF79C6\">*<\/span><span style=\"color: #F8F8F2\">np.sum(y[<\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #FF79C6\">:-<\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #FF79C6\">:<\/span><span style=\"color: #BD93F9\">3<\/span><span style=\"color: #F8F8F2\">]) <\/span><span style=\"color: #FF79C6\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">3<\/span><span style=\"color: #FF79C6\">*<\/span><span style=\"color: #F8F8F2\">np.sum(y[<\/span><span style=\"color: #BD93F9\">2<\/span><span style=\"color: #FF79C6\">:-<\/span><span style=\"color: #BD93F9\">2<\/span><span style=\"color: #FF79C6\">:<\/span><span style=\"color: #BD93F9\">3<\/span><span style=\"color: #F8F8F2\">]) <\/span><span style=\"color: #FF79C6\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">2<\/span><span style=\"color: #FF79C6\">*<\/span><span style=\"color: #F8F8F2\">np.sum(y[<\/span><span style=\"color: #BD93F9\">3<\/span><span style=\"color: #FF79C6\">:-<\/span><span style=\"color: #BD93F9\">3<\/span><span style=\"color: #FF79C6\">:<\/span><span style=\"color: #BD93F9\">3<\/span><span style=\"color: #F8F8F2\">]) <\/span><span style=\"color: #FF79C6\">+<\/span><span style=\"color: #F8F8F2\"> y[<\/span><span style=\"color: #FF79C6\">-<\/span><span style=\"color: #BD93F9\">1<\/span><span style=\"color: #F8F8F2\">])<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #FF79C6\">return<\/span><span style=\"color: #F8F8F2\"> area, x, y<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6272A4\"># Example function<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FF79C6\">def<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #50FA7B\">f<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">x<\/span><span style=\"color: #F8F8F2\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #FF79C6\">return<\/span><span style=\"color: #F8F8F2\"> np.sin(x)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6272A4\"># Integration interval<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">a <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">b <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> np.pi<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6272A4\"># Number of subintervals<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">n <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">10<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6272A4\"># Compute area using different rules<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">area_trapezoidal, x_trap, y_trap <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> trapezoidal_rule(f, a, b, n)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">area_simpsons_one_third, x_simp13, y_simp13 <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> simpsons_one_third_rule(f, a, b, n)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">area_simpsons_three_eighth, x_simp38, y_simp38 <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> simpsons_three_eighth_rule(f, a, b, n)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6272A4\"># Plot the function<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">x <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> np.linspace(a, b, <\/span><span style=\"color: #BD93F9\">100<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">y <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> f(x)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">plt.figure(<\/span><span style=\"color: #FFB86C; font-style: italic\">figsize<\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #BD93F9\">10<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #BD93F9\">6<\/span><span style=\"color: #F8F8F2\">))<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">plt.plot(x, y, <\/span><span style=\"color: #FFB86C; font-style: italic\">label<\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F1FA8C\">Function: sin(x)<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">plt.fill_between(x_trap, <\/span><span style=\"color: #BD93F9\">0<\/span><span style=\"color: #F8F8F2\">, y_trap, <\/span><span style=\"color: #FFB86C; font-style: italic\">alpha<\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #BD93F9\">0.3<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">label<\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F1FA8C\">Trapezoidal Rule Area<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">plt.fill_between(x_simp13, <\/span><span style=\"color: #BD93F9\">0<\/span><span style=\"color: #F8F8F2\">, y_simp13, <\/span><span style=\"color: #FFB86C; font-style: italic\">alpha<\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #BD93F9\">0.3<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">label<\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">Simpson&#39;s 1\/3 Rule Area<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">plt.fill_between(x_simp38, <\/span><span style=\"color: #BD93F9\">0<\/span><span style=\"color: #F8F8F2\">, y_simp38, <\/span><span style=\"color: #FFB86C; font-style: italic\">alpha<\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #BD93F9\">0.3<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">label<\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">Simpson&#39;s 3\/8 Rule Area<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">plt.xlabel(<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F1FA8C\">x<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">plt.ylabel(<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F1FA8C\">y<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">plt.title(<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F1FA8C\">Area Under the Curve Approximation<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">plt.legend()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">plt.grid(<\/span><span style=\"color: #BD93F9\">True<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">plt.show()<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6272A4\"># Print results<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8BE9FD\">print<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">Area under the curve using Trapezoidal rule:<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F8F8F2\">, area_trapezoidal)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8BE9FD\">print<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">Area under the curve using Simpson&#39;s 1\/3 rule:<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F8F8F2\">, area_simpsons_one_third)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8BE9FD\">print<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">Area under the curve using Simpson&#39;s 3\/8 rule:<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F8F8F2\">, area_simpsons_three_eighth)<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>To run this program online click n the link below<\/p>\n\n\n\n<p><a href=\"https:\/\/colab.research.google.com\/drive\/1DmFQo627DFkcuvXNEqQzz-DCvw1cJtHq?usp=sharing\" target=\"_blank\" rel=\"noopener\" title=\"P08 Program\">P08 Program<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Output<\/h3>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image-6.png?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"932\" height=\"617\" data-src=\"https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image-6.png?resize=932%2C617&#038;ssl=1\" alt=\"\" class=\"wp-image-1791 lazyload\" data-srcset=\"https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image-6.png?w=932&amp;ssl=1 932w, https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image-6.png?resize=300%2C199&amp;ssl=1 300w, https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image-6.png?resize=768%2C508&amp;ssl=1 768w\" data-sizes=\"(max-width: 932px) 100vw, 932px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 932px; --smush-placeholder-aspect-ratio: 932\/617;\" \/><\/a><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"program09\">9) Solution of ODE of first order and first degree by Taylor\u2019s series and Modified Euler\u2019s method<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Python Code<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"import numpy as np\nimport matplotlib.pyplot as plt\n\ndef taylors_series(f, y0, t0, tn, h):\n    t_values = np.arange(t0, tn+h, h)\n    y_values = np.zeros_like(t_values)\n    y_values[0] = y0\n    \n    for i in range(1, len(t_values)):\n        t = t_values[i-1]\n        y = y_values[i-1]\n        y_prime = f(t, y)\n        y_double_prime = f(t, y_prime)\n        y_values[i] = y + h*y_prime + (h**2 \/ 2)*y_double_prime\n    \n    return t_values, y_values\n\ndef modified_euler(f, y0, t0, tn, h):\n    t_values = np.arange(t0, tn+h, h)\n    y_values = np.zeros_like(t_values)\n    y_values[0] = y0\n    \n    for i in range(1, len(t_values)):\n        t = t_values[i-1]\n        y = y_values[i-1]\n        y_prime = f(t, y)\n        y_modified = y + h*y_prime\n        y_prime_modified = f(t+h, y_modified)\n        y_values[i] = y + (h\/2)*(y_prime + y_prime_modified)\n    \n    return t_values, y_values\n\n# Example ODE: y' = y - t^2 + 1, y(0) = 0.5\ndef f(t, y):\n    return y - t**2 + 1\n\n# Initial conditions\ny0 = 0.5\nt0 = 0\ntn = 2\nh = 0.2\n\n# Solve using Taylor's series method\nt_values_taylor, y_values_taylor = taylors_series(f, y0, t0, tn, h)\n\n# Solve using Modified Euler's method\nt_values_euler, y_values_euler = modified_euler(f, y0, t0, tn, h)\n\n# Plot the solutions\nplt.figure(figsize=(10, 6))\nplt.plot(t_values_taylor, y_values_taylor, label=&quot;Taylor's Series&quot;)\nplt.plot(t_values_euler, y_values_euler, label=&quot;Modified Euler's Method&quot;)\nplt.xlabel('t')\nplt.ylabel('y')\nplt.title('Solution of ODE: y\\' = y - t^2 + 1')\nplt.legend()\nplt.grid(True)\nplt.show()\n\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F286C4\">import<\/span><span style=\"color: #F6F6F4\"> numpy <\/span><span style=\"color: #F286C4\">as<\/span><span style=\"color: #F6F6F4\"> np<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">import<\/span><span style=\"color: #F6F6F4\"> matplotlib.pyplot <\/span><span style=\"color: #F286C4\">as<\/span><span style=\"color: #F6F6F4\"> plt<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">def<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">taylors_series<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">f<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">y0<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">t0<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">tn<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">h<\/span><span style=\"color: #F6F6F4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    t_values <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> np.arange(t0, tn<\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\">h, h)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    y_values <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> np.zeros_like(t_values)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    y_values[<\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">] <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> y0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">for<\/span><span style=\"color: #F6F6F4\"> i <\/span><span style=\"color: #F286C4\">in<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #97E1F1\">range<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #97E1F1\">len<\/span><span style=\"color: #F6F6F4\">(t_values)):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        t <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> t_values[i<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        y <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> y_values[i<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        y_prime <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> f(t, y)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        y_double_prime <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> f(t, y_prime)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        y_values[i] <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> y <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> h<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\">y_prime <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> (h<\/span><span style=\"color: #F286C4\">**<\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">)<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\">y_double_prime<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\"> t_values, y_values<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">def<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">modified_euler<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">f<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">y0<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">t0<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">tn<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">h<\/span><span style=\"color: #F6F6F4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    t_values <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> np.arange(t0, tn<\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\">h, h)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    y_values <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> np.zeros_like(t_values)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    y_values[<\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">] <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> y0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">for<\/span><span style=\"color: #F6F6F4\"> i <\/span><span style=\"color: #F286C4\">in<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #97E1F1\">range<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #97E1F1\">len<\/span><span style=\"color: #F6F6F4\">(t_values)):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        t <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> t_values[i<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        y <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> y_values[i<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        y_prime <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> f(t, y)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        y_modified <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> y <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> h<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\">y_prime<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        y_prime_modified <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> f(t<\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\">h, y_modified)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        y_values[i] <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> y <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> (h<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">)<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\">(y_prime <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> y_prime_modified)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\"> t_values, y_values<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Example ODE: y&#39; = y - t^2 + 1, y(0) = 0.5<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">def<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">f<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">t<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">y<\/span><span style=\"color: #F6F6F4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\"> y <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> t<\/span><span style=\"color: #F286C4\">**<\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">1<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Initial conditions<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">y0 <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">0.5<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">t0 <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">tn <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">h <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">0.2<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Solve using Taylor&#39;s series method<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">t_values_taylor, y_values_taylor <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> taylors_series(f, y0, t0, tn, h)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Solve using Modified Euler&#39;s method<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">t_values_euler, y_values_euler <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> modified_euler(f, y0, t0, tn, h)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Plot the solutions<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">plt.figure(<\/span><span style=\"color: #FFB86C; font-style: italic\">figsize<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #BF9EEE\">10<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #BF9EEE\">6<\/span><span style=\"color: #F6F6F4\">))<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">plt.plot(t_values_taylor, y_values_taylor, <\/span><span style=\"color: #FFB86C; font-style: italic\">label<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Taylor&#39;s Series<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">plt.plot(t_values_euler, y_values_euler, <\/span><span style=\"color: #FFB86C; font-style: italic\">label<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Modified Euler&#39;s Method<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">plt.xlabel(<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">t<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">plt.ylabel(<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">y<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">plt.title(<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">Solution of ODE: y<\/span><span style=\"color: #F286C4\">\\&#39;<\/span><span style=\"color: #E7EE98\"> = y - t^2 + 1<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">plt.legend()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">plt.grid(<\/span><span style=\"color: #BF9EEE\">True<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">plt.show()<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>To run this program online click n the link below<\/p>\n\n\n\n<p><a href=\"https:\/\/colab.research.google.com\/drive\/1h6oXR8Pqum6yQvAYmUFUbQYa0ObjpzBq?usp=sharing\" target=\"_blank\" rel=\"noopener\" title=\"P09 Program\">P09 Program<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Output<\/h3>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image-4.png?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"907\" height=\"546\" data-src=\"https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image-4.png?resize=907%2C546&#038;ssl=1\" alt=\"\" class=\"wp-image-1785 lazyload\" data-srcset=\"https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image-4.png?w=907&amp;ssl=1 907w, https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image-4.png?resize=300%2C181&amp;ssl=1 300w, https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image-4.png?resize=768%2C462&amp;ssl=1 768w\" data-sizes=\"(max-width: 907px) 100vw, 907px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 907px; --smush-placeholder-aspect-ratio: 907\/546;\" \/><\/a><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"program10\">10) Solution of ODE of first order and first degree by Runge-Kutta 4th order and Milne\u2019s predictor-corrector method<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Python Code<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"import numpy as np\nimport matplotlib.pyplot as plt\n\ndef runge_kutta_4th_order(f, y0, t0, tn, h):\n    t_values = np.arange(t0, tn+h, h)\n    y_values = np.zeros_like(t_values)\n    y_values[0] = y0\n    \n    for i in range(1, len(t_values)):\n        t = t_values[i-1]\n        y = y_values[i-1]\n        \n        k1 = h * f(t, y)\n        k2 = h * f(t + h\/2, y + k1\/2)\n        k3 = h * f(t + h\/2, y + k2\/2)\n        k4 = h * f(t + h, y + k3)\n        \n        y_values[i] = y + (k1 + 2*k2 + 2*k3 + k4) \/ 6\n    \n    return t_values, y_values\n\ndef milnes_predictor_corrector(f, y0, t0, tn, h):\n    t_values = np.arange(t0, tn+h, h)\n    y_values = np.zeros_like(t_values)\n    y_values[0] = y0\n    \n    for i in range(1, 4):\n        t = t_values[i-1]\n        y = y_values[i-1]\n        k1 = h * f(t, y)\n        k2 = h * f(t + h\/2, y + k1\/2)\n        k3 = h * f(t + h\/2, y + k2\/2)\n        k4 = h * f(t + h, y + k3)\n        \n        y_values[i] = y + (k1 + 2*k2 + 2*k3 + k4) \/ 6\n    \n    for i in range(3, len(t_values)):\n        t_n3 = t_values[i-3]\n        t_n2 = t_values[i-2]\n        t_n1 = t_values[i-1]\n        y_n3 = y_values[i-3]\n        y_n2 = y_values[i-2]\n        y_n1 = y_values[i-1]\n        \n        t = t_values[i-1]\n        y_p = y_n1 + 4*h\/3 * (2*f(t, y_n1) - f(t_n1, y_n2) + 2*f(t_n2, y_n3))\n        t = t_values[i]\n        y_values[i] = y_n1 + h\/3 * (f(t, y_p) + 4*f(t_n1, y_n1) + f(t_n2, y_n2))\n    \n    return t_values, y_values\n\n# Example ODE: y' = y - t^2 + 1, y(0) = 0.5\ndef f(t, y):\n    return y - t**2 + 1\n\n# Initial conditions\ny0 = 0.5\nt0 = 0\ntn = 2\nh = 0.2\n\n# Solve using Runge-Kutta 4th order method\nt_values_rk4, y_values_rk4 = runge_kutta_4th_order(f, y0, t0, tn, h)\n\n# Solve using Milne's predictor-corrector method\nt_values_milne, y_values_milne = milnes_predictor_corrector(f, y0, t0, tn, h)\n\n# Plot the solutions\nplt.figure(figsize=(10, 6))\nplt.plot(t_values_rk4, y_values_rk4, label=&quot;Runge-Kutta 4th Order&quot;)\nplt.plot(t_values_milne, y_values_milne, label=&quot;Milne's Predictor-Corrector&quot;)\nplt.xlabel('t')\nplt.ylabel('y')\nplt.title('Solution of ODE: y\\' = y - t^2 + 1')\nplt.legend()\nplt.grid(True)\nplt.show()\n\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F286C4\">import<\/span><span style=\"color: #F6F6F4\"> numpy <\/span><span style=\"color: #F286C4\">as<\/span><span style=\"color: #F6F6F4\"> np<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">import<\/span><span style=\"color: #F6F6F4\"> matplotlib.pyplot <\/span><span style=\"color: #F286C4\">as<\/span><span style=\"color: #F6F6F4\"> plt<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">def<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">runge_kutta_4th_order<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">f<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">y0<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">t0<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">tn<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">h<\/span><span style=\"color: #F6F6F4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    t_values <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> np.arange(t0, tn<\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\">h, h)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    y_values <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> np.zeros_like(t_values)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    y_values[<\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">] <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> y0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">for<\/span><span style=\"color: #F6F6F4\"> i <\/span><span style=\"color: #F286C4\">in<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #97E1F1\">range<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #97E1F1\">len<\/span><span style=\"color: #F6F6F4\">(t_values)):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        t <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> t_values[i<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        y <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> y_values[i<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        k1 <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> h <\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> f(t, y)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        k2 <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> h <\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> f(t <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> h<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">, y <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> k1<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        k3 <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> h <\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> f(t <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> h<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">, y <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> k2<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        k4 <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> h <\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> f(t <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> h, y <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> k3)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        y_values[i] <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> y <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> (k1 <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\">k2 <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\">k3 <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> k4) <\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">6<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\"> t_values, y_values<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">def<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">milnes_predictor_corrector<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">f<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">y0<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">t0<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">tn<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">h<\/span><span style=\"color: #F6F6F4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    t_values <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> np.arange(t0, tn<\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\">h, h)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    y_values <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> np.zeros_like(t_values)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    y_values[<\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">] <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> y0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">for<\/span><span style=\"color: #F6F6F4\"> i <\/span><span style=\"color: #F286C4\">in<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #97E1F1\">range<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #BF9EEE\">4<\/span><span style=\"color: #F6F6F4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        t <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> t_values[i<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        y <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> y_values[i<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        k1 <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> h <\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> f(t, y)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        k2 <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> h <\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> f(t <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> h<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">, y <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> k1<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        k3 <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> h <\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> f(t <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> h<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">, y <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> k2<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        k4 <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> h <\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> f(t <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> h, y <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> k3)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        y_values[i] <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> y <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> (k1 <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\">k2 <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\">k3 <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> k4) <\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">6<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">for<\/span><span style=\"color: #F6F6F4\"> i <\/span><span style=\"color: #F286C4\">in<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #97E1F1\">range<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #BF9EEE\">3<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #97E1F1\">len<\/span><span style=\"color: #F6F6F4\">(t_values)):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        t_n3 <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> t_values[i<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #BF9EEE\">3<\/span><span style=\"color: #F6F6F4\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        t_n2 <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> t_values[i<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        t_n1 <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> t_values[i<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        y_n3 <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> y_values[i<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #BF9EEE\">3<\/span><span style=\"color: #F6F6F4\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        y_n2 <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> y_values[i<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        y_n1 <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> y_values[i<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        t <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> t_values[i<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        y_p <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> y_n1 <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">4<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\">h<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #BF9EEE\">3<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> (<\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\">f(t, y_n1) <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> f(t_n1, y_n2) <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\">f(t_n2, y_n3))<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        t <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> t_values[i]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        y_values[i] <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> y_n1 <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> h<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #BF9EEE\">3<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\"> (f(t, y_p) <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">4<\/span><span style=\"color: #F286C4\">*<\/span><span style=\"color: #F6F6F4\">f(t_n1, y_n1) <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> f(t_n2, y_n2))<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\"> t_values, y_values<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Example ODE: y&#39; = y - t^2 + 1, y(0) = 0.5<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">def<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">f<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #FFB86C; font-style: italic\">t<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #FFB86C; font-style: italic\">y<\/span><span style=\"color: #F6F6F4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\"> y <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> t<\/span><span style=\"color: #F286C4\">**<\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">1<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Initial conditions<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">y0 <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">0.5<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">t0 <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">tn <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">h <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">0.2<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Solve using Runge-Kutta 4th order method<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">t_values_rk4, y_values_rk4 <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> runge_kutta_4th_order(f, y0, t0, tn, h)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Solve using Milne&#39;s predictor-corrector method<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">t_values_milne, y_values_milne <\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\"> milnes_predictor_corrector(f, y0, t0, tn, h)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Plot the solutions<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">plt.figure(<\/span><span style=\"color: #FFB86C; font-style: italic\">figsize<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #BF9EEE\">10<\/span><span style=\"color: #F6F6F4\">, <\/span><span style=\"color: #BF9EEE\">6<\/span><span style=\"color: #F6F6F4\">))<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">plt.plot(t_values_rk4, y_values_rk4, <\/span><span style=\"color: #FFB86C; font-style: italic\">label<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Runge-Kutta 4th Order<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">plt.plot(t_values_milne, y_values_milne, <\/span><span style=\"color: #FFB86C; font-style: italic\">label<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Milne&#39;s Predictor-Corrector<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">plt.xlabel(<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">t<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">plt.ylabel(<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">y<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">plt.title(<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">Solution of ODE: y<\/span><span style=\"color: #F286C4\">\\&#39;<\/span><span style=\"color: #E7EE98\"> = y - t^2 + 1<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">plt.legend()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">plt.grid(<\/span><span style=\"color: #BF9EEE\">True<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">plt.show()<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>To run this program online click n the link below<\/p>\n\n\n\n<p><a href=\"https:\/\/colab.research.google.com\/drive\/1KeAcFy_cfg7AYLsLO_SkvNKo9VAYTaT5?usp=sharing\" target=\"_blank\" rel=\"noopener\" title=\"P10 Program\">P10 Program<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Output<\/h3>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image-3.png?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"907\" height=\"553\" data-src=\"https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image-3.png?resize=907%2C553&#038;ssl=1\" alt=\"\" class=\"wp-image-1783 lazyload\" data-srcset=\"https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image-3.png?w=907&amp;ssl=1 907w, https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image-3.png?resize=300%2C183&amp;ssl=1 300w, https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2024\/03\/image-3.png?resize=768%2C468&amp;ssl=1 768w\" data-sizes=\"(max-width: 907px) 100vw, 907px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 907px; --smush-placeholder-aspect-ratio: 907\/553;\" \/><\/a><\/figure>\n\n\n\n<p>If you are also looking for other Lab Manuals, head over to my following blog :<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-myblogosphere wp-block-embed-myblogosphere\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"YmuV00uozG\"><a href=\"https:\/\/moodle.sit.ac.in\/blog\/vtu-lab-manuals-using-foss\/\">VTU Lab Manuals using FOSS<\/a><\/blockquote><iframe class=\"wp-embedded-content lazyload\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;VTU Lab Manuals using FOSS&#8221; &#8212; MyBlogosphere\" data-src=\"https:\/\/moodle.sit.ac.in\/blog\/vtu-lab-manuals-using-foss\/embed\/#?secret=VKBTBkizij#?secret=YmuV00uozG\" data-secret=\"YmuV00uozG\" width=\"500\" height=\"282\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" data-load-mode=\"1\"><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>(Course Code: BMATS201) solutions using Python Programming Hi everyone! This blog provides solutions for the lab component of the newly introduced subject &#8220;Mathematics-II for Computer Science and Engineering stream&#8221; (BMATS201) for II semester students of VTU. I have provided solutions for the lab exercises using Python. All the programs shown below have been tested on [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":547,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"site-container-style":"default","site-container-layout":"default","site-sidebar-layout":"default","disable-article-header":"default","disable-site-header":"default","disable-site-footer":"default","disable-content-area-spacing":"default","_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[3],"tags":[190,75,25,35,191,74,77,76,40,43],"class_list":["post-1771","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programming","tag-bmats201","tag-computational-programming","tag-first-year-vtu","tag-lab-manual","tag-manual","tag-mathematics","tag-matplotlib","tag-plot-curves","tag-python","tag-vtu"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/moodle.sit.ac.in\/blog\/wp-content\/uploads\/2023\/02\/image.jpg?fit=1059%2C350&ssl=1","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/moodle.sit.ac.in\/blog\/wp-json\/wp\/v2\/posts\/1771","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/moodle.sit.ac.in\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/moodle.sit.ac.in\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/moodle.sit.ac.in\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/moodle.sit.ac.in\/blog\/wp-json\/wp\/v2\/comments?post=1771"}],"version-history":[{"count":29,"href":"https:\/\/moodle.sit.ac.in\/blog\/wp-json\/wp\/v2\/posts\/1771\/revisions"}],"predecessor-version":[{"id":2295,"href":"https:\/\/moodle.sit.ac.in\/blog\/wp-json\/wp\/v2\/posts\/1771\/revisions\/2295"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/moodle.sit.ac.in\/blog\/wp-json\/wp\/v2\/media\/547"}],"wp:attachment":[{"href":"https:\/\/moodle.sit.ac.in\/blog\/wp-json\/wp\/v2\/media?parent=1771"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/moodle.sit.ac.in\/blog\/wp-json\/wp\/v2\/categories?post=1771"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/moodle.sit.ac.in\/blog\/wp-json\/wp\/v2\/tags?post=1771"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}