H2Lib  3.0
Data Structures | Typedefs | Functions
avector.h File Reference
#include <assert.h>
#include <math.h>
#include <stdlib.h>
#include "basic.h"
#include "blas.h"
#include "amatrix.h"
#include "settings.h"

Go to the source code of this file.

Data Structures

struct  _avector
 

Typedefs

typedef struct _avector avector
 
typedef avectorpavector
 
typedef const avectorpcavector
 

Functions

pavector init_avector (pavector v, uint dim)
 Initialize an avector object. More...
 
pavector init_sub_avector (pavector v, pavector src, uint dim, uint off)
 Initialize an avector object to represent a subvector. More...
 
pavector init_zero_avector (pavector v, uint dim)
 Initialize an avector object and set it to zero. More...
 
pavector init_column_avector (pavector v, pamatrix src, uint col)
 Initialize an avector object to represent a column vector of a given matrix. More...
 
pavector init_pointer_avector (pavector v, pfield src, uint dim)
 Initialize an avector object using a given array for the coefficients. More...
 
void uninit_avector (pavector v)
 Uninitialize an avector object. More...
 
pavector new_avector (uint dim)
 Create a new avector object. More...
 
pavector new_sub_avector (pavector src, uint dim, uint off)
 Create a new avector object representing a subvector. More...
 
pavector new_zero_avector (uint dim)
 Create a new avector object representing a zero vector. More...
 
pavector new_pointer_avector (pfield src, uint dim)
 Create a new avector object using a given array for the coefficients. More...
 
void del_avector (pavector v)
 Delete an avector object. More...
 
void resize_avector (pavector v, uint dim)
 Change the dimension of an avector object without preserving its coefficients. More...
 
void shrink_avector (pavector v, uint dim)
 Reduce the dimension of an avector object without reallocating storage, preserving its coefficients. More...
 
field getentry_avector (pcavector v, uint i)
 Read a vector entry $v_i$. More...
 
void setentry_avector (pavector v, uint i, field x)
 Set a vector entry, $v_i \gets x$. More...
 
field addentry_avector (pavector v, uint i, field x)
 Add to a vector entry, $v_i \gets v_i + x$. More...
 
uint getactives_avector ()
 Get number of currently initialized avector objects. More...
 
size_t getsize_avector (pcavector v)
 Get size of a given avector object. More...
 
size_t getsize_heap_avector (pcavector v)
 Get heap size of a given avector object. More...
 
void clear_avector (pavector v)
 Set a vector to zero. More...
 
void fill_avector (pavector v, field x)
 Set all coefficients in a vector to the same value. More...
 
void random_avector (pavector v)
 Fill a vector with random values. More...
 
void random_real_avector (pavector v)
 Fill a vector with real valued random values. More...
 
void copy_avector (pcavector v, pavector w)
 Copy a vector into another vector, $w \gets v$. More...
 
void copy_sub_avector (pcavector v, pavector w)
 Copy a vector into another vector, $w \gets v$. More...
 
void print_avector (pcavector v)
 Print a vector. More...
 
void scale_avector (field alpha, pavector v)
 Scale a vector $v$ by a factor $\alpha$, $v \gets \alpha v$. More...
 
real norm2_avector (pcavector v)
 Compute the Euclidean norm $\|v\|_2$ of a vector $v$. More...
 
field dotprod_avector (pcavector x, pcavector y)
 Compute the Euclidean innner product $\langle x, y\rangle_2$ of two vectors $x$ and $y$. More...
 
void add_avector (field alpha, pcavector x, pavector y)
 Add two vectors, $y \gets y + \alpha x$. More...
 

Detailed Description

Author
Steffen Börm