ARTS  2.3.1285(git:92a29ea9-dirty)
matpackI.cc File Reference
#include "matpackI.h"
#include <cmath>
#include <cstring>
#include "blas.h"
#include "exceptions.h"

Go to the source code of this file.

Functions

std::ostream & operator<< (std::ostream &os, const Range &r)
 
std::ostream & operator<< (std::ostream &os, const ConstVectorView &v)
 
void copy (ConstIterator1D origin, const ConstIterator1D &end, Iterator1D target)
 
void copy (Numeric x, Iterator1D target, const Iterator1D &end)
 Copy a scalar to all elements. More...
 
void swap (Vector &v1, Vector &v2)
 
std::ostream & operator<< (std::ostream &os, const ConstMatrixView &v)
 Output operator. More...
 
void copy (ConstIterator2D origin, const ConstIterator2D &end, Iterator2D target)
 Copy data between begin and end to target. More...
 
void copy (Numeric x, Iterator2D target, const Iterator2D &end)
 Copy a scalar to all elements. More...
 
void swap (Matrix &m1, Matrix &m2)
 Swaps two objects. More...
 
Numeric operator* (const ConstVectorView &a, const ConstVectorView &b)
 Scalar product. More...
 
void mult (VectorView y, const ConstMatrixView &M, const ConstVectorView &x)
 Matrix-Vector Multiplication. More...
 
void mult_general (VectorView y, const ConstMatrixView &M, const ConstVectorView &x)
 Matrix Vector multiplication. More...
 
void mult (MatrixView A, const ConstMatrixView &B, const ConstMatrixView &C)
 Matrix-Matrix Multiplication. More...
 
void mult_general (MatrixView A, const ConstMatrixView &B, const ConstMatrixView &C)
 General matrix multiplication. More...
 
void cross3 (VectorView c, const ConstVectorView &a, const ConstVectorView &b)
 cross3 More...
 
Numeric vector_angle (ConstVectorView a, ConstVectorView b)
 
void proj (Vector &c, ConstVectorView a, ConstVectorView b)
 
ConstMatrixView transpose (ConstMatrixView m)
 Const version of transpose. More...
 
MatrixView transpose (MatrixView m)
 Returns the transpose. More...
 
MatrixView transpose (Vector v)
 Returns the transpose. More...
 
void transform (VectorView y, double(&my_func)(double), ConstVectorView x)
 A generic transform function for vectors, which can be used to implement mathematical functions operating on all elements. More...
 
void transform (MatrixView y, double(&my_func)(double), ConstMatrixView x)
 A generic transform function for matrices, which can be used to implement mathematical functions operating on all elements. More...
 
Numeric max (const ConstVectorView &x)
 Max function, vector version. More...
 
Numeric max (const ConstMatrixView &x)
 Max function, matrix version. More...
 
Numeric min (const ConstVectorView &x)
 Min function, vector version. More...
 
Numeric min (const ConstMatrixView &x)
 Min function, matrix version. More...
 
Numeric mean (const ConstVectorView &x)
 Mean function, vector version. More...
 
Numeric mean (const ConstMatrixView &x)
 Mean function, matrix version. More...
 
ConstMatrixViewMap MapToEigen (const ConstMatrixView &A)
 
ConstMatrixViewMap MapToEigen (const ConstVectorView &A)
 
ConstMatrixViewMap MapToEigenRow (const ConstVectorView &A)
 
ConstMatrixViewMap MapToEigenCol (const ConstVectorView &A)
 
MatrixViewMap MapToEigen (MatrixView &A)
 
MatrixViewMap MapToEigen (VectorView &A)
 
MatrixViewMap MapToEigenRow (VectorView &A)
 
MatrixViewMap MapToEigenCol (VectorView &A)
 
Matrix4x4ViewMap MapToEigen4x4 (MatrixView &A)
 
ConstMatrix4x4ViewMap MapToEigen4x4 (const ConstMatrixView &A)
 
Numeric debug_matrixview_get_elem (MatrixView &mv, Index r, Index c)
 Helper function to access matrix elements. More...
 

Variables

const Joker joker = Joker()
 

Detailed Description

Author
Stefan Buehler
Date
2001-09-15

Definition in file matpackI.cc.

Function Documentation

◆ copy() [1/4]

