//------------------------------------------------------------------------------------------------ public double GetInvariantD() { double[ , ] arrayMatrixD = new double[, ] { { this.a11, this.a12 }, { this.a12, this.a22 } }; RealMatrix matrixD = new RealMatrix(arrayMatrixD); double invariantD = matrixD.GetDeterminant(); return(invariantD); }
//------------------------------------------------------------------------------------------------ public double GetInvariantA() { double[ , ] arrayMatrixA = new double[, ] { { this.a11, this.a12, this.a13 }, { this.a12, this.a22, this.a23 }, { this.a13, this.a23, this.a33 } }; RealMatrix matrixA = new RealMatrix(arrayMatrixA); double invariantA = matrixA.GetDeterminant(); return(invariantA); }
//------------------------------------------------------------------------------------------------ //Центр кривой public Point2D GetCentre() { double[ , ] arrayMatrixX = new double[, ] { { this.a13, this.a12 }, { this.a23, this.a22 } }; RealMatrix matrixX = new RealMatrix(arrayMatrixX); double[ , ] arrayMatrixY = new double[, ] { { this.a11, this.a13 }, { this.a12, this.a23 } }; RealMatrix matrixY = new RealMatrix(arrayMatrixY); double coordinateX = -matrixX.GetDeterminant() / this.GetInvariantD(); double coordinateY = -matrixY.GetDeterminant() / this.GetInvariantD(); Point2D centre = new Point2D(coordinateX, coordinateY); return(centre); }