pyrival.linear_algebra¶
pyrival.linear_algebra.matrix¶
-
pyrival.linear_algebra.matrix.
eye
(m)¶ returns an indentity matrix of order m
-
pyrival.linear_algebra.matrix.
mat_add
(*mat)¶
-
pyrival.linear_algebra.matrix.
mat_inv
(A)¶
-
pyrival.linear_algebra.matrix.
mat_mul
(A, B)¶
-
pyrival.linear_algebra.matrix.
mat_pow
(mat, power)¶ returns mat**power
-
pyrival.linear_algebra.matrix.
mat_sub
(A, B)¶
-
pyrival.linear_algebra.matrix.
minor
(mat, i, j)¶
-
pyrival.linear_algebra.matrix.
transpose
(mat)¶
-
pyrival.linear_algebra.matrix.
vec_mul
(mat, vec)¶
pyrival.linear_algebra.max_xor¶
Maximizes xor of values in a list (works with big integers)
Example: >>>> A = [10**20, 3, 6, 4] >>>> I = max_xor(A) >>>> xor = 0 >>>> for i in I: …. xor ^= A[i] …. >>>> xor 100000000000000000007
-
pyrival.linear_algebra.max_xor.
max_xor
(A)¶ Input: List A of non-negative integers Output: I such that xor(A[i] for i in I) is maximized
pyrival.linear_algebra.multivariable_crt¶
-
pyrival.linear_algebra.multivariable_crt.
extended_gcd
(a, b)¶ returns gcd(a, b), s, r s.t. a * s + b * r == gcd(a, b)
-
pyrival.linear_algebra.multivariable_crt.
gcd
(x, y)¶ greatest common divisor of x and y
-
pyrival.linear_algebra.multivariable_crt.
is_sol
(A, x, b, m)¶ checks if Ax = b mod m
-
pyrival.linear_algebra.multivariable_crt.
mat_mul
(A, B)¶
-
pyrival.linear_algebra.multivariable_crt.
mat_sub
(A, B)¶
-
pyrival.linear_algebra.multivariable_crt.
mcrt
(A, b, m)¶ returns x s.t. Ax = b mod m
-
pyrival.linear_algebra.multivariable_crt.
modinv
(a, m)¶ returns the modular inverse of a w.r.t. to m
-
pyrival.linear_algebra.multivariable_crt.
pivot
(A, m)¶ returns the pivot of A and m