Skip to content

Xanonymous-GitHub/xmatrix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Xmatrix

xmatrixy Logo

CodeFactor Python PyPi

  • A python package to calculate Matrix math problems.
  • python version: 3.6 and above.

Usage

install

pip3 install xmatrix --upgrade

Add import in your file

from xmatrix import *

create a matrix

  • Matrix("row ; row ...") or Matrix([[1,2,3],[4,5,6],[7,8,9]])
  • xm("row ; row ...") or xm([[1,2,3],[4,5,6],[7,8,9]])
my_matrix = Matrix("1,2;3,4")
my_matrix_also_equal_to = xm("1,2;3,4")

#result:
[1, 2]
[3, 4]

we also support bigger matrix

my_matrix = xm("1,2,3;4,5,6;7,8,9")

#result:
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]

simple calculate

my_matrix = xm("1,2;3,4")
my_matrix2 = xm("4,6;2,9")

print(my_matrix + my_matrix2)
#result:
[5, 8]
[5, 13]

print(my_matrix - my_matrix2)
#result:
[-3, -4]
[1, -5]

print(my_matrix * my_matrix2)
#result:
[8, 24]
[20, 54]

print(my_matrix * 87)
#result:
[87, 174]
[261, 348]

print(my_matrix ** 7)
#result:
[30853, 44966]
[67449, 98302]

print(my_matrix == my_matrix2)
#result:
False

Transpose Matrix

my_matrix = xm("1,2,3;4,5,6;7,8,9")

print(my_matrix)
#result:
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]

print(my_matrix.transpose)
print(my_matrix.tp)
#result:
[1, 4, 7]
[2, 5, 8]
[3, 6, 9]

my_matrix2 = xm("1,2,3,4;5,6,7,8;9,10,11,12;13.1,14.2,15.3,16.4")

print(my_matrix2)
#result:
[1, 2, 3, 4]
[5, 6, 7, 8]
[9, 10, 11, 12]
[13.1, 14.2, 15.3, 16.4]

print(my_matrix2.tp)
#result:
[1, 5, 9, 13.1]
[2, 6, 10, 14.2]
[3, 7, 11, 15.3]
[4, 8, 12, 16.4]

Inverse

my_matrix = xm("1,2;3,4")

print(my_matrix)
#result:
[1, 2]
[3, 4]

print(my_matrix.inverse)
print(my_matrix.iv)
#result:
[-2, 1]
[1.5, -0.5]

#special use by '**' power operator:
print(my_matrix ** -1)
#result:
[-2, 1]
[1.5, -0.5]

my_matrix2 = xm("1,2,3;4,5,6;7,8,9")

print(my_matrix2)
#result:
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]

print(my_matrix2.iv)
#result:
#The determinant is zero, can't be inverse.
#None

my_matrix3 = xm("1,1,1;1,2,3;1,4,5")

print(my_matrix3)
#result:
[1, 1, 1]
[1, 2, 3]
[1, 4, 5]

print(my_matrix3.inverse)
#result:
[1, 0.5, -0.5]
[1, -2, 1]
[-1, 1.5, -0.5]

my_matrix4 = xm("1,1,2,1;1,1,0,0;1,1,0,1;1,0,1,0")

print(my_matrix4)
#result:
[1, 1, 2, 1]
[1, 1, 0, 0]
[1, 1, 0, 1]
[1, 0, 1, 0]

print(my_matrix4.iv)
#result:
[-0.5, 0, 0.5, 1]
[0.5, 1, -0.5, -1]
[0.5, 0, -0.5, 0]
[0, -1, 1, 0]

#and more...

get the matrix by list

my_matrix = xm("1,2,3;4,5,6;7,8,9")

print(my_matrix.raw)
#result:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

get identity Matrix

i = IdentityMatrix(3)
i_also_equal_to = ixm(3)

#result:
print(i)
[1, 0, 0]
[0, 1, 0]
[0, 0, 1]

Gaussian elimination Row Reduced Echelon Form

my_matrix=xm('1,-3,2,8;-1,4,-2,-9;-3,9,4,6')

#result
print(my_matrix)
[1, -3, 2, 8]
[-1, 4, -2, -9]
[-3, 9, 4, 6]

# Row Reduced Echelon Form (rref)
print(my_matrix.rref)
[1, 0, 0, -1]
[0, 1, 0, -1]
[0, 0, 1, 3]