|
@@ -1,3 +1,100 @@
|
|
|
# linear-algebra
|
|
# linear-algebra
|
|
|
|
|
|
|
|
-主要用于python & 线性代数的学习以及代码的实现~
|
|
|
|
|
|
|
+主要用于python & 线性代数的学习以及代码的实现~
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+我将为这个线性代数项目创建一个简单的README文件。首先让我了解一下项目的结构和内容。
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+现在我将创建一个简单的README文件,总结这个线性代数项目的功能和结构:
|
|
|
|
|
+
|
|
|
|
|
+```markdown
|
|
|
|
|
+# 线性代数库 (LinearAlgebra)
|
|
|
|
|
+
|
|
|
|
|
+一个基于Python的线性代数库,实现了向量和矩阵的基本运算功能。
|
|
|
|
|
+
|
|
|
|
|
+## 项目结构
|
|
|
|
|
+
|
|
|
|
|
+```
|
|
|
|
|
+LinearAlgebra/
|
|
|
|
|
+├── playLA/ # 核心线性代数库
|
|
|
|
|
+│ ├── Vector.py # 向量类实现
|
|
|
|
|
+│ ├── Matrix.py # 矩阵类实现
|
|
|
|
|
+│ └── _global.py # 全局常量定义
|
|
|
|
|
+├── main_vector.py # 向量功能演示
|
|
|
|
|
+├── main_matrix.py # 矩阵功能演示
|
|
|
|
|
+├── main_matrix_transformation.py # 矩阵变换演示
|
|
|
|
|
+├── main_numpy_vector.py # NumPy向量对比演示
|
|
|
|
|
+├── main_numpy_matrix.py # NumPy矩阵对比演示
|
|
|
|
|
+├── my_gptmodel/ # GPT模型相关文件
|
|
|
|
|
+├── deepleaning_demo.py # 深度学习演示
|
|
|
|
|
+└── readme_deep.txt # 深度学习相关内容说明
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+## 功能特性
|
|
|
|
|
+
|
|
|
|
|
+### 向量 (Vector)
|
|
|
|
|
+- 基本运算:加法、减法、数乘、除法
|
|
|
|
|
+- 向量属性:模长、单位向量、点乘
|
|
|
|
|
+- 特殊向量:零向量生成
|
|
|
|
|
+- 向量取正、取负操作
|
|
|
|
|
+
|
|
|
|
|
+### 矩阵 (Matrix)
|
|
|
|
|
+- 基本运算:加法、减法、数乘、矩阵乘法
|
|
|
|
|
+- 矩阵属性:形状、行列数、元素总数
|
|
|
|
|
+- 特殊矩阵:零矩阵、单位矩阵生成
|
|
|
|
|
+- 矩阵转置功能
|
|
|
|
|
+- 矩阵与向量、矩阵与矩阵的乘法运算
|
|
|
|
|
+
|
|
|
|
|
+## 使用示例
|
|
|
|
|
+
|
|
|
|
|
+### 向量操作
|
|
|
|
|
+```python
|
|
|
|
|
+from playLA.Vector import Vecotr
|
|
|
|
|
+
|
|
|
|
|
+# 创建向量
|
|
|
|
|
+vec = Vecotr([5, 2])
|
|
|
|
|
+vec2 = Vecotr([3, 1])
|
|
|
|
|
+
|
|
|
|
|
+# 基本运算
|
|
|
|
|
+print(vec + vec2) # 向量加法
|
|
|
|
|
+print(vec * 3) # 数量乘法
|
|
|
|
|
+print(vec.normalize()) # 单位向量
|
|
|
|
|
+print(vec.dot(vec2)) # 点乘
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+### 矩阵操作
|
|
|
|
|
+```python
|
|
|
|
|
+from playLA.Matrix import Matrix
|
|
|
|
|
+from playLA.Vector import Vecotr
|
|
|
|
|
+
|
|
|
|
|
+# 创建矩阵
|
|
|
|
|
+matrix = Matrix([[1, 2], [3, 4]])
|
|
|
|
|
+matrix2 = Matrix([[5, 6], [7, 8]])
|
|
|
|
|
+
|
|
|
|
|
+# 基本运算
|
|
|
|
|
+print(matrix + matrix2) # 矩阵加法
|
|
|
|
|
+print(matrix * 2) # 数量乘法
|
|
|
|
|
+print(matrix.dot(matrix2)) # 矩阵乘法
|
|
|
|
|
+print(matrix.T()) # 矩阵转置
|
|
|
|
|
+
|
|
|
|
|
+# 矩阵与向量乘法
|
|
|
|
|
+T = Matrix([[1.5, 0], [0, 2]])
|
|
|
|
|
+p = Vecotr([5, 3])
|
|
|
|
|
+print(T.dot(p))
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+## 项目说明
|
|
|
|
|
+
|
|
|
|
|
+此项目实现了基础的线性代数运算功能,包括向量和矩阵的各种运算操作。代码结构清晰,易于理解和扩展。项目还包含了一些深度学习相关的演示代码和GPT模型相关内容。
|
|
|
|
|
+
|
|
|
|
|
+## 运行演示
|
|
|
|
|
+
|
|
|
|
|
+- `python main_vector.py`: 运行向量功能演示
|
|
|
|
|
+- `python main_matrix.py`: 运行矩阵功能演示
|
|
|
|
|
+- `python main_matrix_transformation.py`: 运行矩阵变换演示
|
|
|
|
|
+- `python main_numpy_vector.py`: 运行NumPy向量对比演示
|
|
|
|
|
+- `python main_numpy_matrix.py`: 运行NumPy矩阵对比演示
|
|
|
|
|
+```
|