The skqfit.asmjacp
Module¶
References:
G W Forbes, “Characterizing the shape of freeform optics”, Opt. Express 20(3), 2483-2499 (2012)
-
class
skqfit.asmjacp.
AsymJacobiP
(nmax)[source]¶ Bases:
object
Generate asymmetric Jacobi like polynominals needed for the freeform fit as defined in the reference document [A.1]
The Jacobi P polynominals can generate large values that lead to a double overflow for large m and n values. It is tested to (1500, 1500) for (m,n). Exceeding these values may lead to overflow events.
The scipi.special.jacobi function is has a 1.5:1 performance advantage over the current implementation but it doesn’t support the normalization and can lead to an overflow condition for n or m over 500.
-
build_recursion
(m)[source]¶ Build the recurssion coefficients and saves them as a sequence of tuples. These are the coefficients to build the m type polynominals up to order n.
-
jmat_u_x
(jmat, uv, xv)[source]¶ Builds the asymmetric Jacobi P polynomial as defined in [2] A.1 for all of the x values with the scaling factor of u**m which extends the range of usable (m,n) values before an overflow condition occurs.
-
jmat_x
(jmat, xv)[source]¶ Builds the asymmetric Jacobi P polynomial as defined in [2] A.1 for all a vector of x values.
-