## fgf = f, gfg = g, fg not necessarily identity, what was that called?

### Remember to vote up questions/answers you find interesting or helpful (requires 15 reputation points)

A very simple question, I just totally forgot how it was called, and google is not helping.

There's a pair of functions $f:X\to Y$, $g:Y\to X$.

$fgf = f$, $gfg = g$, but $fg$ and $gf$ don't need to be identities (and usually are not in interesting cases).

A simple example would be $f(a,b,c)=(a,b)$, $g(a,b)=(a,b,0)$

What were $f$ and $g$ called?

-

The notion of a von Neumann inverse or of a von Neumann regular element has some resemblance to what you're looking for. – Matthias Künzer Apr 26 2011 at 8:56

## 2 Answers

It is called "generalized inverse". In that case $fg$ and $gf$ are idempotents. In particular, if you have a semigroup of maps $X\to X$ (i.e. a set of maps closed under composition) such that every $f$ has a generalized inverse, the semigroup is called regular. If the generalized inverse is unique, the semigroup is called inverse. See Clifford and Preston "Algebraic theory of semigroups".

-
Yes, $fg$ and $gf$ would be idempotents. I'm sure the name was something else than "generalized inverse" back when I learned it. It was in context of computer science and program analysis, $f$ would normally project to a simpler domain, $g$ would expand back. If $fgf=f$ and $gfg=g$, this allows every function of tuples of $X$ to be extended to tuples of $Y$. Or something like that. Does it help? – t-a-w Apr 23 2011 at 1:25

3
I do not know the application you have in mind, unfortunately. In the case of matrices (i.e. linear maps from ${\mathbb R}^n$ to ${\mathbb R}^m$), it is sometimes called pseudoinverse (see, say, en.wikipedia.org/wiki/…). – Mark Sapir Apr 23 2011 at 2:02
In your case, by the way, you have two linear transformations $(a,b,c)\to (a,b)$ and $(a,b)\to (a,b,0)$ which are Moore-Penrose pseudoinverses of each other. – Mark Sapir Apr 23 2011 at 3:41

2
@t-a-w: In domain theory you'd have seen Galois connections - is that it? – Colin McQuillan Apr 23 2011 at 9:19
Thanks, "galois connections" is just the name I've been looking for. Too bad I cannot accept a comment as answer, so I'll accept this one and upvote the comment. – t-a-w Apr 23 2011 at 13:30
show 2 more comments

### You can accept an answer to one of your own questions by clicking the check mark next to it. This awards 15 reputation points to the person who answered and 2 reputation points to you.

Linear case

In the linear case, these identities are part of the definition of the Moore-Penrose pseudo-inverse, which exists and is unique. Given $A\in M_{p\times q}(\mathbb C)$, its MPpi is the matrix $A^\dagger\in M_{q\times p}(\mathbb C)$ that satisfies $$AA^\dagger A=A,\qquad A^\dagger AA^\dagger=A^\dagger,\qquad(AA^\dagger)^H=AA^\dagger,\qquad(A^\dagger A)^H=A^\dagger A,$$ where the superscript $H$ stands for the Hermitian adjoint.

If $A\in GL_n(\mathbb C)$, then $A^\dagger=A^{-1}$. But otherwise, $AA^\dagger$ and $A^\dagger A$ are only unitary projections.

Nonlinear case

The situation where $f=g$ is amazing: one looks at functions $h$ such that $h\circ h\neq {\rm id}$, whereas $h\circ h\circ h=h$. Then we have $h^{(2k)}=h^2$ and $h^{(2k-1)}=h$ for every $k\ge1$.

Such an $h$ can be obtained by the following construction, when we are given $f,g$ such that $fgf=f$, $gfg=g$ and at least one of $fg$ or $gf$ is not the identity. Just define $h(x,y)=(f(x),g(y))$ on the cartesian product.

Application: take for $f$ the backward shift on $\ell^p({\mathbb N})$ and for $g$ the forward shift.

-
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 50, "mathjax_display_tex": 1, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 20, "end_threshold": 15, "enable": false}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.9452020525932312, "perplexity_flag": "head"}