Class C1Util

java.lang.Object
org.drip.numerical.complex.C1Util

public class C1Util
extends java.lang.Object
C1Util implements a C1 Complex Number Manipulation Utilities. The References are:

  • Fuhr, H., and Z. Rzeszotnik (2018): A Note on Factoring Unitary Matrices Linear Algebra and its Applications 547 32-44
  • Horn, R. A., and C. R. Johnson (2013): Matrix Analysis Cambridge University Press Cambridge UK
  • Li, C. K., and E. Poon (2002): Additive Decomposition of Real Matrices Linear and Multilinear Algebra 50 (4) 321-326
  • Marvian, I. (2022): Restrictions on realizable Unitary Operations imposed by Symmetry and Locality Nature Science 18 (3) 283-289
  • Wikipedia (2024): Unitary Matrix https://en.wikipedia.org/wiki/Unitary_matrix




Author:
Lakshmi Krishnamurthy
  • Constructor Details

    • C1Util

      public C1Util()
  • Method Details

    • UnsafeAdd

      public static final C1Cartesian UnsafeAdd​(C1Cartesian firstCartesianC1, C1Cartesian secondCartesianC1)
      Add the 2 Complex Numbers. Unsafe Methods do not validate the Input Arguments, so use caution in applying these Methods
      Parameters:
      firstCartesianC1 - The First Complex Number
      secondCartesianC1 - The Second Complex Number
      Returns:
      The Complex Number instance that is a sum of the two
    • UnsafeScale

      public static final C1Cartesian UnsafeScale​(C1Cartesian cartesianC1, double scale)
      Scale the Complex Number with the factor. Unsafe Methods do not validate the Input Arguments, so use caution in applying these Methods
      Parameters:
      cartesianC1 - The Complex Number
      scale - The Scaling Factor
      Returns:
      The Scaled Complex Number
    • UnsafeScale

      public static final C1Cartesian UnsafeScale​(C1Cartesian cartesianC1, C1Cartesian cartesianC1Scale)
      Scale the Complex Number with the factor. Unsafe Methods do not validate the Input Arguments, so use caution in applying these Methods
      Parameters:
      cartesianC1 - The Complex Number
      cartesianC1Scale - The Complex Scaling Factor
      Returns:
      The Scaled Complex Number
    • UnsafeSubtract

      public static final C1Cartesian UnsafeSubtract​(C1Cartesian firstCartesianC1, C1Cartesian secondCartesianC1)
      Subtract the Second Complex Number from the First. Unsafe Methods do not validate the Input Arguments, so use caution in applying these Methods
      Parameters:
      firstCartesianC1 - The First Complex Number
      secondCartesianC1 - The Second Complex Number
      Returns:
      The "Difference" Complex Number
    • UnsafeProduct

      public static final C1Cartesian UnsafeProduct​(C1Cartesian firstCartesianC1, C1Cartesian secondCartesianC1)
      Multiply the 2 Complex Numbers. Unsafe Methods do not validate the Input Arguments, so use caution in applying these Methods
      Parameters:
      firstCartesianC1 - The First Complex Number
      secondCartesianC1 - The Second Complex Number
      Returns:
      The Complex Number instance that is a product of the two
    • UnsafeDivide

      public static final C1Cartesian UnsafeDivide​(C1Cartesian numeratorC1, C1Cartesian denominatorC1)
      Divide the Numerator Complex Number by the Denominator Complex Number. Unsafe Methods do not validate the Input Arguments, so use caution in applying these Methods
      Parameters:
      numeratorC1 - The Numerator Complex Number
      denominatorC1 - The Denominator Complex Number
      Returns:
      The "Divided" Complex Number
    • UnsafeSquare

      public static final C1Cartesian UnsafeSquare​(C1Cartesian c1)
      Square the Complex Number. Unsafe Methods do not validate the Input Arguments, so use caution in applying these Methods
      Parameters:
      c1 - The Complex Number
      Returns:
      The Squared Complex Number Instance
    • UnsafeSquareRoot

      public static final C1Cartesian UnsafeSquareRoot​(C1Cartesian complexNumber)
      Compute the Square Root of the Complex Number. Unsafe Methods do not validate the Input Arguments, so use caution in applying these Methods
      Parameters:
      complexNumber - The Complex Number
      Returns:
      The Square Root Complex Number Instance
    • UnsafeExponentiate

      public static final C1Cartesian UnsafeExponentiate​(C1Cartesian complexNumber)
      Exponentiate the Complex Number. Unsafe Methods do not validate the Input Arguments, so use caution in applying these Methods
      Parameters:
      complexNumber - The Complex Number
      Returns:
      The Exponentiated Complex Number Instance
    • UnsafeLogarithm

      public static final C1Cartesian UnsafeLogarithm​(C1Cartesian complexNumber)
      Compute Logarithm of the Complex Number. Unsafe Methods do not validate the Input Arguments, so use caution in applying these Methods
      Parameters:
      complexNumber - The Complex Number
      Returns:
      The Complex Number Logarithm Instance
    • UnsafeDotProduct

      public static final double UnsafeDotProduct​(C1Cartesian a, C1Cartesian e)
      Dot Product of Complex Numbers A and E. Unsafe Methods do not validate the Input Arguments, so use caution in applying these Methods
      Parameters:
      a - First C1
      e - Second C1
      Returns:
      The Dot Product
    • Add

      public static final C1Cartesian Add​(C1Cartesian firstCartesianC1, C1Cartesian secondCartesianC1)
      Add the 2 Complex Numbers
      Parameters:
      firstCartesianC1 - The First Complex Number
      secondCartesianC1 - The Second Complex Number
      Returns:
      The Complex Number instance that is a sum of the two
    • Scale

      public static final C1Cartesian Scale​(C1Cartesian cartesianC1, double scale)
      Scale the Complex Number with the factor
      Parameters:
      cartesianC1 - The Complex Number
      scale - The Scaling Factor
      Returns:
      The Scaled Complex Number
    • Scale

      public static final C1Cartesian Scale​(C1Cartesian cartesianC1, C1Cartesian cartesianC1Scale)
      Scale the Complex Number with the factor
      Parameters:
      cartesianC1 - The Complex Number
      cartesianC1Scale - The ComplexScaling Factor
      Returns:
      The Scaled Complex Number
    • Subtract

      public static final C1Cartesian Subtract​(C1Cartesian firstCartesianC1, C1Cartesian secondCartesianC1)
      Subtract the Second Complex Number from the First
      Parameters:
      firstCartesianC1 - The First Complex Number
      secondCartesianC1 - The Second Complex Number
      Returns:
      The "Difference" Complex Number
    • Multiply

      public static final C1Cartesian Multiply​(C1Cartesian firstCartesianC1, C1Cartesian secondCartesianC1)
      Multiply the 2 Complex Numbers
      Parameters:
      firstCartesianC1 - The First Complex Number
      secondCartesianC1 - The Second Complex Number
      Returns:
      The Complex Number instance that is a product of the two
    • Divide

      public static final C1Cartesian Divide​(C1Cartesian numeratorC1, C1Cartesian denominatorC1)
      Divide the Numerator Complex Number by the Denominator Complex Number
      Parameters:
      numeratorC1 - The Numerator Complex Number
      denominatorC1 - The Denominator Complex Number
      Returns:
      The "Divided" Complex Number
    • Square

      public static final C1Cartesian Square​(C1Cartesian c1)
      Square the Complex Number
      Parameters:
      c1 - The Complex Number
      Returns:
      The Squared Complex Number Instance
    • SquareRoot

      public static final C1Cartesian SquareRoot​(C1Cartesian complexNumber)
      Compute the Square Root of the Complex Number
      Parameters:
      complexNumber - The Complex Number
      Returns:
      The Square Root Complex Number Instance
    • Exponentiate

      public static final C1Cartesian Exponentiate​(C1Cartesian complexNumber)
      Exponentiate the Complex Number
      Parameters:
      complexNumber - The Complex Number
      Returns:
      The Exponentiated Complex Number Instance
    • Logarithm

      public static final C1Cartesian Logarithm​(C1Cartesian complexNumber)
      Compute Logarithm of the Complex Number
      Parameters:
      complexNumber - The Complex Number
      Returns:
      The Complex Number Logarithm Instance
    • DotProduct

      public static final double DotProduct​(C1Cartesian a, C1Cartesian e) throws java.lang.Exception
      Dot Product of Complex Numbers A and E
      Parameters:
      a - First C1
      e - Second C1
      Returns:
      The Dot Product
      Throws:
      java.lang.Exception - Thrown if the Dot Product Cannot be computed