75 lines
2.9 KiB
C
75 lines
2.9 KiB
C
/* Copyright (C) 2008 GAMS Development and others
|
|
All Rights Reserved.
|
|
This code is published under the Common Public License.
|
|
|
|
$Id: HSLLoader.c 341 2008-02-14 18:51:25Z stefan $
|
|
|
|
Author: Stefan Vigerske
|
|
*/
|
|
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
|
|
|
|
void ma57id_(double *cntl, int *icntl);
|
|
|
|
void ma57ad_ (
|
|
int *n, /* Order of matrix. */
|
|
int *ne, /* Number of entries. */
|
|
const int *irn, /* Matrix nonzero row structure */
|
|
const int *jcn, /* Matrix nonzero column structure */
|
|
int *lkeep, /* Workspace for the pivot order of lenght 3*n */
|
|
int *keep, /* Workspace for the pivot order of lenght 3*n */
|
|
/* Automatically iflag = 0; ikeep pivot order iflag = 1 */
|
|
int *iwork, /* Integer work space. */
|
|
int *icntl, /* Integer Control parameter of length 30*/
|
|
int *info, /* Statistical Information; Integer array of length 20 */
|
|
double *rinfo); /* Double Control parameter of length 5 */
|
|
|
|
void ma57bd_(
|
|
int *n, /* Order of matrix. */
|
|
int *ne, /* Number of entries. */
|
|
double *a, /* Numerical values. */
|
|
double *fact, /* Entries of factors. */
|
|
int *lfact, /* Length of array `fact'. */
|
|
int *ifact, /* Indexing info for factors. */
|
|
int *lifact, /* Length of array `ifact'. */
|
|
int *lkeep, /* Length of array `keep'. */
|
|
int *keep, /* Integer array. */
|
|
int *iwork, /* Workspace of length `n'. */
|
|
int *icntl, /* Integer Control parameter of length 20. */
|
|
double *cntl, /* Double Control parameter of length 5. */
|
|
int *info, /* Statistical Information; Integer array of length 40. */
|
|
double *rinfo); /* Statistical Information; Real array of length 20. */
|
|
|
|
void ma57cd_(
|
|
int *job, /* Solution job. Solve for... */
|
|
int *n, /* Order of matrix. */
|
|
double *fact, /* Entries of factors. */
|
|
int *lfact, /* Length of array `fact'. */
|
|
int *ifact, /* Indexing info for factors. */
|
|
int *lifact, /* Length of array `ifact'. */
|
|
int *nrhs, /* Number of right hand sides. */
|
|
double *rhs, /* Numerical Values. */
|
|
int *lrhs, /* Leading dimensions of `rhs'. */
|
|
double *work, /* Real workspace. */
|
|
int *lwork, /* Length of `work', >= N*NRHS. */
|
|
int *iwork, /* Integer array of length `n'. */
|
|
int *icntl, /* Integer Control parameter array of length 20. */
|
|
int *info); /* Statistical Information; Integer array of length 40. */
|
|
|
|
void ma57ed_ (
|
|
int *n,
|
|
int *ic, /* 0: copy real array. >=1: copy integer array. */
|
|
int *keep,
|
|
double *fact,
|
|
int *lfact,
|
|
double *newfac,
|
|
int *lnew,
|
|
int *ifact,
|
|
int *lifact,
|
|
int *newifc,
|
|
int *linew,
|
|
int *info); |