本文整理汇总了C#中DotNetMatrix.GeneralMatrix.Eigen方法的典型用法代码示例。如果您正苦于以下问题:C# GeneralMatrix.Eigen方法的具体用法?C# GeneralMatrix.Eigen怎么用?C# GeneralMatrix.Eigen使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DotNetMatrix.GeneralMatrix
的用法示例。
在下文中一共展示了GeneralMatrix.Eigen方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: EigenValueDecomposition1
public void EigenValueDecomposition1()
{
double[][] pvals = {new double[]{1.0, 1.0, 1.0}, new double[]{1.0, 2.0, 3.0}, new double[]{1.0, 3.0, 6.0}};
GeneralMatrix A = new GeneralMatrix(pvals);
EigenvalueDecomposition Eig = A.Eigen();
GeneralMatrix D = Eig.D;
GeneralMatrix V = Eig.GetV();
Assert.IsTrue(GeneralTests.Check(A.Multiply(V), V.Multiply(D)));
}
示例2: Main
//.........这里部分代码省略.........
}
int n = A.ColumnDimension;
A = A.GetMatrix(0, n - 1, 0, n - 1);
A.SetElement(0, 0, 0.0);
LUDecomposition LU = A.LUD();
try
{
check(A.GetMatrix(LU.Pivot, 0, n - 1), LU.L.Multiply(LU.U));
try_success("LUDecomposition...", "");
}
catch (System.SystemException e)
{
errorCount = try_failure(errorCount, "LUDecomposition...", "incorrect LU decomposition calculation");
System.Console.Out.WriteLine(e.Message);
}
X = A.Inverse();
try
{
check(A.Multiply(X), GeneralMatrix.Identity(3, 3));
try_success("Inverse()...", "");
}
catch (System.SystemException e)
{
errorCount = try_failure(errorCount, "Inverse()...", "incorrect Inverse calculation");
System.Console.Out.WriteLine(e.Message);
}
O = new GeneralMatrix(SUB.RowDimension, 1, 1.0);
SOL = new GeneralMatrix(sqSolution);
SQ = SUB.GetMatrix(0, SUB.RowDimension - 1, 0, SUB.RowDimension - 1);
try
{
check(SQ.Solve(SOL), O);
try_success("Solve()...", "");
}
catch (System.ArgumentException e1)
{
errorCount = try_failure(errorCount, "Solve()...", e1.Message);
System.Console.Out.WriteLine(e1.Message);
}
catch (System.SystemException e)
{
errorCount = try_failure(errorCount, "Solve()...", e.Message);
System.Console.Out.WriteLine(e.Message);
}
A = new GeneralMatrix(pvals);
CholeskyDecomposition Chol = A.chol();
GeneralMatrix L = Chol.GetL();
try
{
check(A, L.Multiply(L.Transpose()));
try_success("CholeskyDecomposition...", "");
}
catch (System.SystemException e)
{
errorCount = try_failure(errorCount, "CholeskyDecomposition...", "incorrect Cholesky decomposition calculation");
System.Console.Out.WriteLine(e.Message);
}
X = Chol.Solve(GeneralMatrix.Identity(3, 3));
try
{
check(A.Multiply(X), GeneralMatrix.Identity(3, 3));
try_success("CholeskyDecomposition Solve()...", "");
}
catch (System.SystemException e)
{
errorCount = try_failure(errorCount, "CholeskyDecomposition Solve()...", "incorrect Choleskydecomposition Solve calculation");
System.Console.Out.WriteLine(e.Message);
}
EigenvalueDecomposition Eig = A.Eigen();
GeneralMatrix D = Eig.D;
GeneralMatrix V = Eig.GetV();
try
{
check(A.Multiply(V), V.Multiply(D));
try_success("EigenvalueDecomposition (symmetric)...", "");
}
catch (System.SystemException e)
{
errorCount = try_failure(errorCount, "EigenvalueDecomposition (symmetric)...", "incorrect symmetric Eigenvalue decomposition calculation");
System.Console.Out.WriteLine(e.Message);
}
A = new GeneralMatrix(evals);
Eig = A.Eigen();
D = Eig.D;
V = Eig.GetV();
try
{
check(A.Multiply(V), V.Multiply(D));
try_success("EigenvalueDecomposition (nonsymmetric)...", "");
}
catch (System.SystemException e)
{
errorCount = try_failure(errorCount, "EigenvalueDecomposition (nonsymmetric)...", "incorrect nonsymmetric Eigenvalue decomposition calculation");
System.Console.Out.WriteLine(e.Message);
}
print("\nTestMatrix completed.\n");
print("Total errors reported: " + System.Convert.ToString(errorCount) + "\n");
print("Total warnings reported: " + System.Convert.ToString(warningCount) + "\n");
}