void copy ( ConstIterator1D  origin,
const ConstIterator1D end,
Iterator1D  target 
)

Target must be a valid area of memory. Note that the strides in the iterators can be different, so that we can for example copy data between different kinds of subvectors.

Definition at line 302 of file matpackI.cc.

References VectorView::end(), Iterator1D::mstride, ConstIterator1D::mstride, Iterator1D::mx, and ConstIterator1D::mx.

Referenced by Matrix::get_raw_data(), Matrix::Matrix(), Iterator1D::operator!=(), ConstIterator1D::operator!=(), VectorView::operator=(), Vector::operator=(), MatrixView::operator=(), Matrix::operator=(), and Vector::Vector().

◆ copy() [2/4]

void copy ( Numeric  x,
Iterator1D  target,
const Iterator1D end 
)

Copy a scalar to all elements.

Definition at line 313 of file matpackI.cc.

References VectorView::end().

◆ copy() [3/4]

void copy ( ConstIterator2D  origin,
const ConstIterator2D end,
Iterator2D  target 
)

Copy data between begin and end to target.

Target must be a valid area of memory. Note that the strides in the iterators can be different, so that we can for example copy data between different kinds of subvectors.

Origin, end, and target are 2D iterators, marking rows in a matrix. For each row the 1D iterator is obtained and used to copy the elements.

Definition at line 919 of file matpackI.cc.

References ConstVectorView::begin(), and MatrixView::end().

◆ copy() [4/4]

void copy ( Numeric  x,
Iterator2D  target,
const Iterator2D end 
)

Copy a scalar to all elements.

Definition at line 931 of file matpackI.cc.

References VectorView::begin(), and MatrixView::end().

◆ cross3()

void cross3 ( VectorView  c,
const ConstVectorView a,
const ConstVectorView b 
)

cross3

Calculates the cross product between two vectors of length 3.

c = a x b, for 3D vectors. The vector c must have length 3 and can not be the same variable as a or b.

param c Out: The cross product vector

Parameters
aIn: A vector of length 3.
bIn: A vector of length 3.
Author
Patrick Eriksson
Date
2012-02-12

Definition at line 1393 of file matpackI.cc.

Referenced by MCAntenna::draw_los(), Matrix::get_raw_data(), and specular_losCalc().

◆ debug_matrixview_get_elem()

Numeric debug_matrixview_get_elem ( MatrixView mv,
Index  r,
Index  c 
)

Helper function to access matrix elements.

Because of function inlining the operator() is not accessible from the debuggger. This function helps to access Matrix elements from within the debugger.

Parameters
mvMatrixView
rRow index
cColumn index
Author
Oliver Lemke
Date
2004-05-10

Definition at line 1745 of file matpackI.cc.

Referenced by Matrix::get_raw_data().

◆ MapToEigen() [1/4]

◆ MapToEigen() [2/4]

◆ MapToEigen() [3/4]

◆ MapToEigen() [4/4]

◆ MapToEigen4x4() [1/2]

◆ MapToEigen4x4() [2/2]

◆ MapToEigenCol() [1/2]

◆ MapToEigenCol() [2/2]

◆ MapToEigenRow() [1/2]

ConstMatrixViewMap MapToEigenRow ( const ConstVectorView A)

Definition at line 1668 of file matpackI.cc.

References ConstMatrixView::MapToEigen.

Referenced by Matrix::get_raw_data().

◆ MapToEigenRow() [2/2]

MatrixViewMap MapToEigenRow ( VectorView A)

Definition at line 1699 of file matpackI.cc.

References ConstMatrixView::MapToEigen.

◆ max() [1/2]

Numeric max ( const ConstVectorView x)

Max function, vector version.

Definition at line 1521 of file matpackI.cc.

References ConstVectorView::begin(), ConstVectorView::end(), and max().

Referenced by Matrix::get_raw_data(), and max().

◆ max() [2/2]

Numeric max ( const ConstMatrixView x)

Max function, matrix version.

Definition at line 1536 of file matpackI.cc.

References ConstVectorView::begin(), ConstMatrixView::begin(), ConstVectorView::end(), ConstMatrixView::end(), and max().

◆ mean() [1/2]

◆ mean() [2/2]

◆ min() [1/2]

Numeric min ( const ConstVectorView x)

