Clip

Force every entry of a matrix to lie within a given (half-)interval.

Implementations

Lower clip

Force every entry to be at least lowerBound.

C++ API

void LowerClip(Matrix<Real> &X, Real lowerBound = 0)
void LowerClip(AbstractDistMatrix<Real> &X, Real lowerBound = 0)

C API

ElError ElLowerClip_s(ElMatrix_s X, float lowerBound)
ElError ElLowerClip_d(ElMatrix_d X, double lowerBound)
ElError ElLowerClipDist_s(ElDistMatrix_s X, float lowerBound)
ElError ElLowerClipDist_d(ElDistMatrix_d X, double lowerBound)

Upper clip

Force every entry to be at most upperBound.

C++ API

void UpperClip(Matrix<Real> &X, Real upperBound = 0)
void UpperClip(AbstractDistMatrix<Real> &X, Real upperBound = 0)

C API

ElError ElUpperClip_s(ElMatrix_s X, float upperBound)
ElError ElUpperClip_d(ElMatrix_d X, double upperBound)
ElError ElUpperClipDist_s(ElDistMatrix_s X, float upperBound)
ElError ElUpperClipDist_d(ElDistMatrix_d X, double upperBound)

Interval clip

Force every entry to lie within the interval defined by lowerBound and upperBound.

C++ API

void Clip(Matrix<Real> &X, Real lowerBound = 0, Real upperBound = 1)
void Clip(AbstractDistMatrix<Real> &X, Real lowerBound = 0, Real upperBound = 1)

C API

ElError ElClip_s(ElMatrix_s X, float lowerBound, float upperBound)
ElError ElClip_d(ElMatrix_d X, double lowerBound, double upperBound)
ElError ElClipDist_s(ElDistMatrix_s X, float lowerBound, float upperBound)
ElError ElClipDist_d(ElDistMatrix_d X, double lowerBound, double upperBound)