# Conditions for Existence, Representations, and Computation of Matrix Generalized Inverses

Authors: Predrag S. Stanimirović; Miroslav Ćirić; Igor Stojanović; Dimitrios Gerontitis
Journal: Complexity
 (2017)

---

## Abstract

Conditions for the existence and representations of2-, 1-, and 1,2-inverses which satisfy certain conditions on ranges and/or null spaces are introduced. These representations are applicable to complex matrices and involve solutions of certain matrix equations. Algorithms arising from the introduced representations are developed. Particularly, these algorithms can be used to compute the Moore-Penrose inverse, the Drazin inverse, and the usual matrix inverse. The implementation of introduced algorithms is defined on the set of real matrices and it is based on the Simulink implementation of GNN models for solving the involved matrix equations. In this way, we develop computational procedures which generate various classes of inner and outer generalized inverses on the basis of resolving certain matrix equations. As a consequence, some new relationships between the problem of solving matrix equations and the problem of numerical computation of generalized inverses are established. Theoretical results are applicable to complex matrices and the developed algorithms are applicable to both the time-varying and time-invariant real matrices.


---

## Body

## 1. Introduction, Motivation, and Preliminaries

LetCm×n and Crm×n (resp., Rm×n and Rrm×n) denote the set of complex (resp., real) m×n matrices and all complex (resp., real) m×n matrices of rank r. As usual, the notation I denotes the unit matrix of an appropriate order. Further, by A∗, R(A), rankA, and N(A) are denoted as the conjugate transpose, the range, the rank, and the null space of A∈Cm×n.The problem of pseudoinverses computation leads to the, so-called, Penrose equations:(1)1AXA=A,2XAX=X,3AX∗=AX,4XA∗=XA.The set of all matrices obeying the conditions contained in S is denoted by A{S}. Any matrix from A{S} is called the S-inverse of A and is denoted by A(S). ASs is denoted as the set of all S-inverses of A of rank s. For any matrix A there exists a unique element in the set A1,2,3,4, called the Moore-Penrose inverse of A, which is denoted by A†. The Drazin inverse of a square matrix A∈Cn×n is the unique matrix X∈Cn×n which fulfills matrix equation (2) in conjunction with (2)1kAl+1X=Al,l≥indA,5AX=XA,and it is denoted by X=AD. Here, the notation ind(A) denotes the index of a square matrix A and it is defined by ind(A)=min⁡j∣rankAj=rankAj+1. In the case ind(A)=1, the Drazin inverse becomes the group inverse X=A#. For other important properties of generalized inverses see [1, 2].An elementX∈A{S} satisfying R(X)=R(B) (resp., N(X)=N(C)) is denoted by AR(B),∗(S) (resp., A∗,N(C)(S)). If X satisfies both the conditions R(X)=R(B) and N(X)=N(C) it is denoted by AR(B),N(C)(S). The set of all {S}-inverses of A with the prescribed range R(B) (resp., prescribed kernel N(X)=N(C)) is denoted by X=A{S}R(B),∗ (resp., A{S}∗,N(C)). Definitions and notation used in the further text are from the books by Ben-Israel and Greville [1] and Wang et al. [2].Full-rank representation of{2}-inverses with the prescribed range and null space is determined in the next proposition, which originates from [3].Proposition 1 (see [3]).
LetA∈Crm×n, let T be a subspace of Cn of dimension s≤r, and let S be a subspace of Cm of dimensions m-s. In addition, suppose that R∈Cn×m satisfies R(R)=T,  N(R)=S. Let R have an arbitrary full-rank decomposition; that is, R=FG. If A has a {2}-inverse AT,S(2), then(1)
GAF is an invertible matrix;(2)
AT,S(2)=F(GAF)-1G.The Moore-Penrose inverseA†, the Drazin inverse AD, and the group inverse A# are generalized inverses AT,S2 for appropriate choice of subspaces T and S. For example, the following is valid for a rectangular matrix A [2]: (3)A†=ARA∗,NA∗2,AD=ARAk,NAk2,k≥indA,A#=ARA,NA2.The full-rank representationAT,S(2)=FGAF-1G has been applied in numerical calculations. For example, such a representation has been exploited to define the determinantal representation of the AT,S(2) inverse in [3] or the determinantal representation of the set A2s in [4]. A lot of iterative methods for computing outer inverses with the prescribed range and null space have been developed. An outline of these numerical methods can be found in [5–13].A drawback of the representation given in Proposition1 arises from the fact that it is based on the full-rank decomposition R=FG and gives the representation of AR(R),N(R)(2). Besides, it requires invertibility of GAF; in the opposite case, it is not applicable. Finally, representations of outer inverses with given only range or null space or the representations of inner inverses with the prescribed range and/or null space are not covered. For this purpose, our further motivation is well-known representations of generalized inverses AT,S(2) and AT,S(1,2), given by the Urquhart formula. The Urquhart formula was originated [14] and later extended in [2, Theorem  1.3.3] and [1, Theorem  13, P. 72]. We restate it for the sake of completeness.Proposition 2 (Urquhart formula).
LetA∈Crm×n, U∈Cn×p, V∈Cq×m, and X=UVAU1V, where VAU1 is a fixed but arbitrary element of VAU1. Then(1)
X∈A{1} if and only if rankVAU=r;(2)
X∈A{2} and R(X)=R(U) if and only if rankVAU=rankU;(3)
X∈A{2} and N(X)=N(V) if and only if rankVAU=rankV;(4)
X=AR(U),N(V)(2) if and only if rankVAU=rankU=rankV;(5)
X=AR(U),N(V)(1,2) if and only if rankVAU=rankU=rankV=r.Later, our motivation is the notion of ab,c-inverse of an element a in a semigroup, introduced by Drazin in [15]. Following the result from [9], the representation of outer inverses given in Proposition 1 investigates R,R-inverses. Our tendency is to consider representations and computations of B,C-inverses, where B and C could be different.Finally, our intention is to define appropriate numerical algorithms for computing generalized inverses(4)AT,S2,AT,∗1,A∗,S1,AT,S1,AT,∗2,A∗,S2,AT,∗1,2,A∗,S1,2,AT,S1,2in both the time-varying and time-invariant cases. For this purpose, we observed that the neural dynamic approach has been exploited as a powerful tool in solving matrix algebra problems, due to its parallel distributed nature as well as its convenience of hardware implementation. Recently, many authors have shown great interest for computing the inverse or the pseudoinverse of square and full-rank rectangular matrices on the basis of gradient-based recurrent neural networks (GNNs) or Zhang neural networks (ZNNs). Neural network models for the inversion and pseudo-inversion of square and full-row or full-column rank rectangular matrices were developed in [16–18]. Various recurrent neural networks for computing generalized inverses of rank-deficient matrices were introduced in [19–23]. RNNs designed for calculating the pseudoinverse of rank-deficient matrices were created in [21]. Three recurrent neural networks for computing the weighted Moore-Penrose inverse were introduced in [22]. A feedforward neural network architecture for computing the Drazin inverse was proposed in [19]. The dynamic equation and induced gradient recurrent neural network for computing the Drazin inverse were defined in [24]. Two gradient-based RNNs for generating outer inverses with prescribed range and null space in the time-invariant case were introduced in [25]. Two additional dynamic state equations and corresponding gradient-based RNNs for generating the class of outer inverses of time-invariant real matrices were proposed in [26].The global organization of the paper is as follows. Conditions for the existence and representations of generalized inverses included in (4) are given in Section 2. Numerical algorithms arising from the representations derived in Section 2 are defined in Section 3. In this way, Section 3 defines algorithms for computing various classes of inner and outer generalized inverses by means of derived solutions of certain matrix equations. Main particular cases are presented in the same section as well as the global computational complexity of introduced algorithms. Illustrative simulation and numerical examples are presented in Section 4.


## 2. Existence and Representations of Generalized Inverses

