NEURON
matrix.h File Reference
#include "machine.h"
#include "err.h"
#include "meminfo.h"
#include <sys/types.h>
#include <stdlib.h>
#include <stdarg.h>

Go to the source code of this file.

Classes

struct  VEC
 
struct  MAT
 
struct  BAND
 
struct  PERM
 
struct  IVEC
 

Macros

#define m_move   mesch_m_move
 
#define OUT   mesch_out
 
#define NEW(type)   ((type *)calloc((size_t)1,(size_t)sizeof(type)))
 
#define NEW_A(num, type)   ((type *)calloc((size_t)(num),(size_t)sizeof(type)))
 
#define RENEW(var, num, type)
 
#define MEMCOPY(from, to, n_items, type)   MEM_COPY((char *)(from),(char *)(to),(unsigned)(n_items)*sizeof(type))
 
#define max(a, b)   ((a) > (b) ? (a) : (b))
 
#define min(a, b)   ((a) > (b) ? (b) : (a))
 
#define TRUE   1
 
#define FALSE   0
 
#define MAXLINE   81
 
#define M_FREE(mat)   ( m_free(mat), (mat)=(MAT *)NULL )
 
#define V_FREE(vec)   ( v_free(vec), (vec)=(VEC *)NULL )
 
#define PX_FREE(px)   ( px_free(px), (px)=(PERM *)NULL )
 
#define IV_FREE(iv)   ( iv_free(iv), (iv)=(IVEC *)NULL )
 
#define MAXDIM   2001
 
#define v_entry(x, i)   ((x)->ve[i])
 
#define v_set_val(x, i, val)   ((x)->ve[i] = (val))
 
#define v_add_val(x, i, val)   ((x)->ve[i] += (val))
 
#define v_sub_val(x, i, val)   ((x)->ve[i] -= (val))
 
#define m_entry(A, i, j)   ((A)->me[i][j])
 
#define m_set_val(A, i, j, val)   ((A)->me[i][j] = (val) )
 
#define m_add_val(A, i, j, val)   ((A)->me[i][j] += (val) )
 
#define m_sub_val(A, i, j, val)   ((A)->me[i][j] -= (val) )
 
#define v_output(vec)   v_foutput(stdout,vec)
 
#define v_input(vec)   v_finput(stdin,vec)
 
#define m_output(mat)   m_foutput(stdout,mat)
 
#define m_input(mat)   m_finput(stdin,mat)
 
#define px_output(px)   px_foutput(stdout,px)
 
#define px_input(px)   px_finput(stdin,px)
 
#define iv_output(iv)   iv_foutput(stdout,iv)
 
#define iv_input(iv)   iv_finput(stdin,iv)
 
#define finput(fp, prompt, fmt, var)
 
#define input(prompt, fmt, var)   finput(stdin,prompt,fmt,var)
 
#define fprompter(fp, prompt)   ( isatty(fileno(fp)) ? fprintf(stderr,prompt) : skipjunk(fp) )
 
#define prompter(prompt)   fprompter(stdin,prompt)
 
#define y_or_n(s)   fy_or_n(stdin,s)
 
#define in_int(s, lo, hi)   fin_int(stdin,s,lo,hi)
 
#define in_double(s, lo, hi)   fin_double(stdin,s,lo,hi)
 
#define m_copy(in, out)   _m_copy(in,out,0,0)
 
#define v_copy(in, out)   _v_copy(in,out,0)
 
#define in_prod(a, b)   _in_prod(a,b,0)
 
#define v_norm1(x)   _v_norm1(x,VNULL)
 
#define v_norm2(x)   _v_norm2(x,VNULL)
 
#define v_norm_inf(x)   _v_norm_inf(x,VNULL)
 
#define set_row(mat, row, vec)   _set_row(mat,row,vec,0)
 
#define set_col(mat, col, vec)   _set_col(mat,col,vec,0)
 
#define VNULL   ((VEC *)NULL)
 
#define MNULL   ((MAT *)NULL)
 
#define PNULL   ((PERM *)NULL)
 
#define IVNULL   ((IVEC *)NULL)
 
#define BDNULL   ((BAND *)NULL)
 

Functions

void m_version (void)
 
VECv_get (int)
 
