BCLS: Bound Constrained Least Squares

Version 0.1

BCLS Struct Reference

#include <bcls.h>

Collaboration diagram for BCLS:

Collaboration graph
[legend]

Data Fields

void * print_info
 Transit pointer passed (untouched) to the routine print_hook.
int(* print_hook )(void *info, char *msg)
 User-defined print-hook routine.
void * fault_info
 Transit point passed (untouched) to the routine fault_hook.
int(* fault_hook )(void *info, char *msg)
 User-defined fault-hook routine.
int(* Aprod )(int mode, int m, int n, int nix, int ix[], double x[], double y[], void *UsrWrk)
 User-defined matrix-vector multiply routine.
int(* Usolve )(int mode, int m, int n, int nix, int ix[], double v[], double w[], void *UsrWrk)
 User-defined preconditioning routine.
int(* CallBack )(BCLS *ls, void *UsrWrk)
 User-defined callback function.
double * anorm
 User-defined column weights. Length n. Optional.
void * UsrWrk
 User workspace. Passed (untouched) to Aprod.
int print_level
 Log verbosity.
int proj_search
 Type of linesearch.
int newton_step
 Method for computing Newton step.
FILE * minor_file
 Output file for minor iteration log. Timers.
BCLS_timer stopwatch [4]
int itnMaj
 No. of major iterations.
int itnMajLim
 Max no. of major iterations.
int itnMin
 No. of cummulative minor (LSQR) iterations.
int itnMinLim
 Max no. of minor (LSQR) iterations.
int nAprodT
 No. of mat-vec calls, with len(ix) = n.
int nAprodF
 No. of mat-vec calls, with 1 < len(ix) < n.
int nAprod1
 No. of mat-vec calls, with 1 = len(ix).
int nUsolve
 No. of call to Usolve.
int m
 Number of rows in A.
int n
 Number of columns in A.
int mmax
 Maximum no. of rows in A allocated for.
int nmax
 Maximum no. of columns in A allocated for.
int unconstrained
 Properties of the problem. 0 if constrained; 1 if unconstrained.
double damp
 Set by user. Must be >= 0.
double damp_min
 Only used when there's a linear term.
double damp_actual
 Set in newton_step, used in aprod_free.
int exit
 Exit condition.
double soln_obj
 Objective value.
double soln_rNorm
 Residual at solution.
double soln_dInf
 Dual infeasibility of solution.
int soln_jInf
 Variable with maximum dual infeasibility.
int soln_stat
 Status of the solution.
double optTol
 Optimality tolerance.
double conlim
 Upper limit on cond. no. of [A; gamma I].
double mu
 Armijo sufficient decrease factor.
double backtrack
 Reduction factor for Armijo linesearch.
int backtrack_limit
 Limit on no. of backtracks in linesearch.
double eps
 Machine precision.
double eps2
 eps ^ 0.50.
double eps3
 eps ^ 0.75.
double epsx
 Tolerance for x "on bound".
double epsfixed
 Tolerance for x considered "fixed".
double BigNum
 Biggest number we'll allow in x.
double * x
 x(n) solution (allocated by user).
double * b
 b(m): right-hand-side vector (allocated by user).
double * c
 c(n): linear term (allocated by user).
double * bl
 bl(n): lower bounds (allocated by user).
double * bu
 bu(n): upper bounds (allocated by user).
double * r
 (max(n, m)) Residual.
double * g
 (n) Gradient.
double * dx
 (n) Search direction, full space.
double * dxFree
 (n) Search direction, subspace.
double * aBreak
 (n) Step to each breakpoint.
int * iBreak
 (n) Indices of each breakpoint.
int * ix
 (n) Indices of free variables.
double * wrk_u
 (max(n, m)) Workspace.
double * wrk_v
 (max(n, m)) Workspace.
double * wrk_w
 (max(n, m)) Workspace.
jmp_buf jmp_env
 Long jump environment.

Detailed Description

Examples:

/examples/bcsol.c.

Definition at line 47 of file bcls.h.


Field Documentation

void* BCLS::print_info

Transit pointer passed (untouched) to the routine print_hook.

Definition at line 50 of file bcls.h.

Referenced by bcls_init_prob(), bcls_print(), and bcls_set_print_hook().

int(* BCLS::print_hook)(void *info, char *msg)

User-defined print-hook routine.

Referenced by bcls_init_prob(), bcls_print(), and bcls_set_print_hook().

