/** * Raise a complex number to a power * * @param num the number to raise * @param power the power to raise to * @return the number raised to a power */ public static IComplexNumber pow(IComplexNumber num, double power) { Complex c = new Complex(num.realComponent().doubleValue(), num.imaginaryComponent().doubleValue()).pow(power); if (c.isNaN()) c = new Complex(Nd4j.EPS_THRESHOLD, 0.0); return Nd4j.createDouble(c.getReal(), c.getImaginary()); }
/** * Raise a complex number to a power * * @param num the number to raise * @param power the power to raise to * @return the number raised to a power */ public static IComplexNumber pow(IComplexNumber num, IComplexNumber power) { Complex c = new Complex(num.realComponent().doubleValue(), num.imaginaryComponent().doubleValue()).pow( new Complex(power.realComponent().doubleValue(), power.imaginaryComponent().doubleValue())); if (c.isNaN()) c = new Complex(Nd4j.EPS_THRESHOLD, 0.0); return Nd4j.createDouble(c.getReal(), c.getImaginary()); }
/** * @return */ public boolean isNaN() { return fComplex.isNaN(); }
private void normalize() { if (value.isInfinite()) { qualifier = "infinity"; } else if (value.isNaN()) { qualifier = "undefined"; } else if (value.getReal() == 0.0d && value.getImaginary() == 0.0) { qualifier = "zero"; } }
/** * Raise a complex number to a power * * @param num the number to raise * @param power the power to raise to * @return the number raised to a power */ public static IComplexNumber pow(IComplexNumber num, double power) { Complex c = new Complex(num.realComponent().doubleValue(), num.imaginaryComponent().doubleValue()).pow(power); if (c.isNaN()) c = new Complex(Nd4j.EPS_THRESHOLD, 0.0); return Nd4j.createDouble(c.getReal(), c.getImaginary()); }
/** * Raise a complex number to a power * * @param num the number to raise * @param power the power to raise to * @return the number raised to a power */ public static IComplexNumber pow(IComplexNumber num, IComplexNumber power) { Complex c = new Complex(num.realComponent().doubleValue(), num.imaginaryComponent().doubleValue()).pow( new Complex(power.realComponent().doubleValue(), power.imaginaryComponent().doubleValue())); if (c.isNaN()) c = new Complex(Nd4j.EPS_THRESHOLD, 0.0); return Nd4j.createDouble(c.getReal(), c.getImaginary()); }