VECv_resize (VEC *, int)
 
MATm_get (int, int)
 
MATm_resize (MAT *, int, int)
 
PERMpx_get (int)
 
PERMpx_resize (PERM *, int)
 
IVECiv_get (int)
 
IVECiv_resize (IVEC *, int)
 
BANDbd_get (int, int, int)
 
BANDbd_resize (BAND *, int, int, int)
 
int iv_free (IVEC *)
 
int m_free (MAT *)
 
int v_free (VEC *)
 
int px_free (PERM *)
 
int bd_free (BAND *)
 
void v_foutput (FILE *fp, VEC *x)
 
void m_foutput (FILE *fp, MAT *A)
 
void px_foutput (FILE *fp, PERM *px)
 
void iv_foutput (FILE *fp, IVEC *ix)
 
VECv_finput (FILE *fp, VEC *out)
 
MATm_finput (FILE *fp, MAT *out)
 
PERMpx_finput (FILE *fp, PERM *out)
 
IVECiv_finput (FILE *fp, IVEC *out)
 
int fy_or_n (FILE *fp, char *s)
 
int yn_dflt (int val)
 
int fin_int (FILE *fp, char *s, int low, int high)
 
double fin_double (FILE *fp, char *s, double low, double high)
 
int skipjunk (FILE *fp)
 
MAT_m_copy (MAT *in, MAT *out, u_int i0, u_int j0)
 
MATm_move (MAT *in, int, int, int, int, MAT *out, int, int)
 
MATvm_move (VEC *in, int, MAT *out, int, int, int, int)
 
VEC_v_copy (VEC *in, VEC *out, u_int i0)
 
VECv_move (VEC *in, int, int, VEC *out, int)
 
VECmv_move (MAT *in, int, int, int, int, VEC *out, int)
 
PERMpx_copy (PERM *in, PERM *out)
 
IVECiv_copy (IVEC *in, IVEC *out)
 
IVECiv_move (IVEC *in, int, int, IVEC *out, int)
 
BANDbd_copy (BAND *in, BAND *out)
 
VECv_zero (VEC *)
 
VECv_rand (VEC *)
 
VECv_ones (VEC *)
 
MATm_zero (MAT *)
 
MATm_ident (MAT *)
 
MATm_rand (MAT *)
 
MATm_ones (MAT *)
 
PERMpx_ident (PERM *)
 
IVECiv_zero (IVEC *)
 
VECsv_mlt (double, VEC *, VEC *)
 
VECmv_mlt (MAT *, VEC *, VEC *)
 
VECvm_mlt (MAT *, VEC *, VEC *)
 
VECv_add (VEC *, VEC *, VEC *)
 
VECv_sub (VEC *, VEC *, VEC *)
 
VECpx_vec (PERM *, VEC *, VEC *)
 
VECpxinv_vec (PERM *, VEC *, VEC *)
 
VECv_mltadd (VEC *, VEC *, double, VEC *)
 
VECv_map (double(*f)(), VEC *, VEC *)
 
VEC_v_map (double(*f)(), void *, VEC *, VEC *)
 
VECv_lincomb (int, VEC **, Real *, VEC *)
 
VECv_linlist (VEC *out, VEC *v1, double a1,...)
 
double v_min (VEC *, int *)
 
double v_max (VEC *, int *)
 
double v_sum (VEC *)
 
VECv_star (VEC *, VEC *, VEC *)
 
VECv_slash (VEC *, VEC *, VEC *)
 
VECv_sort (VEC *, PERM *)
 
double _in_prod (VEC *x, VEC *y, u_int i0)
 
double __ip__ (Real *, Real *, int)
 
void __mltadd__ (Real *, Real *, double, int)
 
void __add__ (Real *, Real *, Real *, int)
 
void __sub__ (Real *, Real *, Real *, int)
 
void __smlt__ (Real *, double, Real *, int)
 
void __zero__ (Real *, int)
 
double _v_norm1 (VEC *x, VEC *scale)
 
double _v_norm2 (VEC *x, VEC *scale)
 
double _v_norm_inf (VEC *x, VEC *scale)
 
double m_norm1 (MAT *A)
 
double m_norm_inf (MAT *A)
 
double m_norm_frob (MAT *A)
 
