Manipulation des nombres complexes

Clojure:
Manipulation des nombres complexes

Comment faire :

Clojure offre un support intégré pour les nombres complexes via la classe utilitaire clojure.lang.Numbers. Utilisez complex pour créer des nombres complexes et effectuer des calculs arithmétiques.

;; Création de nombres complexes
(def a (clojure.lang.Numbers/complex 3 4))  ; 3 + 4i
(def b (clojure.lang.Numbers/complex 1 -1)) ; 1 - i

;; Addition
(+ a b) ;=> #object[clojure.lang.Numbers.Complex 0x5c6cfe9 "4 + 3i"]

;; Soustraction
(- a b) ;=> #object[clojure.lang.Numbers.Complex 0x5e51118 "2 + 5i"]

;; Multiplication
(* a b) ;=> #object[clojure.lang.Numbers.Complex 0x6ec3f0df "7 + i"]

;; Division
(/ a b) ;=> #object[clojure.lang.Numbers.Complex 0x5db0cd10 "3,5 + 3,5i"]

;; Conjugué
(.conjugate a) ;=> #object[clojure.lang.Numbers.Complex 0x47c6e076 "3 - 4i"]

Approfondissement

Les nombres complexes ont été formalisés par des mathématiciens comme Gauss et Euler au 18ème siècle. Bien qu’initialement accueillis avec scepticisme, ils sont depuis devenus cruciaux dans la science et l’ingénierie modernes. Clojure n’a pas de type de nombre complexe natif comme certains langages (par exemple, Python), mais l’interopérabilité Java incluse peut gérer les opérations nécessaires via la classe clojure.lang.Numbers.

Le java.lang.Complex de Java est une alternative robuste, offrant plus de fonctionnalités et des optimisations potentielles. L’interopérabilité sous-jacente de Clojure rend le travail avec les bibliothèques Java facile.

Sous le capot, l’arithmétique des nombres complexes implique l’ajout et la multiplication des parties réelles et imaginaires, avec la règle clé que i^2 = -1. La division des nombres complexes peut être plus compliquée, nécessitant généralement le conjugué pour éviter la division par des nombres complexes.

Voir également