Full references: https://www.gnu.org/software/gsl/doc/html/vectors.html#

/*  複數  */
#  define GSL_COMPLEX_DEFINE(R, C) typedef struct { R dat[2]; } C ;
GSL_COMPLEX_DEFINE(double, gsl_complex)

/*  複數向量  */
typedef struct 
{
  size_t size;
  size_t stride;
  double *data;
  gsl_block_complex *block;
  int owner;
} gsl_vector_complex;

/*  複數向量view  */
typedef struct
{
  gsl_vector_complex vector;
} _gsl_vector_complex_view;

/*  複數矩陣  */
typedef struct 
{
  size_t size1;
  size_t size2;
  size_t tda;
  double * data;
  gsl_block_complex * block;
  int owner;
} gsl_matrix_complex ;