Class C1MatrixUtil

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

public class C1MatrixUtil
extends java.lang.Object
C1MatrixUtil implements a C1 Complex Number Matrix 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

    • C1MatrixUtil

      public C1MatrixUtil()
  • Method Details

    • UnsafeTranspose

      public static final C1Cartesian[][] UnsafeTranspose​(C1Cartesian[][] c1Grid)
      Transpose the specified C1 Square Matrix. Unsafe Methods do not validate the Input Arguments, so use caution in applying these Methods
      Parameters:
      c1Grid - The Input C1 Matrix Grid
      Returns:
      The Transpose of the Input C1 Matrix Grid
    • UnsafeProduct

      public static final C1Cartesian[][] UnsafeProduct​(C1Cartesian[][] c1GridA, C1Cartesian[][] c1GridB)
      Compute the Product of the Input Matrices. Unsafe Methods do not validate the Input Arguments, so use caution in applying these Methods
      Parameters:
      c1GridA - Grid of C1 A
      c1GridB - Grid of C1 B
      Returns:
      The Product Matrix
    • UnsafeProduct

      public static final C1Cartesian[][] UnsafeProduct​(C1Cartesian[][] c1GridA, double[][] r1GridB)
      Compute the Product of the Input Matrices. Unsafe Methods do not validate the Input Arguments, so use caution in applying these Methods
      Parameters:
      c1GridA - Grid of C1
      r1GridB - Grid of R1
      Returns:
      The Product Matrix
    • UnsafeProduct

      public static final C1Cartesian[][] UnsafeProduct​(double[][] r1GridA, C1Cartesian[][] c1GridB)
      Compute the Product of the Input Matrices. Unsafe Methods do not validate the Input Arguments, so use caution in applying these Methods
      Parameters:
      r1GridA - Grid of R1
      c1GridB - Grid of C1
      Returns:
      The Product Matrix
    • UnsafeProduct

      public static final C1Cartesian[][] UnsafeProduct​(C1Cartesian[][] c1Grid, C1Cartesian c1)
      Compute the Product of the Input Matrix and the Complex Number. Unsafe Methods do not validate the Input Arguments, so use caution in applying these Methods
      Parameters:
      c1Grid - Grid of C1
      c1 - C1
      Returns:
      The Product Matrix
    • UnsafeDeterminant

      public static final double UnsafeDeterminant​(C1Cartesian[][] c1Grid)
      Determinant of the Input Matrix. Unsafe Methods do not validate the Input Arguments, so use caution in applying these Methods
      Parameters:
      c1Grid - Grid of C1 Instances
      Returns:
      The Determinant
    • IsVectorValid

      public static final boolean IsVectorValid​(C1Cartesian[] c1Vector)
      Indicate the C1 Vector is Valid
      Parameters:
      c1Vector - C1 Vector
      Returns:
      TRUE - The C1 Vector is Valid
    • IsGridValid

      public static final boolean IsGridValid​(C1Cartesian[][] c1Grid)
      Indicate the C1 Grid is Valid
      Parameters:
      c1Grid - C1 Grid
      Returns:
      TRUE - The C1 Grid is Valid
    • Transpose

      public static final C1Cartesian[][] Transpose​(C1Cartesian[][] c1Grid)
      Transpose the specified C1 Square Matrix
      Parameters:
      c1Grid - The Input C1 Matrix Grid
      Returns:
      The Transpose of the Input C1 Matrix Grid
    • Product

      public static final C1Cartesian[][] Product​(C1Cartesian[][] c1GridA, C1Cartesian[][] c1GridB)
      Compute the Product of the Input Matrices
      Parameters:
      c1GridA - Grid of C1 A
      c1GridB - Grid of C1 B
      Returns:
      The Product Matrix
    • Product

      public static final C1Cartesian[][] Product​(C1Cartesian[][] c1Grid, double[][] r1Grid)
      Compute the Product of the Input Matrices
      Parameters:
      c1Grid - rid of C1
      r1Grid - Grid of R1
      Returns:
      The Product Matrix
    • Product

      public static final C1Cartesian[][] Product​(double[][] r1Grid, C1Cartesian[][] c1Grid)
      Compute the Product of the Input Matrices
      Parameters:
      r1Grid - Grid of R1
      c1Grid - Grid of C1
      Returns:
      The Product Matrix
    • Product

      public static final C1Cartesian[][] Product​(C1Cartesian[][] c1Grid, C1Cartesian c1)
      Compute the Product of the Input Matrix and the Complex Number
      Parameters:
      c1Grid - Grid of C1
      c1 - C1
      Returns:
      The Product Matrix
    • Determinant

      public static final double Determinant​(C1Cartesian[][] c1Grid) throws java.lang.Exception
      Determinant of the Input Matrix
      Parameters:
      c1Grid - Grid of C1Cartesian Instances
      Returns:
      The Determinant
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • IsUnitary

      public static final boolean IsUnitary​(C1Cartesian[][] c1Grid) throws java.lang.Exception
      Indicate if the Input Matrix is Unitary
      Parameters:
      c1Grid - Grid of C1Cartesian Instances
      Returns:
      TRUE - Input Matrix is Unitary
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid