Package wsh.opt
Interface LinearTransform
-
public interface LinearTransform
Define methods applying a linear transform and its transpose
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addTranspose(VectConst data, Vect model)
Apply the transpose of a linear transform model = F' data Add to existing data.void
adjustRobustErrors(Vect dataError)
Apply any robust trimming of outliers, or scale all errors for an approximate L1 norm when squared.void
forward(Vect data, VectConst model)
Apply the linear transform data = F model Zero the current data, and do not add.void
inverseHessian(Vect model)
To speed convergence multiple a model by an approximate inverse Hessian.
-
-
-
Method Detail
-
forward
void forward(Vect data, VectConst model)
Apply the linear transform data = F model Zero the current data, and do not add.- Parameters:
data
- Output after linear transformmodel
- Input for linear transform
-
addTranspose
void addTranspose(VectConst data, Vect model)
Apply the transpose of a linear transform model = F' data Add to existing data.- Parameters:
data
- Input for transpose.model
- Output after linear transform.
-
inverseHessian
void inverseHessian(Vect model)
To speed convergence multiple a model by an approximate inverse Hessian. An empty implementation is equivalent to an identity and is also okay. The Hessian is equivalent to multiplying once by the forward operation and then by the transpose. Your approximate inverse can greatly speed convergence by trying to diagonalize this Hessian, or at least balancing the diagonal.- Parameters:
model
- The model to be multiplied.
-
adjustRobustErrors
void adjustRobustErrors(Vect dataError)
Apply any robust trimming of outliers, or scale all errors for an approximate L1 norm when squared. This method should do nothing if you want a standard least-squares solution. Do not change the overall variance of the errors more than necessary.- Parameters:
dataError
- This is the original data minus the modeled data.
-
-