MATsm_mlt (double s, MAT *A, MAT *out)
 
MATm_mlt (MAT *A, MAT *B, MAT *out)
 
MATmmtr_mlt (MAT *A, MAT *B, MAT *out)
 
MATmtrm_mlt (MAT *A, MAT *B, MAT *out)
 
MATm_add (MAT *A, MAT *B, MAT *out)
 
MATm_sub (MAT *A, MAT *B, MAT *out)
 
MATsub_mat (MAT *A, u_int, u_int, u_int, u_int, MAT *out)
 
MATm_transp (MAT *A, MAT *out)
 
MATms_mltadd (MAT *A, MAT *B, double s, MAT *out)
 
BANDbd_transp (BAND *in, BAND *out)
 
MATpx_rows (PERM *px, MAT *A, MAT *out)
 
MATpx_cols (PERM *px, MAT *A, MAT *out)
 
MATswap_rows (MAT *, int, int, int, int)
 
MATswap_cols (MAT *, int, int, int, int)
 
MAT_set_col (MAT *A, u_int i, VEC *out, u_int j0)
 
MAT_set_row (MAT *A, u_int j, VEC *out, u_int i0)
 
VECget_row (MAT *, u_int, VEC *)
 
VECget_col (MAT *, u_int, VEC *)
 
VECsub_vec (VEC *, int, int, VEC *)
 
VECmv_mltadd (VEC *x, VEC *y, MAT *A, double s, VEC *out)
 
VECvm_mltadd (VEC *x, VEC *y, MAT *A, double s, VEC *out)
 
PERMpx_mlt (PERM *px1, PERM *px2, PERM *out)
 
PERMpx_inv (PERM *px, PERM *out)
 
PERMpx_transp (PERM *px, u_int i, u_int j)
 
int px_sign (PERM *)
 
IVECiv_add (IVEC *ix, IVEC *iy, IVEC *out)
 
IVECiv_sub (IVEC *ix, IVEC *iy, IVEC *out)
 
IVECiv_sort (IVEC *ix, PERM *order)
 
double square (double x)
 
double cube (double x)
 
double mrand (void)
 
void smrand (int seed)
 
void mrandlist (Real *x, int len)
 
void m_dump (FILE *fp, MAT *a)
 
void px_dump (FILE *, PERM *px)
 
void v_dump (FILE *fp, VEC *x)
 
void iv_dump (FILE *fp, IVEC *ix)
 
MATband2mat (BAND *bA, MAT *A)
 
BANDmat2band (MAT *A, int lb, int ub, BAND *bA)
 
int v_get_vars (int dim,...)
 
int iv_get_vars (int dim,...)
 
int m_get_vars (int m, int n,...)
 
int px_get_vars (int dim,...)
 
int v_resize_vars (int new_dim,...)
 
int iv_resize_vars (int new_dim,...)
 
int m_resize_vars (int m, int n,...)
 
int px_resize_vars (int new_dim,...)
 
int v_free_vars (VEC **,...)
 
int iv_free_vars (IVEC **,...)
 
int px_free_vars (PERM **,...)
 
int m_free_vars (MAT **,...)
 

Macro Definition Documentation

◆ BDNULL

#define BDNULL   ((BAND *)NULL)

Definition at line 635 of file matrix.h.

◆ FALSE

#define FALSE   0

Definition at line 164 of file matrix.h.

◆ finput

#define finput (   fp,
  prompt,
  fmt,
  var 
)
Value:
( ( isatty(fileno(fp)) ? fprintf(stderr,prompt) : skipjunk(fp) ), \
fscanf(fp,fmt,var) )
static Frame * fp
Definition: code.cpp:154
fprintf(stderr, "Don't know the location of params at %p\, pp)
int skipjunk(FILE *fp)
Definition: matrixio.c:47
double var(InputIterator begin, InputIterator end)
Definition: ivocvect.h:93

Definition at line 365 of file matrix.h.

◆ fprompter

#define fprompter (   fp,
  prompt 
)    ( isatty(fileno(fp)) ? fprintf(stderr,prompt) : skipjunk(fp) )

Definition at line 369 of file matrix.h.

◆ in_double

#define in_double (   s,
  lo,
  hi 
)    fin_double(stdin,s,lo,hi)

Definition at line 374 of file matrix.h.

◆ in_int

#define in_int (   s,
  lo,
  hi 
)    fin_int(stdin,s,lo,hi)

Definition at line 373 of file matrix.h.

◆ in_prod

#define in_prod (   a,
 
)    _in_prod(a,b,0)

Definition at line 485 of file matrix.h.

◆ input

#define input (   prompt,
  fmt,
  var 
)    finput(stdin,prompt,fmt,var)

Definition at line 368 of file matrix.h.

◆ IV_FREE

#define IV_FREE (   iv)    ( iv_free(iv), (iv)=(IVEC *)NULL )

Definition at line 216 of file matrix.h.

◆ iv_input

#define iv_input (   iv)    iv_finput(stdin,iv)

Definition at line 362 of file matrix.h.

◆ iv_output

#define iv_output (   iv)    iv_foutput(stdout,iv)

Definition at line 361 of file matrix.h.

◆ IVNULL

#define IVNULL   ((IVEC *)NULL)

Definition at line 634 of file matrix.h.

◆ m_add_val

#define m_add_val (   A,
  i,
  j,
  val 
)    ((A)->me[i][j] += (val) )

Definition at line 280 of file matrix.h.

◆ m_copy

#define m_copy (   in,
  out 
)    _m_copy(in,out,0,0)

Definition at line 403 of file matrix.h.

◆ m_entry

#define m_entry (   A,
  i,
  j 
)    ((A)->me[i][j])

Definition at line 274 of file matrix.h.

◆ M_FREE

#define M_FREE (   mat)    ( m_free(mat), (mat)=(MAT *)NULL )

Definition at line 213 of file matrix.h.

◆ m_input

#define m_input (   mat)    m_finput(stdin,mat)

Definition at line 358 of file matrix.h.

◆ m_move

#define m_move   mesch_m_move

Definition at line 50 of file matrix.h.

◆ m_output

#define m_output (   mat)    m_foutput(stdout,mat)

Definition at line 357 of file matrix.h.

◆ m_set_val

#define m_set_val (   A,
  i,
  j,
  val 
)    ((A)->me[i][j] = (val) )

Definition at line 277 of file matrix.h.

◆ m_sub_val

#define m_sub_val (   A,
  i,
  j,
  val 
)    ((A)->me[i][j] -= (val) )

Definition at line 283 of file matrix.h.

◆ max

#define max (   a,
 
)    ((a) > (b) ? (a) : (b))

Definition at line 154 of file matrix.h.

◆ MAXDIM

#define MAXDIM   2001

Definition at line 218 of file matrix.h.

◆ MAXLINE

#define MAXLINE   81

Definition at line 168 of file matrix.h.

◆ MEMCOPY

#define MEMCOPY (   from,
  to,
  n_items,
  type 
)    MEM_COPY((char *)(from),(char *)(to),(unsigned)(n_items)*sizeof(type))

Definition at line 147 of file matrix.h.

◆ min

#define min (   a,
 
)    ((a) > (b) ? (b) : (a))

Definition at line 157 of file matrix.h.

◆ MNULL

#define MNULL   ((MAT *)NULL)

Definition at line 632 of file matrix.h.

◆ NEW

#define NEW (   type)    ((type *)calloc((size_t)1,(size_t)sizeof(type)))

Definition at line 136 of file matrix.h.

◆ NEW_A

#define NEW_A (   num,
  type 
)    ((type *)calloc((size_t)(num),(size_t)sizeof(type)))

Definition at line 139 of file matrix.h.

◆ OUT

#define OUT   mesch_out

Definition at line 51 of file matrix.h.

◆ PNULL

#define PNULL   ((PERM *)NULL)

Definition at line 633 of file matrix.h.

◆ prompter

#define prompter (   prompt)    fprompter(stdin,prompt)

Definition at line 371 of file matrix.h.

◆ PX_FREE

#define PX_FREE (   px)    ( px_free(px), (px)=(PERM *)NULL )

Definition at line 215 of file matrix.h.

◆ px_input

#define px_input (   px)    px_finput(stdin,px)

Definition at line 360 of file matrix.h.

◆ px_output

#define px_output (   px)    px_foutput(stdout,px)

