NAME

PDL::Opt::QP - Quadratic programming solver for PDL

SYNOPSIS

use PDL;
use PDL::NiceSlice;
use PDL::Opt::QP;

my $mu   = pdl(q[ 0.0427 0.0015 0.0285 ])->transpose; # [ n x 1 ]
my $mu_0 = 0.0427;
my $dmat = pdl q[ 0.0100 0.0018 0.0011 ;
                  0.0018 0.0109 0.0026 ;
                  0.0011 0.0026 0.0199 ];
my $dvec = zeros(3);
my $amat = $mu->glue( 0, ones( 1, 3 ) )->copy;
my $bvec = pdl($mu_0)->glue( 1, ones(1) )->flat;
my $meq  = pdl(2);

my $sol = qp( $dmat, $dvec, $amat, $bvec, $meq );
say "Solution: ", $sol->{x};

DESCRIPTION

This routine uses Goldfarb/Idnani algorithm to solve the following minimization problem:

       minimize  f(x) = 0.5 * x' D x  -  d' x
          x

optionally constrained by:

        Aeq'  x  = a_eq
        Aneq  x >= b_neq

FUNCTIONS

qpgen2

Signature: (dmat(m,m); dvec(m);
      [o]sol(m); [o]lagr(q); [o]crval();
      amat(m,q); bvec(q); int meq();
      int [o]iact(q); int [o]nact();
      int [o]iter(s=2); [t]work(z); int [o]ierr();
  )

This routine solves the quadratic programming optimization problem

       minimize  f(x) = 0.5 x' D x  -  d' x
          x

optionally constrained by:

        Aeq'  x  = a_eq
        Aneq  x >= b_neq

.... more docs to come ....

qpgen2 ignores the bad-value flag of the input ndarrays. It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays.

SEE ALSO

PDL, PDL::Opt::NonLinear

BUGS

Please report any bugs or suggestions at http://rt.cpan.org/

AUTHOR

Mark Grimes, <mgrimes@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Mark Grimes, <mgrimes@cpan.org>.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.