Package org.drip.numerical.complex
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
- Module = Computational Core Module
- Library = Numerical Analysis Library
- Project = Numerical Quadrature, Differentiation, Eigenization, Linear Algebra, and Utilities
- Package = Implementation of Complex Number Suite
- Author:
- Lakshmi Krishnamurthy
-
Constructor Summary
Constructors Constructor Description C1Util()
-
Method Summary
Modifier and Type Method Description static C1Cartesian
Add(C1Cartesian firstCartesianC1, C1Cartesian secondCartesianC1)
Add the 2 Complex Numbersstatic C1Cartesian
Divide(C1Cartesian numeratorC1, C1Cartesian denominatorC1)
Divide the Numerator Complex Number by the Denominator Complex Numberstatic double
DotProduct(C1Cartesian a, C1Cartesian e)
Dot Product of Complex Numbers A and Estatic C1Cartesian
Exponentiate(C1Cartesian complexNumber)
Exponentiate the Complex Numberstatic C1Cartesian
Logarithm(C1Cartesian complexNumber)
Compute Logarithm of the Complex Numberstatic C1Cartesian
Multiply(C1Cartesian firstCartesianC1, C1Cartesian secondCartesianC1)
Multiply the 2 Complex Numbersstatic C1Cartesian
Scale(C1Cartesian cartesianC1, double scale)
Scale the Complex Number with the factorstatic C1Cartesian
Scale(C1Cartesian cartesianC1, C1Cartesian cartesianC1Scale)
Scale the Complex Number with the factorstatic C1Cartesian
Square(C1Cartesian c1)
Square the Complex Numberstatic C1Cartesian
SquareRoot(C1Cartesian complexNumber)
Compute the Square Root of the Complex Numberstatic C1Cartesian
Subtract(C1Cartesian firstCartesianC1, C1Cartesian secondCartesianC1)
Subtract the Second Complex Number from the Firststatic C1Cartesian
UnsafeAdd(C1Cartesian firstCartesianC1, C1Cartesian secondCartesianC1)
Add the 2 Complex Numbers.static C1Cartesian
UnsafeDivide(C1Cartesian numeratorC1, C1Cartesian denominatorC1)
Divide the Numerator Complex Number by the Denominator Complex Number.static double
UnsafeDotProduct(C1Cartesian a, C1Cartesian e)
Dot Product of Complex Numbers A and E.static C1Cartesian
UnsafeExponentiate(C1Cartesian complexNumber)
Exponentiate the Complex Number.static C1Cartesian
UnsafeLogarithm(C1Cartesian complexNumber)
Compute Logarithm of the Complex Number.static C1Cartesian
UnsafeProduct(C1Cartesian firstCartesianC1, C1Cartesian secondCartesianC1)
Multiply the 2 Complex Numbers.static C1Cartesian
UnsafeScale(C1Cartesian cartesianC1, double scale)
Scale the Complex Number with the factor.static C1Cartesian
UnsafeScale(C1Cartesian cartesianC1, C1Cartesian cartesianC1Scale)
Scale the Complex Number with the factor.static C1Cartesian
UnsafeSquare(C1Cartesian c1)
Square the Complex Number.static C1Cartesian
UnsafeSquareRoot(C1Cartesian complexNumber)
Compute the Square Root of the Complex Number.static C1Cartesian
UnsafeSubtract(C1Cartesian firstCartesianC1, C1Cartesian secondCartesianC1)
Subtract the Second Complex Number from the First.Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
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 NumbersecondCartesianC1
- The Second Complex Number- Returns:
- The Complex Number instance that is a sum of the two
-
UnsafeScale
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 Numberscale
- The Scaling Factor- Returns:
- The Scaled Complex Number
-
UnsafeScale
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 NumbercartesianC1Scale
- 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 NumbersecondCartesianC1
- 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 NumbersecondCartesianC1
- The Second Complex Number- Returns:
- The Complex Number instance that is a product of the two
-
UnsafeDivide
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 NumberdenominatorC1
- The Denominator Complex Number- Returns:
- The "Divided" Complex Number
-
UnsafeSquare
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
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
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
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
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 C1e
- Second C1- Returns:
- The Dot Product
-
Add
Add the 2 Complex Numbers- Parameters:
firstCartesianC1
- The First Complex NumbersecondCartesianC1
- The Second Complex Number- Returns:
- The Complex Number instance that is a sum of the two
-
Scale
Scale the Complex Number with the factor- Parameters:
cartesianC1
- The Complex Numberscale
- The Scaling Factor- Returns:
- The Scaled Complex Number
-
Scale
Scale the Complex Number with the factor- Parameters:
cartesianC1
- The Complex NumbercartesianC1Scale
- 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 NumbersecondCartesianC1
- 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 NumbersecondCartesianC1
- The Second Complex Number- Returns:
- The Complex Number instance that is a product of the two
-
Divide
Divide the Numerator Complex Number by the Denominator Complex Number- Parameters:
numeratorC1
- The Numerator Complex NumberdenominatorC1
- The Denominator Complex Number- Returns:
- The "Divided" Complex Number
-
Square
Square the Complex Number- Parameters:
c1
- The Complex Number- Returns:
- The Squared Complex Number Instance
-
SquareRoot
Compute the Square Root of the Complex Number- Parameters:
complexNumber
- The Complex Number- Returns:
- The Square Root Complex Number Instance
-
Exponentiate
Exponentiate the Complex Number- Parameters:
complexNumber
- The Complex Number- Returns:
- The Exponentiated Complex Number Instance
-
Logarithm
Compute Logarithm of the Complex Number- Parameters:
complexNumber
- The Complex Number- Returns:
- The Complex Number Logarithm Instance
-
DotProduct
Dot Product of Complex Numbers A and E- Parameters:
a
- First C1e
- Second C1- Returns:
- The Dot Product
- Throws:
java.lang.Exception
- Thrown if the Dot Product Cannot be computed
-