Definition at line 359 of file matrix.h.

◆ RENEW

#define RENEW (   var,
  num,
  type 
)
Value:
((var)=(type *)((var) ? \
realloc((char *)(var),(size_t)((num)*sizeof(type))) : \
calloc((size_t)(num),(size_t)sizeof(type))))
short type
Definition: cabvars.h:10
double var(InputIterator begin, InputIterator end)
Definition: ivocvect.h:93

Definition at line 142 of file matrix.h.

◆ set_col

#define set_col (   mat,
  col,
  vec 
)    _set_col(mat,col,vec,0)

Definition at line 564 of file matrix.h.

◆ set_row

#define set_row (   mat,
  row,
  vec 
)    _set_row(mat,row,vec,0)

Definition at line 562 of file matrix.h.

◆ TRUE

#define TRUE   1

Definition at line 162 of file matrix.h.

◆ v_add_val

#define v_add_val (   x,
  i,
  val 
)    ((x)->ve[i] += (val))

Definition at line 268 of file matrix.h.

◆ v_copy

#define v_copy (   in,
  out 
)    _v_copy(in,out,0)

Definition at line 404 of file matrix.h.

◆ v_entry

#define v_entry (   x,
  i 
)    ((x)->ve[i])

Definition at line 262 of file matrix.h.

◆ V_FREE

#define V_FREE (   vec)    ( v_free(vec), (vec)=(VEC *)NULL )

Definition at line 214 of file matrix.h.

◆ v_input

#define v_input (   vec)    v_finput(stdin,vec)

Definition at line 356 of file matrix.h.

◆ v_norm1

#define v_norm1 (   x)    _v_norm1(x,VNULL)

Definition at line 510 of file matrix.h.

◆ v_norm2

#define v_norm2 (   x)    _v_norm2(x,VNULL)

Definition at line 511 of file matrix.h.

◆ v_norm_inf

#define v_norm_inf (   x)    _v_norm_inf(x,VNULL)

Definition at line 512 of file matrix.h.

◆ v_output

#define v_output (   vec)    v_foutput(stdout,vec)

Definition at line 355 of file matrix.h.

◆ v_set_val

#define v_set_val (   x,
  i,
  val 
)    ((x)->ve[i] = (val))

Definition at line 265 of file matrix.h.

◆ v_sub_val

#define v_sub_val (   x,
  i,
  val 
)    ((x)->ve[i] -= (val))

Definition at line 271 of file matrix.h.

◆ VNULL

#define VNULL   ((VEC *)NULL)

Definition at line 631 of file matrix.h.

◆ y_or_n

#define y_or_n (   s)    fy_or_n(stdin,s)

Definition at line 372 of file matrix.h.

Function Documentation

◆ __add__()

void __add__ ( Real ,
Real ,
Real ,
int   
)

◆ __ip__()

double __ip__ ( Real ,
Real ,
int   
)

Definition at line 40 of file machine.c.

◆ __mltadd__()

void __mltadd__ ( Real ,
Real ,
double  ,
int   
)

◆ __smlt__()

void __smlt__ ( Real ,
double  ,
Real ,
int   
)

◆ __sub__()

void __sub__ ( Real ,
Real ,
Real ,
int   
)

◆ __zero__()

void __zero__ ( Real ,
int   
)

Definition at line 133 of file machine.c.

◆ _in_prod()

double _in_prod ( VEC x,
VEC y,
u_int  i0 
)

◆ _m_copy()

MAT* _m_copy ( MAT in,
MAT out,
u_int  i0,
u_int  j0 
)

◆ _set_col()

MAT * _set_col ( MAT A,
u_int  i,
VEC out,
u_int  j0 
)

◆ _set_row()

MAT * _set_row ( MAT A,
u_int  j,
VEC out,
u_int  i0 
)

Definition at line 98 of file submat.c.

◆ _v_copy()

VEC* _v_copy ( VEC in,
VEC out,
u_int  i0 
)

◆ _v_map()

VEC * _v_map ( double(*)()  f,
void ,
VEC ,
VEC  
)

◆ _v_norm1()

double _v_norm1 ( VEC x,
VEC scale 
)

◆ _v_norm2()

double _v_norm2 ( VEC x,
VEC scale 
)

