mirror of https://github.com/inclusionAI/AReaL
78 lines
1.5 KiB
Python
78 lines
1.5 KiB
Python
import sys
|
|
|
|
import numpy as np
|
|
from sympy import *
|
|
|
|
sys.path.append("..")
|
|
|
|
# row column matrix = vector
|
|
v = [1, 2, 3]
|
|
|
|
# single column matrix = vector
|
|
m = Matrix([1, 2, 3])
|
|
print(m[:, 0])
|
|
|
|
# a three row and 2 column matrix
|
|
m = Matrix([[1, 2], [3, 4], [5, 6]])
|
|
print(m[:, 0])
|
|
|
|
# determinant of lin indp system != 0
|
|
m = Matrix([[1, 1], [1, 2]])
|
|
print(m.det())
|
|
|
|
# determinant of lin dep system = 0
|
|
m = Matrix([[1, 1], [2, 2]])
|
|
print(m.det())
|
|
|
|
# determinant of lin dep system = 0
|
|
x = Symbol("x")
|
|
y = Symbol("y")
|
|
m = Matrix([[x, y], [x, y]])
|
|
print(m.det())
|
|
# Reduced Row-Echelon Form
|
|
_, ind = m.rref()
|
|
print(len(ind))
|
|
|
|
# determinant of lin dep system != 0
|
|
m = Matrix([[x, y], [y, x]])
|
|
print(m.det())
|
|
# Reduced Row-Echelon Form
|
|
_, ind = m.rref()
|
|
print(len(ind))
|
|
|
|
# determinant of lin dep system != 0
|
|
# Reduced Row-Echelon Form
|
|
m = Matrix([[x, x, y], [y, y, y]])
|
|
_, ind = m.rref()
|
|
# Reduced Row-Echelon Form
|
|
print(len(ind))
|
|
|
|
# ==================#
|
|
# ===== Numpy ======#
|
|
# ==================#
|
|
# http://kitchingroup.cheme.cmu.edu/blog/2013/03/01/Determining-linear-independence-of-a-set-of-vectors/
|
|
# Lin Indp of set of numerical vectors
|
|
TOLERANCE = 1e-14
|
|
v1 = [6, 0, 3, 1, 4, 2]
|
|
v2 = [0, -1, 2, 7, 0, 5]
|
|
v3 = [12, 3, 0, -19, 8, -11]
|
|
|
|
A = np.row_stack([v1, v2, v3])
|
|
|
|
U, s, V = np.linalg.svd(A)
|
|
print(s)
|
|
print(np.sum(s > TOLERANCE))
|
|
|
|
v1 = [1, 1]
|
|
v2 = [4, 4]
|
|
|
|
A = np.row_stack([v1, v2])
|
|
U, s, V = np.linalg.svd(A)
|
|
print(s)
|
|
print(np.sum(s > TOLERANCE))
|
|
|
|
|
|
latex = "\\begin{matrix}1&2\\\\3&4\\end{matrix}"
|
|
# math = process_sympy(latex)
|
|
print("latex: %s to math: %s" % (latex, 1))
|