[R] Fwd: Quadratic programming, for loop
Berwin A Turlach
berw|n@tur|@ch @end|ng |rom gm@||@com
Fri Jun 29 12:29:25 CEST 2018
G'day Maija,
On Wed, 27 Jun 2018 08:48:08 +0300
Maija Sirkjärvi <maija.sirkjarvi using gmail.com> wrote:
> Thanks for your reply! Unfortunately something is still wrong.
>
> After the transpose, dvec and Amat are still incompatible.
>
> > d <- -hsmooth
> > dvec <- t(d)
> > c <- dvec*Amat
> Error in dvec * Amat : non-conformable arrays
'*' in R is element-wise multiplication and '%*%' implements
matrix/matrix (matrix/vector) multiplication as defined in matrix
algebra. I presume you want to use the latter operator here.
> Moreover, I don't understand the following:
>
> > If dvec is of length *J*, then b will be of length J too.
>
> I believe the length of dvec comes from the number of variables and
> the length of b from the number of constraints. In this case they are
> not equal.
As I said:
> > solve.QP solves the quadratic program:
> > min(-d^T b + 1/2 b^T D b)
> > where A^T b >= b_0.
The minimisation is with respect to b.
Note that the objective function contains the inner product of d
(passed to dvec) and b, so d and b must have the same
dimension/length. b contains the parameters/variables over which you
want to minimise. b_0 (passed to bvec) depends on the number of
constraints.
Cheers,
Berwin
More information about the R-help
mailing list