Calculateur de nombres complexes
Ce calculateur de nombres complexes effectue les quatre opérations arithmétiques de base sur deux nombres complexes donnés sous forme de parties réelle et imaginaire.
Lancer gratuitement
Vous fournissez a = a_real + a_imag·i et b = b_real + b_imag·i, choisissez addition, soustraction, multiplication ou division, et recevez le nombre complexe résultant sous forme rectangulaire ainsi que sous forme de chaîne lisible. La division est calculée avec la formule exacte du conjugué et rejette correctement la division par zéro. Le même code déterministe s'exécute gratuitement dans votre navigateur et via l'API payante : ce que vous testez sur cette page est exactement ce que votre intégration reçoit.
Ce qu'une opération sur les nombres complexes calcule réellement
Un nombre complexe est un couple de nombres réels écrit sous la forme a + bi, où i est l'unité imaginaire vérifiant i² = −1. L'addition et la soustraction opèrent composante par composante : les parties réelles se combinent et les parties imaginaires se combinent indépendamment, ainsi (3 + 2i) + (1 − 4i) = 4 − 2i. La multiplication est le cas intéressant, car elle utilise la propriété définissante de i. En développant (a + bi)(c + di) par distributivité, on obtient ac + adi + bci + bdi², et comme i² = −1, le résultat est (ac − bd) + (ad + bc)i. La partie réelle d'un produit n'est pas le produit des parties réelles : c'est l'erreur la plus fréquente dans les calculs à la main. Ce calculateur de nombres complexes applique directement ces formules fermées, sans itération ni approximation au-delà de l'arrondi final, donc la réponse est déterministe : les mêmes entrées produisent toujours des sorties identiques à l'octet près, que le calcul se fasse dans votre onglet de navigateur ou sur nos serveurs périphériques via l'API.
La division et l'astuce du conjugué
Diviser des nombres complexes est l'opération qui exige le plus souvent une calculatrice, car la formule n'est pas évidente. Pour calculer (a + bi) / (c + di), vous multipliez le numérateur et le dénominateur par le conjugué du dénominateur, (c − di). Le dénominateur devient alors c² + d², un simple nombre réel, et le numérateur se développe selon la règle de multiplication. Le résultat final est ((ac + bd) / (c² + d²)) + ((bc − ad) / (c² + d²))i. Le seul cas où cela échoue est celui où c² + d² = 0, ce qui n'arrive que lorsque c et d sont tous deux nuls — le nombre complexe nul. La division par zéro est indéfinie dans le corps des complexes tout comme chez les réels, et ce point de terminaison la signale comme une erreur d'entrée invalide au lieu de renvoyer un résultat infini ou NaN qui corromprait silencieusement un pipeline en aval. Les résultats sont arrondis à dix décimales pour que le bruit des flottants n'apparaisse jamais dans la sortie, et un zéro négatif est normalisé en zéro pour des réponses propres et comparables.
Où l'arithmétique complexe apparaît en pratique
Les nombres complexes ne sont pas une curiosité académique ; ils sont la notation de travail de plusieurs disciplines d'ingénierie. Les électriciens représentent les impédances et les phaseurs comme des nombres complexes, donc combiner deux éléments de circuit en série est une addition et calculer des fonctions de transfert est une division. Le traitement du signal exprime les composantes fréquentielles comme des valeurs complexes issues d'une transformée de Fourier, et le filtrage les multiplie par des coefficients complexes. La théorie du contrôle place les pôles et les zéros dans le plan complexe, et la mécanique quantique est écrite en amplitudes complexes dès le départ. Dans tous ces domaines, l'arithmétique elle-même est mécanique — les quatre opérations de cette page la couvrent entièrement — et l'intérêt d'une API est de pouvoir l'intégrer dans une étape de validation, un outil pédagogique ou un générateur de code sans réimplémenter les formules. Comme la capacité est sans état et déterministe, vous pouvez la mettre en cache, la réessayer et l'exécuter en parallèle en toute sécurité, sur autant de paires d'opérandes que votre charge de travail l'exige.
Cas d’usage
Vérifier les calculs d'impédance de circuits
Additionnez ou divisez des impédances complexes lors de la combinaison de composants en série et en parallèle, et vérifiez le calcul manuel avant de valider la conception d'une carte.
Créer un outil pédagogique ou d'aide aux devoirs
Faites passer les exercices des étudiants par l'API pour générer des réponses exactes et détaillées pour (a + bi) × (c + di) sans maintenir vous-même les formules.
Valider une sortie de traitement du signal
Recoupez un pipeline DSP en comparant ses produits et quotients complexes à une implémentation de référence indépendante et déterministe.
Questions fréquentes
Combien cela coûte-t-il ?
$0.002 par requête via l'API. C'est aussi gratuit dans votre navigateur sur cette page — le même code s'exécute dans les deux cas.
Quelles opérations sont prises en charge ?
Addition, soustraction, multiplication et division, indiquées dans le champ operation. Chacune prend deux nombres complexes donnés sous forme de parties réelle et imaginaire.
Que se passe-t-il si je divise par zéro ?
Si le second nombre complexe est 0 + 0i, la requête est rejetée avec une erreur d'entrée invalide. La division par le nombre complexe nul est indéfinie et n'est jamais approximée.
Quelle est la précision du résultat ?
Les formules sont des formes fermées exactes ; la sortie est arrondie à dix décimales pour éliminer le bruit des flottants, et le zéro négatif est normalisé en zéro.
Puis-je saisir des parties négatives ou décimales ?
Oui. Les parties réelle et imaginaire acceptent tout nombre fini, y compris les valeurs négatives et décimales comme 2.5 ou −0.75.
Quelque chose est-il stocké ?
Non. Le calcul est sans état : les quatre nombres sont traités en mémoire puis écartés, et seul le résultat est renvoyé.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/math/complex-number \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a_real":3,"a_imag":2,"b_real":1,"b_imag":-4,"operation":"multiply"}'const res = await fetch("https://api.kit.forhosting.com/math/complex-number", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a_real": 3,
"a_imag": 2,
"b_real": 1,
"b_imag": -4,
"operation": "multiply"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/complex-number",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a_real": 3,
"a_imag": 2,
"b_real": 1,
"b_imag": -4,
"operation": "multiply"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/complex-number", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a_real":3,"a_imag":2,"b_real":1,"b_imag":-4,"operation":"multiply"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a_real":3,"a_imag":2,"b_real":1,"b_imag":-4,"operation":"multiply"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/complex-number", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"a_real": 3,
"a_imag": 2,
"b_real": 1,
"b_imag": -4,
"operation": "multiply"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.complex_number",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |