#include <mc/mc_base.h>
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. |
* * 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 * *