Why do we use x_complex rather than std::complex when targeting the linear algebra library?
Because the std::complex types can result in a smaller bitwidth, I would expect this to be the preferred option.
The linear algebra library was first written in the 2013.x timeframe.
At this time, the VHLS tool had scheduling problems with the std::complex constructor.
For that reason, x_complex was used instead.
x_complex had also been optimized for hardware resource mapping.
While the std::complex now works well with VHLS (for example, in the DSP Library functions), the linear algebra library has not been updated to use it.