{"id":17623522,"url":"https://github.com/jannikmi/multivar_horner","last_synced_at":"2025-07-25T08:09:23.233Z","repository":{"id":37867540,"uuid":"155578190","full_name":"jannikmi/multivar_horner","owner":"jannikmi","description":"python package implementing a multivariate Horner scheme for efficiently evaluating multivariate polynomials ","archived":false,"fork":false,"pushed_at":"2025-03-08T10:05:39.000Z","size":5254,"stargazers_count":29,"open_issues_count":15,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-27T01:06:39.959Z","etag":null,"topics":["evaluation","factorization","horner","horner-scheme","hornerscheme-solver","math","mathematics","multivariate","multivariate-polynomials","polynomial","polynomial-evaluation","polynomials","python","python3"],"latest_commit_sha":null,"homepage":"https://multivar-horner.readthedocs.io/en/latest/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jannikmi.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":"CONTRIBUTING.rst","funding":".github/FUNDING.yml","license":"LICENSE","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,"zenodo":null},"funding":{"github":["jannikmi"],"issuehunt":"mrminimal64"}},"created_at":"2018-10-31T15:13:23.000Z","updated_at":"2025-03-19T16:09:06.000Z","dependencies_parsed_at":"2024-05-06T17:45:23.232Z","dependency_job_id":"dba6d037-0c11-4a81-9931-b5b21b1b8859","html_url":"https://github.com/jannikmi/multivar_horner","commit_stats":{"total_commits":197,"total_committers":6,"mean_commits":"32.833333333333336","dds":0.2791878172588832,"last_synced_commit":"05145c615ab14fec5675c3c8766c5685addaa618"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/jannikmi/multivar_horner","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jannikmi%2Fmultivar_horner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jannikmi%2Fmultivar_horner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jannikmi%2Fmultivar_horner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jannikmi%2Fmultivar_horner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jannikmi","download_url":"https://codeload.github.com/jannikmi/multivar_horner/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jannikmi%2Fmultivar_horner/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264176317,"owners_count":23568632,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["evaluation","factorization","horner","horner-scheme","hornerscheme-solver","math","mathematics","multivariate","multivariate-polynomials","polynomial","polynomial-evaluation","polynomials","python","python3"],"created_at":"2024-10-22T21:10:27.532Z","updated_at":"2025-07-25T08:09:23.205Z","avatar_url":"https://github.com/jannikmi.png","language":"Python","funding_links":["https://github.com/sponsors/jannikmi","https://issuehunt.io/r/mrminimal64"],"categories":[],"sub_categories":[],"readme":"===============\nmultivar_horner\n===============\n\n.. image:: https://github.com/jannikmi/multivar_horner/actions/workflows/build.yml/badge.svg?branch=master\n    :target: https://github.com/jannikmi/multivar_horner/actions?query=branch%3Amaster\n    :alt: Build status\n\n.. image:: https://readthedocs.org/projects/multivar_horner/badge/?version=latest\n    :alt: documentation status\n    :target: https://multivar_horner.readthedocs.io/en/latest/?badge=latest\n\n.. image:: https://img.shields.io/pypi/wheel/multivar-horner.svg\n    :target: https://pypi.python.org/pypi/multivar-horner\n\n.. image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026logoColor=white\n   :target: https://github.com/pre-commit/pre-commit\n   :alt: pre-commit\n\n.. image:: https://pepy.tech/badge/multivar-horner\n    :alt: Total PyPI downloads\n    :target: https://pepy.tech/project/multivar-horner\n\n.. image:: https://img.shields.io/pypi/v/multivar_horner.svg\n    :alt: latest version on PyPI\n    :target: https://pypi.python.org/pypi/multivar-horner\n\n.. image:: https://joss.theoj.org/papers/0b514c6894780f3cc81ed88c141631d4/status.svg\n    :alt: JOSS status\n    :target: https://joss.theoj.org/papers/0b514c6894780f3cc81ed88c141631d4\n\n.. image:: https://zenodo.org/badge/155578190.svg\n   :target: https://zenodo.org/badge/latestdoi/155578190\n\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\n    :target: https://github.com/psf/black\n\n\n``multivar_horner`` is a python package implementing a multivariate\n`Horner scheme (\"Horner's method\", \"Horner's rule\") \u003chttps://en.wikipedia.org/wiki/Horner%27s_method\u003e`__\nfor efficiently evaluating multivariate polynomials.\n\n\nQuick Guide:\n\n.. code-block:: console\n\n    pip install multivar_horner\n\n\nFor efficiency this package is compiling the instructions required for polynomial evaluation to C by default.\nIf you don't have a C compiler (``gcc`` or ``cc``) installed you also need to install numba for using an alternative method:\n\n.. code-block:: console\n\n    pip install multivar_horner[numba]\n\n\nSimple example:\n\n.. code-block:: python\n\n    import numpy as np\n    from multivar_horner import HornerMultivarPolynomial\n\n    # input parameters defining the polynomial\n    #   p(x) = 5.0 + 1.0 x_1^3 x_2^1 + 2.0 x_1^2 x_3^1 + 3.0 x_1^1 x_2^1 x_3^1\n    coefficients = np.array([[5.0], [1.0], [2.0], [3.0]], dtype=np.float64)\n    exponents = np.array([[0, 0, 0], [3, 1, 0], [2, 0, 1], [1, 1, 1]], dtype=np.uint32)\n\n    # [#ops=7] p(x) = x_1 (x_1 (x_1 (1.0 x_2) + 2.0 x_3) + 3.0 x_2 x_3) + 5.0\n    horner_polynomial = HornerMultivarPolynomial(coefficients, exponents)\n    x = np.array([-2.0, 3.0, 1.0], dtype=np.float64)\n    p_x = horner_polynomial(x)\n\n\n\nAlso see:\n\n- `Documentation \u003chttps://multivar-horner.readthedocs.io/en/latest/\u003e`__\n- `GitHub \u003chttps://github.com/jannikmi/multivar_horner\u003e`__\n- `PyPI \u003chttps://pypi.python.org/pypi/multivar_horner/\u003e`__\n- `paper (JOSS) \u003chttps://joss.theoj.org/papers/10.21105/joss.02392\u003e`__\n- `paper (arXiv) \u003chttps://arxiv.org/abs/2007.13152\u003e`__\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjannikmi%2Fmultivar_horner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjannikmi%2Fmultivar_horner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjannikmi%2Fmultivar_horner/lists"}