◆ _v_norm_inf()

double _v_norm_inf ( VEC x,
VEC scale 
)

Definition at line 104 of file norm.c.

◆ band2mat()

MAT* band2mat ( BAND bA,
MAT A 
)

Definition at line 187 of file bdfactor.c.

◆ bd_copy()

BAND* bd_copy ( BAND in,
BAND out 
)

Definition at line 156 of file bdfactor.c.

◆ bd_free()

int bd_free ( BAND )

Definition at line 74 of file bdfactor.c.

◆ bd_get()

BAND* bd_get ( int  ,
int  ,
int   
)

◆ bd_resize()

BAND * bd_resize ( BAND ,
int  ,
int  ,
int   
)

Definition at line 95 of file bdfactor.c.

◆ bd_transp()

BAND* bd_transp ( BAND in,
BAND out 
)

Definition at line 253 of file bdfactor.c.

◆ cube()

double cube ( double  x)

◆ fin_double()

double fin_double ( FILE *  fp,
char *  s,
double  low,
double  high 
)

Definition at line 124 of file otherio.c.

◆ fin_int()

int fin_int ( FILE *  fp,
char *  s,
int  low,
int  high 
)

Definition at line 85 of file otherio.c.

◆ fy_or_n()

int fy_or_n ( FILE *  fp,
char *  s 
)

Definition at line 49 of file otherio.c.

◆ get_col()

VEC * get_col ( MAT ,
u_int  ,
VEC  
)

◆ get_row()

VEC* get_row ( MAT ,
u_int  ,
VEC  
)

◆ iv_add()

IVEC* iv_add ( IVEC ix,
IVEC iy,
IVEC out 
)

◆ iv_copy()

IVEC* iv_copy ( IVEC in,
IVEC out 
)

◆ iv_dump()

void iv_dump ( FILE *  fp,
IVEC ix 
)

Definition at line 326 of file ivecop.c.

◆ iv_finput()

IVEC* iv_finput ( FILE *  fp,
IVEC out 
)

Definition at line 245 of file ivecop.c.

◆ iv_foutput()

void iv_foutput ( FILE *  fp,
IVEC ix 
)

Definition at line 219 of file ivecop.c.

◆ iv_free()

int iv_free ( IVEC )

Definition at line 67 of file ivecop.c.

◆ iv_free_vars()

int iv_free_vars ( IVEC **  ,
  ... 
)

Definition at line 683 of file memory.c.

◆ iv_get()

IVEC* iv_get ( int  )

◆ iv_get_vars()

int iv_get_vars ( int  dim,
  ... 
)

Definition at line 519 of file memory.c.

◆ iv_move()

IVEC * iv_move ( IVEC in,
int  ,
int  ,
IVEC out,
int   
)

Definition at line 150 of file ivecop.c.

◆ iv_resize()

IVEC * iv_resize ( IVEC ,
int   
)

Definition at line 96 of file ivecop.c.

◆ iv_resize_vars()

int iv_resize_vars ( int  new_dim,
  ... 
)

Definition at line 601 of file memory.c.

◆ iv_sort()

IVEC * iv_sort ( IVEC ix,
PERM order 
)

Definition at line 359 of file ivecop.c.

◆ iv_sub()

IVEC * iv_sub ( IVEC ix,
IVEC iy,
IVEC out 
)

◆ iv_zero()

IVEC* iv_zero ( IVEC )

Definition at line 55 of file init.c.

◆ m_add()

MAT * m_add ( MAT A,
MAT B,
MAT out 
)

◆ m_dump()

void m_dump ( FILE *  fp,
MAT a 
)

◆ m_finput()

MAT* m_finput ( FILE *  fp,
MAT out 
)

Definition at line 73 of file matrixio.c.

◆ m_foutput()

void m_foutput ( FILE *  fp,
MAT A 
)

◆ m_free()

int m_free ( MAT )

◆ m_free_vars()

int m_free_vars ( MAT **  ,
  ... 
)

Definition at line 722 of file memory.c.

◆ m_get()

MAT* m_get ( int  ,
int   
)

◆ m_get_vars()

int m_get_vars ( int  m,
int  n,
  ... 
)

Definition at line 535 of file memory.c.

