vec.h File Reference

Class Vec: an Nx1 vector class. More...

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

Include dependency graph for vec.h:

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

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

VecVec_ctor (Vmem *vmem, const char *name, int length)
 The vector constructor (data array malloc'd by us).
VecVec_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 >.


Detailed Description

Class Vec: an Nx1 vector class.

Version:
Id
vec.h,v 1.21 2009/04/24 22:54:08 fetk Exp
Author:
Michael Holst
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:43 2010 for MC by  doxygen 1.5.6