#FEATURE by cg
authorClaus Gittinger <cg@exept.de>
Sat, 01 Jul 2017 21:35:50 +0200
changeset 21933 56fbff93ec73
parent 21932 c033a3755e36
child 21934 2ceafc60e0cc
#FEATURE by cg class: Complex added: #raisedFromNumber: class: Complex class comment/format in: #examples
Complex.st
--- a/Complex.st	Sat Jul 01 20:17:49 2017 +0200
+++ b/Complex.st	Sat Jul 01 21:35:50 2017 +0200
@@ -119,7 +119,10 @@
     (Number i raisedTo:3) -> Number i negated
     (Number i raisedTo:4) -> 1
     (Number i raisedTo:6) -> -1
-    
+
+    3 raisedTo:Number i
+    3 i raisedTo:Number i
+
     5i * 5i     -> -25
     5i squared  -> -25 
 "
@@ -698,6 +701,23 @@
     ^ anInteger asComplex / self
 !
 
+raisedFromNumber:aNumber
+    "see http://www.math.toronto.edu/mathnet/questionCorner/complexexp.html"
+
+    "/ a ^ (b+i*c) = a^b * ( cos(c*ln(a)) + i*sin(c*ln(a)) )
+
+    |cLNa a_b|
+
+    cLNa := imaginary * aNumber ln.
+    a_b := aNumber raisedTo:real.
+    
+    ^ Complex
+        real:(a_b * cLNa cos)
+        imaginary:(a_b * cLNa sin)
+
+    "Created: / 01-07-2017 / 20:33:47 / cg"
+!
+
 sumFromComplex:aComplex
     "Return the sum of the receiver and the argument, aComplex."