Min function, vector version.

Definition at line 1555 of file matpackI.cc.

References ConstVectorView::begin(), ConstVectorView::end(), and min().

Referenced by ConstMatrixView::diagonal(), Matrix::get_raw_data(), and min().

◆ min() [2/2]

Numeric min ( const ConstMatrixView x)

Min function, matrix version.

Definition at line 1570 of file matpackI.cc.

References ConstVectorView::begin(), ConstMatrixView::begin(), ConstVectorView::end(), ConstMatrixView::end(), and min().

◆ mult() [1/2]

void mult ( VectorView  y,
const ConstMatrixView M,
const ConstVectorView x 
)

Matrix-Vector Multiplication.

Computes the Matrix-Vector product y = M * x, for a m times n matrix M, a length-m vector y and a length-n vector x.

The product is computed using the dgemv_ routine from the BLAS library if the matrix is contiguous in memory. If this is not the case, the mult_general method is used to compute the product.

No memory is allocated for the computation and the matrix and vector views may not overlap.

Parameters
[out]yThe length-m VectorView where the result is stored.
[in]MReference to the m-times-n ConstMatrixView holding the matrix M.
[in]xReference to the length-n ConstVectorView holding the vector x.

Definition at line 1123 of file matpackI.cc.

References dgemv_(), Range::get_extent(), Range::get_start(), Range::get_stride(), ConstMatrixView::mcr, ConstVectorView::mdata, ConstMatrixView::mdata, ConstVectorView::mrange, ConstMatrixView::mrr, ConstMatrixView::mult_general, and n.

Referenced by Matrix::get_raw_data().

◆ mult() [2/2]

void mult ( MatrixView  A,
const ConstMatrixView B,
const ConstMatrixView C 
)

Matrix-Matrix Multiplication.

Performs the matrix multiplication A = B * C. The dimensions must match, i.e. A must be a m times n matrix, B a m times k matrix and C a k times c matrix. No memory reallocation takes place, only the data is copied. Using this function on overlapping MatrixViews belonging to the same Matrix will lead to unpredictable results. In particular, this means that A and B must not be the same matrix!

If the memory layout allows it, the multiplication is performed using BLAS' _dgemm, which leads to a significant speed up of the operation. To be compatible with BLAS the matrix views A, B and C must satisfy:

  • A must have column or row stride 1
  • B must have column or row stride 1
  • C must have column stride 1

That means that A and B can be ConstMatrixView objects corresponding to transposed/non-transposed submatrices of a matrix, that are continuous along their first/second dimension. C must correspond to a non-transposed submatrix of a matrix, that is continuous along its second dimension.

Parameters
[in,out]AThe matrix A, that will hold the result of the multiplication.
[in]BThe matrix B
[in]CThe matrix C

Definition at line 1242 of file matpackI.cc.

References Range::get_stride(), ConstMatrixView::mcr, ConstMatrixView::mrr, ConstMatrixView::ncols(), and ConstMatrixView::nrows().

◆ mult_general() [1/2]

void mult_general ( VectorView  y,
const ConstMatrixView M,
const ConstVectorView x 
)

Matrix Vector multiplication.

y = M*x. Note that the order is different from MTL, output comes first! Dimensions of y, M, and x must match. No memory reallocation takes place, only the data is copied. Using this function on overlapping Matrix and VectorViews belonging to the same Matrix will lead to unpredictable results.

The implementation here is different from the other multiplication routines. It does not use iterators but a more drastic approach to gain maximum performance.

Definition at line 1181 of file matpackI.cc.

References i, ConstMatrixView::mcr, ConstVectorView::mdata, ConstMatrixView::mdata, Range::mextent, ConstVectorView::mrange, ConstMatrixView::mrr, Range::mstart, and Range::mstride.

Referenced by benchmark_mult(), and matrix_vector_mult().

◆ mult_general() [2/2]

void mult_general ( MatrixView  A,
const ConstMatrixView B,
const ConstMatrixView C 
)

General matrix multiplication.

This is the fallback matrix multiplication which works for all ConstMatrixView objects.

Parameters
[in,out]AThe matrix A, that will hold the result of the multiplication.
[in]BThe matrix B
[in]CThe matrix C

Definition at line 1346 of file matpackI.cc.

