Mertens-Funktion-Rechner
Summieren Sie die Möbius-Funktion von 1 bis n in einem Schritt: M(100) ist 1, die exakte vorzeichenbehaftete Bilanz zwischen quadratfreien Zahlen mit gerader und ungerader Anzahl von Primfaktoren. Funktioniert für jedes n bis 5.000.000. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- N
- 100
- Mertens-Funktion
- 1
Der Rechner für die Mertens-Funktion liefert M(n), also die laufende Summe der Möbius-Funktion von 1 bis zu einer positiven ganzen Zahl n. Damit lässt sich direkt untersuchen, wie sich quadratfreie Zahlen mit einer geraden beziehungsweise ungeraden Anzahl verschiedener Primfaktoren in einem Anfangsintervall ausgleichen. Geben Sie n ein, um das exakte ganzzahlige Ergebnis mit einem deterministischen linearen Sieb zu erhalten. Die Berechnung verwendet weder Zufallsstichproben noch externe Dienste oder gespeicherte Tabellen. Daher ergibt dieselbe gültige Eingabe stets dieselbe Antwort.
Was die Mertens-Funktion misst
Die Mertens-Funktion ist durch M(n) = μ(1) + μ(2) + ... + μ(n) definiert, wobei μ die Möbius-Funktion bezeichnet. Für eine positive ganze Zahl k ist μ(k) gleich null, wenn das Quadrat einer Primzahl k teilt. Andernfalls ist μ(k) gleich 1, wenn k eine gerade Anzahl verschiedener Primfaktoren besitzt, und -1 bei einer ungeraden Anzahl.
Die laufende Summe erfasst somit eine vorzeichenbehaftete Bilanz unter den quadratfreien Zahlen; Zahlen mit wiederholten Primfaktoren tragen nichts bei. Dieser Rechner schließt beide Grenzen ein: Eine Eingabe n umfasst sämtliche Möbius-Werte von 1 bis n. Insbesondere gilt μ(1) = 1 und damit M(1) = 1.
Das Ergebnis kann positiv, null oder negativ sein und ist als exakter arithmetischer Wert zu verstehen, nicht als Wahrscheinlichkeit oder Näherung. Diese kumulierte Größe spielt in der analytischen Zahlentheorie eine wichtige Rolle, weil sie multiplikative Strukturen mit Auslöschungseffekten in arithmetischen Folgen verbindet.
Wie der Rechner das exakte Ergebnis bestimmt
Die Implementierung erzeugt die Möbius-Werte mit einem linearen Sieb in aufsteigender Reihenfolge. Trifft das Sieb auf eine Primzahl, weist es ihr den Möbius-Wert -1 zu. Für jede zuvor gefundene Primzahl wird anschließend das Produkt mit der aktuellen Zahl betrachtet.
Teilt diese Primzahl die aktuelle Zahl bereits, enthält das Produkt einen quadratischen Primfaktor, erhält den Möbius-Wert null und die Verarbeitung dieser Zahl endet. Andernfalls erhält das Produkt den negierten Möbius-Wert der aktuellen Zahl. Jede zusammengesetzte Zahl wird über ihren kleinsten Primfaktor behandelt, sodass der Aufwand proportional zur gewählten Obergrenze bleibt.
Jeder neu bestimmte Wert wird sofort zur laufenden Summe addiert. Es kommen keine Gleitkommaformeln zum Einsatz und kein Wert wird geschätzt. Der Algorithmus ist deterministisch, läuft lokal und liefert eine ganze Zahl mit Vorzeichen.
Die Eingabeprüfung weist Brüche, nicht endliche Zahlen sowie Werte außerhalb der veröffentlichten Grenzen zurück, bevor die Siebfelder angelegt werden.
Eingaben wählen und die Antwort auswerten
Die Antwort wiederholt das akzeptierte n und nennt den zugehörigen Mertens-Wert im Feld mertens, sodass automatisierte Aufzeichnungen eindeutig bleiben. Eine Folge von Abfragen mit steigenden Grenzen eignet sich beispielsweise dazu, die Schwankungen von M(n) darzustellen, eine Lehrbuchtabelle durch eine unabhängige Berechnung zu prüfen oder eine andere Implementierung für Möbius-Werte zu testen. Deuten Sie ein einzelnes positives oder negatives Ergebnis nicht als Beleg für einen dauerhaften Trend.
Die Funktion oszilliert mit den angesammelten Beiträgen, und theoretisch relevant sind ihr Verhalten über Bereiche sowie asymptotische Schranken. Benötigen Sie mehrere Werte, speichern Sie jedes zurückgegebene Paar oder berechnen Sie aufsteigende Prüfpunkte, statt μ(n) allein aus M(n) ohne Vergleich mit M(n - 1) abzuleiten.
Anwendungsfälle
Eine zahlentheoretische Aufgabe prüfen
Bestätigen Sie eine exakte kumulierte Möbius-Summe, nachdem Sie die Einzelwerte von Hand bestimmt haben.
Eine Siebimplementierung validieren
Vergleichen Sie bekannte Prüfpunkte mit den Ergebnissen eines anderen Möbius- oder Primfaktorsiebs.
Arithmetische Auslöschung untersuchen
Erfassen Sie M(n) an ausgewählten Grenzen, um Schwankungen und Vorzeichenwechsel zu analysieren.
Häufige Fragen
Ist n in der Summe enthalten?
Ja. Die Berechnung umfasst alle ganzen Zahlen von 1 bis n einschließlich beider Grenzen.
Ist das Ergebnis nur eine Näherung?
Nein. Ein deterministisches Ganzzahlsieb berechnet jeden verwendeten Möbius-Wert; das Ergebnis ist exakt.
Welchen Wert hat M(100)?
M(100) ist 1. Addiert man die Möbius-Werte aller ganzen Zahlen von 1 bis 100, bleibt eine Bilanz von eins: Quadratfreie Zahlen mit gerader Anzahl von Primfaktoren liegen um eins vorn.
Was zählt die Möbius-Funktion?
Sie gibt jeder Zahl, die durch das Quadrat einer Primzahl teilbar ist, den Wert 0. Alle anderen erhalten 1 bei gerader und −1 bei ungerader Anzahl verschiedener Primfaktoren. M(n) addiert diese Werte und kann positiv, null oder negativ sein.
Wie groß darf n sein?
Jede ganze Zahl von 1 bis 5.000.000. Brüche und Werte unter 1 werden abgelehnt. Je größer n ist, desto mehr Zahlen müssen eingeordnet werden, daher diese Obergrenze.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/numth/mertens-function \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":100}'const res = await fetch("https://api.kit.forhosting.com/numth/mertens-function", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 100
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/mertens-function",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 100
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/mertens-function", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":100}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":100}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/mertens-function", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"n": 100
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.mertens_function",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_n | 5000000 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Eingaben wählen und die Antwort auswerten
Übergeben Sie n als JSON-Ganzzahl zwischen 1 und einschließlich 5,000,000. Ein größeres n benötigt mehr Zeit und Speicher, weil jede ganze Zahl bis zu diesem Endpunkt klassifiziert werden muss; die festgelegte Obergrenze begrenzt den Aufwand im Browser und über die API.
Technische Fragen
Was ist die Mertens-Funktion?
Sie ist die laufende Summe M(n) = Σ(k=1..n) μ(k), wobei μ für die Möbius-Funktion steht.
Was geschieht bei einem n kleiner als eins?
Die Anfrage schlägt mit invalid_input fehl, weil dieser Rechner eine positive ganzzahlige Grenze verlangt.
Was kostet eine Berechnung per API?
Jede API-Anfrage kostet $0.002. Im Browser kann der Rechner außerdem kostenlos genutzt werden.