Я пытаюсь написать функцию в C, которая возвращает собственные значения и собственные векторы матрицы 2x2 (ищет программные значения собственных значений/векторов). У меня нет проблем с собственными значениями, которые достаточно просты. Но борьба с собственными векторами, которая по существу решена системой одновременных уравнений.Нетривиальные собственные векторы матрицы 2 * 2 в коде
Если я попробую метод, такой как: Solving a simultaneous equation through code , это дает мне тривиальные решения ([0,0]), так как u = 0 и v = 0, в случае собственных векторов.
например. если моя матрица MAT = [[3,2], [2,1]], т.е. a = 3, b = 2, c = 2 и d = 1, u = 0 и v = 0, уравнения, предложенные в приведенной ссылке y = (v - uc/a)/(d - bc/a) и x = (uc/a - bc/a * y)/c, будет приравниваться к решению [0,0], т.е. тривиальное решение.
Кроме того, это, казалось бы, дает ответ, но я не могу создать пример, который согласуется с уравнениями на: http://www.math.harvard.edu/archive/21b_fall_04/exhibits/2dmatrices/index.html
также, кажется, не охватывает все случаи, что о случае, когда б и c не равны нулю?
Можете ли вы привести конкретный пример, где вы получите нулевые ценные собственные векторы? –
Если оба они отличны от нуля, то оба вектора векторов одинаковы, не так ли? Вы это проверили? – dvvrd