◆ m_ident()

MAT * m_ident ( MAT )

◆ m_mlt()

MAT * m_mlt ( MAT A,
MAT B,
MAT out 
)

◆ m_move()

MAT * m_move ( MAT in,
int  ,
int  ,
int  ,
int  ,
MAT out,
int  ,
int   
)

◆ m_norm1()

double m_norm1 ( MAT A)

◆ m_norm_frob()

double m_norm_frob ( MAT A)

Definition at line 181 of file norm.c.

◆ m_norm_inf()

double m_norm_inf ( MAT A)

◆ m_ones()

MAT * m_ones ( MAT )

Definition at line 271 of file init.c.

◆ m_rand()

MAT * m_rand ( MAT )

◆ m_resize()

MAT * m_resize ( MAT ,
int  ,
int   
)

Definition at line 262 of file memory.c.

◆ m_resize_vars()

int m_resize_vars ( int  m,
int  n,
  ... 
)

Definition at line 617 of file memory.c.

◆ m_sub()

MAT * m_sub ( MAT A,
MAT B,
MAT out 
)

◆ m_transp()

MAT * m_transp ( MAT A,
MAT out 
)

◆ m_version()

void m_version ( void  )

Definition at line 38 of file version.c.

◆ m_zero()

MAT* m_zero ( MAT )

◆ mat2band()

BAND* mat2band ( MAT A,
int  lb,
int  ub,
BAND bA 
)

Definition at line 218 of file bdfactor.c.

◆ mmtr_mlt()

MAT * mmtr_mlt ( MAT A,
MAT B,
MAT out 
)

◆ mrand()

double mrand ( void  )

Definition at line 148 of file init.c.

◆ mrandlist()

void mrandlist ( Real x,
int  len 
)

◆ ms_mltadd()

MAT * ms_mltadd ( MAT A,
MAT B,
double  s,
MAT out 
)

Definition at line 383 of file matop.c.

◆ mtrm_mlt()

MAT * mtrm_mlt ( MAT A,
MAT B,
MAT out 
)

◆ mv_mlt()

VEC * mv_mlt ( MAT ,
VEC ,
VEC  
)

◆ mv_mltadd()

VEC * mv_mltadd ( VEC x,
VEC y,
MAT A,
double  s,
VEC out 
)

◆ mv_move()

VEC * mv_move ( MAT in,
int  ,
int  ,
int  ,
int  ,
VEC out,
int   
)

Definition at line 160 of file copy.c.

◆ px_cols()

MAT * px_cols ( PERM px,
MAT A,
MAT out 
)

◆ px_copy()

PERM* px_copy ( PERM in,
PERM out 
)

Definition at line 79 of file copy.c.

◆ px_dump()

void px_dump ( FILE *  ,
PERM px 
)

◆ px_finput()

PERM* px_finput ( FILE *  fp,
PERM out 
)

Definition at line 185 of file matrixio.c.

◆ px_foutput()

void px_foutput ( FILE *  fp,
PERM px 
)

Definition at line 422 of file matrixio.c.

◆ px_free()

int px_free ( PERM )

Definition at line 201 of file memory.c.

◆ px_free_vars()

int px_free_vars ( PERM **  ,
  ... 
)

Definition at line 703 of file memory.c.

◆ px_get()

PERM* px_get ( int  )

◆ px_get_vars()

int px_get_vars ( int  dim,
  ... 
)

Definition at line 551 of file memory.c.

◆ px_ident()

PERM* px_ident ( PERM )

Definition at line 108 of file init.c.

◆ px_inv()

PERM * px_inv ( PERM px,
PERM out 
)

◆ px_mlt()

PERM* px_mlt ( PERM px1,
PERM px2,
PERM out 
)

◆ px_resize()

PERM * px_resize ( PERM ,
int   
)

Definition at line 399 of file memory.c.

◆ px_resize_vars()

int px_resize_vars ( int  new_dim,
  ... 
)

Definition at line 634 of file memory.c.

◆ px_rows()

MAT* px_rows ( PERM px,
MAT A,
MAT out 
)

◆ px_sign()

int px_sign ( PERM )

Definition at line 269 of file pxop.c.

◆ px_transp()

PERM * px_transp ( PERM px,
u_int  i,
u_int  j 
)