void* BCLS::fault_info

Transit point passed (untouched) to the routine fault_hook.

Definition at line 56 of file bcls.h.

Referenced by bcls_fault(), bcls_init_prob(), and bcls_set_fault_hook().

int(* BCLS::fault_hook)(void *info, char *msg)

User-defined fault-hook routine.

Referenced by bcls_fault(), bcls_init_prob(), and bcls_set_fault_hook().

int(* BCLS::Aprod)(int mode, int m, int n, int nix, int ix[], double x[], double y[], void *UsrWrk)

User-defined matrix-vector multiply routine.

Referenced by bcls_aprod(), bcls_init_prob(), and bcls_set_problem_data().

int(* BCLS::Usolve)(int mode, int m, int n, int nix, int ix[], double v[], double w[], void *UsrWrk)

User-defined preconditioning routine.

Referenced by aprod_free_lsqr(), bcls_init_prob(), bcls_newton_step(), bcls_print_params(), bcls_set_usolve(), bcls_solve_prob(), and bcls_usolve().

int(* BCLS::CallBack)(BCLS *ls, void *UsrWrk)

User-defined callback function.

Examples:
/examples/bcsol.c.

Referenced by bcls_callback(), and bcls_init_prob().

double* BCLS::anorm

User-defined column weights. Length n. Optional.

Definition at line 81 of file bcls.h.

Referenced by bcls_init_prob(), bcls_print_params(), bcls_set_anorm(), bcls_solve_prob(), and hashls().

void* BCLS::UsrWrk

User workspace. Passed (untouched) to Aprod.

Definition at line 85 of file bcls.h.

Referenced by bcls_aprod(), bcls_callback(), bcls_init_prob(), bcls_set_problem_data(), and bcls_usolve().

int BCLS::print_level

Log verbosity.

Examples:
/examples/bcsol.c.

Definition at line 88 of file bcls.h.

Referenced by bcls_examine_column_scales(), bcls_init_prob(), bcls_print(), and bcls_proj_search().

int BCLS::proj_search

Type of linesearch.

Examples:
/examples/bcsol.c.

Definition at line 89 of file bcls.h.

Referenced by bcls_init_prob(), bcls_print_params(), and bcls_solve_prob().

int BCLS::newton_step

Method for computing Newton step.

Examples:
/examples/bcsol.c.

Definition at line 92 of file bcls.h.

Referenced by bcls_init_prob(), bcls_print_params(), and bcls_solve_prob().

FILE* BCLS::minor_file

Output file for minor iteration log. Timers.

Examples:
/examples/bcsol.c.

Definition at line 95 of file bcls.h.

Referenced by bcls_init_prob(), and bcls_newton_step_cgls().

BCLS_timer BCLS::stopwatch[4]

Definition at line 98 of file bcls.h.

Referenced by bcls_aprod(), bcls_init_prob(), bcls_newton_step_lsqr(), bcls_solve_prob(), and bcls_usolve().

int BCLS::itnMaj

No. of major iterations.

Definition at line 105 of file bcls.h.

Referenced by bcls_init_prob(), bcls_solve_prob(), and bcls_solver().

int BCLS::itnMajLim

Max no. of major iterations.

Examples:
/examples/bcsol.c.

Definition at line 106 of file bcls.h.

Referenced by bcls_init_prob(), and bcls_print_params().

int BCLS::itnMin

No. of cummulative minor (LSQR) iterations.

Definition at line 107 of file bcls.h.

Referenced by bcls_init_prob(), bcls_solve_prob(), and bcls_solver().

int BCLS::itnMinLim

Max no. of minor (LSQR) iterations.

Examples:
/examples/bcsol.c.

Definition at line 108 of file bcls.h.

Referenced by bcls_init_prob(), and bcls_print_params().

int BCLS::nAprodT

No. of mat-vec calls, with len(ix) = n.

Definition at line 109 of file bcls.h.

Referenced by bcls_aprod(), bcls_init_prob(), and bcls_solve_prob().

int BCLS::nAprodF

No. of mat-vec calls, with 1 < len(ix) < n.

Definition at line 110 of file bcls.h.

Referenced by bcls_aprod(), and bcls_init_prob().

int BCLS::nAprod1

No. of mat-vec calls, with 1 = len(ix).

Definition at line 111 of file bcls.h.

Referenced by bcls_aprod(), bcls_init_prob(), and bcls_solve_prob().