Theorem3 provides a theoretical basis for computing outer inverses with the prescribed range space.Theorem 3.
LetA∈Cm×n and B∈Cn×k.(a)
The following statements are equivalent:
(i)
There exists a{2}-inverse X of A satisfying R(X)=R(B), denoted by AR(B),∗(2).(ii)
There existsU∈Ck×m such that BUAB=B.(iii)
N(AB)=N(B).(iv)
rankAB=rankB.(v)
B(AB)(1)AB=B, for some (equivalently every) (AB)(1)∈(AB){1}.(b)
If the statements in (a) are true, then the set of all outer inverses with the prescribed rangeR(B) is represented by(5)A2RB,∗=BAB1∣AB1∈AB1=BU∣U∈Ck×m,BUAB=B.Moreover,(6)A2RB,∗=BAB1+BYIm-ABAB1∣Y∈Ck×m,where(AB)(1)∈(AB){1} is arbitrary but fixed.Proof.
(a)i⇒ii. Let X∈Cn×m such that XAX=X and R(X)=R(B). Then X=BU and B=XW, for some U∈Ck×m and W∈Cm×k, so B=XW=XAXW=XAB=BUAB.
i
i
⇒
i
i
i. As we know, N(B)⊆N(AB). On the other hand, taking into account BUAB=B for some U∈Ck×m, it follows that N(AB)⊆N(BUAB)=N(B), and hence N(AB)=N(B).
i
i
i
⇒
v. Let (AB)(1) be an arbitrary {1}-inverse of AB. As N(AB)=N(B) implies B=VAB, for some V∈Cn×m, it follows that(7)B=VAB=VABAB1AB=BAB1AB.
v
⇒
i. Let B=B(AB)(1)AB, for some (AB)(1)∈(AB){1}, and set X=B(AB)(1). Then(8)XAX=BAB1ABAB1=BAB1=X,and by X=B(AB)(1) and B=B(AB)(1)AB=XAB it follows that X is a {2}-inverse of A which satisfies R(X)=R(B).
i
i
i
⇒
v. This result is well-known.
(b) From the proofs of(i)⇒(ii) and (iv)⇒(i), and the fact that B=BUAB implies U∈(AB){1}, it follows that(9)A2RB,∗⊆BU∣U∈Ck×m,BUAB=B⊆BAB1∣AB1∈AB1⊆A2RB,∗,and hence (5) holds.
According to Theorem  1 [1, Section  2] (or [2, Theorem  1.2.5]), the condition (v) ensures consistency of the matrix equation BUAB=B and gives its general solution(10)U∈Ck×m∣BUAB=B=B1BAB1+Y-B1BYABAB1∣Y∈Ck×m,whence we obtain(11)A2RB,∗=BU∣U∈Ck×m,BUAB=B=BAB1+BYIm-ABAB1∣Y∈Ck×m. This proves is that (6) is true.Remark 4.
Five equivalent conditions for the existence and representations of the class of generalized inversesAT,∗(2) were given in [27, Theorem  1]. Theorem 3 gives two new and important conditions (i) and (v). These conditions are related with solvability of certain matrix equations. Further, the representations of generalized inverses AT,∗(2) were presented in [27, Theorem  2]. Theorem 3 gives two new and important representations: the second representation in (5) and representation (6).Theorem5 provides a theoretical basis for computing outer inverses with the prescribed kernel. These results are new in the literature, according to our best knowledge.Theorem 5.
LetA∈Cm×n and C∈Cl×m.(a)
The following statements are equivalent:
(i)
There exists a2-inverse X of A satisfying NX=NC, denoted by A∗,NC2.(ii)
There existsV∈Cn×l such that CAVC=C.(iii)
RCA=RC.(iv)
rankCA=rankC.(v)
CA(CA)(1)C=C, for some (equivalently every) (CA)1∈CA1.(b)
If the statements in (a) are true, then the set of all outer inverses with the prescribed null spaceN(C) is represented by(12)A2∗,NC=CA1C∣CA1∈CA1=VC∣V∈Cn×l,CAVC=C.Moreover,(13)A2∗,NC=CA1C+Il-CA1CAYC∣Y∈Cn×l,where(CA)(1) is an arbitrary fixed matrix from (CA){1}.Proof.
The proof is analogous to the proof of Theorem3.Theorem6 is a theoretical basis for computing a {2}-inverse with the prescribed range and null space.Theorem 6.
LetA∈Cm×n, B∈Cn×k, and C∈Cl×m.(a)
The following statements are equivalent:
(i)
There exists a{2}-inverse X of A satisfying R(X)=R(B) and N(X)=N(C).(ii)
There existU∈Ck×l such that BUCAB=B and CABUC=C.(iii)
There existU,V∈Ck×l such that BUCAB=B and CABVC=C.(iv)
There existU∈Ck×m and V∈Cn×l such that BUAB=B, CAVC=C, and BU=VC.(v)
There existU∈Ck×m and V∈Cn×l such that CABU=C and VCAB=B.(vi)
N(CAB)=N(B), R(CAB)=R(C).(vii)
rankCAB=rankB=rankC.(viii)
B(CAB)(1)CAB=B and CAB(CAB)(1)C=C, for some (equivalently every) (CAB)(1)∈(CAB){1}.(b)
If the statements in (a) are true, then the unique{2}-inverse of A with the prescribed range R(B) and null space N(C) is represented by(14)ARB,NC2=BCAB1C=BUC,for arbitrary(CAB)(1)∈(CAB){1} and arbitrary U∈Ck×l satisfying BUCAB=B and CABUC=C.Proof.
(a)(i)⇒ii. Let X∈Cn×m be such that XAX=X, R(X)=R(B), and N(X)=N(C). Then there exists U∈Ck×l such that X=BUC. Also, B and C satisfy B=XW and C=VX, for some W∈Cm×k, V∈Cl×n. This further implies(15)B=XW=XAXW=XAB=BUCAB,C=VX=VXAX=CAX=CABUC.
(
i
i
)
⇒
(
v
i
). According to CABUC=C, for some U∈Ck×l, it follows that(16)RC=RCABUC⊆RCAB⊆RC,and thus R(CAB)=R(C). Further, by B=BUCAB, for some U∈Ck×l, it follows that(17)NB⊆NCAB⊆NBUCAB=NB,which yields N(CAB)=N(B).
(
v
i
)
⇒
(
v
i
i
i
). Let (CAB)(1) be an arbitrary {1}-inverse of CAB. Since R(CAB)=R(C) implies C=CABW, for some W∈Ck×m, it follows that(18)C=CABW=CABCAB1CABW=CABCAB1C.
Similarly,N(CAB)=N(B) implies B=VCAB, for some V∈Cn×l and(19)B=VCAB=VCABCAB1CAB=BCAB1CAB.
(
v
i
i
i
)
⇒
(
i
). Let CAB(CAB)(1)C=C, for some (CAB)(1)∈(CAB){1}, and set X=B(CAB)(1)C. Then(20)XAX=BCAB1CABCAB1C=BCAB1C=Xand by X=B(CAB)(1)C, B=B(CAB)(1)CAB=XAB, and C=CAB(CAB)(1)C=CAX it follows that X is a {2}-inverse of A which satisfies R(X)=R(B), N(X)=N(C).
(
v
i
)
⇔
(
v
i
i
). This statement follows from [2, Theorem  1.1.3, P. 3].
(
i
i
)
⇒
(
i
i
i
). This is evident.
(
i
i
i
)
⇒
(
i
i
). Let U,V∈Ck×l be arbitrary matrices such that BUCAB=B and CABVC=C. Then(21)BUC=BUCABVC=BVC,whence(22)B=BUCAB=BVCAB,C=CABVC=CABUC.Thus, (ii) holds.
(
i
i
)
⇒
(
i
v
). U∈Ck×l such that BUCAB=B and CABUC=C. Then(23)B=BUCAB,C=CABUC,BUC=BUC,which means that (iv) is true.
(
i
v
)
⇒
(
v
). Let U∈Ck×m and V∈Cn×l such that BUAB=B, CAVC=C, and BU=VC. Then(24)B=BUAB=VCAB,C=CAVC=CABU,which confirms (v).
(
v
)
⇒
(
i
v
). Let U∈Ck×m and V∈Cn×l such that CABU=C and VCAB=B. Then(25)VC=VCABU=BU,B=VCAB=BUAB,C=CABU=CAVC,and hence (iv) holds.
(
i
v
)
⇒
(
i
). Let U∈Ck×m and V∈Cn×l such that BUAB=B, CAVC=C, and BU=VC, and set X=BU=VC. Then(26)XAX=BUABU=BU=X;by X=BU and B=BUAB=XAB it follows that R(X)=R(B), and by C=CAVC=CAX it follows that N(X)=N(C). Therefore, (i) is true.
(b) According to the proofs of (i)⇒(ii) and (iv)⇒(i) and the fact that C=CABUC and BUCAB=B, for U∈Ck×l, imply U∈(CAB){1}, it follows that (27)ARB,NC2=BUC=BCAB1C,and hence (14) holds.Remark 7.
After a comparison of Theorem6 with the Urquhart formula given in Proposition 2, it is evident that conditions (vi) and (vii) of Theorem 6 could be derived using the Urquhart results. All other conditions are based on the solutions of certain matrix equations, and they are new.
In addition, comparing the representations of Theorem6 with the full-rank representation restated from [3] in Proposition 1, it is remarkable that the representations given in Theorem 6 do not require computation of a full-rank factorization R=FG of the matrix R. More precisely, representations of AR(B),N(C)(2) from Theorem 6 boil down to the full-rank factorization of AR(F),N(G)(2) from Proposition 1 in the case when BC=R is a full-rank factorization of R and CAB is invertible.
It is worth mentioning that Drazin in [15] generalized the concept of the outer inverse with the prescribed range and null space by introducing the concept of a (b,c)-inverse in a semigroup. In the matrix case, this concept can be defined as follows. Let A∈Cm×n, X∈Cn×m, B∈Cn×k, and C∈Cl×m. Then, we call X a (B,C)-inverse of A if the following two relations hold:(28)XAB=B,CAX=C(29)X=BU=VC,for someU∈Ck×m,V∈Cn×l.It is easy to see that X is a (B,C)-inverse of A if and only if X is a {2}-inverse of A satisfying R(X)=R(B) and N(X)=N(C).The next theorem can be used for computing a{1}-inverse X of A satisfying R(X)⊆R(B).Theorem 8.
LetA∈Cm×n and B∈Cn×k.(a)
The following statements are equivalent:
(i)
There exists a{1}-inverse X of A satisfying R(X)⊆R(B).(ii)
There existsU∈Ck×m such that ABUA=A.(iii)
R(AB)=R(A).(iv)
AB(AB)(1)A=A, for some (equivalently every) (AB)(1)∈(AB){1}.(v)
rankAB=rankA.(b)
If the statements in (a) are true, then the set of all inner inverses ofA whose range is contained in R(B) is represented by(30)X∈A1∣RX⊆RB=BAB1∣AB1∈AB1=BU∣U∈Ck×m,ABUA=A.Moreover,(31)X∈A1∣RX⊆RB=BAB1AA1+BY-BAB1ABYAA1∣Y∈Ck×m,where(AB)(1)∈(AB){1} and A(1)∈A{1} are arbitrary but fixed.Proof.
(a)(i)⇒(ii). Let X∈Cn×m such that AXA=A and R(X)⊆R(B). Then X=BU, for some U∈Ck×m, so A=AXA=ABUA.
(
i
i
)
⇒
(
i
i
i
). Let ABUA=A, for some U∈Ck×m. Then R(A)=R(ABUA)⊆R(AB). Since the opposite inclusion always holds, we conclude that R(AB)=R(A).
(
i
i
i
)
⇒
(
i
v
). Let (AB)(1) be an arbitrary {1}-inverse of AB. By R(AB)=R(A) it follows that A=ABV, for some V∈Ck×n, so we have that(32)A=ABV=ABAB1ABV=ABAB1A.
(
i
v
)
⇒
(
i
). Let AB(AB)(1)A=A, for some (AB)(1)∈(AB){1}, and set X=B(AB)(1). It is clear that AXA=A, and by X=B(AB)(1) we obtain the fact that R(X)⊆R(B).
(
i
i
i
)
⇔
(
v
). This follows from [2, Theorem  1.1.3, P. 3].
(b) On the basis of the fact thatA=ABUA implies U∈(AB){1} and the arguments used in the proofs of (i)⇒(ii) and (iv)⇒(i), we have that (33)X∈A1∣RX⊆RB⊆BU∣U∈Ck×m,ABUA=A⊆BAB1∣AB1∈AB1⊆X∈A1∣RX⊆RB,which confirms that (30) is true.
Once again, according to Theorem  1 [1, Section  2] (or Theorem  1.2.5 [2]) we have that(34)U∈Ck×m∣ABUA=A=AB1AA1+Y-AB1ABYAA1∣Y∈Ck×m,where (AB)(1)∈(AB){1} and (A)(1)∈A{1} are arbitrary elements, whence we obtain that (35)X∈A1∣RX⊆RB=BU∣U∈Ck×m,ABUA=A=BAB1AA1+BY-BAB1ABYAA1∣Y∈Ck×m,and hence (31) is true.Theorem9 can be used for computing a {1}-inverse X of A satisfying N(C)⊆N(X). Its proof is dual to the proof of Theorem 8.Theorem 9.
LetA∈Cm×n and C∈Cl×m.(a)
The following statements are equivalent:
(i)
There exists a{1}-inverse X of A satisfying N(C)⊆N(X).(ii)
There existsV∈Cn×l such that AVCA=A.(iii)
N(CA)=N(A).(iv)
A(CA)(1)CA=A, for some (equivalently every) (CA)(1)∈(CA){1}.(v)
rankCA=rankA.(b)
If the statements in (a) are true, then the set of all inner inverses ofA whose null space is contained in N(C) is represented by(36)X∈A1∣NC⊆NX=CA1C∣CA1∈CA1=VC∣V∈Cn×l,AVCA=A.Moreover,(37)X∈A1∣NC⊆NX=A1ACA1C+YC-A1AYCACA1C∣Y∈Cn×l,where(CA)(1)∈(CA){1} and A(1)∈A{1} are arbitrary but fixed.Theorem10 provides several equivalent conditions for the existence and representations for computing a {1,2}-inverse with the prescribed range.Theorem 10.
LetA∈Cm×n and B∈Cn×k.(a)
The following statements are equivalent:
(i)
There exists a{1,2}-inverse X of A satisfying R(X)=R(B), denoted by AR(B),∗(1,2).(ii)
There existU,V∈Ck×m such that BUAB=B and ABVA=A.(iii)
There existsW∈Ck×m such that BWAB=B and ABWA=A.(iv)
N(AB)=N(B) and R(AB)=R(A).(v)
rankAB=rankA=rankB.(vi)
B(AB)(1)AB=B and AB(AB)(1)A=A, for some (equivalently every) (AB)(1)∈(AB){1}.(b)
If the statements in (a) are true, then the set of all{1,2}-inverses with the prescribed range R(B) is represented by(38)A1,2RB,∗=A2RB,∗=X∈A1∣RX⊆RB.Proof.
(a) First we note that the implication(i)⇒(vi) and the equivalences (ii)⇔(iv) and (iv)⇔(vi) follow directly from Theorems 3 and 8. Also, (iv)⇔(v) follows from Theorem  1.1.3 [2] (or Example  10 [1, Section  1]).
(
v
i
)
⇒
(
i
i
i
). If we set W=(AB)(1), where (AB)(1)∈(AB){1} is an arbitrary element, then (vi) implies that BWAB=B and ABWA=A.
(
i
i
i
)
⇒
(
i
). If W∈Ck×m such that BWAB=B and ABWA=A, then by Theorem 3 we obtain the fact that X=BW is a {2}-inverse of A satisfying R(X)=R(B), and clearly X is also a {1}-inverse of A.
(
i
i
i
)
⇒
(
i
i
). This implication is evident.
(b) If the statements in (a) hold, then the statements of Theorems3 and 8 also hold, and from these two theorems it follows directly that (38) is valid.Theorem11 provides several equivalent conditions for the existence and representations of A∗,N(C)(1,2).Theorem 11.
LetA∈Cm×n and C∈Cl×m.(a)
The following statements are equivalent:
(i)
There exists a{1,2}-inverse X of A satisfying N(X)=N(C), denoted by A∗,N(C)(1,2).(ii)
There existU,V∈Cn×l such that CAUC=C and AVCA=A.(iii)
There existsW∈Cn×l such that CAWC=C and AWCA=A.(iv)
N(CA)=N(A) and R(CA)=R(C).(v)
rankCA=rankA=rankC.(vi)
CA(CA)(1)C=C and A(CA)(1)CA=A, for some (equivalently every) (CA)(1)∈(CA){1}.(b)
If the statements in (a) are true, then the set of all{1,2}-inverses with the range R(B) is given by(39)A1,2∗,NC=A2∗,NC=X∈A1∣NC⊆NX.Theorem12 is a theoretical basis for computing a {1,2}-inverse with the predefined range and null space.Theorem 12.
LetA∈Cm×n, B∈Cn×k, and C∈Cl×m.(a)
The following statements are equivalent:
(i)
There exists a{1,2}-inverse X of A satisfying R(X)=R(B) and N(X)=N(C), denoted by AR(B),N(C)(1,2).(ii)
There existU∈Ck×m and V∈Cn×l such that BUAB=B, ABUA=A, CAVC=C, and AVCA=A.(iii)
N(AB)=N(B), R(AB)=R(A), R(CA)=R(C), and N(CA)=N(A).(iv)
rankAB=rankA=rankB, rankCA=rankA=rankC.(v)
rankCAB=rankC=rankB=rankA.(vi)
B(AB)(1)AB=B, AB(AB)(1)A=A, CA(CA)(1)C=C, and A(CA)(1)CA=A, for some (equivalently every) (AB)(1)∈(AB){1} and (CA)(1)∈(CA){1}.(b)
If the statements in (a) are true, then the unique1,2-inverse of A with the prescribed range R(B) and null space N(C) is represented by(40)ARB,NC1,2=BAB1ACA1C=BUAVC=BCAB1C,for arbitrary(AB)(1)∈(AB){1}, (CA)(1)∈(CA){1}, and (CAB)(1)∈(CAB){1} and arbitrary U∈Ck×m and V∈Cn×l satisfying BUAB=B and CAVC=C.Proof.
(a) The equivalence of the statements(i)–(iv) and (vi) follows immediately from Theorem 10 and its dual. The equivalence (i)⇔(v) follows immediately from part (4) of the famous Urquhart formula [2, Theorem  1.3.7].
(b) LetU∈Ck×m and V∈Cn×l be arbitrary matrices satisfying BUAB=B and CAVC=C, and set X=BUAVC. Seeing that U∈(AB){1} and V∈(CA){1}, according to (v) we obtain the fact that ABUA=A and AVCA=A. This implies that (41)XAX=BUAVCABUAVC=BUAVC=X,AXA=ABUAVCA=AVCA=A,RX=RBUAVC⊆RB,NC⊆NBUAVC=NX,RB=RBUAB=RBUAVCAB=RXAB⊆RX,NX⊆NCAX=NCABUAVC=NCAVC=NC,which means that X is a {1,2}-inverse of A satisfying R(X)=R(B) and N(X)=N(C), and hence the second equality in (40) is true.
The same arguments confirm the validity of the first equality in (40).Corollary 13.
Theorem6 is equivalent to Theorem 12 in the case rankCAB=rankB=rankC=rankA.Proof.
According to assumptions, the output of Theorem6 becomes AR(B),N(C)(1,2). Then the proof follows from the uniqueness of this kind of generalized inverses.Remark 14.
It is evident that only conditions (v) of Theorem12 can be derived from the Urquhart results. All other conditions are based on the solutions of certain matrix equations and they are introduced in Theorem 12. Also, the first two representations in (40) are introduced in the present research.


