#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 * *