Record Class OMP
java.lang.Object
java.lang.Record
smile.cs.OMP
- Record Components:
x- the recovered sparse signal (lengthn).support- the indices of the identified non-zero components.iter- the number of iterations performed.
- All Implemented Interfaces:
Serializable
Orthogonal Matching Pursuit (OMP) for sparse signal recovery.
OMP is a greedy algorithm that iteratively selects the column of the
measurement matrix A most correlated with the current residual,
augments the support set, and then re-solves a least-squares problem on
the active set to refine the coefficient estimates.
Given an underdetermined system y = A*x where x is known
to be k-sparse, OMP reconstructs x in exactly k
steps (assuming the restricted isometry property holds with
δ_{2k} < √2 − 1).
The noisy extension terminates when ‖residual‖₂ ≤ tolerance.
Complexity
- Per iteration:
O(m·n)for the correlation step plusO(m·k²)for the least-squares step (via QR update). - Total:
O(k·(m·n + m·k²)).
References
- J. A. Tropp and A. C. Gilbert, "Signal recovery from random measurements via orthogonal matching pursuit", IEEE Trans. Inf. Theory, 53(12):4655–4666, 2007.
- G. Davis, S. Mallat and M. Avellaneda, "Adaptive greedy approximations", Constr. Approx., 13(1):57–98, 1997.
- See Also:
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionOMP(double[] x, int[] support, int iter) Creates an instance of aOMPrecord class. -
Method Summary
Modifier and TypeMethodDescriptionfinal booleanIndicates whether some other object is "equal to" this one.static OMPRecovers a sparse signal via Orthogonal Matching Pursuit.static OMPfit(Matrix A, double[] y, OMP.Options options) Recovers a sparse signal via Orthogonal Matching Pursuit.final inthashCode()Returns a hash code value for this object.intiter()Returns the value of theiterrecord component.int[]support()Returns the value of thesupportrecord component.final StringtoString()Returns a string representation of this record class.double[]x()Returns the value of thexrecord component.
-
Constructor Details
-
OMP
-
-
Method Details
-
fit
-
fit
Recovers a sparse signal via Orthogonal Matching Pursuit.- Parameters:
A- them × nmeasurement matrix.y- them-dimensional measurement vector.options- solver hyperparameters.- Returns:
- the recovered signal.
-
toString
-
hashCode
-
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared withObjects::equals(Object,Object); primitive components are compared with thecomparemethod from their corresponding wrapper classes. -
x
-
support
-
iter
-