## 3. Algorithms and Implementation Details

The representations presented in Section2 provide two different frameworks for computing generalized inverses. The first approach arises from the direct computation of various generalizations or certain variants of the Urquhart formula, derived in Section 2. The second approach enables computation of generalized inverses by means of solving certain matrix equations.The dynamical-system approach is one of the most important parallel tools for solving various basic linear algebra problems. Also, Zhang neural networks (ZNN) as well as gradient neural networks (GNN) have been simulated for finding a real-time solution of linear time-varying matrix equationAXB=C. Simulation results confirm the efficiency of the ZNN and GNN approach in solving both time-varying and time-invariant linear matrix equations. We refer to [28, 29] for further details. In the case of constant coefficient matrices A,B,C, it is necessary to use the linear GNN of the form(42)X˙=-γATAXB-CBT.The generalized nonlinearly activated GNN model (GGNN model) is applicable in both time-varying and time-invariant case and possesses the form(43)X˙t=-γAtTFAtXtBt-CtBtT,where F(C) is an odd and monotonically increasing function element-wise applicable to elements of a real matrix C=ckj∈Rn×m; that is, FC=fckj, wherein f· is an odd and monotonically increasing function. Also, the scaling parameter γ could be chosen as large as possible in order to accelerate the convergence. The convergence could be proved only for the situation with constant coefficient matrices A,B,C.Besides the linear activation function,fx=x, in the present paper we use the power-sigmoid activation function(44)fx=xp,ifx≥1,1+exp⁡-q1-exp⁡-q1-exp⁡-qx1+exp⁡-qx,otherwise,q≥2,p≥3.Theorem3 provides not only criteria for the existence of an outer inverse A(t)R(B),∗(2) with the prescribed range, but also a method for computing such an inverse. Namely, the problem of computing a {2}-inverse X of A satisfying R(X)=R(B) boils down to the problem of computing a solution to the matrix equation BUAB=B, where U is an unknown matrix taking values in Ck×m. If U is an arbitrary solution to this equation, then a {2}-inverse X of A satisfying R(X)=R(B) can be computed as X=BU.The Simulink implementation of Algorithm1 in the set of real matrices is based on GGNN model (43) for solving the matrix equation B(t)U(t)A(t)B(t)=B(t) and it is presented in Figure 5. The Simulink Scope and Display Block denoted by U(t) display input signals corresponding to the solution U(t) of the matrix equation B(t)U(t)A(t)B(t)=B(t) with respect to the time t. The underlying GGNN model in Figure 5 is (45)U˙t=-γBtTFBtUtAtBt-BtAtBtT.The Display Block denoted by BU displays inputs signals corresponding to the solution X(t)=B(t)U(t).Algorithm 1:Computing an outer inverse with the prescribed range.
Require: Time varying matrices A(t)∈Cm×n and B(t)∈Cn×k.
(1) VerifyrankAtBt=rankB(t).
If these conditions are satisfied then continue.
(2) Solve the matrix equationBtUtAtBt=Bt with respect to Ut∈Ck×m.
(3) ReturnX(t)=B(t)U(t)=A(t)R(B),∗(2).The block subsystem implements the power-sigmoid activation function and it is presented in Figure1.Figure 1
Block for the implementation of the power-sigmoid activation function (a) and its subsystem (b).
(a)
(b)Theorem5 reduces the problem of computing a {2}-inverse X of A satisfying N(X)=N(B) to the problem of computing a solution to the matrix equation CAVC=C, where V is an unknown matrix taking values in Cn×l. Then X≔A∗,N(C)(2)=VC.The Simulink implementation of Algorithm2 which is based on the GGNN model for solving CtAtVtCt=C(t) and computing X(t)=V(t)C(t) is presented in Figure 6. The underlying GGNN model in Figure 6 is(46)V˙t=-γCtAtTFCtAtVtCt-CtCtT.Algorithm 2:Computing an outer inverse with the prescribed null space.
Require: Time varying matrices A(t)∈Cm×n and C(t)∈Cl×m.
(1) VerifyrankC(t)A(t)=rankCt.
If these conditions are satisfied then continue.
(2) Solve the matrix equationC(t)A(t)V(t)C(t)=C(t) with respect to an unknown matrix V(t)∈Cn×l.
(3) ReturnX(t)=V(t)C(t)=At∗,N(C)(2).TheDisplay Block denoted by V(t) displays input signals corresponding to the solution V(t) of the matrix equation CAV(t)C=C with respect to simulation time. TheDisplay Block denoted by ATS2 displays input signals corresponding to the solution X(t)=V(t)C(t).Theorem6 provides a powerful representation of a {2}-inverse X of A satisfying R(X)=R(B) and N(X)=N(C). Also, it suggests the following procedure for computing those generalized inverses. First, it is necessary to verify whether rankCAB=rankB=rankC. If this is true, then by Theorem 6 it follows that the equations BUCAB=B and CABVC=C are solvable and have the same sets of solutions. We compute an arbitrary solution U of the equation BUCAB=B, and then X=BUC is the desired {2}-inverse of A.The Simulink implementation of the GGNN model for solvingB(t)U(t)C(t)A(t)B(t)=B(t) and computing the outer inverse X(t)=B(t)U(t)C(t) defined in Algorithm 3 is presented in Figure 2. The underlying GGNN model in Figure 2 is(47)U˙t=-γBtTFBtUtCtAtBt-BtCtAtBtT.The implementation of the dual approach, based on the solution of C(t)A(t)BV(t)C(t)=C(t) and generating the outer inverse X(t)=B(t)V(t)C(t), is presented in Figure 4. The underlying GGNN model in Figure 4 is (48)V˙t=-γCtAtBtTFCtAtBtVtCt-CtCtT.Algorithm 3:Computing a 2-inverse with the prescribed range and null space.
Require: Time varying matrices A(t)∈Cm×n, B(t)∈Cn×k and C(t)∈Cl×m.
(1) VerifyrankCtAtBt=rankBt=rankCt.
If these conditions are satisfied then continue.
(2) Solve the matrix equationBtUtCtAtBt=Bt with respect to an unknown matrix Ut∈Ck×m.
(3) ReturnX(t)=B(t)U(t)C(t)=A(t)R(B),N(C)(2).Figure 2
GGNN model for computingB(t)U(t)C(t)A(t)B(t)=Bt, X(t)=B(t)U(t)C(t).Theorem8 can be used in a similar way to Theorem 3: if the equation ABUA=A is solvable and its solution U is computed, then a {1}-inverse X of A satisfying R(X)⊆R(B) is computed as X=BU. Corresponding computational procedure is given in Algorithm 4.Algorithm 4:Computing a {1}-inverse X of A satisfying R(X)⊆R(B).
Require: Time varying matrices A(t)∈Cm×n and B(t)∈Cn×k.
(1) Check the conditionrankA(t)B(t)=rankAt.
If this condition is satisfied then continue.
(2) Solve the matrix equationA(t)B(t)U(t)A(t)=A(t) with respect to U(t)∈Ck×m.
(3) Return a{1}-inverse X(t)=B(t)U(t) of A(t) satisfying R(X)⊆R(B).Similarly, Theorem9 can be used for computing a {1}-inverse X of A satisfying N(C)⊆N(X), as it is presented in Algorithm 5.Algorithm 5:Computing a {1}-inverse X of A satisfying N(C)⊆N(X).
Require: Time varying matrices A(t)∈Cm×n and C(t)∈Cl×m.
(1) Check the conditionrankCtAt=rankAt.
If this condition is satisfied then continue.
(2) Solve the matrix equationA(t)V(t)C(t)A(t)=A(t) with respect to an unknown matrix V(t)∈Cn×l.
(3) Return a{1}-inverse X(t)=V(t)C(t) of A(t) satisfying N(C)⊆N(X).An algorithm for computing a{1,2}-inverse with the prescribed range is based on Theorem 10. According to this theorem we first check the condition rankAB=rankA=rankB. If it is satisfied, then the equation BUAB=B is solvable and we compute an arbitrary solution U to this equation, after which we compute a {2}-inverse X of A satisfying R(X)=R(B) as X=BU. By Theorem 10, X is also a {1}-inverse of A. Algorithm 1 differs from Algorithm 6 only in the first step. Therefore, the implementation of Algorithm 6 uses the Simulink implementation of Algorithm 1 in the case when rankAB=rankA=rankB.Algorithm 6:Computing a {1,2}-inverse with the prescribed range.
Require: Time varying matrices A(t)∈Cm×n and B(t)∈Cn×k.
(1) Check the conditionrankAtBt=rankAt=rankBt.
If these conditions are satisfied then continue.
(2) If the previous condition is satisfied, then solve the matrix equationB(t)U(t)A(t)B(t)=B(t) with respect to an unknown
matrixU(t)∈Ck×m.
(3) Return a{1,2}-inverse X(t)=B(t)U(t) of A(t) satisfying R(X)=R(B).Similarly, Theorem11 provides an algorithm for computing A∗,N(C)(1,2). The implementation of Algorithm 7 uses the Simulink implementation of Algorithm 2 in the case rankCA=rankC=rankA.Algorithm 7:Computing a {1,2}-inverse with the prescribed null space.
Require: Time varying matrices A(t)∈Cm×n and C(t)∈Cl×m.
(1) Check the conditionrankCtAt=rankAt=rankCt.
If these conditions are satisfied then continue.
(2) Solve the matrix equationC(t)A(t)W(t)C(t)=C(t) with respect to an unknown matrix W(t)∈Cl×m.
(3) Return a{1,2}-inverse X(t)=V(t)C(t) of A(t) satisfying N(X)=N(C).Theorem12 suggests the following procedure for computing a {1,2}-inverse X of A satisfying R(X)=R(B) and N(X)=N(C). First we check the condition rankCAB=rankB=rankC=rankA. If this is true, then the equations BUAB=B and CAVC=C are solvable, and we compute an arbitrary solution U to the first one and an arbitrary solution V of the second one. According to Theorem 12, X=BUAVC is a {1,2}-inverse X of A with R(X)=R(B) and N(X)=N(C).The Simulink implementation of Algorithm8 based on the GGNN models for solving B(t)U(t)A(t)B(t)=B(t) and C(t)A(t)V(t)C(t)=C(t) and computing X(t)=B(t)U(t)A(t)V(t)C(t) is presented in Figure 8. In this case, it is necessary to implement two parallel GGNN models of the form(49)U˙t=-γBtTFBtUtAtBt-BtAtBtT,V˙t=-γCtAtTFCtAtVtCt-CtCtT.Algorithm 8:Computing a {1,2}-inverse with the prescribed range and null space.
Require: Time varying matrices A(t)∈Cm×n, B(t)∈Cn×k and C(t)∈Cl×m.
Require: Verify rankCtAtBt=rankBt=rankCt=rankA(t).
If these conditions are satisfied then continue.
(1) Solve the matrix equationB(t)U(t)A(t)B(t)=B(t) with respect to an unknown matrix U(t)∈Ck×m.
(2) Solve the matrix equationC(t)A(t)V(t)C(t)=C(t) with respect to an unknown matrix V(t)∈Cn×l.
(3) ReturnX(t)=B(t)U(t)A(t)V(t)C(t)=A(t)R(B),N(C)(1,2).There is also an alternative way to compute a{1,2}-inverse X of A with R(X)=R(B) and N(X)=N(C). Namely, first we check whether rankCAB=rankB=rankC=rankA. If this is true, then by Theorem 12 it follows that there exists a {2}-inverse of A with the prescribed range R(B) and null space N(C), and each such inverse is also a {1}-inverse of A. Therefore, to compute a {1,2}-inverse of A having the range R(B) and null space N(C) we have to compute a {2}-inverse X of A with R(X)=R(B) and N(X)=N(C) in exactly the same way as in Algorithm 3. In other words, we compute an arbitrary solution U to the equation BUCAB=B, and then X=BUC is the desired {1,2}-inverse of A.


