Exemple #1
0
  public Complex acos() {
    Complex result;
    double tempRe, tempIm;

    //  acos(z)  =  -i * log( z + i * sqrt(1 - z*z) )

    tempRe = 1.0 - ((re * re) - (im * im));
    tempIm = 0.0 - ((re * im) + (im * re));

    result = new Complex(tempRe, tempIm);
    result = result.sqrt();

    tempRe = -result.im;
    tempIm = result.re;

    result.re = re + tempRe;
    result.im = im + tempIm;

    tempRe = Math.log(result.abs());
    tempIm = result.arg();

    result.re = tempIm;
    result.im = -tempRe;

    return result;
  }
Exemple #2
0
  public Complex asinh() {
    Complex result;
    //  asinh(z)  =  log(z + sqrt(z*z + 1))

    result = new Complex(((re * re) - (im * im)) + 1, (re * im) + (im * re));

    result = result.sqrt();

    result.re += re;
    result.im += im;

    double temp = result.arg();
    result.re = Math.log(result.abs());
    result.im = temp;

    return result;
  }
Exemple #3
0
  public Complex atanh() {
    //  atanh(z)  =  1/2 * log( (1+z)/(1-z) )

    double tempRe, tempIm;
    Complex result = new Complex(1.0 + re, im);

    tempRe = 1.0 - re;
    tempIm = -im;

    result = result.div(new Complex(tempRe, tempIm));

    tempRe = Math.log(result.abs());
    tempIm = result.arg();

    result.re = 0.5 * tempRe;
    result.im = 0.5 * tempIm;

    return result;
  }
Exemple #4
0
  public Complex atan() {
    // atan(z) = -i/2 * log((i-z)/(i+z))

    double tempRe, tempIm;
    Complex result = new Complex(-re, 1.0 - im);

    tempRe = re;
    tempIm = 1.0 + im;

    result = result.div(new Complex(tempRe, tempIm));

    tempRe = Math.log(result.abs());
    tempIm = result.arg();

    result.re = 0.5 * tempIm;
    result.im = -0.5 * tempRe;

    return result;
  }
Exemple #5
0
  public Complex asin() {
    Complex result;
    double tempRe, tempIm;

    //  asin(z)  =  -i * log(i*z + sqrt(1 - z*z))

    tempRe = 1.0 - ((re * re) - (im * im));
    tempIm = 0.0 - ((re * im) + (im * re));

    result = new Complex(tempRe, tempIm);
    result = result.sqrt();

    result.re += -im;
    result.im += re;

    tempRe = Math.log(result.abs());
    tempIm = result.arg();

    result.re = tempIm;
    result.im = -tempRe;

    return result;
  }