Definition at line 208 of file pxop.c.

◆ px_vec()

VEC * px_vec ( PERM ,
VEC ,
VEC  
)

◆ pxinv_vec()

VEC * pxinv_vec ( PERM ,
VEC ,
VEC  
)

◆ skipjunk()

int skipjunk ( FILE *  fp)

Definition at line 47 of file matrixio.c.

◆ sm_mlt()

MAT* sm_mlt ( double  s,
MAT A,
MAT out 
)

◆ smrand()

void smrand ( int  seed)

◆ square()

double square ( double  x)

◆ sub_mat()

MAT * sub_mat ( MAT A,
u_int  ,
u_int  ,
u_int  ,
u_int  ,
MAT out 
)

◆ sub_vec()

VEC * sub_vec ( VEC ,
int  ,
int  ,
VEC  
)

◆ sv_mlt()

VEC* sv_mlt ( double  ,
VEC ,
VEC  
)

◆ swap_cols()

MAT * swap_cols ( MAT ,
int  ,
int  ,
int  ,
int   
)

◆ swap_rows()

MAT * swap_rows ( MAT ,
int  ,
int  ,
int  ,
int   
)

◆ v_add()

VEC * v_add ( VEC ,
VEC ,
VEC  
)

◆ v_dump()

void v_dump ( FILE *  fp,
VEC x 
)

◆ v_finput()

VEC* v_finput ( FILE *  fp,
VEC out 
)

Definition at line 295 of file matrixio.c.

◆ v_foutput()

void v_foutput ( FILE *  fp,
VEC x 
)

◆ v_free()

int v_free ( VEC )

◆ v_free_vars()

int v_free_vars ( VEC **  ,
  ... 
)

Definition at line 663 of file memory.c.

◆ v_get()

VEC* v_get ( int  )

◆ v_get_vars()

int v_get_vars ( int  dim,
  ... 
)

Definition at line 502 of file memory.c.

◆ v_lincomb()

VEC * v_lincomb ( int  ,
VEC **  ,
Real ,
VEC  
)

◆ v_linlist()

VEC * v_linlist ( VEC out,
VEC v1,
double  a1,
  ... 
)

Definition at line 269 of file vecop.c.

◆ v_map()

VEC * v_map ( double(*)()  f,
VEC ,
VEC  
)

◆ v_max()

double v_max ( VEC ,
int  
)

◆ v_min()

double v_min ( VEC ,
int  
)

◆ v_mltadd()

VEC * v_mltadd ( VEC ,
VEC ,
double  ,
VEC  
)

◆ v_move()

VEC * v_move ( VEC in,
int  ,
int  ,
VEC out,
int   
)

◆ v_ones()

VEC * v_ones ( VEC )

Definition at line 256 of file init.c.

◆ v_rand()

VEC * v_rand ( VEC )

◆ v_resize()

VEC * v_resize ( VEC ,
int   
)

Definition at line 441 of file memory.c.

◆ v_resize_vars()

int v_resize_vars ( int  new_dim,
  ... 
)

Definition at line 583 of file memory.c.

◆ v_slash()

VEC * v_slash ( VEC ,
VEC ,
VEC  
)

◆ v_sort()

VEC * v_sort ( VEC ,
PERM  
)

Definition at line 466 of file vecop.c.

◆ v_star()

VEC* v_star ( VEC ,
VEC ,
VEC  
)

◆ v_sub()

VEC * v_sub ( VEC ,
VEC ,
VEC  
)

◆ v_sum()

double v_sum ( VEC )

Definition at line 545 of file vecop.c.

◆ v_zero()

VEC* v_zero ( VEC )

◆ vm_mlt()

VEC * vm_mlt ( MAT ,
VEC ,
VEC  
)

◆ vm_mltadd()

VEC * vm_mltadd ( VEC x,
VEC y,
MAT A,
double  s,
VEC out 
)

Definition at line 467 of file matop.c.

◆ vm_move()

MAT * vm_move ( VEC in,
int  ,
MAT out,
int  ,
int  ,
int  ,
int   
)

Definition at line 188 of file copy.c.

◆ yn_dflt()

int yn_dflt ( int  val)

Definition at line 76 of file otherio.c.