Metadata-Version: 2.4
Name: mingmath
Version: 0.3.1
Summary: A Python package for undergraduate mathematics, including Calculus, Linear Algebra, Data Structures, Recursion, OOP, Scientific Computing, File I/O, Data Visualization, Graph Theory, and Advanced Mathematics.
Author-email: Thayapan <m.thayapan@gmail.com>
License: MIT
License-File: LICENSE
Keywords: calculus,data structures,gmpy2,linear algebra,mathematics,matplotlib,networkx,numpy,oop,pari,plotly,pyvista,recursion,sagemath,scipy,seaborn,sympy
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Education
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Education
Classifier: Topic :: Scientific/Engineering :: Mathematics
Requires-Python: >=3.8
Requires-Dist: cypari2
Requires-Dist: gmpy2
Requires-Dist: matplotlib
Requires-Dist: networkx
Requires-Dist: numpy
Requires-Dist: plotly
Requires-Dist: pyvista
Requires-Dist: scipy
Requires-Dist: seaborn
Requires-Dist: sympy
Description-Content-Type: text/markdown

# MingMath Package

MingMath is a Python package for undergraduate mathematics.

It provides functions related to Calculus, Linear Algebra,
Data Structures, String Processing, Recursion, OOP,
Scientific Computing, File I/O, Data Visualization,
Graph Theory, and Advanced Mathematics.

## Installation

```bash
pip install mingmath
```

## Usage

```python
import mingmath

# Calculus
print(mingmath.derivative_power(3, 2))
print(mingmath.definite_integral_power(2, 2, 0, 3))


# Linear Algebra
A = [[1, 2], [3, 4]]
B = [[5, 6], [7, 8]]

print(mingmath.matrix_add(A, B))
print(mingmath.matrix_multiply(A, B))


# Data Structures and String Processing
print(mingmath.reverse_string("MingMath"))
print(mingmath.list_sum([1, 2, 3, 4, 5]))
print(mingmath.dictionary_keys({"name": "MingMath","year": 2026}))
print(mingmath.set_union({1, 2}, {2, 3}))


# Recursive Functions
print(mingmath.factorial_recursive(5))
print(mingmath.fibonacci_recursive(6))
print(mingmath.fibonacci_memo(10))


# Object-Oriented Programming
number = mingmath.Number(10)
print(number)
scientific_number = mingmath.ScientificNumber(5)
print(scientific_number.square())
print(scientific_number.cube())


# NumPy
print(mingmath.numpy_mean([1, 2, 3, 4, 5]))
print(mingmath.numpy_matrix_determinant([[1, 2],[3, 4]]))


# SymPy
print(mingmath.sympy_derivative("x**3 + 2*x"))
print(mingmath.sympy_integral("2*x"))


# SciPy
print(mingmath.scipy_mean([1, 2, 3, 4, 5]))


# File I/O
mingmath.write_text_file("example.txt","Hello MingMath!")
print(mingmath.read_text_file("example.txt"))


# Matplotlib
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]

mingmath.plot_line(x, y)


# Seaborn
x = [1, 2, 3, 4, 5]
y = [2, 4, 3, 5, 6]

mingmath.plot_scatter(x, y)


# Plotly
mingmath.plot_bar(["A", "B", "C"],[10, 20, 15])


# NetworkX
edges = [("A", "B"),("B", "C"),("A", "C")]

print(mingmath.graph_degrees(edges))
print(mingmath.shortest_path(edges, "A", "C"))


# PyVista
import numpy as np

x = np.linspace(-2, 2, 20)
y = np.linspace(-2, 2, 20)

X, Y = np.meshgrid(x, y)

Z = X**2 + Y**2

grid = mingmath.create_3d_surface(X, Y, Z)

print(grid)


# GMPY2
print(mingmath.high_precision_sqrt("2"))

print(mingmath.high_precision_pi())


# PARI/GP
print(mingmath.pari_factorial(5))

print(mingmath.pari_factorization(60))


# SageMath
print(mingmath.sage_available())
```