hypre/multivector/csr_matmultivec.h
2006-09-22 22:06:21 +00:00

65 lines
2.4 KiB
C

/*BHEADER**********************************************************************
* Copyright (c) 2006 The Regents of the University of California.
* Produced at the Lawrence Livermore National Laboratory.
* Written by the HYPRE team. UCRL-CODE-222953.
* All rights reserved.
*
* This file is part of HYPRE (see http://www.llnl.gov/CASC/hypre/).
* Please see the COPYRIGHT_and_LICENSE file for the copyright notice,
* disclaimer, contact information and the GNU Lesser General Public License.
*
* HYPRE is free software; you can redistribute it and/or modify it under the
* terms of the GNU General Public License (as published by the Free Software
* Foundation) version 2.1 dated February 1999.
*
* HYPRE 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 terms and conditions of the GNU General
* Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* $Revision$
***********************************************************************EHEADER*/
#ifndef CSR_MULTIMATVEC_H
#define CSR_MULTIMATVEC_H
#include "seq_mv.h"
#include "seq_multivector.h"
#ifdef __cplusplus
extern "C" {
#endif
/*--------------------------------------------------------------------------
* hypre_CSRMatrixMatMultivec
*--------------------------------------------------------------------------*/
int
hypre_CSRMatrixMatMultivec(double alpha, hypre_CSRMatrix *A,
hypre_Multivector *x, double beta,
hypre_Multivector *y);
/*--------------------------------------------------------------------------
* hypre_CSRMatrixMultiMatvecT
*
* Performs y <- alpha * A^T * x + beta * y
*
* From Van Henson's modification of hypre_CSRMatrixMatvec.
*--------------------------------------------------------------------------*/
int
hypre_CSRMatrixMatMultivecT(double alpha, hypre_CSRMatrix *A,
hypre_Multivector *x, double beta,
hypre_Multivector *y);
#ifdef __cplusplus
}
#endif
#endif /* CSR_MATMULTIVEC_H */