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...

Full description

Bibliographic Details
Main Authors: Elkin Gelvez-Almeida, Ricardo J. Barrientos, Karina Vilches-Ponce, Marco Mora
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