mtool.h File Reference

Some sparse matrix tools. More...

#include <mc/mc_base.h>

Include dependency graph for mtool.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Link
 A sparse matrix tool. More...
struct  LinkA
 A sparse matrix tool. More...
struct  LinkRC
 A sparse matrix tool. More...
struct  LinkRCS
 A sparse matrix tool. More...
struct  LinkRCN
 A sparse matrix tool. More...

Enumerations

enum  MATformat {
  ZERO_FORMAT, DRC_FORMAT, ROW_FORMAT, COL_FORMAT,
  SLU_FORMAT, RLN_FORMAT, CLN_FORMAT, XLN_FORMAT,
  RFL_FORMAT, CFL_FORMAT
}
 A sparse matrix tool. More...
enum  MATsym { ISNOT_SYM, IS_SYM, STRUC_SYM }
 matrix symmantec options More...
enum  MATmirror { ISNOT_MIRROR, IS_MIRROR }
 matrix mirrow options More...
enum  MATimpl { ISNOT_IMPL, IS_IMPL }
 the sparse matrix impl More...
enum  MATstate { NULL_STATE, ZERO_STATE, ASSEMBLED_STATE, FACTORED_STATE }
 different states of the sparse matrix More...

Functions

void mPlaceit (int *IA, int *JA, double *A, int key, int i, int j, double val)
 Set or add a value to a matrix row/column.
void mContrib (Vset *mtpool, int key, int *count, int i, int j, double val)
 Set or add a value to a linked matrix entry list.
void lContrib (Vset *mtpool, int *count, int i, int j)
 Add a link to a linked graph entry list.
void mBuildGraphT (Vmem *vmem, int **IJAT, double **AT, int *ATnumO, int *IJA, double *A, int n, int m, int flag, int *work)
 Builds an index (and value) array in transposed format given the index and value array of a ROW or COL matrix.
void buildG (Vmem *vmem, MATformat frmt, MATsym sym, int m, int n, int *numO, int *numA, int **ijb, double **b, int **ib, int **jb, double **diagb, double **offUb, double **offLb, int *ir, int *jr, double *r, int *ia, int *ja, double *a, double *diag, double *offU, double *offL, int *ip, int *jp, double *p)
 Produce the sparse triple matrix product: B = R*A*P, where A is a sparse NxN square matrix, R is a sparse MxN retangular matrix, and P is a sparse NxM rectangular matrix, with M < N (possibly M << N).
The result is a smaller (but possibly much more dense) square MxM matrix B.


Detailed Description

Some sparse matrix tools.

Author:
Michael Holst
Note:
None
Version:
Id
mtool.h,v 1.29 2009/04/24 22:54:06 fetk Exp

Attention:
 *
 * MC = < Manifold Code >
 * Copyright (C) 1994--2008 Michael Holst
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 *
 *  

Generated on Mon Aug 9 11:13:42 2010 for MC by  doxygen 1.5.6