プチコンでは虚数を表現できません。 では複素数をどうやって表現するかというと、浮動小数点数を二つ使って、 「片方は実数部、片方は虚数部を表す」 という約束事を決めて、その約束事に則って計算すればいいわけです。 a, b, c, d が a+bi, c+di という複素数を表すことにすれば、 加算は 実部=a+c, 虚部=b+d と計算すればいいし 乗算は 実部=a*c-b*d, 虚部=ad+bc と計算すればいいのです。 マンデルブロ集合の計算などはこの手法。 あまさとさんご指摘の高度サウンドユニット版fftの場合は、実数部を表す配列と虚数部を表す配列を引数に渡しますね。 大浦fft[key=43SEAXMD]というパッケージでは、配列を一つだけ使い、 「z[2*i]はi番目の実数部、z[2*i+1]はi番目の虚数部を表す」 という約束事に則って処理します。