icecube.segmented_spline_reco.SVN module

class icecube.segmented_spline_reco.SVN.SVN(name='SVN', num_particles=30, kernel_type='mean', max_iter=50, start_sigma=0.1, stepsize=1.0, decr_rand_scale=0.2, perm_rand_scale=0.01)

Bases: I3Minimizer

Implementation of SVN ``

Parameters:
  • name (string, optional) – String for the Gulliver module to identify the minimizer

  • tolerance (float, optional) – Tolerance for finding the minimum

CheckLimits(positions)
GetMedianPWDist(points)
GetName()
Minimize((I3Minimizer)arg1, (I3GulliverBase)arg2, (I3FitParameterInitSpecsSeries)arg3) I3MinimizerResult :
C++ signature :

I3MinimizerResult Minimize(I3MinimizerBase {lvalue},I3GulliverBase {lvalue},std::__1::vector<I3FitParameterInitSpecs, std::__1::allocator<I3FitParameterInitSpecs>>)

Minimize( (I3Minimizer)arg1, (I3GulliverBase)arg2, (I3FitParameterInitSpecsSeries)arg3) -> None :

C++ signature :

void Minimize(I3MinimizerWrapper {lvalue},I3GulliverBase {lvalue},std::__1::vector<I3FitParameterInitSpecs, std::__1::allocator<I3FitParameterInitSpecs>>)

UsesGradient((I3Minimizer)arg1) bool :
C++ signature :

bool UsesGradient(I3MinimizerBase {lvalue})

UsesHessian((I3Minimizer)arg1) bool :
C++ signature :

bool UsesHessian(I3MinimizerBase {lvalue})

get_kernel_n_grad(particle_id, all_particle_positions, kernel_mat)
isPD(B)

Returns true when input is positive-definite, via Cholesky

nearestPD(A)

Find the nearest positive-definite matrix to input

A Python/Numpy port of John D’Errico’s nearestSPD MATLAB code [1], which credits [2].

[1] https://www.mathworks.com/matlabcentral/fileexchange/42885-nearestspd

[2] N.J. Higham, “Computing a nearest symmetric positive semidefinite matrix” (1988): https://doi.org/10.1016/0024-3795(88)90223-6