A Parallel Computing Method for the Computation of the Moore–Penrose Generalized Inverse for Shared-Memory Architectures
The computation of the Moore–Penrose generalized inverse is a commonly used operation in various fields such as the training of neural networks based on random weights. Therefore, a fast computation of this inverse is important for problems where such neural networks provide a solution. H...
Main Authors: | , , , |
---|---|
Format: | Article |
Language: | English |
Published: |
IEEE
2023-01-01
|
Series: | IEEE Access |
Subjects: | |
Online Access: | https://ieeexplore.ieee.org/document/10336814/ |
_version_ | 1797401037393362944 |
---|---|
author | Elkin Gelvez-Almeida Ricardo J. Barrientos Karina Vilches-Ponce Marco Mora |
author_facet | Elkin Gelvez-Almeida Ricardo J. Barrientos Karina Vilches-Ponce Marco Mora |
author_sort | Elkin Gelvez-Almeida |
collection | DOAJ |
description | The computation of the Moore–Penrose generalized inverse is a commonly used operation in various fields such as the training of neural networks based on random weights. Therefore, a fast computation of this inverse is important for problems where such neural networks provide a solution. However, due to the growth of databases, the matrices involved have large dimensions, thus requiring a significant amount of processing and execution time. In this paper, we propose a parallel computing method for the computation of the Moore–Penrose generalized inverse of large-size full-rank rectangular matrices. The proposed method employs the Strassen algorithm to compute the inverse of a nonsingular matrix and is implemented on a shared-memory architecture. The results show a significant reduction in computation time, especially for high-rank matrices. Furthermore, in a sequential computing scenario (using a single execution thread), our method achieves a reduced computation time compared with other previously reported algorithms. Consequently, our approach provides a promising solution for the efficient computation of the Moore–Penrose generalized inverse of large-size matrices employed in practical scenarios. |
first_indexed | 2024-03-09T02:04:05Z |
format | Article |
id | doaj.art-b6166452959a482c958b2bd689ec6aec |
institution | Directory Open Access Journal |
issn | 2169-3536 |
language | English |
last_indexed | 2024-03-09T02:04:05Z |
publishDate | 2023-01-01 |
publisher | IEEE |
record_format | Article |
series | IEEE Access |
spelling | doaj.art-b6166452959a482c958b2bd689ec6aec2023-12-08T00:06:10ZengIEEEIEEE Access2169-35362023-01-011113483413484510.1109/ACCESS.2023.333854410336814A Parallel Computing Method for the Computation of the Moore–Penrose Generalized Inverse for Shared-Memory ArchitecturesElkin Gelvez-Almeida0https://orcid.org/0000-0001-5157-3341Ricardo J. Barrientos1https://orcid.org/0000-0001-5345-7061Karina Vilches-Ponce2Marco Mora3https://orcid.org/0000-0003-3619-2561Doctorado en Modelamiento Matemático Aplicado, Universidad Católica del Maule, Talca, ChileLaboratory of Technological Research in Pattern Recognition (LITRP), Facultad de Ciencias de la Ingeniería, Universidad Católica del Maule, Talca, ChileLaboratory of Technological Research in Pattern Recognition (LITRP), Facultad de Ciencias de la Ingeniería, Universidad Católica del Maule, Talca, ChileLaboratory of Technological Research in Pattern Recognition (LITRP), Facultad de Ciencias de la Ingeniería, Universidad Católica del Maule, Talca, ChileThe computation of the Moore–Penrose generalized inverse is a commonly used operation in various fields such as the training of neural networks based on random weights. Therefore, a fast computation of this inverse is important for problems where such neural networks provide a solution. However, due to the growth of databases, the matrices involved have large dimensions, thus requiring a significant amount of processing and execution time. In this paper, we propose a parallel computing method for the computation of the Moore–Penrose generalized inverse of large-size full-rank rectangular matrices. The proposed method employs the Strassen algorithm to compute the inverse of a nonsingular matrix and is implemented on a shared-memory architecture. The results show a significant reduction in computation time, especially for high-rank matrices. Furthermore, in a sequential computing scenario (using a single execution thread), our method achieves a reduced computation time compared with other previously reported algorithms. Consequently, our approach provides a promising solution for the efficient computation of the Moore–Penrose generalized inverse of large-size matrices employed in practical scenarios.https://ieeexplore.ieee.org/document/10336814/High-performance computingMoore–Penrose generalized inverse matrixneural networks with random weightsparallel computingStrassen algorithm |
spellingShingle | Elkin Gelvez-Almeida Ricardo J. Barrientos Karina Vilches-Ponce Marco Mora A Parallel Computing Method for the Computation of the Moore–Penrose Generalized Inverse for Shared-Memory Architectures IEEE Access High-performance computing Moore–Penrose generalized inverse matrix neural networks with random weights parallel computing Strassen algorithm |
title | A Parallel Computing Method for the Computation of the Moore–Penrose Generalized Inverse for Shared-Memory Architectures |
title_full | A Parallel Computing Method for the Computation of the Moore–Penrose Generalized Inverse for Shared-Memory Architectures |
title_fullStr | A Parallel Computing Method for the Computation of the Moore–Penrose Generalized Inverse for Shared-Memory Architectures |
title_full_unstemmed | A Parallel Computing Method for the Computation of the Moore–Penrose Generalized Inverse for Shared-Memory Architectures |
title_short | A Parallel Computing Method for the Computation of the Moore–Penrose Generalized Inverse for Shared-Memory Architectures |
title_sort | parallel computing method for the computation of the moore x2013 penrose generalized inverse for shared memory architectures |
topic | High-performance computing Moore–Penrose generalized inverse matrix neural networks with random weights parallel computing Strassen algorithm |
url | https://ieeexplore.ieee.org/document/10336814/ |
work_keys_str_mv | AT elkingelvezalmeida aparallelcomputingmethodforthecomputationofthemoorex2013penrosegeneralizedinverseforsharedmemoryarchitectures AT ricardojbarrientos aparallelcomputingmethodforthecomputationofthemoorex2013penrosegeneralizedinverseforsharedmemoryarchitectures AT karinavilchesponce aparallelcomputingmethodforthecomputationofthemoorex2013penrosegeneralizedinverseforsharedmemoryarchitectures AT marcomora aparallelcomputingmethodforthecomputationofthemoorex2013penrosegeneralizedinverseforsharedmemoryarchitectures AT elkingelvezalmeida parallelcomputingmethodforthecomputationofthemoorex2013penrosegeneralizedinverseforsharedmemoryarchitectures AT ricardojbarrientos parallelcomputingmethodforthecomputationofthemoorex2013penrosegeneralizedinverseforsharedmemoryarchitectures AT karinavilchesponce parallelcomputingmethodforthecomputationofthemoorex2013penrosegeneralizedinverseforsharedmemoryarchitectures AT marcomora parallelcomputingmethodforthecomputationofthemoorex2013penrosegeneralizedinverseforsharedmemoryarchitectures |