#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "az_aztec.h"
#include "azk_komplex.h"
Include dependency graph for azk_destroy_linsys.c:
Functions  
void  AZK_destroy_linsys (int *options, double *params, int *proc_config, double **x, double **b, AZ_MATRIX **Amat_komplex) 
Destroy a Komplex System. 
KOMPLEX is an addon module to AZTEC that allows users to solve complexvalued linear systems.
KOMPLEX solves a complexvalued linear system Ax = b by solving an equivalent realvalued system of twice the dimension. Specifically, writing in terms of real and imaginary parts, we have
or by separating into real and imaginary equations we have
which is a realvalued system of twice the size. If we find xr and xi, we can form the solution to the original system as x = xr +i*xi.
KOMPLEX accept user linear systems in three forms with either global or local index values.
1) The first form is true complex. The user passes in an MSR or VBR format matrix where the values are stored like Fortran complex numbers. Thus, the values array is of type double that is twice as long as the number of complex values. Each complex entry is stored with real part followed by imaginary part (as in Fortran).
2) The second form stores real and imaginary parts separately, but the pattern for each is identical. Thus only the values of the imaginary part are passed to the creation routines.
3) The third form accepts two realvalued matrices with no assumption about the structure of the matrices. Each matrix is multiplied by a usersupplied complex constant. This is the most general form.
Each of the above forms supports a global or local index set. By this we mean that the index values (stored in bindx) refer to the global problem indices, or the local indices (for example after calling AZ_transform).

Destroy a Komplex System. Destroys a komplex system created by any of the AZK_create_linsys functions. Deletes any memory allocated by creation routine.