References VectorView::begin(), ConstMatrixView::begin(), MatrixView::begin(), VectorView::end(), MatrixView::end(), ConstMatrixView::ncols(), ConstMatrixView::nrows(), and MatrixView::transpose.

Referenced by Matrix::get_raw_data().

◆ operator*()

Numeric operator* ( const ConstVectorView a,
const ConstVectorView b 
)

Scalar product.

The two vectors may be identical.

Definition at line 1092 of file matpackI.cc.

References ConstVectorView::begin(), ConstVectorView::end(), and ConstVectorView::nelem().

Referenced by ConstVectorView::get(), and Matrix::get_raw_data().

◆ operator<<() [1/3]

std::ostream& operator<< ( std::ostream &  os,
const Range r 
)

Definition at line 40 of file matpackI.cc.

References Range::get_extent(), Range::get_start(), and Range::get_stride().

◆ operator<<() [2/3]

std::ostream& operator<< ( std::ostream &  os,
const ConstVectorView v 
)

Definition at line 107 of file matpackI.cc.

References ConstVectorView::begin(), ConstVectorView::end(), and i.

Referenced by Matrix::get_raw_data().

◆ operator<<() [3/3]

std::ostream& operator<< ( std::ostream &  os,
const ConstMatrixView v 
)

Output operator.

