/** * Create a symbolic complex number * * @param re * @param im * @return */ public static IComplex complex(final IFraction re, final IFraction im) { return ComplexSym.valueOf(re, im); }
/** * Create a symbolic complex number * * @param re * @param im * @return */ public static IComplex CC(final IFraction re, final IFraction im) { return ComplexSym.valueOf(re, im); }
/** * Create a symbolic complex number * * @param re * @param im * @return */ public static IComplex complex(final IRational re, final IRational im) { return ComplexSym.valueOf(re, im); }
/** * Create a symbolic complex number * * @param re * @param im * @return */ public static IComplex complex(final IInteger re, final IInteger im) { return ComplexSym.valueOf(re, im); }
/** * Create a symbolic complex number * * @param re * @param im * @return */ public static IComplex complex(final long real_numerator, final long real_denominator, final long imag_numerator, final long imag_denominator) { return ComplexSym.valueOf(real_numerator, real_denominator, imag_numerator, imag_denominator); }
/** * Create a symbolic complex number * * @param real_numerator * @param real_denominator * @param imag_numerator * @param imag_denominator * @return */ public static IComplex CC(final long real_numerator, final long real_denominator, final long imag_numerator, final long imag_denominator) { return ComplexSym.valueOf(real_numerator, real_denominator, imag_numerator, imag_denominator); }
/** * Create a symbolic complex number * * @param real_numerator * @param real_denominator * @param imag_numerator * @param imag_denominator * @return */ public static IComplex complex(final long real_numerator, final long real_denominator, final long imag_numerator, final long imag_denominator) { return ComplexSym.valueOf(real_numerator, real_denominator, imag_numerator, imag_denominator); }
public static void main(final String[] args) { final ComplexSym c = ComplexSym.valueOf(BigInteger.ZERO, BigInteger.ONE); final IExpr e = c.times(c); System.out.println(e); }
/** {@inheritDoc} */ @Override public IComplex conjugate() { return ComplexSym.valueOf(fReal, fImaginary.negate()); }
/** {@inheritDoc} */ @Override public INumber fractionalPart() { return valueOf(fReal.fractionalPart(), fImaginary.fractionalPart()); }
@Override public INumber opposite() { return ComplexSym.valueOf(fReal.negate(), fImaginary.negate()); }
@Override public IExpr times(final IExpr that) { if (that instanceof ComplexSym) { return multiply((ComplexSym) that); } if (that instanceof IInteger) { return this.multiply(valueOf((IInteger) that)); } if (that instanceof IFraction) { return this.multiply(valueOf((IFraction) that)); } return IComplex.super.times(that); }
@Override public INumber ceilFraction() { return valueOf((IRational) fReal.ceilFraction(), (IRational) fImaginary.ceilFraction()); }
@Override public ComplexSym negate() { return ComplexSym.valueOf(fReal.negate(), fImaginary.negate()); }
@Override public IExpr opposite() { return ComplexSym.valueOf(_real.negate(), _imaginary.negate()); }
@Override public IComplex add(final IComplex parm1) { return ComplexSym.valueOf(fReal.add(parm1.getRealPart()), fImaginary.add(parm1.getImaginaryPart())); }
@Override public IExpr inverse() { final BigFraction tmp = (_real.multiply(_real)).add((_imaginary.multiply(_imaginary))); return ComplexSym.valueOf(_real.divide(tmp), _imaginary.negate().divide(tmp)); }
@Override public IComplex inverse() { final IRational tmp = (fReal.multiply(fReal)).add(fImaginary.multiply(fImaginary)); return ComplexSym.valueOf(fReal.divideBy(tmp), fImaginary.negate().divideBy(tmp)); }
@Override public IComplex multiply(final IComplex parm1) { return ComplexSym.valueOf( fReal.multiply(parm1.getRealPart()).subtract(fImaginary.multiply(parm1.getImaginaryPart())), fReal.multiply(parm1.getImaginaryPart()).add(parm1.getRealPart().multiply(fImaginary))); }
public IComplex multiply(final IComplex parm1) { return ComplexSym.valueOf(_real.multiply(parm1.getRealPart()).subtract(_imaginary.multiply(parm1.getImaginaryPart())), _real .multiply(parm1.getImaginaryPart()).add(parm1.getRealPart().multiply(_imaginary))); }