{ "cells": [ { "cell_type": "code", "execution_count": 23, "id": "f582dd08", "metadata": {}, "outputs": [], "source": [ "base = [x,x^3,x^5]" ] }, { "cell_type": "code", "execution_count": 24, "id": "bd4a952d", "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(\\begin{array}{rrr}\n", "0.6666666666666666 & 0.4 & 0.2857142857142857 \\\\\n", "0.4 & 0.2857142857142857 & 0.2222222222222222 \\\\\n", "0.2857142857142857 & 0.2222222222222222 & 0.18181818181818182\n", "\\end{array}\\right)$$" ], "text/plain": [ "[ 0.6666666666666666 0.4 0.2857142857142857]\n", "[ 0.4 0.2857142857142857 0.2222222222222222]\n", "[ 0.2857142857142857 0.2222222222222222 0.18181818181818182]" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "A = matrix(RDF,[[integral(b1*b2,x,-1,1) for b1 in base] for b2 in base])\n", "show(A)" ] }, { "cell_type": "code", "execution_count": 25, "id": "43996742", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.6023373578795135, 0.35419714983401906, 0.2501622396623162)" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "b = vector(RDF,[integral(b1*sin(x),x,-1,1) for b1 in base])\n", "b" ] }, { "cell_type": "code", "execution_count": 26, "id": "43a350ad", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.9999842124446701, -0.16652418106285818, 0.008018110362068497)" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A\\b" ] }, { "cell_type": "code", "execution_count": 27, "id": "12391888", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "Graphics object consisting of 2 graphics primitives" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot((A\\b)*vector(base),-3,3)+plot(sin(x),-3,3,color='red',linestyle='--')" ] }, { "cell_type": "code", "execution_count": 1, "id": "4bf57a9f", "metadata": {}, "outputs": [], "source": [ "p0(x) = 1" ] }, { "cell_type": "code", "execution_count": 2, "id": "5bff91ce", "metadata": {}, "outputs": [], "source": [ "p1(x) = x" ] }, { "cell_type": "code", "execution_count": 3, "id": "b75f8c97", "metadata": {}, "outputs": [], "source": [ "p2(x) = x^2-1/3" ] }, { "cell_type": "code", "execution_count": 4, "id": "891a304e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "4/15" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "integral(x^2*p2(x),x,-1,1)/integral(x^2,x,-1,1)" ] }, { "cell_type": "code", "execution_count": 5, "id": "1013f24a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "x^3 - 3/5*x" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p3(x) = x*p2(x) - 4*x/15\n", "p3.simplify_full()" ] }, { "cell_type": "code", "execution_count": 6, "id": "7e20c901", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "9/35" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "integral(x*p3(x)*p2(x),x,-1,1)/integral(p2(x)*p2(x),x,-1,1)" ] }, { "cell_type": "code", "execution_count": 7, "id": "e5d26010", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "x^4 - 6/7*x^2 + 3/35" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p4(x) = x*p3(x) - 9*p2(x)/35\n", "p4.simplify_full()" ] }, { "cell_type": "code", "execution_count": 8, "id": "e41e42cb", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "16/63" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "integral(x*p4(x)*p3(x),x,-1,1)/integral(p3(x)*p3(x),x,-1,1)" ] }, { "cell_type": "code", "execution_count": 9, "id": "c70e3ea5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "x^5 - 10/9*x^3 + 5/21*x" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p5(x) = x*p4(x) - 16*p3(x)/63\n", "p5.simplify_full()" ] }, { "cell_type": "code", "execution_count": 10, "id": "e2ec4448", "metadata": {}, "outputs": [], "source": [ "base_ortogonal = [p0,p1,p2,p3,p4,p5]" ] }, { "cell_type": "code", "execution_count": 12, "id": "58d24af5", "metadata": {}, "outputs": [], "source": [ "def dot(f,g):\n", " return integral(f(x)*g(x),x,-1,1)" ] }, { "cell_type": "code", "execution_count": 29, "id": "061b87ff", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[[2, 0, 0, 0, 0, 0],\n", " [0, 2/3, 0, 0, 0, 0],\n", " [0, 0, 8/45, 0, 0, 0],\n", " [0, 0, 0, 8/175, 0, 0],\n", " [0, 0, 0, 0, 128/11025, 0],\n", " [0, 0, 0, 0, 0, 128/43659]]" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[[dot(f,g) for f in base_ortogonal] for g in base_ortogonal]" ] }, { "cell_type": "code", "execution_count": 31, "id": "d44043ef", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[0.000000000000000,\n", " 0.903506036819270,\n", " 0.000000000000000,\n", " -0.157615169549445,\n", " 0.000000000000000,\n", " 0.00801811036217259]" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c = [(dot(sin,pi)/dot(pi,pi)).n() for pi in base_ortogonal]\n", "c" ] }, { "cell_type": "code", "execution_count": null, "id": "c12bd8e2", "metadata": {}, "outputs": [], "source": [ "c[0]*p0 + c[1]*p1 + ..." ] }, { "cell_type": "code", "execution_count": 33, "id": "e15a49f1", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "x |--> 0.00801811036217259*x^5 - 0.166524181062970*x^3 + 0.999984212444692*x" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(vector(c) * vector(base_ortogonal)).expand()" ] }, { "cell_type": "code", "execution_count": null, "id": "bcc00caf", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "SageMath 9.5", "language": "sage", "name": "sagemath" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.2" } }, "nbformat": 4, "nbformat_minor": 5 }