Range Space and Similarity Transformation Using Symbolic Mathematics in Python']Python

被引:0
作者
Wisassakwichai, Chainarong [1 ]
Phaochoo, Prasert [2 ]
机构
[1] Rajamangala Univ Technol Krungthep, Fac Engn, Div Elect Engn, Bangkok 10120, Thailand
[2] Rajamangala Univ Technol Krungthep, Fac Sci & Technol, Div Math, Bangkok 10120, Thailand
关键词
Null space; Vectors; Eigenvalues and eigenfunctions; Covariance matrices; !text type='Python']Python[!/text; Mathematical models; Programming profession; Principal component analysis; Mobile handsets; Linear systems; Similarity transformation; linear algebra; symbolic mathematics; SymPy; object-oriented programming; NULL SPACE; MATRIX; EXAMPLE;
D O I
10.1109/ACCESS.2024.3510632
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Linear systems involved in engineering and scientific calculations can be more easily analyzed using similarity transformation. However, understanding the numerous abstract linear algebra theorems associated with this transformation can be challenging. This paper proposes a systematic approach to organizing these theorems using SymPy, a symbolic mathematics library in Python, and develops an innovative Python module that leverages SymPy. It covers important theorems, including vector space basis, range space, null space, rank and nullity, eigenvalues, generalized eigenvectors, eigenspaces, and diagonal-Jordan canonical form transformations. These theorems are transformed into abstract data models and represented as programmatic objects using object-oriented programming to process input and output data. Two classes, 'rangeSpace' and 'similarTrnsfrm,' were created to handle computations related to range space and similarity transformation, respectively. The effectiveness of these classes has been validated through numerical results, which, when compared to MATLAB functions (null(), pinv(), sym(), and jordan()), demonstrate that the exact symbolic solutions from both classes significantly improve numerical precision for selected application examples from numerical algorithms, power systems and linear algebra. These classes have been uploaded to GitHub as open-source code, providing a versatile Python module that can be used for programming both offline on PCs and online through the web application "SymPy Live," producing satisfactory results even on mobile devices. This user-friendly module enables electrical engineering students and professionals to easily apply abstract linear algebra theorems to practical problems, facilitating computer-based solutions for linear systems that are consistent with analytical results.
引用
收藏
页码:182788 / 182798
页数:11
相关论文
共 21 条
[1]   Using Python']Python for large scale linear algebra applications [J].
Bröker, O ;
Chinellato, O ;
Geus, R .
FUTURE GENERATION COMPUTER SYSTEMS, 2005, 21 (06) :969-979
[2]   State estimation observability based on the null space of the measurement Jacobian matrix [J].
Castillo, E ;
Conejo, AJ ;
Pruneda, RE ;
Solares, C .
IEEE TRANSACTIONS ON POWER SYSTEMS, 2005, 20 (03) :1656-1658
[3]  
Chang Tang, 2021, Journal of Physics: Conference Series, V1815, DOI [10.1088/1742-6596/1815/1/012004, 10.1088/1742-6596/1815/1/012004]
[4]  
Chen C., 1999, Linear system theory and design, V3rd
[6]  
Grus Joel., 2019, Data science from scratch: first principles with python
[7]   POWER-SYSTEM MODELING AND SPARSE-MATRIX OPERATIONS USING OBJECT-ORIENTED PROGRAMMING [J].
HAKAVIK, B ;
HOLEN, AT .
IEEE TRANSACTIONS ON POWER SYSTEMS, 1994, 9 (02) :1045-1051
[8]  
Jiang Y., 2021, P 2 INT C ART INT ED, P700
[9]  
Kreyszig Erwin., 2008, ADV ENG MATH INTEGRA, V9, P4
[10]   Determining the structure of the Jordan normal form of a matrix by symbolic computation [J].
Li, TY ;
Zhang, ZN ;
Wang, TJ .
LINEAR ALGEBRA AND ITS APPLICATIONS, 1997, 252 :221-259