[Scilab-users] Scicolpack toolbox

classic Classic list List threaded Threaded
2 messages Options
mottelet mottelet
Reply | Threaded
Open this post in threaded view
|

[Scilab-users] Scicolpack toolbox

Hi all,

A new toolbox has been uploaded at
https://atoms.scilab.org/toolboxes/scicolpack:

Scicolpack is is the Scilab interface to CSCsw/ColPack
(https://github.com/CSCsw/ColPack), a Graph Coloring Algorithm Package
applied to efficient computation of sparse Jacobian and Hessian.

When you have to compute the Jacobian of a function f or the Hessian of
f knowing its gradient g, once you know its sparsity pattern, even if
you have derived it symbolically, it may still be faster to estimate it
by using the techniques which are used by Colpack. Roughly speaking,
this works by building a graph where each vertex is associated to a
column of the Jacobian or Hessian, and an edge connects to
vertices/columns if they are not structurally orthogonal, i.e. have at
least one non-zero term in a common row. Then a proper coloring is done
on this graph: at least, two adjacent vertices cannot have the same
color, but more properties of the coloring may be expected. The coloring
defines a partition of the columns under the form of p subsets and the
Jacobian (resp. Hessian) can be recovered from only p evaluation of
directional derivatives of f (resp. g). For example, for a tridiagonal
matrix the value of p is 3. In the Scilab interface these directional
derivatives are approximated by using finite differences (the toolbox
allows to compute them by using the complex step technique up to machine
precision).

This toolbox can be an nice addon to SciIpopt toolbox
(https://atoms.scilab.org/toolboxes/sci_ipopt) where the Interior Point
algorithm can be greatly accelerated when the Hessian of the Lagrangian
is sparse. When I have time I will update the demo section of the module
to add such an example.

Don't hesitate to report successful uses, bugs or whishes. For the
moment the toolbox is available under OSX and Linux. Any help for a
Windows build is welcome !

Best,

--
Stéphane Mottelet
Ingénieur de recherche
EA 4297 Transformations Intégrées de la Matière Renouvelable
Département Génie des Procédés Industriels
Sorbonne Universités - Université de Technologie de Compiègne
CS 60319, 60203 Compiègne cedex
Tel : +33(0)344234688
http://www.utc.fr/~mottelet

_______________________________________________
users mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users
mottelet mottelet
Reply | Threaded
Open this post in threaded view
|

Re: Scicolpack toolbox

Hello,

With the help of Antoine we now have a Windows build. Moreover some
glitches have been fixed (get rid of OpenMP and a failing load under
macOS) and a new version 0.2 is now online on Atoms. To give it a try:

--> atomsInstall scicolpack

Best,

S.

Le 14/12/2020 à 16:50, Stéphane Mottelet a écrit :

> Hi all,
>
> A new toolbox has been uploaded at
> https://antispam.utc.fr/proxy/2/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/atoms.scilab.org/toolboxes/scicolpack:
>
> Scicolpack is is the Scilab interface to CSCsw/ColPack
> (https://antispam.utc.fr/proxy/2/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/github.com/CSCsw/ColPack),
> a Graph Coloring Algorithm Package applied to efficient computation of
> sparse Jacobian and Hessian.
>
> When you have to compute the Jacobian of a function f or the Hessian
> of f knowing its gradient g, once you know its sparsity pattern, even
> if you have derived it symbolically, it may still be faster to
> estimate it by using the techniques which are used by Colpack. Roughly
> speaking, this works by building a graph where each vertex is
> associated to a column of the Jacobian or Hessian, and an edge
> connects to vertices/columns if they are not structurally orthogonal,
> i.e. have at least one non-zero term in a common row. Then a proper
> coloring is done on this graph: at least, two adjacent vertices cannot
> have the same color, but more properties of the coloring may be
> expected. The coloring defines a partition of the columns under the
> form of p subsets and the Jacobian (resp. Hessian) can be recovered
> from only p evaluation of directional derivatives of f (resp. g). For
> example, for a tridiagonal matrix the value of p is 3. In the Scilab
> interface these directional derivatives are approximated by using
> finite differences (the toolbox allows to compute them by using the
> complex step technique up to machine precision).
>
> This toolbox can be an nice addon to SciIpopt toolbox
> (https://antispam.utc.fr/proxy/2/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/atoms.scilab.org/toolboxes/sci_ipopt)
> where the Interior Point algorithm can be greatly accelerated when the
> Hessian of the Lagrangian is sparse. When I have time I will update
> the demo section of the module to add such an example.
>
> Don't hesitate to report successful uses, bugs or whishes. For the
> moment the toolbox is available under OSX and Linux. Any help for a
> Windows build is welcome !
>
> Best,
>
--
Stéphane Mottelet
Ingénieur de recherche
EA 4297 Transformations Intégrées de la Matière Renouvelable
Département Génie des Procédés Industriels
Sorbonne Universités - Université de Technologie de Compiègne
CS 60319, 60203 Compiègne cedex
Tel : +33(0)344234688
http://www.utc.fr/~mottelet

_______________________________________________
users mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users