Dibujemos la función:

(%i2) f( x) : = x * %e ^( 1 - x ^ 2) $
wxplot2d( f( x),[ x, - 3, 3]) ;
(%t2)  (Gráficos)
(%o2)

Recordemos que una función doblemente diferenciable es cóncava en un intervalo si su segunda derivada es negativa en él; si es positiva será convexa.

(%i4) define( df2( x), diff( f( x), x, 2)) ;
wxplot2d( df2( x),[ x, - 3, 3]) ;
(%o3) df2 ( x ) := 4 x 3 %e 1 x 2 6 x %e 1 x 2 (%t4)  (Gráficos)
(%o4)

Necesitamos los puntos donde df2(x) se hace cero, para eso utilizaremos find_root()

(%i5) ceros :[ find_root( df2( x), x, - 2, - 1),
   find_root( df2( x), x, 1, 2)] ;
(ceros) [ 1.224744871391589 , 1.224744871391589 ]
(%i6) wxdraw2d( filled_func =false, fill_color = blue, explicit( df2( x), x, - 3, 3),
   filled_func =false, color = red, line_width = 3, explicit( df2( x), x, 0, ceros[ 2]),
   filled_func =false, color = red, line_width = 3, explicit( df2( x), x, - 3, ceros[ 1]),
   xaxis =true, yaxis =true) ;
0 errores, 0 advertencias (%t6)  (Gráficos)
(%o6)

Created with wxMaxima.