DOI: 10.6084/m9.figshare.29554532
title: oresmej

description: Oresmej: Oresme JaxOresme numbers refer to the sums related to the harmonic series.<b>Türkçe Tanım:</b><b>Oresme Sayıları</b>, 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:<b>( \frac{n}{2^n} ) serisi</b> (Oresme'nin orijinal çalışması),<b>Harmonik sayılar</b> (( H_n = 1 + \frac{1}{2} + \cdots + \frac{1}{n} )).<br>Bu sayılar, analiz ve sayı teorisinde önemli rol oynar.<b>English Definition:</b><b>Oresme Numbers</b> 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:The <b>( \frac{n}{2^n} ) sequence</b> (Oresme's original work),<b>Harmonic numbers</b> (( H_n = 1 + \frac{1}{2} + \cdots + \frac{1}{n} )).<br>These numbers play a key role in analysis and number theory.<b>Fark/Karşılaştırma (Difference):</b><b>Oresme'nin ( \frac{n}{2^n} ) serisi</b> ıraksaklık kanıtları için önemlidir.<b>Harmonik sayılar</b> (( 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<pre>pip install oresmej -U<br>python -m pip install -U oresmej<br>conda install bilgi::oresmej -y<br>mamba install bilgi::oresmej -y</pre><pre>- pip uninstall Oresme -y<br>+ pip install -U oresmej<br>+ python -m pip install -U oresmej</pre>PyPITest Kurulumu / Test Installation<pre>pip install -i https://test.pypi.org/simple/ oresmej -U</pre>Github Master Kurulumu / GitHub Master Installation<b>Terminal:</b><pre>pip install git+https://github.com/WhiteSymmetry/oresmej.git</pre><b>Jupyter Lab, Notebook, Visual Studio Code:</b><pre>!pip install git+https://github.com/WhiteSymmetry/oresmej.git<br># or<br>%pip install git+https://github.com/WhiteSymmetry/oresmej.git</pre>Kullanım (Türkçe) / Usage (English)<pre>import oresmej as oj<br>import numpy as np<br>import jax<br>import jax.numpy as jnp<br>import time<br>from oresmej import *<br>import matplotlib.pyplot as plt<br><br># Simple usage example<br>plt.figure(figsize=(10, 5))<br>plt.plot(oj.harmonic_numbers_jax(500))<br>plt.title("First 5000000 Harmonic Numbers")<br>plt.xlabel("n")<br>plt.ylabel("H(n)")<br>plt.show()</pre><pre>import oresmej<br>oresmej.__version__</pre><pre>import importlib<br>import inspect<br>import oresmej as oj # Varsa import hatasını yakalamak için<br>import jax.numpy as jnp<br><br>def diagnose_module(module_name):<br> try:<br> # Modülü yükle<br> module = importlib.import_module(module_name)<br> <br> print(f"\n{' Modül Tanılama Raporu ':=^80}")<br> print(f"Modül adı: {module_name}")<br> print(f"Modül dosya yolu: {inspect.getfile(module)}")<br> <br> # Modülün tüm özelliklerini listele<br> print("\nModülde bulunan özellikler:")<br> members = inspect.getmembers(module)<br> public_members = [name for name, _ in members if not name.startswith('_')]<br> print(public_members)<br> <br> # Özel olarak kontrol edilecek fonksiyonlar<br> required_functions = [<br> 'oresme_sequence',<br> 'harmonic_numbers',<br> 'harmonic_number',<br> 'harmonic_number_jax',<br> 'harmonic_numbers_jax',<br> 'harmonic_generator_jax',<br> 'harmonic_number_approx'<br> ]<br> <br> print("\nEksik olan fonksiyonlar:")<br> missing = [fn for fn in required_functions if not hasattr(module, fn)]<br> print(missing if missing else "Tüm gerekli fonksiyonlar mevcut")<br> <br> # __all__ değişkenini kontrol et<br> print("\n__all__ değişkeni:")<br> if hasattr(module, '__all__'):<br> print(module.__all__)<br> else:<br> print("__all__ tanımlı değil (tüm public fonksiyonlar içe aktarılır)")<br> <br> except ImportError as e:<br> print(f"\nHATA: Modül yüklenemedi - {e}")<br> except Exception as e:<br> print(f"\nBeklenmeyen hata: {e}")<br><br># Tanılama çalıştır<br>diagnose_module('oresmej')<br><br># Alternatif olarak doğrudan kontrol<br>print("\nDoğrudan fonksiyon varlığı kontrolü:")<br>try:<br> print("harmonic_numbers_jax mevcut mu?", hasattr(oj, 'harmonic_numbers_jax'))<br> if hasattr(oj, 'harmonic_numbers_jax'):<br> print("Fonksiyon imzası:", inspect.signature(oj.harmonic_numbers_jax))<br> else:<br> print("Eksik fonksiyon: harmonic_numbers_jax")<br>except Exception as e:<br> print("Kontrol sırasında hata:", e)</pre><pre># 1. Alternatif içe aktarma yöntemi<br>from oresmej import harmonic_numbers_jax # Doğrudan import deneyin<br>import oresmej as oj<br>import jax.numpy as jnp<br><br># 2. Modülü yeniden yükleme<br>import importlib<br>importlib.reload(oj)<br><br># 3. Fonksiyonun alternatif isimle var olup olmadığını kontrol<br>print("Alternatif fonksiyon isimleri:", [name for name in dir(oj) if 'harmonic' in name.lower()])</pre>Development<pre># Clone the repository<br>git clone https://github.com/WhiteSymmetry/oresmej.git<br>cd oresmej<br><br># Install in development mode<br>python -m pip install -ve . # Install package in development mode<br><br># Run tests<br>pytest<br><br>Notebook, Jupyterlab, Colab, Visual Studio Code<br>!python -m pip install git+https://github.com/WhiteSymmetry/oresmej.git</pre>