{"id":21592859,"url":"https://github.com/leodan52/objeto_polinomios","last_synced_at":"2026-04-20T06:03:14.919Z","repository":{"id":159119300,"uuid":"572248825","full_name":"leodan52/Objeto_Polinomios","owner":"leodan52","description":"Módulo que define un objeto Polinomio con varias operaciones definidas: Suma, resta, producto y composición","archived":false,"fork":false,"pushed_at":"2024-07-13T18:47:38.000Z","size":61,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-01T12:19:20.912Z","etag":null,"topics":["algebra","math","object-oriented","python","scipy"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leodan52.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-29T21:36:08.000Z","updated_at":"2024-07-13T18:47:41.000Z","dependencies_parsed_at":"2024-07-13T19:53:18.971Z","dependency_job_id":null,"html_url":"https://github.com/leodan52/Objeto_Polinomios","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/leodan52/Objeto_Polinomios","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leodan52%2FObjeto_Polinomios","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leodan52%2FObjeto_Polinomios/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leodan52%2FObjeto_Polinomios/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leodan52%2FObjeto_Polinomios/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leodan52","download_url":"https://codeload.github.com/leodan52/Objeto_Polinomios/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leodan52%2FObjeto_Polinomios/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32035276,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algebra","math","object-oriented","python","scipy"],"created_at":"2024-11-24T17:10:12.791Z","updated_at":"2026-04-20T06:03:14.896Z","avatar_url":"https://github.com/leodan52.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Objeto_Polinomios\n\nEl objeto Polinomio define un polinomio $P$ de la forma\n\n$$ P(x) = a_0  + a_1 x + a_2x² + \\cdots + a_{n-1}x^{n-1} + a_n x^n,$$\n\ncon $n$ el grado del polinomio y las $a_i$ los coeficientes. El módulo que se encuentra en la ruta `TOOLS/polinomial.py`, trabaja mediante el uso del módulo `scipy`, que se puede instalar usando la orden\n\u003e ~~~\n\u003e pip install scipy\n\u003e ~~~\nen la terminal.\n\n## Funcionamiento del módulo\n\nLa sintaxis del módulo es muy simple. Comienza definiendo una lista de la siguiente forma,\n\u003e ~~~\n\u003e  lista = [a0, a1, a2, ...., an]\n\u003e  ~~~\ndonde los elementos de la misma serán los coeficientes del polinomio $a_0$, $a_1$, $a_2$, $\\dots$, $a_n$, respectivamente. Esta lista se usará como argumento del constructor\n\u003e ~~~\n\u003e p = polinomial.Polinomio(lista [, ordenDescendente])\n\u003e ~~~\nDe esta forma el objeto ya está construido.\n\nEl parámetro opcional `ordenDescendente` es un booleano que determina el orden en el que se imprime el polinomio, así como el orden de los coeficientes del método `coeficientes()`. Su valor por defecto es `False`\n\nPara el uso de ejemplos en lineas posteriores, conviene definir algunos polinomios específicos. Definamos tres de ellos,\n\n$$\n\\begin{eqnarray}\n\tP_1(x) \u0026=\u0026 1+x, \\\\\n\tP_2 (x) \u0026=\u0026 -3 + 2x^2,\\\\\n\tP_3(x) \u0026=\u0026 2 + x -3x^2\n\\end{eqnarray}\n$$\n\nque serán guardadas en las variables `p1`, `p2`y `p3`, respectivamente. Un archivo nombrado `main.py` que contenga estás definiciones comenzaría de las siguiente forma\n\u003e ~~~\n\u003e import TOOLS.polinomial as *\n\u003e \t# Simplificamos el import para facilitar la escritura\n\u003e\n\u003e def main():\n\u003e \tlista1 = [1, 1]\n\u003e  \tlista2 = [-3, 0, 2]\n\u003e \tlista3 = [2, 1, -3]\n\u003e\n\u003e \tp1 = Polinomio(lista1)\n\u003e \tp2 = Polinomio(lista2)\n\u003e \tp3 = Polinomio(lista3)\n\u003e\n\u003e \tprint(p1)\n\u003e \tprint(p2)\n\u003e \tprint(p3)\n\u003e\n\u003e if __name__ == \"__main__\":\n\u003e \tmain()\n\u003e  ~~~\ny la salida que mostraría sería\n\u003e ~~~\n\u003e ( 1 + x )\n\u003e ( - 3 + 2x^2 )\n\u003e ( 2 + x - 3x^2 )\n\u003e~~~\nNótese que para definir `p2` fue necesario usar un cero para el termino lineal, ya que este no aparece en el polinomio.\n\n### Métodos de clase\n\nEl objeto Polinomio contiene algunos métodos útiles para extraer o modificar atributos. Considerando los tres polinomios definidos anteriormente, ejemplifiquemos los métodos en el interprete de Python.\n\n#### Orden del polinomio\n\nPara conocer el orden del polinomio se usa el método `len()` como sigue\n\u003e ~~~\n\u003e \u003e\u003e\u003e len(p2)\n\u003e 2\n\u003e \u003e\u003e\u003e len(p1)\n\u003e 1\n\u003e ~~~\nrecordando que el orden del polinomio lo define el exponente mayor que posea la variable, en este caso $x$.\n\n#### Obtener un coeficiente\n\nPara obtener el coeficiente un término se usa el método `p[n]`, donde `n` es el grado del término del que pertenece dicho coeficiente. Por ejemplo,\n\u003e ~~~\n\u003e \u003e\u003e\u003e p1[0]\n\u003e 1.0\n\u003e \u003e\u003e\u003e p2[1]\n\u003e 0.0\n\u003e \u003e\u003e\u003e p3[2]\n\u003e -3.0\n\u003e ~~~\ncabe destacar que sí el polinomio no posee un coeficiente del grado indicado, retornará cero.\n\n#### Modificar o añadir un término\n\nPara modificar o añadir un termino solo se debe asignar el valor del coeficiente al término con el grado deseado. Por ejemplo,\n\u003e ~~~\n\u003e \u003e\u003e\u003e p3\n\u003e ( 2 + x - 3x^2 )\n\u003e \u003e\u003e\u003e p3[1] = -7\n\u003e \u003e\u003e\u003e p3\n\u003e ( 2 - 7x - 3x^2 )\n\u003e ~~~\nO bien,\n\u003e ~~~\n\u003e \u003e\u003e\u003e p2\n\u003e ( - 3 + 2x^2 )\n\u003e \u003e\u003e\u003e p2[3] = -13\n\u003e \u003e\u003e\u003e p2\n\u003e ( - 3 + 2x^2 - 13x^3 )\n\u003e ~~~\n\n#### Clonar polinomio\n\n Para copiar un polinomio y usarlo después, se puede usar el método `copy()`, como por ejemplo,\n \u003e ~~~\n\u003e \u003e\u003e\u003e p4 = p1.copy()\n\u003e \u003e\u003e\u003e p4\n\u003e ( 1 + x )\n\u003e \u003e\u003e\u003e p4[3] = -1\n\u003e \u003e\u003e\u003e p4\n\u003e ( 1 + x - x^3 )\n\u003e \u003e\u003e\u003e p1\n\u003e ( 1 + x )\n \u003e ~~~\n de esta forma se puede modificar el nuevo polinomio, sin modificar al original.\n\n#### Evaluar un polinomio\n\nEvalúa el polinomio en un punto dado. Por ejemplo,\n\u003e ~~~\n\u003e \u003e\u003e\u003e p1.evaluar(0)\n\u003e \u003e\u003e\u003e 1\n\u003e ( 1 + x )\n\u003e \u003e\u003e\u003e p4.evaluar(2)\n\u003e \u003e\u003e\u003e -5\n\u003e ( 1 + x - x^3 )\n\u003e ~~~\n\n#### Coeficientes\n\nRegresa una lista con los coeficientes del polinomio, el orden de la lista es afectado por el valor de `ordenDescendente`. Por ejemplo,\n\u003e ~~~\n\u003e \u003e\u003e\u003e p1.coeficientes()\n\u003e \u003e\u003e\u003e [1, 1]\n\u003e ( 1 + x )\n\u003e \u003e\u003e\u003e p2.coeficientes()\n\u003e \u003e\u003e\u003e [-3, 0, 2]\n\u003e ( - 3 + 2x^2 )\n\u003e ~~~\n\n#### Ordenación del polinomio\nEl orden del polinomio se puede modificar de diferentes maneras, como por ejemplo usando el metodo `OrdenarAscendente()` que establece el valor de `ordenDescendente` en `False`.\n\nO el metodo `OrdenarDescendente()` que establece su valor en `True`\n\nAlternativamente se puede usar la propiedad `ordenDescendente` para leer o establecer directamente su valor, por ejemplo,\n\u003e ~~~\n\u003e \u003e\u003e\u003e p2.coeficientes()\n\u003e \u003e\u003e\u003e [-3, 0, 2]\n\u003e \u003e\u003e\u003e p2.ordenDescendente = True\n\u003e \u003e\u003e\u003e p2.coeficientes()\n\u003e \u003e\u003e\u003e [2, 0, -3]\n\u003e ~~~\n\n### Comparación de polinomios\n\nLas comparaciones de polinomios definidas son las de igualdad. Ya que el conjunto de polinomios no es ordenable, es imposible fijar las operaciones $\u003e$ y $\u003c$, por lo que se dejaron de lado. Dicho esto, veamos algunos ejemplos,\n\u003e ~~~\n\u003e \u003e\u003e\u003e p1 == p2\n\u003e False\n\u003e \u003e\u003e\u003e p2 == p2\n\u003e True\n\u003e \u003e\u003e\u003e p1 != p3\n\u003e True\n\u003e \u003e\u003e\u003e p3 != p3\n\u003e False\n\u003e ~~~\nEl criterio para la `==` es que ambos polinomios tengan exactamente los mismos coeficientes.\n\n### Operaciones con polinomios\n\n#### Suma y resta\n\nLa **suma** o adición de polinomios es sencilla, ya que se realiza entre términos del mismo grado. Veamos algunos ejemplos en el interprete de Python,\n\u003e ~~~\n\u003e \u003e\u003e\u003e p1 + p2\n\u003e ( - 2 + x + 2x^2 )\n\u003e \u003e\u003e\u003e p2 + p3\n\u003e ( - 1 + x - x^2 )\n\u003e \u003e\u003e\u003e p1 + p3\n\u003e ( 3 + 2x - 3x^2 )\n\u003e ~~~\nel resultado de la operación también es un objeto Polinomio. También es posible sumar un dato numérico, ya sea `int` o `float` con un Polinomio,\n\u003e ~~~\n\u003e \u003e\u003e\u003e p1 + 2\n\u003e ( 3 + x )\n\u003e \u003e\u003e\u003e 8 + p2\n\u003e ( 5 + 2x^2 )\n\u003e \u003e\u003e\u003e p3 + 2.5\n\u003e ( 4.5 + x - 3x^2 )\nEl dato numérico será considerado como un polinomio de grado 0.\n\nLa **resta** o sustracción de polinomios es bastante similar, ya que el módulo también ha definido el inverso aditivo de la siguiente forma,\n\u003e ~~~\n\u003e \u003e\u003e\u003e -p1\n\u003e ( - 1 - x )\n\u003e \u003e\u003e\u003e -p2\n\u003e ( 3 - 2x^2 )\n\u003e ~~~\npor lo que la resta se define, tal y como se hace en matemáticas, como la suma de un inverso aditivo. Dicho esto, veamos algunos ejemplos,\n\u003e ~~~\n\u003e \u003e\u003e\u003e p1 - p2\n\u003e ( 4 + x - 2x^2 )\n\u003e \u003e\u003e\u003e p2 - p3\n\u003e ( - 5 - x + 5x^2 )\n\u003e \u003e\u003e\u003e 11 - p3\n\u003e ( - 9 + x - 3x^2 )\n\n#### Producto\n\nEl producto o multiplicación de polinomios es más complejo que su suma y su resta. No nos vamos a detener a explicar los procedimientos que tienen la multiplicación algebraica, por lo que se supondrá que el usuario entiende y domina dichos procedimientos. Por lo tanto, vamos directo a los ejemplos.\n\nPor regla general, el resultado de un producto de polinomios tiene un grado igual o mayor a los originales,\n\u003e ~~~\n\u003e \u003e\u003e\u003e p1 * p2\n\u003e ( - 3 - 3x + 2x^2 + 2x^3 )\n\u003e \u003e\u003e\u003e   p2 * p3\n\u003e ( - 6 - 3x + 13x^2 + 2x^3 - 6x^4 )\n\u003e \u003e\u003e\u003e p1 * p3 * p3\n\u003e ( - 6 - 9x + 10x^2 + 15x^3 - 4x^4 - 6x^5 )\n\u003e ~~~\nLos tres polinomios definidos son de grado 1, para `p1`, y grado 2 para los demás, por lo que la regla se cumple, además hacer un producto múltiple es posible. Adicionalmente, también podemos multiplicar una variable numérica por un Polinomio,\n\u003e ~~~\n\u003e \u003e\u003e\u003e 3 * p1\n\u003e ( 3 + 3x )\n\u003e \u003e\u003e\u003e   2.5 * p2\n\u003e ( - 7.5 + 5x^2 )\n\u003e \u003e\u003e\u003e p3 * 0.5\n\u003e ( 1 + 0.5x - 1.5x^2 )\n\u003e ~~~\ntanto por la izquierda como por la derecha.\n\n#### Composición\n\nEn general, la **composición** de dos funciones, $f(x)$ y $g(x)$, se define como\n\n$$ (f \\circ g)(x) = f\\left(g(x)\\right),$$\n\ndonde la función resultante se denomina *función compuesta*. La composición es una operación algebraica que puede aplicarse también a los polinomios.\n\nInfortunadamente, el operador de la composición $\\circ$,  no está definido en Python, por lo que se estará sobrecargando el operador `\u0026` para este propósito. Dicho esto, aquí algunos ejemplos de composición,\n\n\u003e ~~~\n\u003e \u003e\u003e\u003e p1 \u0026 p2\n\u003e ( - 2 + 2x^2 )\n\u003e \u003e\u003e\u003e p2 \u0026 p3\n\u003e ( 5 + 8x - 22x^2 - 12x^3 + 18x^4 )\n\u003e ~~~\nA diferencia de la suma y el producto, la composición no es conmutativa, es decir, el resultado cambiará al invertir el orden de la operación,\n\u003e ~~~\n\u003e \u003e\u003e\u003e p1 \u0026 p3\n\u003e ( 3 + x - 3x^2 )\n\u003e \u003e\u003e\u003e p3 \u0026 p1\n\u003e ( - 5x - 3x^2 )\n\u003e ~~~\n\nAl no ser una operación conmutativa, es posible definir también su conmutador[^1],\n\u003e ~~~\n\u003e \u003e\u003e\u003e Polinomio.Conmu(p1, p2)\n\u003e ( - 1 - 4x )\n\u003e \u003e\u003e\u003e Polinomio.Conmu(p2, p3)\n\u003e ( 33 + 8x - 60x^2 - 12x^3 + 30x^4 )\n\u003e \u003e\u003e\u003e Polinomio.Conmu(p1, p3)\n\u003e ( 3 + 6x )\n\u003e ~~~\nYa que es un método estático, lo debe anteceder siempre el nombre de la clase.\n\n#### Jerarquía de operaciones\n\nLa jerarquía de las operaciones básicas es la misma que viene definida en Python: paréntesis, multiplicación, suma (y resta). El problema viene con la composición, qué matemáticamente tiene prioridad antes de la suma y resta, pero que al relacionarla al operador `\u0026`, esto se invierte. En otras palabras, para siempre obtener los resultados esperados, hay que considera el orden como: paréntesis, multiplicación, suma (y resta) y al final composición.\n\n#### Cambio de base\n\nLos polinomios, junto con la suma de polinomios y la multiplicación por un escalar, pueden entenderse como un espacio vectorial y por ende puede ser definida una base de polinomios que generen todo el espacio. Por ejemplo.\n\nTomemos el conjunto de todos los polinomios de rango 2, estos polinomios tienen la forma\n\n$$ P_2(x) = a_0  + a_1 x + a_2x² $$\n\nSi tomamos como base los polinomios:\n\n$$\n\\begin{eqnarray}\n\t\\epsilon_1 \u0026=\u0026 1, \\\\\n\t\\epsilon_2 \u0026=\u0026 x,\\\\\n\t\\epsilon_3 \u0026=\u0026 x^2\n\\end{eqnarray}\n$$\n\nPodemos ver que el polinomio $P_2(x)$ es una combinación lineal de esta base, pudiendo ser representado por el vector \n\n$$ P_2 = [a_0, a_1, a_2]$$\n\nLa función `CambioBase()` permite obtener la representación de un polinomio dado en una base arbitraria.\n\n\u003e ~~~\n\u003e coeficientes = Polinomio.CambioBase(polinomio, base1, base2, ...)\n\u003e ~~~\n\nEs importante notar que el rango del polinomio debe de ser igual o menor que el rango de la base. El rango de la base es igual al mayor de los rangos entre los polinomios que la conforman.\n\nAdemás, los polinomios de la base deben de ser lienalmente independientes, veamos un ejemplo,\n\n\u003e ~~~\n\u003e \u003e\u003e\u003e p = Polinomio([5, 4, 3])\n\u003e ( 5 + 4x + 3x^2)\n\u003e \u003e\u003e\u003e base0 = Polinomio([1, 0, 1])\n\u003e ( 1 + x^2)\n\u003e \u003e\u003e\u003e base1 = Polinomio([1, 0, -1])\n\u003e ( 1 - x^2)\n\u003e \u003e\u003e\u003e base2 = Polinomio([0, 1, 2])\n\u003e ( x + 2x^2)\n\u003e \u003e\u003e\u003e coef = Polinomio.CambioBase(p, base0, base1, base2)\n\u003e [ 0.0, 5.0, 4.0 ]\n\u003e \u003e\u003e\u003e coef[0]*base0 + coef[1]*base1 + coef[2]*base2\n\u003e ( 5 + 4x + 3x^2)\n\u003e ~~~\n\n#### Ortogonalizacion\n\nDada una base de polinomios arbitraria, se puede obtener otra base ortogonal (u ortonormal) utilizando la función `ortogonalizar()`\n\n\u003e ~~~\n\u003e ortogonales = Polinomio.ortogonalizar(base [, normalizar [, productoInterno]])\n\u003e ~~~\n\n`base` es una lista con los polinomios de la base a ortogonalizar, el parámetro opcional `normalizar` es un booleano que determina si la base ortogonal obtenida será normalizada, su valor por defecto es `False`.\n\nEl parámetro opcional `productoInterno` debe de ser una función que tome como argumento dos polinomios y regrese su producto interno, la ortogonalidad de la base se define con respecto de este producto interno, su valor por defecto es una fucion que cumple:\n\n$$ \u003cp,q\u003e = \\int_{-1}^{1}p(x)q(x)dx$$\n\nVeamos un ejemplo,\n\nSean los polinomios de la base \n\n$$\n\\begin{eqnarray}\n\tbase_0 \u0026=\u0026 1, \\\\\n\tbase_1 \u0026=\u0026 x, \\\\\n\tbase_2 \u0026=\u0026 x^2 \\\\\n\tbase_3 \u0026=\u0026 x^3 \\\\\n\tbase_4 \u0026=\u0026 x^4 \n\\end{eqnarray}\n$$\n\ny un producto interno\n\n$$ \u003cp,q\u003e = \\int_{-\\infty}^{\\infty}p(x)q(x)e^{-\\frac{x^2}{2}}dx $$\n\nPodemos obtener un set de polinomios ortogonales\n\n\u003e ~~~\n\u003e \u003e\u003e\u003e base0 = Polinomio([1])\n\u003e ( 1 )\n\u003e \u003e\u003e\u003e base1 = Polinomio([0, 1])\n\u003e ( x )\n\u003e \u003e\u003e\u003e base2 = Polinomio([0, 0, 1])\n\u003e ( x^2 )\n\u003e \u003e\u003e\u003e base3 = Polinomio([0, 0, 0, 1])\n\u003e ( x^3 )\n\u003e \u003e\u003e\u003e base4 = Polinomio([0, 0, 0, 0, 1])\n\u003e ( x^4 )\n\u003e \u003e\u003e\u003e base = [base0, base1, base2, base3, base4]\n\u003e \u003e\u003e\u003e peso = lambda x: math.exp(-(x**2) / 2)\n\u003e \u003e\u003e\u003e productoInterno = lambda a, b: Polinomio.productoInternoIntegral(a, b, -np.Inf, np.Inf, ponderacion)\n\u003e \u003e\u003e\u003e ortogonales = Polinomio.ortogonalizar(base, False, productoInterno)\n\u003e [ 1, x, -1 + x^2, -3x + x^3, 3 - 6x^2 + x^4 ]\n\u003e ~~~\n\nEn este ejemplo los polinomios obtenidos corresponden con los primeros cinco polinomios de Hermite[^2]\n\n$$\n\\begin{eqnarray}\n\tH_0(x) \u0026=\u0026 1, \\\\\n\tH_1(x) \u0026=\u0026 x, \\\\\n\tH_2(x) \u0026=\u0026 x^2 - 1 \\\\\n\tH_3(x) \u0026=\u0026 x^3 - 3x  \\\\\n\tH_4(x) \u0026=\u0026 x^4 - 6x^2 + 3\n\\end{eqnarray}\n$$\n\n#### Producto Interno\n\nEl módulo incluye una función para calcular el producto interno entre polinomios de la forma\n\n$$ \u003cp,q\u003e = \\int_{a}^{b}p(x)q(x)\\omega(x)dx $$\n\nLa función permite modificar tanto los límites de integración como la función de ponderación $\\omega(x)$\n\n\u003e ~~~\n\u003e producto = Polinomio.productoInternoIntegral(p, q [, limiteInferior [, limiteSuperior [, ponderacion]]])\n\u003e ~~~\n\nEn este caso `p` y `q` son los polinomios sobre los cuales se va a operar, `limiteInferior` y `limiteSuperior` son los límites de integración, su valor por defecto es `-1` y `1` respectivamente y `ponderacion` debe de ser una función que toma por argumento un número y regresa un número real, su valor por defecto es $\\omega(x)=1$\n\n[^1]:  Commutator, Wikipedia, \u003chttps://en.wikipedia.org/wiki/Commutator\u003e\n[^2]:  Hermite polynomials, Wikipedia, \u003chttps://en.wikipedia.org/wiki/Hermite_polynomials\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleodan52%2Fobjeto_polinomios","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleodan52%2Fobjeto_polinomios","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleodan52%2Fobjeto_polinomios/lists"}