🔧 API-Dokumentation
T0 Period Finding:
# T0 Periodenfindung mit adaptiven ξ-Strategien
from t0_period_finding import RelativeT0
t0 = RelativeT0()
result = t0.factorize(1643) # Automatische ξ-Auswahl
print(f"Faktoren: {result['factors']}")
print(f"ξ-Strategie: {result['method_specific']['xi_strategy']}")
print(f"Resonanz: {result['method_specific']['resonance_score']}")
Harmonic Factorization:
# Harmonische Faktorisierung mit Hierarchie
from optimized_harmonic_lib import OptimizedHarmonicFactorizer
factorizer = OptimizedHarmonicFactorizer(base_tolerance_cents=50.0)
result = factorizer.factorize(221, verbose=True)
print(f"Harmonie: {result.harmonic_name}")
print(f"Level: {result.level_name}")
print(f"Abweichung: {result.deviation_cents:.1f} Cents")
🔬 Technische Details
# Rationale Arithmetik - Kernprinzip beider Ansätze
from fractions import Fraction
# Exakte Verhältnisse statt Fließkommazahlen
pi_exact = Fraction(355, 113) # Sehr genaue π-Approximation
xi_value = Fraction(1, 100) # Adaptive ξ-Parameter
# T0: Periodenbewertung mit exakten Verhältnissen
def calculate_period_score(r, xi):
omega = Fraction(2) * pi_exact / Fraction(r)
diff = omega - pi_exact
score = Fraction(1) / (Fraction(1) + abs(diff / xi))
return score
# Harmonic: Logarithmische Cents-Berechnung
def calculate_cents_deviation(ratio1, ratio2):
return abs(1200 * math.log2(float(ratio1 / ratio2)))
Warum rationale Arithmetik?
- 100% reproduzierbare Ergebnisse auf jeder Hardware
- Keine Rundungsfehler möglich
- Deterministische Berechnungen
- Hardware-unabhängige Implementierung
🎯 Praktische Anwendung
# Beispiel: Vollständiger Workflow mit beiden Ansätzen
from t0_period_finding import RelativeT0
from optimized_harmonic_lib import OptimizedHarmonicFactorizer
def analyze_number(n):
"""Analysiere Zahl mit beiden Ansätzen"""
# T0 Periodenfindung
t0 = RelativeT0()
t0_result = t0.factorize(n)
# Harmonische Faktorisierung
harmonic = OptimizedHarmonicFactorizer()
harmonic_result = harmonic.factorize(n)
print(f"Zahl: {n}")
print(f"T0 Erfolg: {t0_result['factors'] is not None}")
print(f"Harmonic Erfolg: {harmonic_result.success}")
if harmonic_result.success:
print(f"Musikalisches Intervall: {harmonic_result.harmonic_name}")
print(f"Hierarchie-Level: {harmonic_result.level_name}")
return t0_result, harmonic_result
# Test verschiedener Zahlentypen
test_numbers = [221, 323, 1643, 2491, 10403]
for num in test_numbers:
analyze_number(num)