One hypothesis:
If mathematica's using this set of formulae to convert from XYZ to RGB:
//This is coming from www.easyrgb.com var_X = X / 100 //X from 0 to 95.047 (Observer = 2°, Illuminant = D65) var_Y = Y / 100 //Y from 0 to 100.000 var_Z = Z / 100 //Z from 0 to 108.883 var_R = var_X * 3.2406 + var_Y * -1.5372 + var_Z * -0.4986 var_G = var_X * -0.9689 + var_Y * 1.8758 + var_Z * 0.0415 var_B = var_X * 0.0557 + var_Y * -0.2040 + var_Z * 1.0570 if ( var_R > 0.0031308 ) var_R = 1.055 * ( var_R ^ ( 1 / 2.4 ) ) - 0.055 else var_R = 12.92 * var_R if ( var_G > 0.0031308 ) var_G = 1.055 * ( var_G ^ ( 1 / 2.4 ) ) - 0.055 else var_G = 12.92 * var_G if ( var_B > 0.0031308 ) var_B = 1.055 * ( var_B ^ ( 1 / 2.4 ) ) - 0.055 else var_B = 12.92 * var_B R = var_R * 255 G = var_G * 255 B = var_B * 255
AND, if their algorithm tries to normalize the result to have the highest R or G or B value to be equal to 255
AND, if any RGB value below 0 is simply ignored and set to 0
THEN, 570 nm having the CIE xy coordinates:
x = 0.4441 y = 0.5547
Should give, after following these rules, the XYZ values:
X = 72.77 // this is proportionnal to Y Y = 90.89 // this is to give the value 255 to the G value Z = 0.2 // this is proportionnal to Y (and extremely low!)
These values give the following rounded RGB values at gamma = 2.4
R = 230 G = 255 B = - 471
Of course, if you cut the - 471 and replace it with 0, that makes quite a difference, let's see what CIE L*a*b* basic delta E color difference formulae will say (the delta E is just the Cartesian distance between 2 points in the CIE L*a*b* colorspace)
We call C the original conversion an C' the 'minus-cut' value
C L*= 96.367 a*= -26.924 b*= 163.337 C' L*= 95.305 a*= -31.712 b*= 92.307
The delta E is:
D = sqrt((96.367-95.305)^2+(-26.924+31.712)^2+(163.337-92.307)^2) D = -71.199 (!!!!)
Knowing that a delta E superior to 1~2 is supposed to be perceptible, we see that here the color difference is supposed to be HUGE
One can argue that a color difference formula applied in this context might not be appropriated, and be right thinking so, but it is still a good illustration of what cutting negative values will produce...
Strangely, the software from EasyRGB is giving the following values, which are more yellowish:
R = 250.46 G = 255 B = 0
Couldn't find why...
**
EDIT:
Anyway,
Never forget that fact that it is simply impossible to display any spectral color on a screen!
Spectral colors in RGB will produce Red/Green/Blue values above 255 or below 0, When it's RED = 380 or -600, the difference between what's displayed and what it should be is SIGNIFICANT.
A better way I know to render the color spectra on a computer screen is to compute a mixture of white light + spectral colors, like this guy Nick Spiker did:

The principle is: white light is added until the negative values become positive or 0 and until the RGB values are below or equal to 255
This rendering gives you a visual result which is close to what spectral lights viewed in daylight conditions look like, and it is more exact than anything else I.M.Opinion.
EDIT 2 Example:
You can download Mr Pointer's material-colors gamut data here: http://www.cis.rit.edu/mcsl/online/cie.php
This database is my source for the CIE x,y coordinates of the spctral colors at a resolution of 1 nm (the spectrum locus)
The most simple way to render spectra + white light at the maximal saturation (or highest chroma) level is pick a white light (either illuminant D75, D65, D50, or C, or anything else you have at your disposal...)
I take D65, which has normalized CIE XYZ coordinates:
X = 95.047 Y = 100 Z = 108.883
Then I take all the xy coordinates of the spectrum locus and I transform them in normalized XYZ with the Y value given by the Y colorimetric function multiplied by the D65 curve (so this is the D65 spectrum), and normalized at: Ymax = Y 555nm = 100
Finally, I average the two values (XYZ D65)*a and (XYZ locus)*b, with a, b being weighted such as the RGB conversion of the result will have: min R or/and min G or/and min B = 0 and max R or/and max G or/and max B = 255
That's the basic idea
Yellowcolor when using such a function with its argument set to yellow wavelength? There already is the built-in color mapping and it works pretty well. $\endgroup$