Metadata-Version: 2.4
Name: mingmath
Version: 0.2.0
Summary: A Python package for undergraduate mathematics, including Calculus, Linear Algebra, Data Structures, Recursion, OOP, and Scientific Computing.
Author-email: Thayapan <m.thayapan@gmail.com>
License: MIT
License-File: LICENSE
Keywords: calculus,data structures,linear algebra,mathematics,numpy,recursion,scipy,sympy
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Education
Classifier: License :: OSI Approved :: MIT License
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
Requires-Python: >=3.8
Requires-Dist: matplotlib
Requires-Dist: numpy
Requires-Dist: scipy
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, Recursion, OOP, and Scientific Computing.

## Features

### Calculus

- Power rule derivative
- Definite integral
- Polynomial limit
- Maclaurin series
- Critical points of quadratic functions

### Linear Algebra

- Matrix addition
- Matrix multiplication
- Determinant of a 2x2 matrix
- Matrix transpose
- Dot product

### Data Structures and String Processing

- String reversal
- Vowel counting
- List operations
- Tuple conversion
- Dictionary operations
- Set union
- Set intersection
- Exception handling

### Recursive Functions

- Recursive factorial
- Recursive Fibonacci
- Fibonacci with memoization

### Object-Oriented Programming

- Class and Object
- Magic methods
- Single inheritance
- Multiple inheritance
- Multilevel inheritance
- Hierarchical inheritance
- Hybrid inheritance

### Scientific Computing

- NumPy
- SciPy
- SymPy
- Matplotlib

## 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))
print(mingmath.limit_polynomial([1, 2, 3], 2))
print(mingmath.maclaurin_exp(1))
print(mingmath.critical_points_quadratic(1, -4, 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))
print(mingmath.determinant_2x2(A))
print(mingmath.transpose(A))

# Data Structures
print(mingmath.reverse_string("MingMath"))
print(mingmath.count_vowels("Mathematics"))
print(mingmath.list_sum([1, 2, 3, 4, 5]))

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

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

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

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

# OOP
number = mingmath.HybridNumber(3)
print(number.summary())
```

## Version

Current version: **0.2.0**

## License

MIT License