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.0

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.0
File Size Uploaded
oresmej-0.2.0.tar.gz 33.7 kB Details

Built distribution (wheel)

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

Total release size: 63.5 kB

Release files / oresmej-0.2.0.tar.gz

Download URL oresmej-0.2.0.tar.gz
Size 33.7 kB
Tags Source
SHA-256 checksum
How to use checksums
3e94823004117b69d6f3681f67c8b83e2d1d02688d69296ec4f034e6bd5fb4a3
BLAKE2b-256 checksum
How to use checksums
047c3e8c8fc88cdc1f96d3e9b1abbb434420d83f72266c0f3580f6b7cacec774
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 Sep 24, 2026.

Transparency log

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

Download URL oresmej-0.2.0-py3-none-any.whl
Size 29.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
407f7b124badd7e064418b683cc426673bede0865c35d07bb45380076d0fe49a
BLAKE2b-256 checksum
How to use checksums
31b9071b996dffc519712807b3b2d989ca5bcd9a5fce7ed75da2c3163d16085d
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 Sep 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.0

2 release files

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