The Starproduct¶
The Starproduct between two S-matrices is defined as follows:
. The following functions just apply this definition once analytically and once by usage of a geometric matrix series. Thats possible, because
could be easily written down in a series.
-
star_product.
star_product_analyt
(SIN_1, SIN_2)¶ Calculate Lifeng Li’s starproduct for two S-matrices SIN_1 and SIN_2, such that S = S1 * S2. The starproduct between two arbitrary S-matrices was precalculated analytically with Mathematica.
Parameters: - SIN_1 (HxLx4x4 numpy array) – H is height_vec_len, the dimension of the height vector given to the layer object. (Most of the time equal to 1) L is wav_vec_len the number of measured wavelengths
- SIN_2 (HxLx4x4 numpy array) – H is height_vec_len, the dimension of the height vector given to the layer object. (Most of the time equal to 1) L is wav_vec_len the number of measured wavelengths
Returns: s_out
Return type: HxLx4x4 numpy array
-
star_product.
star_product_cascaded
(smat_list)¶ Iteratively calculates the starproduct (Li, 1996) of N S-matrices, where N >= 2. The iteration goes the through the starproduct pair-wise, so that: S = ((((((S1 * S2) * S3) * S4) * … ) * Sn-1) * Sn).
Parameters: smat_list (list) – A list containing N HxLx4x4 S-matrices Returns: smat Return type: HxLx4x4 numpy array
-
star_product.
star_product_cascaded_geo
(smat_list, order)¶ A version of star_product_cascaded unsing star_product_geometric.
Parameters: - smat_list (list) – A list containing N HxLx4x4 S-matrices
- order (int) –
Returns: smat
Return type: An L-by-4-by-4 S-matrix.
-
star_product.
star_product_geometric
(SIN_1, SIN_2, order)¶ A version of star_product where the [I - a @ b]**-1 term is developed as a geometric series to the nth order.
Parameters: - SIN_1 (HxLx4x4 numpy array) – H is height_vec_len, the dimension of the height vector given to the layer object. (Most of the time equal to 1) L is wav_vec_len the number of measured wavelengths
- SIN_2 (HxLx4x4 numpy array) – H is height_vec_len, the dimension of the height vector given to the layer object. (Most of the time equal to 1) L is wav_vec_len the number of measured wavelengths
- order (int) –
Returns: s_out
Return type: HxLx4x4 numpy array