Metadata-Version: 2.5
Name: nateeganmathpackagelinfinnum
Version: 0.1.9
Summary: A collection of undergraduate math functions: Linear Algebra, Number Theory, Mathematical Finance
Project-URL: Homepage, https://github.com/yourusername/mypackage
Project-URL: Documentation, https://github.com/yourusername/mypackage#readme
Project-URL: Repository, https://github.com/yourusername/mypackage.git
Project-URL: Bug Tracker, https://github.com/yourusername/mypackage/issues
Author-email: Nateegan Yopituk <nateegan2205@gmail.com>
License: MIT
License-File: LICENSE
Keywords: finance,linear-algebra,math,number-theory,pep621
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
Description-Content-Type: text/markdown

# nateeganmathpackagelinfinnum

`nateeganmathpackagelinfinnum` is a lightweight Python package that provides simple utility functions for **Linear Algebra**, **Number Theory**, and **Mathematical Finance**. It is designed mainly for learning purposes and as an example of Python packaging.

---

## Features

- **Module 1: finance**
  - **present_value / future_value**: convert between present value and future value given an interest rate and number of periods
  - **simple_return**: compute simple return from a starting price and ending price
  - **portfolio_value**: compute total value of a portfolio from asset prices and quantities
  - **call_option_payoff / put_option_payoff**: compute European option payoff at expiry
  - **has_arbitrage_two_state**: check for arbitrage in a simple two-state (binomial) market model
- **Module 2: linear**
  - **vector_add / scalar_multiply**: basic vector operations
  - **dot_product / vector_norm**: inner product and Euclidean norm of a vector
  - **matrix_rank**: rank of a matrix via Gaussian elimination
  - **is_linearly_independent**: check whether a set of vectors is linearly independent
  - **is_orthogonal**: check whether two vectors are orthogonal
- **Module 3: numtheory**
  - **is_prime**: check whether a number is prime
  - **prime_factorization**: factor a number into its prime factors
  - **mod_pow**: fast modular exponentiation
  - **extended_gcd / modular_inverse**: extended Euclidean algorithm and modular multiplicative inverse
  - **euler_totient**: compute Euler's totient function φ(n)

---

## Installation

You can install the package directly from PyPI:

```bash
pip install nateeganmathpackagelinfinnum
```

---

## Examples

```python
import nateeganmathpackagelinfinnum as pkg

print("present_value ≈", pkg.present_value(1000, 0.05, 2))
print("vector_add =", pkg.vector_add([1, 2], [3, 4]))
print("is_prime(29) =", pkg.is_prime(29))
print("euler_totient(36) =", pkg.euler_totient(36))
```
