PAWpySeed: /home/kyle/Research/projects/pawpyseed/pawpyseed/core/linalg.h File Reference

PAWpySeed Parallel C/Python package for numerical analysis of PAW DFT wavefunctions

- Main Page
- Classes
- Files

- File List
- File Members

Functions
linalg.h File Reference
`#include <mkl.h>`
`#include <mkl_types.h>`
Include dependency graph for linalg.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Functions
void | trilinear_interpolate_values (double complex *x, double *frac, int *fftg, double complex *values)
double complex * | fft_calloc (int num_items, int item_size)
void | fft3d (double complex *x, int *G_bounds, double *lattice, double *kpt, int *Gs, float complex *Cs, int num_waves, int *fftg)

## Detailed Description

Linear algebra routines performed by interacing with the Intel Math Kernel Library

## Function Documentation

void fft3d | ( | double complex * | x,
|  | int * | G_bounds,
|  | double * | lattice,
|  | double * | kpt,
|  | int * | Gs,
|  | float complex * | Cs,
|  | int | num_waves,
|  | int * | fftg
| ) |  |

Uses the 3D fast fourier transform to calculate the wavefunction defined by plane-wave coefficients Cs in real space. These values get stored in x. The fast index is z (i.e. the third lattice direction) for storage and computation.

double complex* fft_calloc | ( | int | num_items,
|  | int | item_size
| ) |  |

Utility allocation function to allocate memory for an MKL complex double.

void trilinear_interpolate_values | ( | double complex * | x,
|  | double * | frac,
|  | int * | fftg,
|  | double complex * | values
| ) |  |

DEPRECATED, DO NOT USE