At EI'2009 in San Jose I presented the paper "The Opposite of Green is Purple?"
The abstract of this paper is below :
The conventional understanding of opponent colors has red and green as one axis and yellow and blue on a second axis. This perceptual opponency is a result of the trichromatic nature of human color vision in combination with subsequent processing in the visual system. This red-green and yellow-blue opponency is fundamental to many different color spaces. CIELAB, CIELUV, CIECAM02, IPT, YCC and more all incorporate this concept of chromatic opponency. In most cases the yellow and blue opponent axes are reasonable. However for the red-green axis it is more like a purple- green axis due to a consistent, significant bending of the red-green axis. Is dark purple the opposite of green? This paper summarizes the result of analyzing a wide range of color spaces based on their actual opponency. The consistent limitation of a shared matrix formulation for opponency is discussed and finally a simple, invertible color space is considered. The angular differences between quadrants and computed antonyms is shown to be significantly more consistent using this hypothetical alternative color space.
The full paper is here.

As an alternative to a 3x3 matrix, a min() operator is used to compute an opponent channel for a YCiCii encoding.
So to convert RGB to YCiCii (and back again) the following can be used :
Still a decent model for the after imagecolors seen in Figure 1.

Moroney, N. (2009, January). The opposite of green is purple?. In Color Imaging XIV: Displaying, Processing, Hardcopy, and Applications (Vol. 7241, pp. 160-166). SPIE.