Integer type:  int32  int64  nag_int  show int32  show int32  show int64  show int64  show nag_int  show nag_int

Chapter Contents
Chapter Introduction
NAG Toolbox

NAG Toolbox: nag_sum_conjugate_hermitian_mult_rfmt (c06gq)

Purpose

nag_sum_conjugate_hermitian_mult_rfmt (c06gq) forms the complex conjugates of m$m$ Hermitian sequences, each containing n$n$ data values.
Note: this function is scheduled to be withdrawn, please see c06gq in Advice on Replacement Calls for Withdrawn/Superseded Routines..

Syntax

[x, ifail] = c06gq(m, n, x)
[x, ifail] = nag_sum_conjugate_hermitian_mult_rfmt(m, n, x)

Description

This is a utility function for use in conjunction with nag_sum_fft_real_1d_multi_rfmt (c06fp) and nag_sum_fft_hermitian_1d_multi_rfmt (c06fq) to calculate inverse discrete Fourier transforms (see the C06 Chapter Introduction).

None.

Parameters

Compulsory Input Parameters

1:     m – int64int32nag_int scalar
m$m$, the number of Hermitian sequences to be conjugated.
Constraint: m1${\mathbf{m}}\ge 1$.
2:     n – int64int32nag_int scalar
n$n$, the number of data values in each Hermitian sequence.
Constraint: n1${\mathbf{n}}\ge 1$.
3:     x( m × n ${\mathbf{m}}×{\mathbf{n}}$) – double array
The data must be stored in x as if in a two-dimensional array of dimension (1 : m,0 : n1)$\left(1:{\mathbf{m}},0:{\mathbf{n}}-1\right)$; each of the m$m$ sequences is stored in a row of the array in Hermitian form. If the n$n$ data values zjp${z}_{j}^{p}$ are written as xjp + i yjp${x}_{j}^{p}+i{y}_{j}^{p}$, then for 0 j n / 2$0\le j\le n/2$, xjp${x}_{j}^{p}$ is contained in x(p,j)${\mathbf{x}}\left(p,j\right)$, and for 1 j (n1) / 2$1\le j\le \left(n-1\right)/2$, yjp${y}_{j}^{p}$ is contained in x(p,nj)${\mathbf{x}}\left(p,n-j\right)$. (See also Section [Real transforms] in the C06 Chapter Introduction.)

None.

None.

Output Parameters

1:     x( m × n ${\mathbf{m}}×{\mathbf{n}}$) – double array
The imaginary parts yjp ${y}_{j}^{p}$ are negated. The real parts xjp ${x}_{j}^{p}$ are not referenced.
2:     ifail – int64int32nag_int scalar
${\mathrm{ifail}}={\mathbf{0}}$ unless the function detects an error (see [Error Indicators and Warnings]).

Error Indicators and Warnings

Errors or warnings detected by the function:
ifail = 1${\mathbf{ifail}}=1$
 On entry, m < 1${\mathbf{m}}<1$.
ifail = 2${\mathbf{ifail}}=2$
 On entry, n < 1${\mathbf{n}}<1$.

Exact.

None.

Example

```function nag_sum_conjugate_hermitian_mult_rfmt_example
m = int64(3);
n = int64(6);
x = [0.3854;
0.5417;
0.9172;
0.6772;
0.2983;
0.0644;
0.1138;
0.1181;
0.6037;
0.6751;
0.7255;
0.643;
0.6362;
0.8638;
0.0428;
0.1424;
0.8723;
0.4815];
[xOut, ifail] = nag_sum_conjugate_hermitian_mult_rfmt(m, n, x)
```
```

xOut =

0.3854
0.5417
0.9172
0.6772
0.2983
0.0644
0.1138
0.1181
0.6037
0.6751
0.7255
0.6430
-0.6362
-0.8638
-0.0428
-0.1424
-0.8723
-0.4815

ifail =

0

```
```function c06gq_example
m = int64(3);
n = int64(6);
x = [0.3854;
0.5417;
0.9172;
0.6772;
0.2983;
0.0644;
0.1138;
0.1181;
0.6037;
0.6751;
0.7255;
0.643;
0.6362;
0.8638;
0.0428;
0.1424;
0.8723;
0.4815];
[xOut, ifail] = c06gq(m, n, x)
```
```

xOut =

0.3854
0.5417
0.9172
0.6772
0.2983
0.0644
0.1138
0.1181
0.6037
0.6751
0.7255
0.6430
-0.6362
-0.8638
-0.0428
-0.1424
-0.8723
-0.4815

ifail =

0

```