QPMS
Electromagnetic multiple scattering library and toolkit.
|
Functions providing point group operations operating on translation operators and T-matrices. More...
Go to the source code of this file.
Functions | |
complex double * | qpms_zflip_uvswi_dense (complex double *target, const qpms_vswf_set_spec_t *bspec) |
Dense matrix representation of the z coordinate sign flip operation (xy-plane mirroring). More... | |
complex double * | qpms_yflip_uvswi_dense (complex double *target, const qpms_vswf_set_spec_t *bspec) |
Dense matrix representation of the y coordinate sign flip operation (xz-plane mirroring). More... | |
complex double * | qpms_xflip_uvswi_dense (complex double *target, const qpms_vswf_set_spec_t *bspec) |
Dense matrix representation of the x coordinate sign flip operation (yz-plane mirroring). More... | |
complex double * | qpms_zrot_uvswi_dense (complex double *target, const qpms_vswf_set_spec_t *bspec, double phi) |
Dense matrix representation of a rotation around the z-axis. More... | |
complex double * | qpms_zrot_rational_uvswi_dense (complex double *target, const qpms_vswf_set_spec_t *bspec, int N, int w) |
Dense matrix representation of a "rational" rotation around the z-axis. More... | |
complex double * | qpms_irot3_uvswfi_dense (complex double *target, const qpms_vswf_set_spec_t *bspec, const qpms_irot3_t transf) |
Dense matrix (uvswi-indexed) representation of any O(3) transformation. More... | |
size_t | qpms_zero_roundoff_clean (double *arr, size_t nmemb, double atol) |
Cleans the roundoff error of an array. More... | |
size_t | qpms_czero_roundoff_clean (complex double *arr, size_t nmemb, double atol) |
Cleans the roundoff error of an array. More... | |
Functions providing point group operations operating on translation operators and T-matrices.
Here will be functions providing point group operations operating on translation operators and T-matrices similar to tmatrices.py.
At least I want:
Maybe (much later) also point and space group irrep functionality as in symmetries.py. However, I think that the group structures can be simply hard-coded/generated by a python script, then there is no need to check the group consistency etc. at runtime.
size_t qpms_czero_roundoff_clean | ( | complex double * | arr, |
size_t | nmemb, | ||
double | atol | ||
) |
Cleans the roundoff error of an array.
Works on real and imaginary parts separately. TODO doc.
complex double* qpms_irot3_uvswfi_dense | ( | complex double * | target, |
const qpms_vswf_set_spec_t * | bspec, | ||
const qpms_irot3_t | transf | ||
) |
Dense matrix (uvswi-indexed) representation of any O(3) transformation.
target | If NULL, a new array is allocated. |
complex double* qpms_xflip_uvswi_dense | ( | complex double * | target, |
const qpms_vswf_set_spec_t * | bspec | ||
) |
Dense matrix representation of the x coordinate sign flip operation (yz-plane mirroring).
target | If NULL, a new array is allocated. |
complex double* qpms_yflip_uvswi_dense | ( | complex double * | target, |
const qpms_vswf_set_spec_t * | bspec | ||
) |
Dense matrix representation of the y coordinate sign flip operation (xz-plane mirroring).
target | If NULL, a new array is allocated. |
size_t qpms_zero_roundoff_clean | ( | double * | arr, |
size_t | nmemb, | ||
double | atol | ||
) |
Cleans the roundoff error of an array.
Replaces all the array members x for which |x| <= atol with exact zeros.
Returns the count of modified array members.
complex double* qpms_zflip_uvswi_dense | ( | complex double * | target, |
const qpms_vswf_set_spec_t * | bspec | ||
) |
Dense matrix representation of the z coordinate sign flip operation (xy-plane mirroring).
target | If NULL, a new array is allocated. |
complex double* qpms_zrot_rational_uvswi_dense | ( | complex double * | target, |
const qpms_vswf_set_spec_t * | bspec, | ||
int | N, | ||
int | w | ||
) |
Dense matrix representation of a "rational" rotation around the z-axis.
Just for convenience. Corresponds to the angle \( \phi = 2\piw/N \).
target | If NULL, a new array is allocated. |
complex double* qpms_zrot_uvswi_dense | ( | complex double * | target, |
const qpms_vswf_set_spec_t * | bspec, | ||
double | phi | ||
) |
Dense matrix representation of a rotation around the z-axis.
target | If NULL, a new array is allocated. |
phi | Rotation angle |