Skip to content
the poor coder

Hackerrank Linear Algebra Solution

Poor Man
Published
Updated
Reading time
2 min read

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.

Text
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.

Text
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.

Text
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

Text
2
1.1 1.1
1.1 1.1

Sample Output

Text
0.0

Solution in python3#

Approach 1.

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

Approach 2.

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

Approach 3.

Python
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.

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

Approach 2.

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

Approach 3.

Python
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)

Keep going

2020

Hackerrank Mean, Var, and Std Solution

mean The mean tool computes the arithmetic mean along the specified axis. By default, the axis is None. Therefore, it computes the mean of the flattened array. var The var tool computes the arithmetic variance along the…

2020

Hackerrank Polynomials Solution

poly The poly tool returns the coefficients of a polynomial with the given sequence of roots. roots The roots tool returns the roots of a polynomial with the given coefficients. polyint The polyint tool returns an…

ESC