int BCLS::nUsolve

No. of call to Usolve.

Definition at line 112 of file bcls.h.

Referenced by bcls_init_prob(), bcls_solve_prob(), and bcls_usolve().

int BCLS::m

Number of rows in A.

Definition at line 115 of file bcls.h.

Referenced by aprod_free_lsqr(), bcls_aprod(), bcls_init_prob(), bcls_print_params(), bcls_set_problem_data(), bcls_solve_prob(), bcls_usolve(), and hashls().

int BCLS::n

Number of columns in A.

Definition at line 118 of file bcls.h.

Referenced by bcls_aprod(), bcls_examine_column_scales(), bcls_init_prob(), bcls_print_params(), bcls_set_problem_data(), bcls_solve_prob(), bcls_usolve(), and hashls().

int BCLS::mmax

Maximum no. of rows in A allocated for.

Definition at line 121 of file bcls.h.

Referenced by bcls_create_prob(), and bcls_init_prob().

int BCLS::nmax

Maximum no. of columns in A allocated for.

Definition at line 124 of file bcls.h.

Referenced by bcls_create_prob(), and bcls_init_prob().

int BCLS::unconstrained

Properties of the problem. 0 if constrained; 1 if unconstrained.

Definition at line 127 of file bcls.h.

Referenced by bcls_examine_bnds(), and bcls_init_prob().

double BCLS::damp

Set by user. Must be >= 0.

Definition at line 130 of file bcls.h.

Referenced by bcls_init_prob(), bcls_print_params(), bcls_proj_backtrack(), bcls_proj_search(), bcls_set_problem_data(), and bcls_solver().

double BCLS::damp_min

Only used when there's a linear term.

Definition at line 131 of file bcls.h.

Referenced by bcls_init_prob(), and bcls_newton_step_lsqr().

double BCLS::damp_actual

Set in newton_step, used in aprod_free.

Definition at line 132 of file bcls.h.

Referenced by aprod_free_lsqr(), and bcls_newton_step_lsqr().

int BCLS::exit

Exit condition.

Definition at line 135 of file bcls.h.

Referenced by bcls_init_prob(), and bcls_solve_prob().

double BCLS::soln_obj

Objective value.

Definition at line 148 of file bcls.h.

Referenced by bcls_solve_prob().

double BCLS::soln_rNorm

Residual at solution.

Definition at line 149 of file bcls.h.

Referenced by bcls_init_prob().

double BCLS::soln_dInf

Dual infeasibility of solution.

Definition at line 150 of file bcls.h.

Referenced by bcls_init_prob(), and bcls_solve_prob().

int BCLS::soln_jInf

Variable with maximum dual infeasibility.

Definition at line 151 of file bcls.h.

Referenced by bcls_init_prob(), and bcls_solve_prob().

int BCLS::soln_stat

Status of the solution.

Definition at line 152 of file bcls.h.

Referenced by bcls_init_prob().

double BCLS::optTol

Optimality tolerance.

Examples:
/examples/bcsol.c.

Definition at line 157 of file bcls.h.

Referenced by bcls_init_prob(), bcls_print_params(), and bcls_solver().

double BCLS::conlim

Upper limit on cond. no. of [A; gamma I].

Definition at line 158 of file bcls.h.

Referenced by bcls_init_prob().

double BCLS::mu

Armijo sufficient decrease factor.

Definition at line 159 of file bcls.h.

Referenced by bcls_init_prob(), and bcls_proj_backtrack().

double BCLS::backtrack

Reduction factor for Armijo linesearch.

Definition at line 160 of file bcls.h.

Referenced by bcls_init_prob(), and bcls_proj_backtrack().

int BCLS::backtrack_limit

Limit on no. of backtracks in linesearch.

Definition at line 161 of file bcls.h.

Referenced by bcls_init_prob(), and bcls_proj_backtrack().

double BCLS::eps

Machine precision.

Definition at line 164 of file bcls.h.

Referenced by bcls_free_vars(), bcls_init_prob(), bcls_proj_backtrack(), bcls_proj_search(), and bcls_solve_prob().

double BCLS::eps2

eps ^ 0.50.

Definition at line 165 of file bcls.h.

Referenced by bcls_init_prob().

double BCLS::eps3

eps ^ 0.75.

Definition at line 166 of file bcls.h.

Referenced by bcls_init_prob().

double BCLS::epsx

Tolerance for x "on bound".

