Recall that an element of a finite group is said to be real if it is conjugate to its inverse, and strongly real if the conjugating element can be chosen to be an involution.


**Question:** Is it true that for the 26 sporadic finite simple groups, all real elements of odd order are strongly real, apart from elements in the *Atlas* classes 3A and 5A of the McLaughlin simple group $M^cL$?


My question is motivated by this Mathoverflow question of A.Rupinski: [Why are there so few quaternionic representations of simple groups ?](https://mathoverflow.net/q/54800/10446) . As noted there, $M^cL$ is the only sporadic finite simple group which has `quaternionic' representations. From the *Atlas*, the irreducible characters $\chi\_{10}$ and $\chi\_{13}$ of $M^cL$ each have Frobenius-Schur indicator $-1$.


The literature on `strongly real' finite simple groups usually looks at all conjugacy classes, not the classes of odd order elements.


I suspect that the number of (irreducible) quaternionic representations of a finite group is greater than or equal to the number of real conjugacy classes of odd order elements which are not strongly real. This might even be a known open conjecture.


PS


General discussion on relation between numbers of real/complex/quaternionic 
conjugacy classes and irreducible representations can be found here:
[MO46900: Are there “real” vs. “quaternionic” conjugacy classes in finite groups?](https://mathoverflow.net/q/46900/10446)



Strongly real elements of odd order in sporadic finite simple groups
If my coding is correct, then the answer to your question is **Yes**: All real elements of odd order in the sporadic simple groups are strongly real, with the exception of 3a, 5a in McL. With GAP, it takes only about a second to check the tables. 


The following GAP function returns the class position of all strongly real classes in a character table:



```
StronglyRealClasses:= function( tbl )
    local kG,         # nr conjugacy classes
          invs,       # class positions of involutions
          nrinvs,     # nr of involutions
          sreals,     # class positions of strongly real classes
          prodcls,    # class positions in a product of 
                      # two involution class sums
          i, j, k;

    kG:= NrConjugacyClasses( tbl );

    invs:= Positions( OrdersClassRepresentatives( tbl ), 2 );
    nrinvs:= Length( invs );

    sreals:= [ ];

    for i in [ 1 .. nrinvs ] do 
    for j in [ i .. nrinvs ] do

        prodcls:= Filtered( [ 1..kG ], 
                    k-> ClassMultiplicationCoefficient(tbl, invs[i], invs[j], k) <> 0 
                    );
        UniteSet( sreals, prodcls );

    od; 
    od;
    return sreals;
end;

```

(This is quite naive. You could modify this function by omitting the inner `for` loop and replace `invs[j]` by `invs[i]`, to make the function more efficient for your intended application of odd order strongly real elements, as suggested in your comment. But since it takes only about a second on my desktop computer to apply the above function to all the sporadic tables, I did not bother to rewrite it.) 


The following function returns the class positions of all real elements of odd order, but not strongly real:



```
RCoOOnSR:= function( tbl )
    local rc, ooc, src;

    rc:= RealClasses( tbl );
    ooc:= PositionsProperty( OrdersClassRepresentatives( tbl ), IsOddInt );
    src:= StronglyRealClasses( tbl );

    return Difference( IntersectionSet( rc, ooc ), src );
end;

```

(Type `ClassNames( tbl ){ RCoOOnSR( tbl ) };` to get *names* of the classes.) 