### 3.1. Complexity of Algorithms

The general computational pattern for commuting generalized inverses is based on the general representationB(CAB)(1)C, where the matrices A,B,C satisfy various conditions imposed in the proposed algorithms.The first approach is based on the computation of an involved inner inverse(CAB)(1), and it can be described in three main steps:(1)
Compute the matrix productP=CAB.(2)
Compute an inner inverseU=P(1) of P, for example, U=P†.(3)
Compute the generalized inverse as the matrix productBUC.The second general computational pattern for computing generalized inverses can be described in three main steps:(1)
Compute matrix products included in the required linear matrix equation.(2)
Solve the generated matrix equation with respect to the unknown matrixU.(3)
Compute the generalized inverse ofA as the matrix product which includes U.According to the first approach, the complexity of computing generalized inverses can be estimated as follows:(1)
Complexity of the matrix productP=CAB+(2)
Complexity to compute an inner inverse ofP+(3)
Complexity to compute the matrix productBUCAccording to the second approach, the complexity of computing generalized inverses can be expressed according to the rule:(1)
Complexity of the matrix productP included in required matrix equation which should be solved.+(2)
Complexity to solve the linear matrix generated in (1)+(3)
Complexity of matrix products required in final representationLet us compare complexities of two representations from (14). Two possible approaches are available. The first approach assumes computation AR(B),N(C)(2)=B(CAB)(1)C and the second one assumes AR(B),N(C)(2)=BUC, where BUCAB=B. Complexity of computing the B(CAB)(1)C is(1)
complexity of the matrix productP=CAB,+(2)
complexity of computation ofP(1),+(3)
complexity of matrix products required in final representationBP(1)C.Complexity of computing the second expression in (14) is(1)
complexity of matrix productsP=CAB,+(2)
complexity to solve appropriate linear matrix equationBUP=B with respect to U,+(3)
complexity of the matrix productBUC.


