FNFT
Loading...
Searching...
No Matches
fnft__manakov_scatter.h
Go to the documentation of this file.
1/*
2* This file is part of FNFT.
3*
4* FNFT is free software; you can redistribute it and/or
5* modify it under the terms of the version 2 of the GNU General
6* Public License as published by the Free Software Foundation.
7*
8* FNFT is distributed in the hope that it will be useful,
9* but WITHOUT ANY WARRANTY; without even the implied warranty of
10* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11* GNU General Public License for more details.
12*
13* You should have received a copy of the GNU General Public License
14* along with this program. If not, see <http://www.gnu.org/licenses/>.
15*
16* Contributors:
17* Lianne de Vries (TU Delft student) 2021.
18* Sander Wahls (TU Delft) 2021.
19*/
20
27#ifndef FNFT__MANAKOV_SCATTER_H
28#define FNFT__MANAKOV_SCATTER_H
29
31#include <stdio.h>
32#include <string.h> // for memcpy
33#include "fnft__errwarn.h"
34#include "fnft__misc.h"// for square_matrix_mult
35
59 FNFT_COMPLEX const * const q1,
60 FNFT_COMPLEX const * const q2,
61 FNFT_REAL const eps_t,
62 FNFT_UINT const K,
63 FNFT_COMPLEX const * const lambda,
64 FNFT_INT const kappa,
65 FNFT_COMPLEX * const result,
66 fnft_manakov_discretization_t const discretization);
67
68#ifdef FNFT_ENABLE_SHORT_NAMES
69#define manakov_scatter_matrix(...) fnft__manakov_scatter_matrix(__VA_ARGS__)
70#endif
71
72#endif
Properties of the discretization for the Manakov equation.
FNFT_INT fnft__manakov_scatter_matrix(FNFT_UINT const D, FNFT_COMPLEX const *const q1, FNFT_COMPLEX const *const q2, FNFT_REAL const eps_t, FNFT_UINT const K, FNFT_COMPLEX const *const lambda, FNFT_INT const kappa, FNFT_COMPLEX *const result, fnft_manakov_discretization_t const discretization)
Computes the scattering matrix.
Miscellaneous functions used in the FNFT library.
fnft_manakov_discretization_t
Enum that specifies discretizations and methods used to compute nonlinear Fourier transforms for the ...
Definition fnft_manakov_discretization_t.h:88
size_t FNFT_UINT
Definition fnft_numtypes.h:62
double complex FNFT_COMPLEX
Definition fnft_numtypes.h:47
int32_t FNFT_INT
Definition fnft_numtypes.h:56
double FNFT_REAL
Definition fnft_numtypes.h:40