Библиотеки DotNetMatrix и MathNet.Numerics - C#
Формулировка задачи:
мне нужно написать прожку, чтобы пользователь вбивал матрицу, а возвращать соответственно собственные вектора (правые и левые). Пытал следующие библиотеки:
1) alglib - но в сравнении с маткадом очень разнятся значения
2) DotNetMatrix - не нашел нормальной документации, использовал функцию SVD(), но тоже чет как-то не было совпадения с маткадом
3) MathNet.Numerics, так и не могу в ней разобраться, изобилие классов и методов сбивают меня с толку.
Прошу помочь, либо я неверную функцию вызываю в библ DotNetMatri, подскажите нужную, либо скажите что вызывать в MathNet.Numerics
Почти не работал с библиотеками, все всегда вручную, а тут надо срочно сдать задание, времени просто нет писать, отлаживать
Решение задачи: «Библиотеки DotNetMatrix и MathNet.Numerics»
textual
Листинг программы
using System; using MathNet.Numerics.LinearAlgebra; using MathNet.Numerics.LinearAlgebra.Double; class Program { static void Main(string[] args) { double[,] data = new double[,] { { 2, 0, 3}, { 10, -3, -6}, { -1, 0, -2} }; Matrix<double> matrix = DenseMatrix.OfArray(data); Console.WriteLine(matrix); var eigen = matrix.Evd(); var values = eigen.EigenValues.Enumerate().GetEnumerator(); var vectors = eigen.EigenVectors.EnumerateColumns().GetEnumerator(); while (vectors.MoveNext() && values.MoveNext()) { Console.WriteLine("Собственный вектор при {0}:\n{1}", values.Current, vectors.Current); } Console.ReadKey(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д