maspack.matrix
Class DualScalar

java.lang.Object
  extended by maspack.matrix.DualScalar

public class DualScalar
extends java.lang.Object

Dual Number with Double values, d = a + e*b, where e*e = 0;

Author:
antonio

Constructor Summary
DualScalar(double a, double b)
          Constructs dual number a+e*b
DualScalar(DualScalar d)
           
 
Method Summary
 void add(DualScalar d)
          Adds the supplied dual number to this
 void add(DualScalar d1, DualScalar d2)
          Adds dual numbers d1+d2 and places this result in this dual number
 void conjugate()
          Conjugates the current dual number (a+e*b)' = a-e*b
 void conjugate(DualScalar d)
          Assigns this dual number to the conjugate of d: (a+e*b)' = a-e*b
 void div(DualScalar d)
          Divides by the supplied dual number
 void div(DualScalar d1, DualScalar d2)
          Divides dual numbers d1/d2 and places the result in this
 void get(double[] v)
          Fills in dual values v[0]+e*v[1]
 void get(DualScalar d)
          Copies values to d
 double getDual()
           
 double getReal()
           
 void invert()
           
 void invert(DualScalar d)
          Computes 1/d and places this result in this
 void mul(DualScalar d)
          Multiplies by the supplied dual number
 void mul(DualScalar d1, DualScalar d2)
          Multiplies dual numbers d1*d2 and places the result in this
 double norm()
          Magnitude of |a+e*b| = |a|
 void pow(DualScalar e)
          Computes (this)^e
 void pow(DualScalar d, DualScalar e)
          Computes d^e and places the result in this
 void set(double[] v)
          Assigns to dual number v[0]+e*v[1]
 void set(double a, double b)
          Assigns to dual number a+e*b
 void set(DualScalar d)
          Copies values from d
 void sqrt()
          Computes sqrt(this)
 void sqrt(DualScalar d)
          Computes d^(1/2) and places the result in this.
 void sub(DualScalar d)
          Subtracts d from this dual number
 void sub(DualScalar d1, DualScalar d2)
          Subtracts d2 from d1 and places the result in this dual number
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DualScalar

public DualScalar(double a,
                  double b)
Constructs dual number a+e*b


DualScalar

public DualScalar(DualScalar d)
Method Detail

set

public void set(double a,
                double b)
Assigns to dual number a+e*b


set

public void set(DualScalar d)
Copies values from d


get

public void get(DualScalar d)
Copies values to d


set

public void set(double[] v)
Assigns to dual number v[0]+e*v[1]


get

public void get(double[] v)
Fills in dual values v[0]+e*v[1]


add

public void add(DualScalar d1,
                DualScalar d2)
Adds dual numbers d1+d2 and places this result in this dual number


add

public void add(DualScalar d)
Adds the supplied dual number to this


sub

public void sub(DualScalar d1,
                DualScalar d2)
Subtracts d2 from d1 and places the result in this dual number


sub

public void sub(DualScalar d)
Subtracts d from this dual number


mul

public void mul(DualScalar d1,
                DualScalar d2)
Multiplies dual numbers d1*d2 and places the result in this


mul

public void mul(DualScalar d)
Multiplies by the supplied dual number


div

public void div(DualScalar d1,
                DualScalar d2)
Divides dual numbers d1/d2 and places the result in this


div

public void div(DualScalar d)
Divides by the supplied dual number


conjugate

public void conjugate(DualScalar d)
Assigns this dual number to the conjugate of d: (a+e*b)' = a-e*b


conjugate

public void conjugate()
Conjugates the current dual number (a+e*b)' = a-e*b


norm

public double norm()
Magnitude of |a+e*b| = |a|


sqrt

public void sqrt(DualScalar d)
Computes d^(1/2) and places the result in this.


sqrt

public void sqrt()
Computes sqrt(this)


pow

public void pow(DualScalar d,
                DualScalar e)
Computes d^e and places the result in this


pow

public void pow(DualScalar e)
Computes (this)^e


invert

public void invert(DualScalar d)
Computes 1/d and places this result in this


invert

public void invert()

getReal

public double getReal()

getDual

public double getDual()