Предложен алгоритм последовательной обработки данных на основе блочного псевдообращения матриц полного столбцового ранга. Показывается, что формула блочного псевдообращения, лежащая в основе алгоритма, является обобщением одного шага алгоритма Гревиля псевдообращения в невырожденном случае и потому может быть использована для обобщения метода нахождения весов нейросетевой функции LSHDI (linear solutions to higher dimensional interlayer networks), основанного на алгоритме Гревиля. Представленный алгоритм на каждом этапе использует найденные на предыдущих этапах псевдообратные к блокам матрицы и, следовательно, позволяет сократить вычисления не только за счет работы с матрицами меньшего размера, но и за счет повторного использования уже найденной информации. Приводятся примеры применения алгоритма для восстановления искаженных работой фильтра (шума) одномерных сигналов и двумерных сигналов (изображений). Рассматриваются случаи, когда фильтр является статическим, но на практике встречаются ситуации, когда матрица фильтра меняется с течением времени. Описанный алгоритм позволяет непосредственно в процессе получения входного сигнала перестраивать псевдообратную матрицу с учетом изменения одного или нескольких блоков матрицы фильтра, и потому алгоритм может быть использован и в случае зависящих от времени параметров фильтра (шума). Кроме того, как показывают вычислительные эксперименты, формула блочного псевдообращения, на которой основан описываемый алгоритм, хорошо работает и в случае плохо обусловленных матриц, что часто встречается на практике
The paper proposes an algorithm for sequential data processing based on block pseudoinverse of full column rank matrixes. It is shown that the block pseudoinverse formula underlying the algorithm is a generalization of one step of the Greville’s pseudoinverse algorithm in the nonsingular case and can also be used as a generalization for finding weights of neural network function in the LSHDI algorithm (linear solutions to higher dimensional interlayer networks). The presented algorithm uses the pseudoinversed matrixes found at each step, and therefore allows one to reduce the computations not only by working with matrixes of smaller size but also by reusing the already found information. Examples of application of the algorithm for signal and image reconstruction are given. The article deals with cases where noise is static but the algorithm is similarly well suited to dynamically changing noises, allowing one to process input data in blocks on the fly, depending on changes. The block pseudoreverse formula, on which the described algorithm is based, works well in the case of ill-conditioned matrixes, which is often encountered in practice