求给定 N*N 矩阵的特征值之和
给定一个N*N矩阵mat[][] ,任务是找到给定矩阵的特征值之和。
例子:
Input: mat[][] = {
{2, -1, 0},
{-1, 2, -1},
{0, -1, 2}}
Output: 6
Input: mat[][] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12},
{13, 14, 15, 16}}
Output: 34
方法:矩阵的特征值之和等于矩阵的迹。 n × n 方阵 A 的迹定义为 A 的主对角线(从左上角到右下角的对角线)上元素之和。
下面是上述方法的实现:
C++
// C++ implementation of the approach
#include
using namespace std;
#define N 4
// Function to return the sum of eigen
// values of the given matrix
int sumEigen(int mat[N][N])
{
int sum = 0;
// Calculate the sum of
// the diagonal elements
for (int i = 0; i < N; i++)
sum += (mat[i][i]);
return sum;
}
// Driver code
int main()
{
int mat[N][N] = { { 1, 2, 3, 4 },
{ 5, 6, 7, 8 },
{ 9, 10, 11, 12 },
{ 13, 14, 15, 16 } };
cout << sumEigen(mat);
return 0;
}
Java
// Java implementation of the approach
import java.io.*;
class GFG
{
static int N = 4;
// Function to return the sum of eigen
// values of the given matrix
static int sumEigen(int mat[][])
{
int sum = 0;
// Calculate the sum of
// the diagonal elements
for (int i = 0; i < N; i++)
sum += (mat[i][i]);
return sum;
}
// Driver code
public static void main (String[] args)
{
int mat[][] = { { 1, 2, 3, 4 },
{ 5, 6, 7, 8 },
{ 9, 10, 11, 12 },
{ 13, 14, 15, 16 } };
System.out.println (sumEigen(mat));
}
}
// The code is contributed by Tushil..
Python3
# Python3 implementation of the approach
N=4
# Function to return the sum of eigen
# values of the given matrix
def sumEigen(mat):
sum = 0
# Calculate the sum of
# the diagonal elements
for i in range(N):
sum += (mat[i][i])
return sum
# Driver code
mat= [ [ 1, 2, 3, 4 ],
[ 5, 6, 7, 8 ],
[ 9, 10, 11, 12 ],
[ 13, 14, 15, 16 ] ]
print(sumEigen(mat))
# This code is contributed by mohit kumar 29
C#
// C# implementation of the approach
using System;
class GFG
{
static int N = 4;
// Function to return the sum of eigen
// values of the given matrix
static int sumEigen(int [,]mat)
{
int sum = 0;
// Calculate the sum of
// the diagonal elements
for (int i = 0; i < N; i++)
sum += (mat[i,i]);
return sum;
}
// Driver code
static public void Main ()
{
int [,]mat = { { 1, 2, 3, 4 },
{ 5, 6, 7, 8 },
{ 9, 10, 11, 12 },
{ 13, 14, 15, 16 } };
Console.Write(sumEigen(mat));
}
}
// The code is contributed by ajit...
Javascript
输出:
34