Metadata-Version: 2.5
Name: linear-algebra01-kittithuch
Version: 0.1.6
Summary: แพ็กเกจสำหรับ linear algebra
Project-URL: Homepage, https://github.com/username/my_package
Project-URL: Documentation, https://github.com/username/my_package#readme
Project-URL: Repository, https://github.com/username/my_package.git
Project-URL: Bug Tracker, https://github.com/username/my_package/issues
Author-email: Kittithuch Chuaynoo <qmedikup@gmail.com>
License: MIT
License-File: LICENSE
Keywords: linear algebra,math
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
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

# Linear Algebra Package by Kittithuch (`linear_algebra01_kittithuch`)

**`linear_algebra01_kittithuch`** คือ Python Package ที่พัฒนาขึ้นสำหรับการคำนวณและศึกษาวิชา **พีชคณิตเชิงเส้น (Linear Algebra)** โดยครอบคลุมตั้งแต่การดำเนินการพื้นฐานของเวกเตอร์ การตรวจสอบคุณสมบัติของสเปซเชิงเส้น (Vector Space & Subspace) ไปจนถึงการแสดงผลเชิงทัศนสัมผัส (Data Visualization) ในรูปแบบ 2D, 3D Interactive และ Graph Theory

---

## คุณสมบัติหลัก (Features)

* **Vector Operations**: บวกเวกเตอร์, คูณสเกลาร์, หาขนาด (Magnitude), หาเวกเตอร์หนึ่งหน่วย (Unit Vector) และตรวจสอบเวกเตอร์ศูนย์
* **Subspace & Span**: คำนวณผลรวมเชิงเส้น (Linear Combination), ตรวจสอบความเป็นอิสระเชิงเส้น (Linear Independence), ตรวจสอบการ Span ใน $\mathbb{R}^2$ และสร้าง Standard Basis ใน $\mathbb{R}^n$
* **Data Visualization Module (NEW!)**:
  * **Matplotlib**: แสดงผลเวกเตอร์ 2D และผลรวมเชิงเส้นบนระนาบฉาก
  * **Plotly**: พล็อตระนาบการ Span (Spanning Plane) ในมิติ 3D แบบ Interactive (ซูม หมุน ดูได้ผ่าน Web Browser)
  * **NetworkX**: แปลง Adjacency Matrix ให้เป็น Directed Graph แบบภาพเครือข่ายโหนด
  * **PyVista**: เรนเดอร์สนามเวกเตอร์ 3D (3D Vector Field) ความละเอียดสูง

---

## การติดตั้ง (Installation)

สามารถติดตั้งแพ็กเกจได้ง่ายๆ ผ่าน `pip`:

```bash
pip install linear_algebra01_kittithuch
```
## ตัวอย่างการใช้งาน (Usage Examples)

import linear_algebra01_kittithuch as lak

# 1. การบวกและคูณสเกลาร์
u = [1.0, 2.0, 3.0]
v = [4.0, 5.0, 6.0]

u_plus_v = lak.vector_add(u, v)
print("u + v =", u_plus_v)  # Output: [5.0, 7.0, 9.0]

# 2. คำนวณผลรวมเชิงเส้น (Linear Combination: 2*u - 1*v)
scalars = [2.0, -1.0]
result = lak.linear_combination(scalars, [u, v])
print("2*u - v =", result)

# 3. สร้าง Standard Basis สำหรับ R^3
basis = lak.standard_basis_r(3)
print("Standard Basis R^3:", basis)

# พล็อตเวกเตอร์ 2D และผลรวมเชิงเส้น
v1 = [3.0, 2.0]
v2 = [-1.0, 4.0]
v3 = [2.0, 6.0] # v1 + v2
lak.plot_vectors_2d([v1, v2, v3], labels=["v1", "v2", "v1+v2"])

# พล็อตระนาบ Span ใน 3D ด้วย Plotly
lak.plot_spanning_plane_3d([1, 0, 2], [0, 2, 1])

# แสดง Matrix ในรูปแบบ Graph
adj_matrix = [
    [0.0, 1.5, 0.0],
    [2.0, 0.0, 3.1],
    [0.0, 0.5, 0.0]
]
lak.plot_matrix_as_graph(adj_matrix)