### 3.2. Particular Cases

The main particular cases of Theorem6 can be derived directly and listed as follows.(a)
In the caserankCAB=rankB=rankC=rankA the outer inverse AR(B),N(C)(2) becomes AR(B),N(C)(1,2).(b)
IfA is nonsingular and B=C=I, then the outer inverse AR(B),N(C)(2) becomes the usual inverse A-1.Then the matrix equationBUCAB=B becomes UA=I and A-1=U.(c)
In the caseB=C=A∗ or when BC=A∗ is a full-rank factorization of A∗, it follows that AR(B),N(C)(2)=A†.(d)
The choicem=n, B=C=Al, l≥ind(A), or the full-rank factorization BC=Al implies AR(B),N(C)(2)=AD.(e)
The choicem=n, B=C=A, or the full-rank factorization BC=A produces AR(B),N(C)(2)=A#.(f)
In the casem=n when A is invertible, the inverse matrix A-1 can be generated by two choices: B=C=A∗ and B=C=I.(g)
Theorem6 and the full-rank representation of {2,4}- and {2,3}-inverses from [30] are a theoretical basis for computing {2,4}- and 2,3-inverses with the prescribed range and null space.(h)
Further, Theorems3 and 5 provide a way to characterize {1,2,4}- and {1,2,3}-inverses of a matrix.Corollary 15.
LetA∈Cm×n and C∈Cl×m.(a)
The following statements are equivalent:
(i)
There exists a{2,4}-inverse X of A satisfying R(X)=R((CA)∗) and N(X)=N(C).(ii)
There existU∈Cl×l such that (CA)∗UCA(CA)∗=(CA)∗ and CA(CA)∗UC=C.(iii)
There existU,V∈Cl×l such that (CA)∗UCA(CA)∗=(CA)∗ and CA(CA)∗VC=C.(iv)
There existU∈Cl×m and V∈Cn×l such that (CA)∗UA(CA)∗=(CA)∗, CAVC=C, and (CA)∗U=VC.(v)
There existU∈Cl×m and V∈Cn×l such that CA(CA)∗U=C and VCA(CA)∗=(CA)∗.(vi)
N(CA(CA)∗)=N((CA)∗), R(CA(CA)∗)=R(C).(vii)
rankCA(CA)∗=rank(CA)∗=rankC.(viii)
(CA)∗CACA∗(1)CACA∗=CA∗ and CACA∗CACA∗(1)C=C, for some (equivalently every) CACA∗1∈CACA∗1.(b)
If the statements in (a) are true, then the unique{2,4}-inverse of A with the prescribed range R((CA)∗) and null space N(C) is represented by(50)ARCA∗,NC2,4=CA∗CACA∗1C=CA∗UC,for arbitrary(CA(CA)∗)(1)∈(CA(CA)∗){1} and arbitrary U∈Cl×l satisfying (CA)∗UCA(CA)∗=(CA)∗ and CA(CA)∗UC=C.Proof.
(a) This part of the proof is particular caseB=(CA)∗ of Theorem 6.
(b) According to general representation of outer inverses with prescribed range and null space, it follows thatX≔(CA)∗(CA(CA)∗)(1)C=AR((CA)∗),N(C)(2). Now, it suffices to verify that X satisfies Penrose equation (4). For this purpose, it is useful to use known result (51)AA∗A1A∗=AA†,which implies (52)XA=CA∗CACA∗1CA=CA∗CA∗†=CA†CAand later XA=(XA)∗. Hence, (50) holds.Corollary 16.
LetA∈Cm×n and B∈Cn×k.(a)
The following statements are equivalent:
(i)
There exists a{2,3}-inverse X of A satisfying R(X)=R(B) and N(X)=N((AB)∗).(ii)
There existU∈Ck×k such that BU(AB)∗AB=B and (AB)∗ABU(AB)∗=(AB)∗.(iii)
There existU,V∈Ck×k such that BU(AB)∗AB=B and (AB)∗ABV(AB)∗=(AB)∗.(iv)
There existU∈Ck×m and V∈Cn×k such that BUAB=B, (AB)∗AV(AB)∗=(AB)∗, and BU=V(AB)∗.(v)
There existU∈Ck×m and V∈Cn×k such that (AB)∗ABU=(AB)∗ and V(AB)∗AB=B.(vi)
N((AB)∗AB)=N(B), R((AB)∗AB)=R((AB)∗).(vii)
rank(AB)∗AB=rankB=rank(AB)∗.(viii)
B((AB)∗AB)(1)(AB)∗AB=B and (AB)∗AB((AB)∗AB)(1)(AB)∗=(AB)∗, for some (equivalently every) ((AB)∗AB)(1)∈(CAB){1}.(b)
If the statements in (a) are true, then the unique{2,3}-inverse of A with the prescribed range R(B) and null space N((AB)∗) is represented by(53)ARB,NAB∗2,3=BAB∗AB1AB∗=BUAB∗,for arbitrary((AB)∗AB)(1)∈((AB)∗AB){1} and arbitrary U∈Ck×k satisfying BU(AB)∗AB=B and (AB)∗ABU(AB)∗=(AB)∗.Corollary17 shows the equivalence between the first representation given in (53) of Corollary 16 and Corollary  1 from [31].Corollary 17.
LetA∈Cm×n and B∈Cn×k satisfy rankAB=rankB. Then(54)ARB,RAB⊥2,3=BAB1,3.Proof.
It suffices to verify(55)AB∗AB1AB∗=AB1,3.
Indeed, sincerankAB∗AB=rankAB, it follows that(56)ABAB∗AB1AB∗=AB.Now, the proof can be completed using the evident fact that AB((AB)∗AB)(1)(AB)∗ is the Hermitian matrix.In dual case, Corollary18 is an additional result to Corollary  1 from [31].Corollary 18.
LetA∈Cm×n and C∈Cl×m satisfy rankCA=rankC. Then(57)ANCA⊥,NC2,4=CA1,4C.Proof.
In this case, the identity(58)CA∗CACA∗1=CA1,4can be verified similarly.Theorem 19.
LetA∈Cm×n. Then(59)A1,2,4=A2RA∗,∗=A1,2RA∗,∗=A∗U∣U∈Cm×m,A∗UAA∗=A∗.Proof.
The equalities(60)A2RA∗,∗=A1,2RA∗,∗=A∗U∣U∈Cm×m,A∗UAA∗=A∗follow immediately from Theorem 3.
LetX∈A{1,2,4}, that is, A=AXA, X=XAX, and (XA)∗=XA, and set U=X∗X. Then(61)X=XAX=XA∗X=A∗X∗X=A∗U,A∗UAA∗=A∗X∗XAA∗=A∗X∗XA∗A∗=AXAXA∗=A∗.Conversely, let X=A∗U and A∗UAA∗=A∗, for some U∈Cm×m. According to (5) we have that X∈A{1,2}. On the other hand, by X=A∗U and A∗UAA∗=A∗ it follows that XAA∗=A∗, and it is well-known that it is equivalent to X∈A{1,4}. Thus, X∈A{1,2,4}.The following theorem can be verified in a similar way.Theorem 20.
LetA∈Cm×n. Then(62)A1,2,3=A2∗,NA∗=A1,2∗,NA∗=VA∗∣V∈Cn×n,A∗AVA∗=A∗.


## 3.1. Complexity of Algorithms

