Manipulating lists, basic mathematical functions and LaTeX-like writing
Project description
Rathureqpy - A Python Utility Library
Rathureqpy is a Python library that provides a set of useful functions for a variety of tasks including list manipulation, mathematical operations, logical operations, statistical measures, and more.
Installation
You can install Rathureqpy by running:
bash
pip install rathureqpy
Features
List Operations
-
zero(number): Returns a list of zeros with the specified length.
-
prod(L, a): Returns a new list with each element of
Lmultiplied bya. -
addl(*args): Adds corresponding elements from multiple lists of equal length.
-
linespace(start, end, step): Generates a list of evenly spaced values between
startandendwith a givenstep. -
array(start, end, n): Generates an array of
nevenly spaced values betweenstartandend. -
uni(*lists): Flattens multiple lists into a single list.
-
uniwd(*lists): Flattens multiple lists into a single list and removes duplicates.
-
inter(*lists): Returns the intersection of multiple lists.
-
uniq(L): Returns a list with unique elements from
L. -
moy(L): Returns the mean of a list
L. -
sum_int(start, end): Returns the sum of integers between
startandend. -
randl(min, max, n): Generates a list of
nrandom integers betweenminandmax. -
shuffle_list(L): Returns a shuffled version of
L. -
filtrer(L, condition): Filters
Lbased on a condition. -
chunk(L, n): Splits
Linto chunks of sizen. -
partition(L, condition): Partitions
Linto two lists based on a condition.
Logical Operations
-
binr(n): Converts an integer
nto its binary representation as a string. -
change_base(value, inp_base, out_base): Converts
valuefrominp_basetoout_base. -
divisor_list(n): Returns a list of divisors of
n. -
dicho(start, end, f, eps): Performs binary search to find the root of the function
fin the interval[start, end]with an error toleranceeps. -
size(point_A, point_B): Calculates the distance between two points
AandBin a 2D space.
Constants
-
pi: Returns the constant
\u03C0. -
e: Returns the constant
e. -
tau: Returns the constant
\u03C4(2\u03C0).
Mathematical Operations
-
abs(x): Returns the absolute value of
x. -
cos(x): Returns the cosine of
x. -
sin(x): Returns the sine of
x. -
log(x, base=e()): Returns the logarithm of
xto the specifiedbase. -
exp(x): Returns the exponential of
x. -
sqrt(x): Returns the square root of
x. -
facto(n): Returns the factorial of
n. -
floor(x): Returns the largest integer less than or equal to
x. -
ceil(x): Returns the smallest integer greater than or equal to
x. -
rint(x): Returns the integer closest to
x(rounding halfway cases away from zero). -
gcd(a, b): Returns the greatest common divisor of
aandb. -
lcm(a, b): Returns the least common multiple of
aandb. -
is_prime(n): Checks if
nis a prime number. -
integ(f, a, b, N) : Calculates the integral of
ffromatobusing the trapezoidal rule, with a sign adjustment ifa > b
Statistical Measures
-
variance(L): Returns the variance of the list
L. -
ecart_type(L): Returns the standard deviation of the list
L. -
mediane(L): Returns the median of the list
L. -
decomp(n): Returns the prime factorization of
nas a list of tuples. -
list_prime(n): Returns a list of all prime numbers up to
n. -
pascal_row(n): Returns the
n-th row of Pascal's Triangle.
Matrix
-
mat(data): Creates a matrix from a list of lists
data. All rows must have the same length.-
getitem(idx): Returns a row if
idxis an integer, or a single element ifidxis a tuple(i,j). -
setitem(idx, value): Sets a row if
idxis an integer, or a single element ifidxis a tuple(i,j). -
len(): Returns the number of rows of the matrix.
-
size: Returns a tuple
(rows, columns)representing the matrix size. -
add(other): Element-wise addition of two matrices of the same size.
-
radd(other): Right-side addition (supports
sum()). -
sub(other): Element-wise subtraction of two matrices of the same size.
-
mul(other): Multiplies the matrix by a scalar or another matrix (matrix multiplication).
-
rmul(other): Right-side multiplication.
-
truediv(scalar): Divides the matrix by a scalar.
-
pow(n): Raises a square matrix to a non-negative integer power.
-
neg(): Returns the negation of the matrix.
-
eq(other): Returns
Trueif two matrices are equal. -
ne(other): Returns
Trueif two matrices are not equal. -
T: Returns the transpose of the matrix.
-
copy(): Returns a copy of the matrix.
-
trace: Returns the trace of a square matrix.
-
tolist(): Returns the matrix as a list of lists.
-
iter(): Returns an iterator over the rows of the matrix.
-
flatten(as_tuple=False): Returns all elements as a flat generator, or as a tuple if
as_tuple=True. -
diag_mat(): Returns a diagonal matrix with the same diagonal elements as the current square matrix.
-
diag_vec(column=True): Returns the diagonal elements as a column vector (default) or row vector if
column=False. -
replace(old_value, new_value): Replaces all occurrences of
old_valuewithnew_valuein-place. -
replaced(old_value, new_value): Returns a new matrix with
old_valuereplaced bynew_value. -
map(f): Applies a function
fto each element of the matrix and returns a new matrix. -
det(): Returns the determinant of a square matrix.
-
rank(): Returns the rank of the matrix using Gaussian elimination.
-
repr(): Returns the official string representation of the matrix.
-
str(): Returns a readable string representation of the matrix.
-
-
zero(n, p): Returns a zero matrix of size
n x p. -
I(n): Returns an identity matrix of size
n x n. -
diagonal(values): Returns a diagonal matrix with the given sequence of
values. -
full(n, p=0, value=1): Returns a matrix of size
n x pfilled withvalue. Ifpis 0, creates a square matrixn x n. -
random(n, p=0, low=-10, high=10): Returns a random integer matrix of size
n x p(square ifp=0) with entries in[low, high].
Stacks
-
stack(*args): Initialize the stack with optional initial values.
-
is_empty: Return
Trueif the stack contains no elements. -
len(): Return the number of elements in the stack.
-
size: Return the size of the stack (same as len()).
-
neg(): Return a new stack with all elements negated.
-
call(*args): Push new elements onto the stack.
-
pop(n=1): Pop and return
nelements from the stack. Return a single element ifn==1, otherwise return a new stack. -
eq(other): Return
Trueif both stacks contain the same elements. -
ne(other): Return
Trueif stacks are different. -
add(other): Add two stacks element-wise and return a new stack.
-
sub(other): Subtract another stack element-wise and return a new stack.
-
mul(value): Multiply all elements by a value and return a new stack.
-
rmul(value): Right multiplication:
value * stack -
truediv(scalar): Divide stack elements by a scalar and return a new stack.
-
floordiv(scalar): Apply floor division to all elements and return a new stack.
-
contains(value): Return
Trueif a value is in the stack. -
copy(): Return a shallow copy of the stack.
-
reverse(): Return a new stack with elements in reversed order.
-
replace(old_value, new_value): Replace all occurrences of
old_valuewithnew_valuein place. -
replaced(old_value, new_value): Return a new stack with
old_valuereplaced bynew_value. -
map(f): Apply a function to each element and return a new stack.
-
sum(): Return the sum of all elements in the stack.
-
repr(): Return the official string representation of the stack.
-
str(): Return a readable string representation of the stack.
-
-
zero(n): Return a stack filled with
nzeros. -
full(n, value): Return a stack filled with
ncopies of a given value. -
random(n, low=-10, high=10): Return a stack of
nrandom integers betweenlowandhigh. -
queue(*args): Initialize the queue with optional initial values
-
is_empty(): Return
Trueif the queue contains no elements. -
len(): Return the number of elements in the queue.
-
size(): Return the size of the queue (same as len()).
-
neg(): Return a new queue with all elements negated.
-
call(*args): Push new elements into the queue.
-
pop(n=1): Pop and return
nelements from the queue. Ifn==1, return a single value; otherwise return a new queue. -
eq(other): Return
Trueif both queues contain the same elements. -
ne(other): Return
Trueif queues are different. -
add(other): Add two queues element-wise and return a new queue.
-
sub(other): Subtract another queue element-wise and return a new queue.
-
mul(value): Multiply all elements by a value and return a new queue.
-
rmul(value): Right multiplication:
value * queue. -
truediv(scalar): Divide queue elements by a scalar and return a new queue.
-
floordiv(scalar): Apply floor division to all elements and return a new queue.
-
contains(value): Return
Trueif a value is in the queue. -
copy(): Return a shallow copy of the queue.
-
reverse(): Return a new queue with elements in reversed order.
-
replace(old_value, new_value): Replace all occurrences of
old_valuewithnew_valuein place. -
replaced(old_value, new_value): Return a new queue with
old_valuereplaced bynew_value. -
map(f): Apply a function to each element and return a new queue.
-
sum(): Return the sum of all elements in the queue.
-
repr(): Return the official string representation of the queue.
-
str(): Return a readable string representation of the queue.
-
-
zero(n): Return a queue filled with
nzeros. -
full(n, value): Return a queue filled with
ncopies of a value. -
random(n, low=-10, high=10): Return a queue of
nrandom integers betweenlowandhigh.
Mathematical Language LaTeX-like
-
lat(expr): Converts a simple LaTeX-like string
exprinto Unicode math characters. Supports: exponents (^), indices (_), square roots (sqrt(...)), sums (sum{...}^...), products (prod{...}^...), integrals (int), and fractions (frac{...}{...}). -
symbol(sym): Returns the Unicode math symbol corresponding to the LaTeX command
sym. If the command is unknown, returns[unknown: sym]. -
dot(text): Returns the input string
textwith a dot placed above each character. -
vec(text): Returns the input string
textwith a bar placed above each character. -
greek(expr): Converts the Greek letter name
exprinto its corresponding Unicode symbol. Returns an empty string if the name is not recognized. -
italic(text): Converts the input string
textto italic Unicode mathematical characters. Only English letters (a-z, A-Z) are transformed. -
bold(text): Converts the input string
textto bold Unicode mathematical characters. Only English letters (a-z, A-Z) are transformed. -
mathbb(text): Converts the input string
textto double-struck (blackboard bold) Unicode characters. Only English letters (a-z, A-Z) are transformed. -
cursive(text): Converts the input string
textto cursive (script) Unicode characters. Only English letters (a-z, A-Z) are transformed.
Contribute and Bugs
If you encounter any bugs or would like to contribute to the project, feel free to open an issue or submit a pull request. Contributions are always welcome!
email : arthur.quersin@gmail.com
Made by Arthur Quersin
Change log
0.0.1 (26/01/2025)
First release
0.0.2 (27/01/2025)
Second release (stable)
0.0.3 (31/01/2025)
Third release (stable, I hope)
0.0.4 (31/01/2025)
Fourth release (stable, I hope 2)
0.0.5 (02/02/2025)
Fith release, with a lot of new fonctions
0.1.2 (18/02/2025)
A new release with, again, a lot of new and useful functions including :
- subindex
- pascal_row
- list_prime
- decomp
0.1.21 (24/03/2025)
Fixing readme file
0.1.22 (24/03/2025)
Fixing readme file
0.1.32 (29/04/2025)
-
Removed
apply()because it duplicated functionality ofmap() -
Changed
rathureqpy.pi(),rathureqpy.e(), andrathureqpy.tau()torathureqpy.pi,rathureqpy.e, andrathureqpy.tau(variables instead of functions) -
Added
integ(f, a, b, N)to calculate the integral using the trapezoidal rule, with sign adjustment ifa > b
0.1.40 (12/06/2025)
A new release with, again, a lot of new and useful functions for mathematical writing !
- lat
- symbol
- dot
- vec
- greek
- italic
- bold
- mathbb
- cursive
0.1.41 (13/06/2025)
Fixing lat (exponent and index) and adding inf to symbol
0.2.0 (18/09/2025)
A new release with, the addition of Matrix!
- mat
- __getitem__
- __setitem__
- __len__
- size
- __add__
- __radd__
- __sub__
- __mul__
- __rmul__
- __truediv__
- __pow__
- __neg__
- __eq__
- __ne__
- T
- copy
- trace
- tolist
- __iter__
- flatten
- diag_mat
- diag_vec
- replace
- replaced
- map
- det
- rank
- __repr__
- __str__
- zero
- I
- diagonal
- full
- random
0.3.0 (25/11/2025)
A new release introducing the stack and queue classes with full functionality!
Updated the matrix methods’ type hints, replacing int|float with Any.
- stack
- __init__
- is_empty
- __len__
- size
- __neg__
- __call__
- pop
- __eq__
- __ne__
- __add__
- __sub__
- __mul__
- __rmul__
- __truediv__
- __floordiv__
- __contains__
- copy
- reverse
- replace
- replaced
- map
- sum
- __repr__
- __str__
- zero
- full
- random
- queue
- __init__
- is_empty
- __len__
- size
- __neg__
- __call__
- pop
- __eq__
- __ne__
- __add__
- __sub__
- __mul__
- __rmul__
- __truediv__
- __floordiv__
- __contains__
- copy
- reverse
- replace
- replaced
- map
- sum
- __repr__
- __str__
- zero
- full
- random
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file rathureqpy-0.3.0.tar.gz.
File metadata
- Download URL: rathureqpy-0.3.0.tar.gz
- Upload date:
- Size: 20.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97326df23a469012ad2e2a1a5adcb1c5fd05eb443cfda3246db00e10836a8e46
|
|
| MD5 |
30ce28fb3c0db17e8bd66e78d4e41ff5
|
|
| BLAKE2b-256 |
f8412e6489de883140126963c2d77be3a3c6db52e65fbe4d3b2aee691630a0f2
|