#FEATURE by cg
class: Complex
added: #raisedFromNumber:
class: Complex class
comment/format in: #examples
--- 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."