The general computational pattern for commuting generalized inverses is based on the general representationB(CAB)(1)C, where the matrices A,B,C satisfy various conditions imposed in the proposed algorithms.The first approach is based on the computation of an involved inner inverse(CAB)(1), and it can be described in three main steps:(1)
Compute the matrix productP=CAB.(2)
Compute an inner inverseU=P(1) of P, for example, U=P†.(3)
Compute the generalized inverse as the matrix productBUC.The second general computational pattern for computing generalized inverses can be described in three main steps:(1)
Compute matrix products included in the required linear matrix equation.(2)
Solve the generated matrix equation with respect to the unknown matrixU.(3)
Compute the generalized inverse ofA as the matrix product which includes U.According to the first approach, the complexity of computing generalized inverses can be estimated as follows:(1)
Complexity of the matrix productP=CAB+(2)
Complexity to compute an inner inverse ofP+(3)
Complexity to compute the matrix productBUCAccording to the second approach, the complexity of computing generalized inverses can be expressed according to the rule:(1)
Complexity of the matrix productP included in required matrix equation which should be solved.+(2)
Complexity to solve the linear matrix generated in (1)+(3)
Complexity of matrix products required in final representationLet us compare complexities of two representations from (14). Two possible approaches are available. The first approach assumes computation AR(B),N(C)(2)=B(CAB)(1)C and the second one assumes AR(B),N(C)(2)=BUC, where BUCAB=B. Complexity of computing the B(CAB)(1)C is(1)
complexity of the matrix productP=CAB,+(2)
complexity of computation ofP(1),+(3)
complexity of matrix products required in final representationBP(1)C.Complexity of computing the second expression in (14) is(1)
complexity of matrix productsP=CAB,+(2)
complexity to solve appropriate linear matrix equationBUP=B with respect to U,+(3)
complexity of the matrix productBUC.


## 3.2. Particular Cases

The main particular cases of Theorem6 can be derived directly and listed as follows.(a)
In the caserankCAB=rankB=rankC=rankA the outer inverse AR(B),N(C)(2) becomes AR(B),N(C)(1,2).(b)
IfA is nonsingular and B=C=I, then the outer inverse AR(B),N(C)(2) becomes the usual inverse A-1.Then the matrix equationBUCAB=B becomes UA=I and A-1=U.(c)
In the caseB=C=A∗ or when BC=A∗ is a full-rank factorization of A∗, it follows that AR(B),N(C)(2)=A†.(d)
The choicem=n, B=C=Al, l≥ind(A), or the full-rank factorization BC=Al implies AR(B),N(C)(2)=AD.(e)
The choicem=n, B=C=A, or the full-rank factorization BC=A produces AR(B),N(C)(2)=A#.(f)
In the casem=n when A is invertible, the inverse matrix A-1 can be generated by two choices: B=C=A∗ and B=C=I.(g)
Theorem6 and the full-rank representation of {2,4}- and {2,3}-inverses from [30] are a theoretical basis for computing {2,4}- and 2,3-inverses with the prescribed range and null space.(h)
Further, Theorems3 and 5 provide a way to characterize {1,2,4}- and {1,2,3}-inverses of a matrix.Corollary 15.
LetA∈Cm×n and C∈Cl×m.(a)
The following statements are equivalent:
(i)
There exists a{2,4}-inverse X of A satisfying R(X)=R((CA)∗) and N(X)=N(C).(ii)
There existU∈Cl×l such that (CA)∗UCA(CA)∗=(CA)∗ and CA(CA)∗UC=C.(iii)
There existU,V∈Cl×l such that (CA)∗UCA(CA)∗=(CA)∗ and CA(CA)∗VC=C.(iv)
There existU∈Cl×m and V∈Cn×l such that (CA)∗UA(CA)∗=(CA)∗, CAVC=C, and (CA)∗U=VC.(v)
There existU∈Cl×m and V∈Cn×l such that CA(CA)∗U=C and VCA(CA)∗=(CA)∗.(vi)
N(CA(CA)∗)=N((CA)∗), R(CA(CA)∗)=R(C).(vii)
rankCA(CA)∗=rank(CA)∗=rankC.(viii)
(CA)∗CACA∗(1)CACA∗=CA∗ and CACA∗CACA∗(1)C=C, for some (equivalently every) CACA∗1∈CACA∗1.(b)
If the statements in (a) are true, then the unique{2,4}-inverse of A with the prescribed range R((CA)∗) and null space N(C) is represented by(50)ARCA∗,NC2,4=CA∗CACA∗1C=CA∗UC,for arbitrary(CA(CA)∗)(1)∈(CA(CA)∗){1} and arbitrary U∈Cl×l satisfying (CA)∗UCA(CA)∗=(CA)∗ and CA(CA)∗UC=C.Proof.
(a) This part of the proof is particular caseB=(CA)∗ of Theorem 6.
(b) According to general representation of outer inverses with prescribed range and null space, it follows thatX≔(CA)∗(CA(CA)∗)(1)C=AR((CA)∗),N(C)(2). Now, it suffices to verify that X satisfies Penrose equation (4). For this purpose, it is useful to use known result (51)AA∗A1A∗=AA†,which implies (52)XA=CA∗CACA∗1CA=CA∗CA∗†=CA†CAand later XA=(XA)∗. Hence, (50) holds.Corollary 16.
LetA∈Cm×n and B∈Cn×k.(a)
The following statements are equivalent:
(i)
There exists a{2,3}-inverse X of A satisfying R(X)=R(B) and N(X)=N((AB)∗).(ii)
There existU∈Ck×k such that BU(AB)∗AB=B and (AB)∗ABU(AB)∗=(AB)∗.(iii)
There existU,V∈Ck×k such that BU(AB)∗AB=B and (AB)∗ABV(AB)∗=(AB)∗.(iv)
There existU∈Ck×m and V∈Cn×k such that BUAB=B, (AB)∗AV(AB)∗=(AB)∗, and BU=V(AB)∗.(v)
There existU∈Ck×m and V∈Cn×k such that (AB)∗ABU=(AB)∗ and V(AB)∗AB=B.(vi)
N((AB)∗AB)=N(B), R((AB)∗AB)=R((AB)∗).(vii)
rank(AB)∗AB=rankB=rank(AB)∗.(viii)
B((AB)∗AB)(1)(AB)∗AB=B and (AB)∗AB((AB)∗AB)(1)(AB)∗=(AB)∗, for some (equivalently every) ((AB)∗AB)(1)∈(CAB){1}.(b)
If the statements in (a) are true, then the unique{2,3}-inverse of A with the prescribed range R(B) and null space N((AB)∗) is represented by(53)ARB,NAB∗2,3=BAB∗AB1AB∗=BUAB∗,for arbitrary((AB)∗AB)(1)∈((AB)∗AB){1} and arbitrary U∈Ck×k satisfying BU(AB)∗AB=B and (AB)∗ABU(AB)∗=(AB)∗.Corollary17 shows the equivalence between the first representation given in (53) of Corollary 16 and Corollary  1 from [31].Corollary 17.
LetA∈Cm×n and B∈Cn×k satisfy rankAB=rankB. Then(54)ARB,RAB⊥2,3=BAB1,3.Proof.
It suffices to verify(55)AB∗AB1AB∗=AB1,3.
Indeed, sincerankAB∗AB=rankAB, it follows that(56)ABAB∗AB1AB∗=AB.Now, the proof can be completed using the evident fact that AB((AB)∗AB)(1)(AB)∗ is the Hermitian matrix.In dual case, Corollary18 is an additional result to Corollary  1 from [31].Corollary 18.
LetA∈Cm×n and C∈Cl×m satisfy rankCA=rankC. Then(57)ANCA⊥,NC2,4=CA1,4C.Proof.
In this case, the identity(58)CA∗CACA∗1=CA1,4can be verified similarly.Theorem 19.
LetA∈Cm×n. Then(59)A1,2,4=A2RA∗,∗=A1,2RA∗,∗=A∗U∣U∈Cm×m,A∗UAA∗=A∗.Proof.
The equalities(60)A2RA∗,∗=A1,2RA∗,∗=A∗U∣U∈Cm×m,A∗UAA∗=A∗follow immediately from Theorem 3.
LetX∈A{1,2,4}, that is, A=AXA, X=XAX, and (XA)∗=XA, and set U=X∗X. Then(61)X=XAX=XA∗X=A∗X∗X=A∗U,A∗UAA∗=A∗X∗XAA∗=A∗X∗XA∗A∗=AXAXA∗=A∗.Conversely, let X=A∗U and A∗UAA∗=A∗, for some U∈Cm×m. According to (5) we have that X∈A{1,2}. On the other hand, by X=A∗U and A∗UAA∗=A∗ it follows that XAA∗=A∗, and it is well-known that it is equivalent to X∈A{1,4}. Thus, X∈A{1,2,4}.The following theorem can be verified in a similar way.Theorem 20.
LetA∈Cm×n. Then(62)A1,2,3=A2∗,NA∗=A1,2∗,NA∗=VA∗∣V∈Cn×n,A∗AVA∗=A∗.


## 4. Numerical Examples

