You've successfully subscribed to The Poor Coder | Hackerrank Solutions
Great! Next, complete checkout for full access to The Poor Coder | Hackerrank Solutions
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.
Hackerrank Linear Algebra Solution

Hackerrank Linear Algebra Solution

Beeze Aal
Beeze Aal

The NumPy module also comes with a number of built-in routines for linear algebra calculations. These can be found in the sub-module linalg.

linalg.det

The linalg.det tool computes the determinant of an array.

print numpy.linalg.det([[1 , 2], [2, 1]])       #Output : -3.0

linalg.eig

The linalg.eig computes the eigenvalues and right eigenvectors of a square array.

vals, vecs = numpy.linalg.eig([[1 , 2], [2, 1]])
print vals                                      #Output : [ 3. -1.]
print vecs                                      #Output : [[ 0.70710678 -0.70710678]
                                                #          [ 0.70710678  0.70710678]]

linalg.inv

The linalg.inv tool computes the (multiplicative) inverse of a matrix.

print numpy.linalg.inv([[1 , 2], [2, 1]])       #Output : [[-0.33333333  0.66666667]
                                                #          [ 0.66666667 -0.33333333]]

Other routines can be found here


Task

You are given a square matrix  with dimensions X. Your task is to find the determinant. Note: Round the answer to 2 places after the decimal.

Input Format

The first line contains the integer .
The next  lines contains the  space separated elements of array .

Output Format

Print the determinant of .

Sample Input

2
1.1 1.1
1.1 1.1

Sample Output

0.0

Solution in python3

Approach 1.

import numpy
print(round(numpy.linalg.det(numpy.array([input().split() for _ in range(int(input()))],float)),2))

Approach 2.

import numpy
array=[list(map(float,input().split())) for i in range(int(input()))]
print(round(numpy.linalg.det(array),2))

Approach 3.

import numpy
N = int(input())
A = numpy.array([input().split() for _ in range(N)], float)
print(round(numpy.linalg.det(A),2))

Solution in python

Approach 1.

import numpy
print round(numpy.linalg.det([map(float,raw_input().split()) for _ in range(input())]),2)

Approach 2.

import numpy
print round(numpy.linalg.det([ map(float, raw_input().split()) for i in range(int(raw_input()))]),2)

Approach 3.

import numpy
n=int(raw_input())
m=[]
for i in range(n):
    m.append(map(float,raw_input().split()))
print round(numpy.linalg.det(numpy.array(m)),2)