Epetra Package Browser (Single Doxygen Collection)
Development
Toggle main menu visibility
Loading...
Searching...
No Matches
src
Epetra_SerialSymDenseMatrix.h
Go to the documentation of this file.
1
/*
2
//@HEADER
3
// ************************************************************************
4
//
5
// Epetra: Linear Algebra Services Package
6
// Copyright 2011 Sandia Corporation
7
//
8
// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
9
// the U.S. Government retains certain rights in this software.
10
//
11
// Redistribution and use in source and binary forms, with or without
12
// modification, are permitted provided that the following conditions are
13
// met:
14
//
15
// 1. Redistributions of source code must retain the above copyright
16
// notice, this list of conditions and the following disclaimer.
17
//
18
// 2. Redistributions in binary form must reproduce the above copyright
19
// notice, this list of conditions and the following disclaimer in the
20
// documentation and/or other materials provided with the distribution.
21
//
22
// 3. Neither the name of the Corporation nor the names of the
23
// contributors may be used to endorse or promote products derived from
24
// this software without specific prior written permission.
25
//
26
// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
27
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
29
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
30
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
31
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
32
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
33
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
34
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
35
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
36
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37
//
38
// Questions? Contact Michael A. Heroux (maherou@sandia.gov)
39
//
40
// ************************************************************************
41
//@HEADER
42
*/
43
44
#ifndef EPETRA_SERIALSYMDENSEMATRIX_H
45
#define EPETRA_SERIALSYMDENSEMATRIX_H
46
#include "
Epetra_SerialDenseMatrix.h
"
47
48
50
128
129
//=========================================================================
130
class
EPETRA_LIB_DLL_EXPORT
Epetra_SerialSymDenseMatrix
:
public
Epetra_SerialDenseMatrix
{
131
132
public
:
134
135
146
Epetra_SerialSymDenseMatrix
(
void
);
148
163
Epetra_SerialSymDenseMatrix
(
Epetra_DataAccess
CV
,
double
*
A
,
int
LDA
,
int
NumRowsCols);
164
166
167
Epetra_SerialSymDenseMatrix
(
const
Epetra_SerialSymDenseMatrix
& Source);
168
169
171
virtual
~Epetra_SerialSymDenseMatrix
();
173
175
176
177
//let the compiler know we intend to overload the base-class Shape function,
178
//rather than hide it.
179
using
Epetra_SerialDenseMatrix::Shape
;
180
182
192
int
Shape
(
int
NumRowsCols) {
return
(
Epetra_SerialDenseMatrix::Shape
(NumRowsCols,NumRowsCols));};
193
194
//let the compiler know we intend to overload the base-class Reshape function,
195
//rather than hide it.
196
197
using
Epetra_SerialDenseMatrix::Reshape
;
198
200
211
int
Reshape
(
int
NumRowsCols) {
return
(
Epetra_SerialDenseMatrix::Reshape
(NumRowsCols,NumRowsCols));};
212
213
215
void
SetLower
() {
Upper_
=
false
;
UPLO_
=
'L'
;};
216
218
void
SetUpper
() {
Upper_
=
true
;
UPLO_
=
'U'
;};
220
222
223
225
bool
Upper
()
const
{
return
(
Upper_
);};
226
228
char
UPLO
()
const
{
return
(
UPLO_
);};
230
232
233
235
244
int
Scale
(
double
ScalarA );
245
246
248
251
double
NormOne
()
const
;
252
254
double
NormInf
()
const
;
255
257
258
void
CopyUPLOMat(
bool
Upper,
double
* A,
int
LDA,
int
NumRows);
259
261
262
264
267
double
OneNorm
()
const
{
return
(
Epetra_SerialSymDenseMatrix::NormOne
());};
268
270
double
InfNorm
()
const
{
return
(
Epetra_SerialSymDenseMatrix::NormInf
());};
272
273
private
:
274
275
bool
Upper_
;
276
277
char
UPLO_
;
278
279
280
};
281
282
#endif
/* EPETRA_SERIALSYMDENSEMATRIX_H */
Epetra_DataAccess
Epetra_DataAccess
Definition
Epetra_DataAccess.h:55
Epetra_SerialDenseMatrix.h
Epetra_SerialDenseMatrix::A
double * A() const
Returns pointer to the this matrix.
Definition
Epetra_SerialDenseMatrix.h:383
Epetra_SerialDenseMatrix::LDA
int LDA() const
Returns the leading dimension of the this matrix.
Definition
Epetra_SerialDenseMatrix.h:389
Epetra_SerialDenseMatrix::Epetra_SerialDenseMatrix
Epetra_SerialDenseMatrix(bool set_object_label=true)
Default constructor; defines a zero size object.
Definition
Epetra_SerialDenseMatrix.cpp:49
Epetra_SerialDenseMatrix::NormInf
virtual double NormInf() const
Computes the Infinity-Norm of the this matrix.
Definition
Epetra_SerialDenseMatrix.cpp:384
Epetra_SerialDenseMatrix::Scale
int Scale(double ScalarA)
Inplace scalar-matrix product A = a A.
Definition
Epetra_SerialDenseMatrix.cpp:406
Epetra_SerialDenseMatrix::Shape
int Shape(int NumRows, int NumCols)
Set dimensions of a Epetra_SerialDenseMatrix object; init values to zero.
Definition
Epetra_SerialDenseMatrix.cpp:186
Epetra_SerialDenseMatrix::CV
Epetra_DataAccess CV() const
Returns the data access mode of the this matrix.
Definition
Epetra_SerialDenseMatrix.h:392
Epetra_SerialDenseMatrix::NormOne
virtual double NormOne() const
Computes the 1-Norm of the this matrix.
Definition
Epetra_SerialDenseMatrix.cpp:368
Epetra_SerialDenseMatrix::Reshape
int Reshape(int NumRows, int NumCols)
Reshape a Epetra_SerialDenseMatrix object.
Definition
Epetra_SerialDenseMatrix.cpp:157
Epetra_SerialSymDenseMatrix::UPLO_
char UPLO_
Definition
Epetra_SerialSymDenseMatrix.h:277
Epetra_SerialSymDenseMatrix::Reshape
int Reshape(int NumRowsCols)
Reshape a Epetra_SerialSymDenseMatrix object.
Definition
Epetra_SerialSymDenseMatrix.h:211
Epetra_SerialSymDenseMatrix::Epetra_SerialSymDenseMatrix
Epetra_SerialSymDenseMatrix(void)
Default constructor; defines a zero size object.
Definition
Epetra_SerialSymDenseMatrix.cpp:45
Epetra_SerialSymDenseMatrix::InfNorm
double InfNorm() const
Computes the Infinity-Norm of the this matrix (identical to NormInf() method).
Definition
Epetra_SerialSymDenseMatrix.h:270
Epetra_SerialSymDenseMatrix::Shape
int Shape(int NumRowsCols)
Set dimensions of a Epetra_SerialSymDenseMatrix object; init values to zero.
Definition
Epetra_SerialSymDenseMatrix.h:192
Epetra_SerialSymDenseMatrix::UPLO
char UPLO() const
Returns character value of UPLO used by LAPACK routines.
Definition
Epetra_SerialSymDenseMatrix.h:228
Epetra_SerialSymDenseMatrix::Upper
bool Upper() const
Returns true if upper triangle of this matrix has and will be used.
Definition
Epetra_SerialSymDenseMatrix.h:225
Epetra_SerialSymDenseMatrix::NormInf
double NormInf() const
Computes the Infinity-Norm of the this matrix.
Definition
Epetra_SerialSymDenseMatrix.cpp:105
Epetra_SerialSymDenseMatrix::SetUpper
void SetUpper()
Specify that the upper triangle of the this matrix should be used.
Definition
Epetra_SerialSymDenseMatrix.h:218
Epetra_SerialSymDenseMatrix::SetLower
void SetLower()
Specify that the lower triangle of the this matrix should be used.
Definition
Epetra_SerialSymDenseMatrix.h:215
Epetra_SerialSymDenseMatrix::Upper_
bool Upper_
Definition
Epetra_SerialSymDenseMatrix.h:275
Epetra_SerialSymDenseMatrix::OneNorm
double OneNorm() const
Computes the 1-Norm of the this matrix (identical to NormOne() method).
Definition
Epetra_SerialSymDenseMatrix.h:267
Epetra_SerialSymDenseMatrix::NormOne
double NormOne() const
Computes the 1-Norm of the this matrix.
Definition
Epetra_SerialSymDenseMatrix.cpp:100
Generated by
1.17.0