/usr/include/bart/iter/lsqr.h is in libbart-dev 0.4.02-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | /* Copyright 2014. The Regents of the University of California.
* All rights reserved. Use of this source code is governed by
* a BSD-style license which can be found in the LICENSE file.
*/
#ifndef __LSQR_H
#define __LSQR_H 1
#include "iter/iter.h"
#include "iter/iter2.h"
#include "misc/cppwrap.h"
struct operator_s;
struct operator_p_s;
struct lsqr_conf {
float lambda;
_Bool it_gpu;
};
struct iter_monitor_s;
extern const struct lsqr_conf lsqr_defaults;
extern const struct operator_s* lsqr2_create(const struct lsqr_conf* conf,
italgo_fun2_t italgo, iter_conf* iconf,
const float* init,
const struct linop_s* model_op,
const struct operator_s* precond_op,
unsigned int num_funs,
const struct operator_p_s* prox_funs[__VLA2(num_funs)],
const struct linop_s* prox_linops[__VLA2(num_funs)],
struct iter_monitor_s* monitor);
extern const struct operator_s* wlsqr2_create( const struct lsqr_conf* conf,
italgo_fun2_t italgo, iter_conf* iconf,
const float* init,
const struct linop_s* model_op,
const struct linop_s* weights,
const struct operator_s* precond_op,
unsigned int num_funs,
const struct operator_p_s* prox_funs[__VLA2(num_funs)],
const struct linop_s* prox_linops[__VLA2(num_funs)],
struct iter_monitor_s* monitor);
extern void lsqr( unsigned int N, const struct lsqr_conf* conf,
italgo_fun_t italgo, iter_conf* iconf,
const struct linop_s* model_op,
const struct operator_p_s* thresh_op,
const long x_dims[__VLA(N)], _Complex float* x,
const long y_dims[__VLA(N)], const _Complex float* y,
const struct operator_s* precond_op);
extern void wlsqr( unsigned int N, const struct lsqr_conf* conf,
italgo_fun_t italgo, iter_conf* iconf,
const struct linop_s* model_op,
const struct operator_p_s* thresh_op,
const long x_dims[__VLA(N)], _Complex float* x,
const long y_dims[__VLA(N)], const _Complex float* y,
const long w_dims[__VLA(N)], const _Complex float* w,
const struct operator_s* precond_op);
extern void lsqr2( unsigned int N, const struct lsqr_conf* conf,
italgo_fun2_t italgo, iter_conf* iconf,
const struct linop_s* model_op,
unsigned int num_funs,
const struct operator_p_s* prox_funs[__VLA2(num_funs)],
const struct linop_s* prox_linops[__VLA2(num_funs)],
const long x_dims[__VLA(N)], _Complex float* x,
const long y_dims[__VLA(N)], const _Complex float* y,
const struct operator_s* precond_op,
struct iter_monitor_s* monitor);
extern void wlsqr2( unsigned int N, const struct lsqr_conf* conf,
italgo_fun2_t italgo, iter_conf* iconf,
const struct linop_s* model_op,
unsigned int num_funs,
const struct operator_p_s* prox_funs[__VLA2(num_funs)],
const struct linop_s* prox_linops[__VLA2(num_funs)],
const long x_dims[__VLA(N)], complex float* x,
const long y_dims[__VLA(N)], const complex float* y,
const long w_dims[__VLA(N)], const complex float* w,
const struct operator_s* precond_op);
#include "misc/cppwrap.h"
#endif
|