MATLAB’s mlsq: least squares over weights of the sign of the start, the steepest descent direction scaled by the weights so that none crosses zero
Syntax
c, k = mlsq(A, y, c0)
A c = y with c >= 0, starting at c0.
c, k = mlsq(A, y, c0, maxIter=10, tol=1e-6)
Other bounds of the iteration.
Description
The modified least squares of A c = y keeps the weights of one sign and, when the start sums to one, their sum: each step moves along the gradient projected against the weights and multiplied by them, with a step length bounded so that no weight changes sign. It stops when the residual decreases by less than tol. Unlike MATLAB the start is required, A is a matrix (not a function handle), and tol defaults to 1e-3 instead of 1e-5.
Input
A |
ndarray or sparse matrix, N x M |
y |
ndarray of N values |
c0 |
ndarray of M real start weights, ones(M)/M as MATLAB’s default |
Keywords
| keyword | default | description |
|---|---|---|
maxIter |
100 |
the largest number of iterations, MATLAB’s itermax |
tol |
0.001 |
the smallest decrease of the residual’s norm that continues |
Output
c |
ndarray of the M weights |
k |
the number of iterations |
See also
summationMatrix, SO3FunRBF.interpolate
MATLAB’s mlsq
source
Citing this page.
This page is part of the documentation of
MTEX, a free and open
source MATLAB toolbox for analyzing and modeling crystallographic textures.
It was written by The MTEX Developers and is published at
https://mtex-toolbox.github.io/mlsq_py.html.
If you use MTEX, or reuse text or figures from this page, in your research,
please cite
F. Bachmann, R. Hielscher, H. Schaeben: Texture Analysis with MTEX - Free and Open Source Software Toolbox, Solid State Phenomena 160 (2010), 63-68. 10.4028/www.scientific.net/SSP.160.63
BibTeX
@article{bachmann2010mtex,
author = {F. Bachmann and R. Hielscher and H. Schaeben},
title = {Texture Analysis with MTEX - Free and Open Source Software Toolbox},
journal = {Solid State Phenomena},
volume = {160},
pages = {63-68},
year = {2010},
doi = {10.4028/www.scientific.net/SSP.160.63},
url = {https://doi.org/10.4028/www.scientific.net/SSP.160.63}
}
Other papers describing specific MTEX methods are listed under Publications — please cite the one that best fits your application. The MTEX source code is licensed under the GNU General Public License v2.0; the text and figures of this documentation are licensed under CC BY 4.0, which permits reuse — including by automated systems — provided The MTEX Developers and this page are credited.