Examples:
/examples/bcsol.c.

Definition at line 167 of file bcls.h.

Referenced by bcls_free_vars(), bcls_init_prob(), bcls_proj_backtrack(), and bcls_proj_search().

double BCLS::epsfixed

Tolerance for x considered "fixed".

Definition at line 168 of file bcls.h.

Referenced by bcls_examine_bnds(), bcls_init_prob(), and bcls_proj_search().

double BCLS::BigNum

Biggest number we'll allow in x.

Definition at line 169 of file bcls.h.

Referenced by bcls_examine_bnds(), bcls_init_prob(), bcls_proj_backtrack(), and bcls_proj_search().

double* BCLS::x

x(n) solution (allocated by user).

Definition at line 173 of file bcls.h.

Referenced by bcls_set_problem_data(), bcls_solve_prob(), and hashls().

double* BCLS::b

b(m): right-hand-side vector (allocated by user).

Definition at line 176 of file bcls.h.

Referenced by bcls_set_problem_data(), bcls_solve_prob(), and hashls().

double* BCLS::c

c(n): linear term (allocated by user).

Definition at line 179 of file bcls.h.

Referenced by bcls_print_params(), bcls_set_problem_data(), bcls_solve_prob(), and hashls().

double* BCLS::bl

bl(n): lower bounds (allocated by user).

Definition at line 182 of file bcls.h.

Referenced by bcls_set_problem_data(), bcls_solve_prob(), and hashls().

double* BCLS::bu

bu(n): upper bounds (allocated by user).

Definition at line 185 of file bcls.h.

Referenced by bcls_set_problem_data(), bcls_solve_prob(), and hashls().

double* BCLS::r

(max(n, m)) Residual.

Definition at line 188 of file bcls.h.

Referenced by bcls_create_prob(), bcls_free_prob(), bcls_solve_prob(), and hashls().

double* BCLS::g

(n) Gradient.

Examples:
/examples/bcsol.c.

Definition at line 189 of file bcls.h.

Referenced by bcls_create_prob(), bcls_free_prob(), bcls_solve_prob(), and hashls().

double* BCLS::dx

(n) Search direction, full space.

Definition at line 190 of file bcls.h.

Referenced by aprod_free(), aprod_free_lsqr(), bcls_create_prob(), bcls_free_prob(), bcls_newton_step(), bcls_solve_prob(), and hashls().

double* BCLS::dxFree

(n) Search direction, subspace.

Definition at line 191 of file bcls.h.

Referenced by bcls_create_prob(), bcls_free_prob(), bcls_solve_prob(), and hashls().

double* BCLS::aBreak

(n) Step to each breakpoint.

Definition at line 192 of file bcls.h.

Referenced by bcls_create_prob(), bcls_free_prob(), bcls_solve_prob(), and hashls().

int* BCLS::iBreak

(n) Indices of each breakpoint.

Definition at line 193 of file bcls.h.

Referenced by bcls_create_prob(), bcls_free_prob(), bcls_solve_prob(), and hashls().

int* BCLS::ix

(n) Indices of free variables.

Definition at line 194 of file bcls.h.

Referenced by aprod_free(), aprod_free_lsqr(), bcls_compute_anorm(), bcls_create_prob(), bcls_free_prob(), bcls_solve_prob(), and hashls().

double* BCLS::wrk_u

(max(n, m)) Workspace.

Definition at line 195 of file bcls.h.

Referenced by aprod_free_lsqr(), bcls_compute_anorm(), bcls_create_prob(), bcls_free_prob(), bcls_newton_step_cgls(), and hashls().

double* BCLS::wrk_v

(max(n, m)) Workspace.

Definition at line 196 of file bcls.h.

Referenced by bcls_compute_anorm(), bcls_create_prob(), bcls_free_prob(), bcls_newton_step_cgls(), bcls_newton_step_lsqr(), and hashls().

double* BCLS::wrk_w

(max(n, m)) Workspace.

Definition at line 197 of file bcls.h.

Referenced by bcls_create_prob(), bcls_free_prob(), bcls_newton_step_cgls(), and hashls().

jmp_buf BCLS::jmp_env

Long jump environment.

Definition at line 200 of file bcls.h.

Referenced by bcls_aprod(), bcls_solve_prob(), and bcls_usolve().


The documentation for this struct was generated from the following file:

Generated on Sun Mar 4 22:50:03 2007 by Doxygen 1.5.1