#include <mc/mc_base.h>
#include <mc/mat.h>


Go to the source code of this file.
Classes | |
| struct | sVec |
| Contains public data memebers for Vec class. More... | |
Typedefs | |
| typedef struct sVec | Vec |
| Declaration of the Vec class as the Vec structure. | |
Functions | |
| Vec * | Vec_ctor (Vmem *vmem, const char *name, int length) |
| The vector constructor (data array malloc'd by us). | |
| Vec * | Vec_ctor2 (Vmem *vmem, const char *name, int length, double *data) |
| The vector constructor (data array passed in). | |
| void | Vec_dtor (Vec **thee) |
| The vector destructor. | |
| int | Vec_len (Vec *thee) |
| Length of a vector. | |
| double * | Vec_addr (Vec *thee) |
| Address of a vector data. | |
| double | Vec_val (Vec *thee, int i) |
| Return value of component of vector. | |
| void | Vec_set (Vec *thee, int i, double val) |
| Set value of component of vector. | |
| double | Vec_nrm1 (Vec *thee) |
| 1-norm of a vector. | |
| double | Vec_nrm2 (Vec *thee) |
| 2-norm of a vector. | |
| double | Vec_nrm8 (Vec *thee) |
| oo-norm of a vector. | |
| double | Vec_dif1 (Vec *thee, Vec *s) |
| 1-norm of a vector. | |
| double | Vec_dif2 (Vec *thee, Vec *s) |
| 2-norm of a vector. | |
| double | Vec_dif8 (Vec *thee, Vec *s) |
| oo-norm of a vector. | |
| double | Vec_dot (Vec *thee, Vec *s) |
| dot product of two vectors. | |
| void | Vec_init (Vec *thee, double val) |
| initialize a vector to be a constant. | |
| void | Vec_scal (Vec *thee, double val) |
| vector scale. | |
| void | Vec_copy (Vec *thee, Vec *s) |
| vector copy. | |
| void | Vec_axpy (Vec *thee, Vec *s, double val) |
| scalar times vector plus vector. | |
| void | Vec_print (Vec *thee) |
| print a vector. | |
| void | Vec_printSp (Vec *thee, char *fname, int pflag) |
| print a vector. | |
| void | Vec_diagScale (Vec *thee, Mat *amat, Vec *f) |
| Apply inverse of diagonal to a vector. | |
| void | Vec_matvec (Vec *thee, Mat *amat, Vec *v, int key, int part) |
| Matrix times vector. | |
| void | Vec_smooth (Vec *thee, Mat *amat, Vec *f, Vec *w, int key, int ioflag, int meth, int adj, int itmax, double etol, double omega) |
| Generic smoothing operator. | |
| void | Vec_jac (Vec *thee, Mat *amat, Vec *f, Vec *w, int key, int ioflag, int itmax, double etol, double omega) |
| Jacobi iteration. | |
| void | Vec_gs (Vec *thee, Mat *amat, Vec *f, Vec *w, int key, int ioflag, int adj, int itmax, double etol) |
| Gauss-Seidel iteration. | |
| void | Vec_bnd (Vec *thee, Mat *mat, int key) |
| Apply boundary condition. | |
| void | Vec_absLog (Vec *thee, double val) |
| Log of abs value of entries of block vector, shifted by < val >. | |
* * 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 * *
1.5.6