一个不错的线性代数库
pylinlin的Python项目详细描述
吡咯林
python中漂亮的线性代数库
示例
frompylinlin.matriximportMatrixfrompylinlin.lu_factorizationimportcompute_lu_factorizationfrompylinlin.qr_factorizationimportcompute_qr_factorization# Create matrixmatrix=Matrix.from_cols([[1,2,3],[4,5,6],[7,8,10]])# preferred way to initialize a matrixmatrix2=Matrix.from_rows([[1,2,3],[4,5,6],[7,8,9]])column_as_list=[1,2,3,4,5]column_vector=Matrix.from_cols([column_as_list])# column vectors can be represented as matricesmagnitude_sq=column_vector.transpose().multiply(column_vector).get(0,0)# 55print(matrix.size())# Get dimensions of matrix (rows, columns)print(matrix.get_col(0))# Get first column from matrixprint(matrix.get_row(1))# Get second row from matrixprint(matrix.all_cols())# List of matrix columnsmatL,matU=compute_lu_factorization(matrix)matQ,matR=compute_qr_factorization(matrix)print(matQ.all_cols())print(matQ.transpose().multiply(matQ).all_cols())# approximately an identity matrixproduct=matrix.multiply(matrix)# matrix multiplication
目标
- 测试驱动开发
- 性能分析
- 数值稳定性分析
- 轻量级,易于移植到其他语言
待办事项
算法
- [x] LU因子分解
- []局部旋转LU分解
- [x] householder矩阵的QR分解
- []带旋转的QR因子分解
- []格兰·施密特和改良的格兰·施密特(需要帮助!)在
- []光谱分解
- []高级副总裁
- []共轭梯度
- []矩阵的条件数
- []雅各比高级副总裁
- []功率迭代
- []矩阵伪逆
分析
- []分析不同大小矩阵所用的时间
- []比较不同算法求解线性系统所需的配置文件时间
- []随机矩阵上的图误差分布
其他
- []进行曲线拟合演示
- []进行IK演示
- 项目
标签: