Skip to main content

Oresmej (Oresme+Jax)

Oresmej Oresmej

DOI

WorkflowHub DOI

figshare DOI

ResearchGate DOI

Anaconda-Server Badge Anaconda-Server Badge Anaconda-Server Badge Anaconda-Server Badge Open Source License: AGPL

Python CI codecov Documentation Status Binder PyPI version PyPI Downloads Contributor Covenant Linted with Ruff


PyPI PyPI version
Conda conda-forge version
DOI DOI
License: AGPL-3.0-or-later License


Oresme numbers refer to the sums related to the harmonic series.


Türkçe Tanım:

Oresme Sayıları, 14. yüzyılda Nicole Oresme tarafından incelenen matematiksel serilerdir. Oresme sayıları harmonik seriye ait toplamları ifade eder. İki türü vardır:

  1. ( \frac{n}{2^n} ) serisi (Oresme'nin orijinal çalışması),
  2. Harmonik sayılar (( H_n = 1 + \frac{1}{2} + \cdots + \frac{1}{n} )).
    Bu sayılar, analiz ve sayı teorisinde önemli rol oynar.

Bu modül şunları sağlar:

  • Harmonik sayı hesaplamaları (kesirli tam sonuçlar ve kayan noktalı)
  • Oresme dizisi (n / 2^n) üretimi
  • ℓ² (Hilbert uzayı) aidiyet testleri (matematiksel olarak doğru)
  • Büyük ölçekli işlemler için Numba ile hızlandırılmış hesaplamalar
  • Dizi analizi ve karşılaştırma yardımcıları

English Definition:

Oresme Numbers are mathematical series studied by Nicole Oresme in the 14th century. Oresme numbers refer to the sums related to the harmonic series. They include two types:

  1. The ( \frac{n}{2^n} ) sequence (Oresme's original work),
  2. Harmonic numbers (( H_n = 1 + \frac{1}{2} + \cdots + \frac{1}{n} )).
    These numbers play a key role in analysis and number theory.

This module provides:

  • Harmonic number calculations (exact fractions and floating point)
  • Oresme sequence (n / 2^n) generation
  • Hilbert space (ℓ²) membership tests (mathematically sound)
  • Numba-accelerated computations for large‑scale work
  • Sequence analysis and comparison utilities

Fark/Karşılaştırma (Difference):

  • Oresme'nin ( \frac{n}{2^n} ) serisi ıraksaklık kanıtları için önemlidir.
  • Harmonik sayılar (( H_n )) ise logaritmik büyüme gösterir ve ( n \to \infty ) iken ıraksar.
  • Modern literatürde "Oresme numbers" terimi daha çok tarihsel bağlamda kullanılır.

Kurulum (Türkçe) / Installation (English)

Python ile Kurulum / Install with pip, conda, mamba

pip install oresmej -U
python -m pip install -U oresmej
conda install bilgi::oresmej -y
mamba install bilgi::oresmej -y
- pip uninstall Oresme -y
+ pip install -U oresmej
+ python -m pip install -U oresmej

PyPI

Test Kurulumu / Test Installation

pip install -i https://test.pypi.org/simple/ oresmej -U

Github Master Kurulumu / GitHub Master Installation

Terminal:

pip install git+https://github.com/WhiteSymmetry/oresmej.git

Jupyter Lab, Notebook, Visual Studio Code:

!pip install git+https://github.com/WhiteSymmetry/oresmej.git
# or
%pip install git+https://github.com/WhiteSymmetry/oresmej.git

Kullanım (Türkçe) / Usage (English)

import oresmej as oj
import numpy as np
import jax
import jax.numpy as jnp
import time
from oresmej import *
import matplotlib.pyplot as plt

# Simple usage example
plt.figure(figsize=(10, 5))
plt.plot(oj.harmonic_numbers_jax(500))
plt.title("First 5000000 Harmonic Numbers")
plt.xlabel("n")
plt.ylabel("H(n)")
plt.show()
import oresmej
oresmej.__version__
import importlib
import inspect
import oresmej as oj  # Varsa import hatasını yakalamak için
import jax.numpy as jnp

def diagnose_module(module_name):
    try:
        # Modülü yükle
        module = importlib.import_module(module_name)
        
        print(f"\n{' Modül Tanılama Raporu ':=^80}")
        print(f"Modül adı: {module_name}")
        print(f"Modül dosya yolu: {inspect.getfile(module)}")
        
        # Modülün tüm özelliklerini listele
        print("\nModülde bulunan özellikler:")
        members = inspect.getmembers(module)
        public_members = [name for name, _ in members if not name.startswith('_')]
        print(public_members)
        
        # Özel olarak kontrol edilecek fonksiyonlar
        required_functions = [
            'oresme_sequence',
            'harmonic_numbers',
            'harmonic_number',
            'harmonic_number_jax',
            'harmonic_numbers_jax',
            'harmonic_generator_jax',
            'harmonic_number_approx'
        ]
        
        print("\nEksik olan fonksiyonlar:")
        missing = [fn for fn in required_functions if not hasattr(module, fn)]
        print(missing if missing else "Tüm gerekli fonksiyonlar mevcut")
        
        # __all__ değişkenini kontrol et
        print("\n__all__ değişkeni:")
        if hasattr(module, '__all__'):
            print(module.__all__)
        else:
            print("__all__ tanımlı değil (tüm public fonksiyonlar içe aktarılır)")
            
    except ImportError as e:
        print(f"\nHATA: Modül yüklenemedi - {e}")
    except Exception as e:
        print(f"\nBeklenmeyen hata: {e}")

# Tanılama çalıştır
diagnose_module('oresmej')

# Alternatif olarak doğrudan kontrol
print("\nDoğrudan fonksiyon varlığı kontrolü:")
try:
    print("harmonic_numbers_jax mevcut mu?", hasattr(oj, 'harmonic_numbers_jax'))
    if hasattr(oj, 'harmonic_numbers_jax'):
        print("Fonksiyon imzası:", inspect.signature(oj.harmonic_numbers_jax))
    else:
        print("Eksik fonksiyon: harmonic_numbers_jax")
except Exception as e:
    print("Kontrol sırasında hata:", e)
# 1. Alternatif içe aktarma yöntemi
from oresmej import harmonic_numbers_jax  # Doğrudan import deneyin
import oresmej as oj
import jax.numpy as jnp

# 2. Modülü yeniden yükleme
import importlib
importlib.reload(oj)

# 3. Fonksiyonun alternatif isimle var olup olmadığını kontrol
print("Alternatif fonksiyon isimleri:", [name for name in dir(oj) if 'harmonic' in name.lower()])
from oresmej import _run_tests, main
_run_tests()
main()

Development

# Clone the repository
git clone https://github.com/WhiteSymmetry/oresmej.git
cd oresmej

# Install in development mode
python -m pip install -ve . # Install package in development mode

# Run tests
pytest

Notebook, Jupyterlab, Colab, Visual Studio Code
!python -m pip install git+https://github.com/WhiteSymmetry/oresmej.git

Citation

If this library was useful to you in your research, please cite us. Following the GitHub citation standards, here is the recommended citation.

BibTeX

APA

Keçeci, M. (2025). Dynamic vs Static Number Sequences: The Case of Keçeci and Oresme Numbers. Open Science Articles (OSAs), Zenodo. https://doi.org/10.5281/zenodo.15833351

Keçeci, M. (2025). oresmej [Data set]. ResearchGate. https://doi.org/10.13140/RG.2.2.30518.41284

Keçeci, M. (2025). oresmej [Data set]. figshare. https://doi.org/10.6084/m9.figshare.29554532

Keçeci, M. (2025). oresmej [Data set]. WorkflowHub. https://doi.org/10.48546/WORKFLOWHUB.DATAFILE.19.1

Keçeci, M. (2025). oresmej. Open Science Articles (OSAs), Zenodo. https://doi.org/10.5281/zenodo.15874178

Chicago

Keçeci, Mehmet. Dynamic vs Static Number Sequences: The Case of Keçeci and Oresme Numbers. Open Science Articles (OSAs), Zenodo, 2025. https://doi.org/10.5281/zenodo.15833351

Keçeci, Mehmet. oresmej [Data set]. ResearchGate, 2025. https://doi.org/10.13140/RG.2.2.30518.41284

Keçeci, Mehmet (2025). oresmej [Data set]. figshare, 2025. https://doi.org/10.6084/m9.figshare.29554532

Keçeci, Mehmet. oresmej [Data set]. WorkflowHub, 2025. https://doi.org/10.48546/WORKFLOWHUB.DATAFILE.19.1

Keçeci, Mehmet. oresmej. Open Science Articles (OSAs), Zenodo, 2025. https://doi.org/10.5281/zenodo.15874178

Lisans (Türkçe) / License (English)

This project is licensed under the AGPL-3.0-or-later License.

Pixi:

Pixi

pixi init oresmej

cd oresmej

pixi workspace channel add https://prefix.dev/channels/bilgi --prepend

✔ Added https://prefix.dev/channels/bilgi

pixi add oresmej

✔ Added oresmej >=...,<1

pixi install

pixi shell

pixi run python -c "import oresmej; print(oresmej.version)"

Çıktı:

pixi remove oresmej

conda install -c https://prefix.dev/channels/bilgi oresmej

pixi run python -c "import oresmej; print(oresmej.version)"

Çıktı:

pixi run pip list | grep oresmej

oresmej

pixi run pip show oresmej

Name: oresmej

Version:

Summary:

Home-page: https://github.com/WhiteSymmetry/oresmej

Author: Mehmet Keçeci

Author-email: Mehmet Keçeci <...>

License: GNU AFFERO GENERAL PUBLIC LICENSE

Copyright (c) 2025-2026 Mehmet Keçeci


  1. https://pypi.org/project/oresmej/
  2. https://anaconda.org/bilgi/oresmej
  3. https://prefix.dev/channels/bilgi/packages/oresmej

Metadata

Release files for oresmej 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for oresmej 0.2.1
File Size Uploaded Provenance
oresmej-0.2.1.tar.gz 34.0 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for oresmej 0.2.1
File Interpreter ABI Platform
oresmej-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 64.2 kB

Release files / oresmej-0.2.1.tar.gz

Download URL oresmej-0.2.1.tar.gz
Size 34.0 kB
Tags Source
SHA-256 checksum
How to use checksums
feb97b3186b9acf2a3bf9ff226987a2084a526f9005ba9e4394cd830d3f6dff1
BLAKE2b-256 checksum
How to use checksums
4ed3747e8f5286b4d92dc79c7cd1b3f3abf166c0eca13b3553007f3a87ded6bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / oresmej-0.2.1-py3-none-any.whl

Download URL oresmej-0.2.1-py3-none-any.whl
Size 30.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dc8ccea66eca66e0a204b5211e3de8e2cdea5b844145dcfd6549c9d99668152e
BLAKE2b-256 checksum
How to use checksums
a6dab9c3b32a6bb6993271b18405f621ce7bda0082714d50dee3f17fad4a79bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Security for oresmej 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for oresmej-0.2.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page