All numerical experiments are performed starting from the zero initial condition.MATLAB and the Simulink version is 8.4 (R2014b).Example 21.
Consider(63)A=1-10000-110000-1-11-100-1-1-1100-1-1-102-1-1-10-1-12∈R56×6,B=0.7933720.2656550.1403050.6338240.3290020.1849270.1411695690.4274240.04685320.09793320.894949690.253673∈R26×2,C=0.7142970.7344620.7903051.18370350.8504461.1432190.5960750.56523030.7454581.0110210.7857121.0135700.7803870.9315960.6305811.230330.7231991.08767170.2982140.302359980.3376570.4962750.3618750.482631∈R44×6.(a) This part of the example illustrates results of Theorem 6 and it is based on the implementation of Algorithm 3. The matrices A,B,C satisfy rankB=2, rankC=4, and rankCAB=2. Since the conditions in (vii) of Theorem 6 are not satisfied, there is no an exact solution of the system of matrix equations BUCAB=B and CABUC=C. The outer inverse X=B(CAB)(1)C can be computed using the RNN approach, as follows. The Simulink implementation of Algorithm 3, which is based on the GGNN model for solving the matrix equation B(t)U(t)C(t)A(t)B(t)=B(t), gives the result which is presented in Figure 2. The display denoted by U(t) denotes an approximate solution of the matrix equation BU(t)CAB=B. The time interval is [0,0.5], the solver is ode15s, the power-sigmoid activation is selected, and γ=106.Step 1.
Solve the matrix equationB(t)U(t)C(t)A(t)B(t)=B(t) with respect to U(t) using an appropriate adaptation of the GGNN approach developed in [28, 29] and restated in (43). In the particular case, the model becomes(64)U˙t=-γBtTFBtUtCtAtBt-BtCtAtBtT.The matrix B is of full-column rank, and it possesses the left inverse Bl-1. Therefore, the matrix equation BUCAB=B is equivalent to the equation UCAB-I=0. Then the GGNN model (64) reduces to the well-known GNN model for computing the pseudoinverse of CAB. The GNN models for computing the pseudoinverse of rank-deficient matrices were introduced and described in [21]. We further confirm the results derived inMATLABSimulink by means of the programming packageMathematica.Mathematica gives (65)CAB†=1.760694.94967-7.505891.04706-1.49938-4.031145.8936-0.875175,which coincides with the result displayed in U(t) in Figure 2.Step 2.
The matrixX(t)=B(t)U(t)C(t) is showed in Figure 2, in the display denoted by ATS2. The residual norm of X is equal to XAX-X2=6.5360016∗10-15.
As a confirmation,Mathematica gives (66)X=BCAB†C=-0.83127-1.560450.352412-1.033870.135393-0.4490240.3602820.807398-0.3890350.384252-0.2676660.0308925-0.28009-0.5090810.0886387-0.3564870.0189951-0.1721530.1807060.424133-0.229680.183394-0.164812-0.008445370.02200410.0596765-0.04244470.0184201-0.0328727-0.0110591-0.977459-1.845140.432908-1.210680.175583-0.515159,which coincides with the contents of theDisplay Block denoted as ATS2 in Figure 2. Further, the matrix U=CAB† is an approximate solution of the matrix equations CABUC=C and BUCAB=B. Also, X=BUC is an approximate solution of (28), since (67)CABUC-C=CAX-C=2.23452290∗10-14,BUCAB-B=XAB-B=9.4574123∗10-15.Therefore, the equations in (28) are satisfied. In addition, (29) is satisfied by the definition of X. Therefore, X is an approximate (B,C)-inverse of A.
Trajectories of the entries in the matrixB(t)U(t)C(t) generated inside the time [0,5∗10-2], using γ=106 and ode15s solver, are presented in Figure 3.
(b) Dual approach in Theorem6, as well as in the implementation of Algorithm 3, is based on the solution of C(t)A(t)V(t)C(t)=C(t) and the associated outer inverse X1(t)=B(t)V(t)C(t). The Simulink implementation of the GGNN model which is based on the matrix equation CABV(t)C=C and the matrix product X1(t)=BV(t)C gives the result which is presented in Figure 4. The display denoted by V(t) represents an approximate solution of the matrix equation CABV(t)C=C. The time interval is [0,0.5], the solver is ode15s, the linear activation is selected, and γ=1011.
Since the matrixC is right invertible, the matrix equation CABV(t)C=C gives the dual form of the matrix equation for computing (CAB)†; that is, CABV(t)=I.
Therefore, bothX and X1 are approximations of the same outer inverse of A, equal to B(CAB)†C. To that end, it can be verified that X and X1 satisfy X-X1=4.143699∗10-11.
(c) The goal of this part of the example is to illustrate Theorem3 and Algorithm 1. The matrices A and B satisfy rankAB=rankB, so that it is justifiable to search for a solution U(t) of the matrix equation BU(t)AB=B and the initiated outer inverse X=BU. In order to highlight the results derived by the implementation of Algorithm 1 it is important to mention that (68)AB†=0.167297-0.1672970.00708203-0.123801-0.2363080.239756-0.2035280.203528-0.279822-0.0731705-0.112743-0.385548,BAB†=0.0786607-0.0786607-0.0687173-0.117658-0.2174310.0877929-0.1055290.105529-0.176364-0.0637471-0.104615-0.210730.0174033-0.0174033-0.0494166-0.0542619-0.0985950.00758195-0.06337560.0633756-0.118603-0.0487517-0.0815486-0.130946-0.01209380.0120938-0.027072-0.0129663-0.0221131-0.02652460.0980931-0.0980931-0.0646451-0.129357-0.2400830.116766∈A2RB,∗.On the other hand, the Simulink implementation gives another element BU(t) from A{2}R(B),∗, different from X1=(AB)†. The matrix BU(t) is presented in Figure 5. The display denoted by U(t) represents an approximate solution of the matrix equation BU(t)AB=B. The time interval is [0,10-2] and the solver is ode15s.
(d) The goal of this part of the example is to illustrate Theorem5 and Algorithm 2. Since rankCA=rankC, it is justifiable to search for a solution of the matrix equation CAVtC=C. The Simulink implementation of the GGNN model which is based on the matrix equation CtAtVtCt=Ct gives the result which is presented in Figure 6. The display denoted by Vt represents an approximation of Vt. The display denoted by ATS2 represents the matrix product X=VtCt. The time interval is 0,1 and the solver is ode15s. The activation is achieved by the power-sigmoid function. The corresponding outer inverse of A is X=VC∈A2∗,NC.
It is important to mention that the resultsVt and X=V(t)C given by the implementation of Algorithm 2 are different from the pseudoinverse of CA and (CA)†C, since (69)CA†=120140.129792.27421.9-618952.-90013.5-47865.2-6777.93329013.-52937.6-1464.193452.26120689.23062.-103225.-30460.2230800.-36793.4-112814.-28769.9388910.66669.217503.55777.9-740399.,CA†C=0.8004990.290122-0.192667-0.201861-0.0498093-0.0355252-0.714584-0.247028-0.0707528-0.0994969-0.155725-0.111067-0.615629-0.5528960.153409-0.2910120.0511091-0.03524180.4080510.436046-0.1546730.37013-0.115624-0.15416-0.373293-0.4414380.209825-0.01721560.0895808-0.1499520.5808710.558288-0.208561-0.0619027-0.02506550.339354∈A2∗,NC.Figure 3
Trajectories of elements of the matrixBUC.Figure 4
Simulink implementation of the GNN model for computingCABV(t)C=C, X1=BVC.Figure 5
Simulink implementation of the GNN model for computingBUAB=B, X=BU∈A{2}R(B),∗.Figure 6
Simulink implementation of the GNN model for computingCAVC=C, X=VC∈A2∗,N(C).Example 22.
The aim of the present example is a verification of Theorem6 and Algorithm 3 in the important case B=C=AT. For this purpose, we consider the same matrix A as in Example 21. TheMathematica function Pseudoinverse gives the following exact Moore-Penrose inverse of A: (70)A†=14-14-14-1400-1414-14-140000120-14-1400012-14-1400-16-1351211200-13-16112512.It can be approximated using the Simulink implementation of Algorithm 3 corresponding to the choice B=C=AT. Indeed, according to Example 21, the Simulink implementation of Algorithm 3 approximates the outer inverse ATATAAT†AT=A†. The implementation and generated results are presented in Figure 7. The GGNN model underlying the implementation is (71)U˙t=-γAtFAtTUtAtTAtAtT-AtTAtTAtAtTT.The display denoted by U(t) represents an approximate solution of the matrix equation ATU(t)ATAAT=AT and the display denoted by MP represents an approximation of A†. The time interval is [0,0.001], the solver is ode15s, and the scaling parameter is assigned to γ=108.Figure 7
Simulink implementation of the GNN model for computingA† using Algorithm 3.Figure 8
Simulink implementation of Algorithm9.Algorithm 9:Alternative computing of a {1,2}-inverse with the prescribed range and null space.
Require: Time varying matrices A(t)∈Cm×n, B(t)∈Cn×k and C(t)∈Cl×m.
Require: Verify rankCtAtBt=rankBt=rankCt=rankAt.
If these conditions are satisfied then continue.
(1) Solve the matrix equationBtUtCtAtBt=B(t) with respect to an unknown matrix Ut∈Ck×m.
(2) ReturnX(t)=BtUtCt=A(t)R(B),N(C)(1,2).Example 23.
Let us consider the same matrixA as in Example 21 and (72)B=0.8955160.05760960.250430.4755320.8624710.7920790.2484490.8803750.5672390.92820.8088970.6022330.04921110.886860.7694420.2586990.7117490.9617890.5566870.8800790.6651720.1641820.336160.8920390.5649320.6405870.5788980.2782480.8732790.660159∈R56×5,C=0.3511240.4725230.7963770.8102860.4847980.2863830.5058330.7170460.2461850.8109560.227640.3631350.4992750.4170290.4424840.5967160.5730460.7988640.5136330.3800530.3173290.9916150.9176410.7743030.9694990.2913560.9262720.7365670.6098070.807355∈R55×6.The matrices B and C are generated with the purpose of illustrating Theorem 12 and Algorithms 8 and 9. Conditions (iv) and (v) of Theorem 12 are satisfied. Therefore, it is expectable that the results generated by Algorithms 8 and 9 are the same.
The Simulink implementation of Algorithm9 generates results presented in Figure 8. The simulation is performed within the time interval which is [0,10], the scaling constant is γ=107, and the selected solver is ode15s.
The Simulink implementation of Algorithm8 generates the results presented in Figure 9. The time interval is [0,0.5], γ=1011, and the solver is ode15s.
As a verification,Mathematica gives the following result: (73)X1=ARB,NC1,2=BAB†ACA†C=0.0923811-0.407619-0.25-0.25-7.882583475∗10-15-1.78745907∗10-14-0.500161-0.00016084-0.25-0.25-1.776356839∗10-15-3.44169138∗10-154.4104-2.59426-14.9626-3.153033.9632412.65094.73567-2.269-15.4626-2.653033.9632412.65093.75197-3.2527-15.6292-3.486364.6299112.98424.31832-2.68635-15.7959-3.31974.2965713.3175.
Let us observe thatX=AR(B),N(C)(1,2)=B(CAB)†C and X1=B(AB)†A(CA)†C are very close with respect to the Frobenius norm, since X-X1=4.710014456589536∗10-12. In the case U=(CAB)† and X=BUC, the matrix equations CAX=CABUC=C and XAB=BUC=B are satisfied, since (74)CABUC-C=1.631647583439993∗10-13,BUCAB-B=2.405407190529498∗10-13.Figure 9
Simulink implementation of Algorithm8.Example 24.
(a) Consider the time-varying symmetric matrixS5, belonging to n×n matrices Sn of rank n-1 from [32]: (75)S5t=t+1tttt+1tt-1tttttt+1tttttt-1tt+1tttt+1.
The Moore-Penrose inverse ofS5(t) is equal to (76)S5t†=1-t4t2-t2t21-t4t2-t-1t-tt2-t2t1-tt-t2t2-tt-t-1t21-t4t2-t2t21-t4.
Figure10 shows the Simulink adopted computation of S5(t)† in the time period [0,5∗10-7] using the solver ode15s and the parameter γ=108.
Trajectories of approximations of the entries in the matrixS5(t)† inside the time 0,5∗10-7 and generated using γ=108 are presented in Figure 11. It is evident that these trajectories follow the graphs of the corresponding different expressions (representing entries) in S5†.
(b) Now, consider the following matricesB(t) and C(t) in conjunction with S5(t): (77)Bt=2t+1ttt2t-1ttt2t+1ttt2t+1tt,Ct=t2+1t2t2t2t2+1t2t2-1t2t2t2t2t2t2+1t2t2. The outer inverse S5(t)R(B),N(C)(2) of S5(t) corresponding to B(t) and C(t) is equal to(78)S5tRB,NC2=BCS5tB-1C=-10t5+6t4+3t3-t2+t+1-63t5+42t4-t3+2t2+8t+4t15t4+t3+6t2-263t5-42t4+t3-2t2-8t-4t-15t4+13t3-8t2+4t+263t5-42t4+t3-2t2-8t-4t2-20t3+6t2+3t-163t5-42t4+t3-2t2-8t-4-10t5+6t4+3t3-t2+t+1-63t5+42t4-t3+2t2+8t+4t-2t4+3t3+8t2-3t-263t5-42t4+t3-2t2-8t-4-66t5+13t4-25t3+2t2+12t+463t5-42t4+t3-2t2-8t-4t3t4+t3+16t2-8t-463t5-42t4+t3-2t2-8t-4t267t3-9t2-18t-463t5-42t4+t3-2t2-8t-4t-2t4+3t3+8t2-3t-263t5-42t4+t3-2t2-8t-4t-16t4+13t3-6t2+3t+263t5-42t4+t3-2t2-8t-4t39t4-7t3+8t2-463t5-42t4+t3-2t2-8t-4-24t5+7t4+15t3-6t2+4t+4-63t5+42t4-t3+2t2+8t+4t2-31t3+13t2+2t-463t5-42t4+t3-2t2-8t-4t-16t4+13t3-6t2+3t+263t5-42t4+t3-2t2-8t-4t2t4-3t3+t2-5t+1-63t5+42t4-t3+2t2+8t+4-t3t4+29t3+6t2+18t+463t5-42t4+t3-2t2-8t-4t3t4+t3-2t2+10t-463t5-42t4+t3-2t2-8t-4t34t2+33t-163t5-42t4+t3-2t2-8t-4t2t4-3t3+t2-5t+1-63t5+42t4-t3+2t2+8t+4-10t5+6t4+3t3-t2+t+1-63t5+42t4-t3+2t2+8t+4t15t4+t3+6t2-263t5-42t4+t3-2t2-8t-4t-15t4+13t3-8t2+4t+263t5-42t4+t3-2t2-8t-4t2-20t3+6t2+3t-163t5-42t4+t3-2t2-8t-4-10t5+6t4+3t3-t2+t+1-63t5+42t4-t3+2t2+8t+4.Its computation in the time period [0,5∗10-2] using solver ode15s and the parameter γ=1011 is presented in Figure 12.Figure 10
The Simulink adopted for computation ofS5t†.Figure 11
Trajectories of elements of the matrixS5(t)†.Figure 12
The Simulink model for computingB(t)(C(t)S5(t)B(t))(1)C(t).Example 25.
Here we discuss the behaviour of Algorithm3 in the case when the condition rankCAB=rankB=rankC is not satisfied. For this purpose, let us consider the matrices (79)A=5-8-162406-11-18240-71426-360-4816-2302-6-1012-3,B=18-34-5272-836-72-1081440-3682130-1688-184370-908-3670100-1322,C=-21012-1244-6-121602-6-44-44-10-1214-46-15-2226-4.These matrices do not satisfy the requirement rankCAB=rankB=rankC of Algorithm 3, since (80)rankA=5,rankB=4,rankC=3,rankCAB=2.On the other hand, the conditions rankAB=rankB and rankCA=rankC are valid, so that the conditions required in Algorithms 1 and 2 hold. An application of Algorithm 3 in the time 0,10-9, based on the scaling constant γ=107 and the ode15s solver, gives the results for Ut and X=BUC as it is presented in Figure 13.
An application of the dual case of Algorithm3 in the time [0,10-8], based on the scaling constant γ=107 and the ode15s solver, gives the results for V(t) and X=BVC as it is presented in Figure 14.
Trajectories of the elements of the matrixB(t)U(t)C(t) in the period of time [0,10-9] are presented in Figure 15.
According to the obtained results, the following can be concluded.(1)
The matrix equationBUCAB=B is not satisfied, since BUCAB-B=39.53256. This fact is expectable since the conditions rankCAB=rankB=rankC are not satisfied nor is the matrix B invertible. Similarly, the matrix equation BUCAB=B is not satisfied, since CABVC-C=27.412588.(2)
Both the matricesU and V are approximations of (CAB)†, since (81)CAB†=0.03455880.0.03210780.0154412-0.0178922-0.01165580.-0.0105664-0.005010890.006100220.02276690.0.02167760.0105664-0.01165580.0002723310.-0.000272331-0.000272331-0.000272331-0.02303920.-0.0214052-0.01029410.0119281.This means that the solutions of the matrix equationsBUCAB=B and CABVC=C given by the GNN model approximate the solution of the GNN model corresponding to the matrix equations UCAB=I and CABV=I, respectively, which is equal to CAB†.(3)
Accordingly, the output denoted byATS2 approximates the outer inverse (82)X=BCAB†C=-0.5375821.574351.91993-2.150330.614379-0.4921570.0127451-2.013732.031371.019610.383661.019284.28693-4.46536-1.124180.2375820.3756541.98007-2.04967-0.6143790.715033-1.37974-0.6679740.860131-1.04575exactly in five decimals. In conclusion, the Simulink implementation of Algorithm3 computes the outer inverse X=B(CAB)†C which satisfies condition (29) from the definition of the (B,C)-inverse, but not condition (28) from the same definition. In other words, X satisfies neither R(X)=R(B) nor N(X)=N(C).(4)
Observations2 and 3 finally imply that the GGNN model can be used for online time-varying pseudo-inversion of both the matrices A and CAB.Figure 13
The implementation of Algorithm3 when its conditions are not satisfied.Figure 14
Dual implementation of Algorithm3 when its conditions are not satisfied.Figure 15
Trajectories of elements inB(t)U(t)C(t) in the period of time [0,10-9].