This demonstrates how iterators can be used to traverse the matrix. The iterators know which part of the matrix is `active', and also the strides in both directions. This function is a bit more complicated than necessary to illustrate the concept, because the formating should look nice. This means that the first row, and the first element in each row, have to be treated individually.

Definition at line 535 of file matpackI.cc.

References ConstVectorView::begin(), ConstMatrixView::begin(), ConstVectorView::end(), and ConstMatrixView::end().

◆ proj()

void proj ( Vector c,
ConstVectorView  a,
ConstVectorView  b 
)

Calculates the projection of two vectors of equal length.

c = proj_a(b). Projecting b on a. The vector c must have the same length but can not be the same variable as a or b.

Parameters
cOut: The projection of b on a.
aIn: A vector of length N.
bIn: A vector of length N.
Author
Richard Larsson
Date
2012-07-10

Definition at line 1434 of file matpackI.cc.

Referenced by Matrix::get_raw_data().

◆ swap() [1/2]

void swap ( Vector v1,
Vector v2 
)

Definition at line 415 of file matpackI.cc.

References ConstVectorView::mdata, and ConstVectorView::mrange.

Referenced by swap().

◆ swap() [2/2]

void swap ( Matrix m1,
Matrix m2 
)

Swaps two objects.

Definition at line 1075 of file matpackI.cc.

References ConstMatrixView::mcr, ConstMatrixView::mdata, ConstMatrixView::mrr, and swap().

◆ transform() [1/2]

void transform ( VectorView  y,
double(&)(double)  my_func,
ConstVectorView  x 
)

A generic transform function for vectors, which can be used to implement mathematical functions operating on all elements.

Because we have this, we don't need explicit functions like sqrt for matrices! The type of the mathematical function is double (&my_func)(double). Numeric would not work here, since mathematical functions for float do not exist!

transform(y,sin,x) computes y = sin(x)

Although the matrix version of this can also be used for vectors, thanks to the automatic interpretation of a vector as a one column matrix, this one is slightly more efficient. However, the difference is very small (only a few percent).

The two views may be the same one, in which case the conversion happens in place.

Parameters
yOutput: The results of the function acting on each element of x.
my_funcA function (e.g., sqrt).
xA vector.

Definition at line 1476 of file matpackI.cc.

References ConstVectorView::begin(), VectorView::begin(), ConstVectorView::end(), and ConstVectorView::nelem().

Referenced by abs_lookupCalc(), abs_lookupSetup(), abs_lookupSetupWide(), chk_interpolation_pgrids(), chk_interpolation_pgrids_loose_no_data_check(), Matrix::get_raw_data(), itw2p(), TransmissionMatrix::operator*=(), p2gridpos(), p2gridpos_poly(), p_gridRefine(), ppvar_optical_depthFromPpvar_trans_cumulat(), Absorption::split_list_of_external_lines(), linalg::std(), test2(), test6(), test7(), my_basic_string< char >::tolower(), my_basic_string< char >::toupper(), and VectorLogSpace().

◆ transform() [2/2]

void transform ( MatrixView  y,
double(&)(double)  my_func,
ConstMatrixView  x 
)

A generic transform function for matrices, which can be used to implement mathematical functions operating on all elements.

Because we have this, we don't need explicit functions like sqrt for matrices! The type of the mathematical function is double (&my_func)(double). Numeric would not work here, since mathematical functions for float do not exist!

transform(y,sin,x) computes y = sin(x)

This function can also be used for Vectors, because there is a conversion to MatrixView.

The two Matrix views may be the same one, in which case the conversion happens in place.

Parameters
yOutput: The results of the function acting on each element of x.
my_funcA function (e.g., sqrt).
xA matrix.

Definition at line 1504 of file matpackI.cc.

References ConstVectorView::begin(), VectorView::begin(), ConstMatrixView::begin(), MatrixView::begin(), ConstVectorView::end(), ConstMatrixView::end(), ConstMatrixView::ncols(), and ConstMatrixView::nrows().

◆ transpose() [1/3]

ConstMatrixView transpose ( ConstMatrixView  m)

Const version of transpose.

Definition at line 1444 of file matpackI.cc.

References ConstMatrixView::ConstMatrixView(), ConstMatrixView::mcr, ConstMatrixView::mdata, and ConstMatrixView::mrr.

Referenced by Matrix::get_raw_data().

◆ transpose() [2/3]

MatrixView transpose ( MatrixView  m)

Returns the transpose.

This creates a special MatrixView for the transpose. The original is not changed!

Definition at line 1450 of file matpackI.cc.

References MatrixView::MatrixView(), ConstMatrixView::mcr, ConstMatrixView::mdata, and ConstMatrixView::mrr.

◆ transpose() [3/3]

MatrixView transpose ( Vector  v)

Returns the transpose.

This creates a special MatrixView for the transpose. The original is not changed!

Definition at line 1454 of file matpackI.cc.

References MatrixView::transpose.

◆ vector_angle()

Numeric vector_angle ( ConstVectorView  a,
ConstVectorView  b 
)

Returns numeric angle between two vectors in degrees.

Parameters
aIn: A vector of length N.
bIn: A vector of length N.
Author
Richard Larsson
Date
2012-07-10

Definition at line 1412 of file matpackI.cc.

References ConstVectorView::nelem(), and sqrt().

Referenced by Matrix::get_raw_data().

Variable Documentation

◆ joker

const Joker joker = Joker()

Referenced by _cr_internal_(), abs_lookupSetup(), abs_lookupTestAccMC(), abs_vecTransform(), abs_xsec_per_speciesAddConts(), abs_xsec_per_speciesAddPredefinedO2MPM2020(), AbsInputFromAtmFields(), PropagationMatrix::AddAtPosition(), antenna1d_matrix(), antenna2d_interp_response(), antenna_responseGaussian(), antenna_responseVaryingGaussian(), AntennaConstantGaussian1D(), AntennaMultiBeamsToPencilBeams(), Append(), CIARecord::AppendDataset(), atm_fields_compactAddSpecies(), atm_fields_compactCreateFromField(), atm_fields_compactExpand(), atm_fields_compactFromMatrix(), AtmFieldPRegrid(), AtmFieldsExtract1D(), atmgeom_checkedCalc(), calc_lookup_error(), clear_rt_vars_at_gp(), cloud_atm_vars_by_gp(), cloud_fieldsCalc(), cloud_ppath_update1D_planeparallel(), cloud_ppath_update3D(), cloud_RT_no_background(), cloud_RT_surface(), cloudbox_checkedCalc(), cloudbox_field_monoOptimizeReverse(), cloudbox_field_monoSetConst(), cloudbox_field_ngAcceleration(), cloudbox_fieldCrop(), cloudbox_fieldSetClearsky(), cloudbox_fieldSetConst(), cloudbox_fieldSetConstPerFreq(), cloudbox_fieldSetFromPrecalc(), cloudbox_fieldUpdateSeq1D(), cloudbox_fieldUpdateSeq3D(), cloudboxSetAutomatically(), cloudy_rt_vars_at_gp(), complex_n_interp(), complex_refr_indexConstant(), complex_refr_indexIceMatzler06(), complex_refr_indexWaterLiebe93(), compute_transmission_matrix(), compute_transmission_matrix_and_derivative(), ConvertAzimuthallyRandomSingleScatteringData(), cumulative_backscatter(), cumulative_backscatter_derivative(), defocusing_general_sub(), DisortCalc(), DisortCalcWithARTSSurface(), PropagationMatrix::DivideAtPosition(), diy_from_path_to_rgrids(), diy_from_pos_to_rgrids(), doit_scat_fieldCalc(), doit_scat_fieldCalcLimb(), doit_scat_fieldNormalize(), DoitCalc(), DoitGetIncoming(), DoitGetIncoming1DAtm(), DoitScatteringDataPrepare(), MCAntenna::draw_los(), ELL07WaterDropletAbs(), EnergyLevelMap::EnergyLevelMap(), ext_matTransform(), Extract(), FieldFromGriddedField(), find_cloudlimits(), Flatten(), FouComp_1ScatElem(), get_gasoptprop(), get_iy_of_background(), get_parZ(), get_pfct(), get_pmom(), get_ppath_atmvars(), get_ppath_cloudvars(), get_ppath_f(), get_ppath_transmat(), get_refr_index_1d(), get_refr_index_2d(), get_refr_index_3d(), get_stepwise_effective_source(), get_stepwise_scattersky_propmat(), get_stepwise_scattersky_source(), get_stepwise_transmission_matrix(), PropagationMatrix::GetTensor3(), GriddedFieldLatLonExpand(), GriddedFieldLatLonRegrid(), GriddedFieldPRegrid(), GriddedFieldZToPRegrid(), interp(), interp_atmfield_by_itw(), interp_atmsurface_by_itw(), interp_cloud_coeff1D(), interpolate_scat_angle(), interpTArray(), EnergyLevelMap::InterpToGridPos(), irradiance_fieldFromRadiance(), PropagationMatrix::IsZero(), iwp_cloud_opt_pathCalc(), iy_transmission_mult(), iy_transmitterMultiplePol(), iy_transmitterSinglePol(), iyActiveSingleScat(), iyActiveSingleScat2(), iyApplyUnit(), iyb_calc(), iyb_calc_body(), iyEmissionStandard(), iyEmissionStandardSequential(), iyHybrid(), iyHybrid2(), iyIndependentBeamApproximation(), iyInterpCloudboxField(), iyLoopFrequencies(), iyMC(), iySurfaceFastem(), iySurfaceRtpropAgenda(), iySurfaceRtpropCalc(), iyTransmissionStandard(), jacobianAdjustAndTransform(), jacobianCalcPointingZaInterp(), jacobianCalcPointingZaRecalc(), jacobianFromYbatch(), PropagationMatrix::K12(), PropagationMatrix::K13(), PropagationMatrix::K14(), PropagationMatrix::K23(), PropagationMatrix::K24(), PropagationMatrix::K34(), PropagationMatrix::Kjj(), MagFieldsCalc(), MagFieldsFromAltitudeRawCalc(), main(), MapToEigen(), MapToEigen4x4(), Matrix1ColFromVector(), Matrix1RowFromVector(), Matrix2ColFromVectors(), Matrix2RowFromVectors(), Matrix3ColFromVectors(), Matrix3RowFromVectors(), matrix_exp_dmatrix_exp(), matrix_vector_mult(), MatrixCBR(), MatrixExtractFromTensor3(), MatrixPlanck(), mc_IWP_cloud_opt_pathCalc(), MCGeneral(), MCIPA(), mcPathTraceRadar(), MCRadar(), MPM85O2AbsModel(), MPM87O2AbsModel(), MPM89O2AbsModel(), MPM92O2AbsModel(), MPM93_O2_continuum(), MPM93IceCrystalAbs(), MPM93O2AbsModel(), MPM93RainExt(), MPM93WaterDropletAbs(), mult(), PropagationMatrix::MultiplyAtPosition(), nlte_fieldForSingleSpeciesNonOverlappingLines(), nlte_fieldSetLteExternalPartitionFunction(), nlte_fieldSetLteInternalPartitionFunction(), nlte_sourceFromTemperatureAndSrcCoefPerSpecies(), OEM(), EnergyLevelMap::operator()(), StokesVector::operator+=(), StokesVector::operator=(), EnergyLevelMap::operator[](), TelsemAtlas::operator[](), opt_prop_1ScatElem(), opt_prop_NScatElems(), opt_prop_ScatSpecBulk(), opt_prop_sptFromData(), opt_prop_sptFromMonoData(), opt_prop_sptFromScat_data(), p_gridFromZRaw(), particle_bulkprop_fieldPerturb(), particle_bulkprop_fieldPerturbAtmGrids(), pha_mat_1ScatElem(), pha_mat_NScatElems(), pha_mat_ScatSpecBulk(), pha_mat_sptFromData(), pha_mat_sptFromDataDOITOpt(), pha_mat_sptFromMonoData(), pha_mat_sptFromScat_data(), pha_matTransform(), pnd_fieldCalcFromParticleBulkProps(), pnd_fieldCalcFrompnd_field_raw(), pndFromPsd(), ppath_calc(), ppath_copy(), ppath_fieldCalc(), ppath_start_stepping(), ppath_step_refr_1d(), ppath_step_refr_2d(), ppath_stepGeometric(), ppath_stepRefractionBasic(), ppathCalcFromAltitude(), ppathFromRtePos2(), ppathPlaneParallel(), ppvar_optical_depthFromPpvar_trans_cumulat(), propmat4x4_to_transmat4x4(), propmat_clearsky_fieldCalc(), propmat_clearskyAddFromAbsCoefPerSpecies(), propmat_clearskyAddFromLookup(), propmat_clearskyAddParticles(), psd_mgd_mass_and_something(), psdDelanoeEtAl14(), psdModifiedGamma(), psdModifiedGammaMass(), PWR93O2AbsModel(), regrid_atmfield_by_gp(), regrid_atmfield_by_gp_oem(), regrid_atmsurf_by_gp(), regrid_atmsurf_by_gp_oem(), PropagationMatrix::RemoveAtPosition(), MCAntenna::return_los(), rotmat_stokes(), rte_pos2gridpos(), rtmethods_jacobian_finalisation(), rtmethods_unit_conversion(), run_cdisort(), Sample_los(), scale_rows(), scat_data_monoExtract(), scat_dataCalc(), scat_dataCheck(), scat_dataReduceT(), ScatSpeciesExtendTemperature(), ScatSpeciesMerge(), Select(), sensor_aux_vectors(), sensor_checkedCalc(), sensor_losGeometricFromSensorPosToOtherPositions(), sensor_responseAntenna(), sensor_responseGenericAMSU(), sensor_responseMetMM(), sensor_responseSimpleAMSU(), set_constant_statistical_equilibrium_matrix(), set_vmr_from_first_species(), PropagationMatrix::SetAtPosition(), StokesVector::SetAtPosition(), special_matrix_exp_and_dmatrix_exp_dx_for_rt(), spectral_irradiance_fieldFromSpectralRadianceField(), spectral_radiance_fieldClearskyPlaneParallel(), spectral_radiance_fieldExpandCloudboxField(), specular_losCalc(), surf_albedoCalc(), surface_calc(), surface_complex_refr_indexFromGriddedField5(), surface_props_interp(), surface_reflectivityFromGriddedField6(), surface_scalar_reflectivityFromGriddedField4(), surfaceFastem(), surfaceFlatReflectivity(), surfaceFlatRefractiveIndex(), surfaceFlatRvRh(), surfaceFlatScalarReflectivity(), Tensor3ExtractFromTensor4(), test01(), test03(), test04(), test06(), test1(), test36(), test4(), test42(), test47(), test6(), test7(), test9(), test_dense_sparse_multiplication(), test_insert_row(), test_sparse_dense_multiplication(), TRE05O2AbsModel(), StokesVector::VectorAtPosition(), VectorExtractFromMatrix(), vmr_fieldPerturb(), vmr_fieldPerturbAtmGrids(), vmr_fieldSetConstant(), WindFieldsCalc(), x2artsAtmAndSurf(), xaStandard(), xsec_continuum_tag(), xsec_species(), yActive(), ybatchMetProfiles(), ybatchMetProfilesClear(), yCalc_mblock_loop_body(), yCalcAppend(), ySimpleSpectrometer(), z_at_lat_2d(), z_at_latlon(), za_gridOpt(), and zeeman_on_the_fly().