imate
C++/CUDA Reference
Loading...
Searching...
No Matches
cu_golub_kahn_bidiagonalization.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: Copyright 2021, Siavash Ameli <sameli@berkeley.edu>
3 * SPDX-License-Identifier: BSD-3-Clause
4 * SPDX-FileType: SOURCE
5 *
6 * This program is free software: you can redistribute it and/or modify it
7 * under the terms of the license found in the LICENSE.txt file in the root
8 * directory of this source tree.
9 */
10
11
12#ifndef _CU_TRACE_ESTIMATOR_CU_GOLUB_KAHN_BIDIAGONALIZATION_H_
13#define _CU_TRACE_ESTIMATOR_CU_GOLUB_KAHN_BIDIAGONALIZATION_H_
14
15// =======
16// Headers
17// =======
18
19#include "../_cu_linear_operator/cu_linear_operator.h" // cuLinearOperator
20#include "../_definitions/types.h" // IndexType, LongIndexType, FlagType
21
22
23// ============
24// Declarations
25// ============
26
27// golub kahn bidiagonalization
28template <typename DataType>
31 const DataType* v,
32 const LongIndexType n,
33 const IndexType m,
34 const DataType lanczos_tol,
35 const FlagType orthogonalize,
36 DataType* alpha,
37 DataType* beta);
38
39#endif // _CU_TRACE_ESTIMATOR_CU_GOLUB_KAHN_BIDIAGONALIZATION_H_
Base class for linear operators. This class serves as interface for all derived classes.
IndexType cu_golub_kahn_bidiagonalization(cuLinearOperator< DataType > *A, const DataType *v, const LongIndexType n, const IndexType m, const DataType lanczos_tol, const FlagType orthogonalize, DataType *alpha, DataType *beta)
Bi-diagonalizes the positive-definite matrix A using Golub-Kahn-Lanczos method.
int LongIndexType
Definition types.h:60
int FlagType
Definition types.h:68
int IndexType
Definition types.h:65