## 5. Conclusion

The contribution of the present paper is both theoretical and computationally applicable. Conditions for the existence and representations of{2}-, {1,2}-, and {1}-inverses with some assumptions on their ranges and null spaces are proposed. A new computational framework for these generalized inverses is proposed. This approach arises from the derived general representations and involves solutions of certain matrix equations. In general, the methods and algorithms proposed in the present paper are aimed at computation of various classes of generalized inverses of the form B(CAB)(1)C, where (CAB)(1) are solutions of the proposed matrix equations solvable under specified conditions.Our decision is to apply the GGNN approach in finding solutions of required matrix equations. Also, we use Simulink implementation of the underlying RNN models. This decision allows us to extend derived algorithms to time-varying matrices. Also, such an approach makes it possible to compute two types of generalized inverses, namely, inner and/or outer inverses ofA and inner inverses of the matrix product CAB. Illustrative numerical examples and simulation examples are presented to demonstrate validity of the derived theoretical results and proposed methods.It is worth mentioning that the blurring process which is applied on the original imageF and produces the blurred image G is expressed in the form of a certain matrix equation of the form(83)G=HcFHrT,G∈Rm1×m2,Hc∈Rm1×r,F∈Rr×s,Hr∈Rm2×s,wherein it is assumed that s=m2+n1-1, r=m1+n2-1, where n1 (resp., n2) is the length of the horizontal (resp., vertical) blurring in pixels. Solutions of these types of matrix equations which are based on the pseudoinverse of Hc and Hr and least squares solutions were investigated in [33–35]. Possible application of the proposed algorithms in finding least squares solutions of matrix equation (83) could be useful for further research.



---

*Source: 6429725-2017-06-05.xml*