SAGA API v2.0.8
H:/saga/saga_svn/saga-gis/src/saga_core/saga_api/mat_tools.h File Reference
#include "geo_tools.h"

Go to the source code of this file.

Classes

class  CSG_Index
class  CSG_Vector
class  CSG_Matrix
class  CSG_Grid_Radius
struct  CSG_Grid_Radius::TSG_Grid_Radius
class  CSG_Simple_Statistics
class  CSG_Class_Statistics
struct  CSG_Class_Statistics::SClass
class  CSG_Cluster_Analysis
class  CSG_Spline
class  CSG_Thin_Plate_Spline
class  CSG_Test_Distribution
class  CSG_Regression
class  CSG_Regression_Multiple
class  CSG_Formula
struct  CSG_Formula::TSG_Formula_Item
struct  CSG_Formula::TMAT_Formula
class  CSG_Trend
class  CSG_Trend::CFncParams

Defines

#define M_PI   3.141592653589793
#define M_PI_045   (M_PI / 4.0)
#define M_PI_090   (M_PI / 2.0)
#define M_PI_135   (M_PI * 3.0 / 4.0)
#define M_PI_180   (M_PI)
#define M_PI_225   (M_PI * 5.0 / 4.0)
#define M_PI_270   (M_PI * 3.0 / 2.0)
#define M_PI_315   (M_PI * 7.0 / 4.0)
#define M_PI_360   (M_PI * 2.0)
#define M_RAD_TO_DEG   (180.0 / M_PI)
#define M_DEG_TO_RAD   (M_PI / 180.0)
#define M_EULER   2.718281828459045
#define N_MEGABYTE_BYTES   0x100000
#define M_ALMOST_ZERO   0.001l
#define M_TINY   (1.0e-20)
#define M_SQR(x)   ((x) * (x))
#define M_SQRT(x)   sqrt((double)(x))
#define M_GET_LENGTH(x, y)   sqrt((double)((x)*(x) + (y)*(y)))
#define M_GET_MIN(a, b)   (((a) < (b)) ? (a) : (b))
#define M_GET_MAX(a, b)   (((a) > (b)) ? (a) : (b))
#define M_SET_MINMAX(min, max, x)   if( min > x ) { min = x; } else if( max < x ) { max = x; }
#define M_SET_SIGN(x, sign)   ((sign) < 0 ? (x < 0 ? x : -x) : (x > 0 ? x : -x))

Typedefs

typedef int(* TSG_PFNC_Compare )(const int iElement_1, const int iElement_2)
typedef enum
ESG_Test_Distribution_Type 
TSG_Test_Distribution_Type
typedef enum
ESG_Regression_Correction 
TSG_Regression_Correction
typedef enum ESG_Regression_Type TSG_Regression_Type
typedef double(* TSG_PFNC_Formula_0 )(void)
typedef double(* TSG_PFNC_Formula_1 )(double)
typedef double(* TSG_PFNC_Formula_2 )(double, double)
typedef double(* TSG_PFNC_Formula_3 )(double, double, double)

Enumerations

enum  ESG_Cluster_Analysis_Method { SG_CLUSTERANALYSIS_Minimum_Distance = 0, SG_CLUSTERANALYSIS_Hill_Climbing, SG_CLUSTERANALYSIS_Combined }
enum  ESG_Test_Distribution_Type { TESTDIST_TYPE_Left = 0, TESTDIST_TYPE_Right, TESTDIST_TYPE_Middle, TESTDIST_TYPE_TwoTail }
enum  ESG_Regression_Correction {
  REGRESSION_CORR_None = 0, REGRESSION_CORR_Smith, REGRESSION_CORR_Wherry_1, REGRESSION_CORR_Wherry_2,
  REGRESSION_CORR_Olkin_Pratt, REGRESSION_CORR_Pratt, REGRESSION_CORR_Claudy_3
}
enum  ESG_Regression_Type {
  REGRESSION_Linear = 0, REGRESSION_Rez_X, REGRESSION_Rez_Y, REGRESSION_Pow,
  REGRESSION_Exp, REGRESSION_Log
}
enum  ESG_Multiple_Regression_Info_Vars {
  MLR_VAR_ID = 0, MLR_VAR_NAME, MLR_VAR_RCOEFF, MLR_VAR_R,
  MLR_VAR_R2, MLR_VAR_R2_ADJ, MLR_VAR_SE, MLR_VAR_T,
  MLR_VAR_SIG, MLR_VAR_P
}
enum  ESG_Trend_String { SG_TREND_STRING_Formula = 0, SG_TREND_STRING_Function, SG_TREND_STRING_Formula_Parameters, SG_TREND_STRING_Complete }

Functions

SAGA_API_DLL_EXPORT double SG_Get_Square (double x)
SAGA_API_DLL_EXPORT CSG_Vector operator* (double Scalar, const CSG_Vector &Vector)
SAGA_API_DLL_EXPORT CSG_Matrix operator* (double Scalar, const CSG_Matrix &Matrix)
SAGA_API_DLL_EXPORT bool SG_Matrix_Solve (CSG_Matrix &Matrix, CSG_Vector &Vector, bool bSilent=true)
SAGA_API_DLL_EXPORT bool SG_Matrix_Eigen_Reduction (const CSG_Matrix &Matrix, CSG_Matrix &Eigen_Vectors, CSG_Vector &Eigen_Values, bool bSilent=true)
SAGA_API_DLL_EXPORT CSG_Matrix SG_Get_Correlation_Matrix (const CSG_Matrix &Values, bool bCovariances=false)
SAGA_API_DLL_EXPORT double SG_Regression_Get_Adjusted_R2 (double R2, int nSamples, int nPredictors, TSG_Regression_Correction Correction=REGRESSION_CORR_Wherry_1)

Define Documentation

#define M_ALMOST_ZERO   0.001l

Definition at line 110 of file mat_tools.h.

Referenced by CSG_Regression::_X_Transform(), and CSG_Regression::_Y_Transform().

#define M_DEG_TO_RAD   (M_PI / 180.0)

Definition at line 101 of file mat_tools.h.

#define M_EULER   2.718281828459045

Definition at line 104 of file mat_tools.h.

#define M_GET_LENGTH (   x,
 
)    sqrt((double)((x)*(x) + (y)*(y)))

Definition at line 116 of file mat_tools.h.

Referenced by CSG_Grid_Radius::Create().

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

Definition at line 119 of file mat_tools.h.

Referenced by SG_Get_Crossing().

#define M_GET_MIN (   a,
 
)    (((a) < (b)) ? (a) : (b))

Definition at line 118 of file mat_tools.h.

Referenced by SG_Get_Crossing().

#define M_PI   3.141592653589793

Definition at line 88 of file mat_tools.h.

Referenced by f_pi(), and CSG_Colors::Set_Default().

#define M_PI_045   (M_PI / 4.0)

Definition at line 91 of file mat_tools.h.

#define M_PI_090   (M_PI / 2.0)
#define M_PI_135   (M_PI * 3.0 / 4.0)

Definition at line 93 of file mat_tools.h.

#define M_PI_225   (M_PI * 5.0 / 4.0)

Definition at line 95 of file mat_tools.h.

#define M_PI_270   (M_PI * 3.0 / 2.0)
#define M_PI_315   (M_PI * 7.0 / 4.0)

Definition at line 97 of file mat_tools.h.

#define M_PI_360   (M_PI * 2.0)

Definition at line 98 of file mat_tools.h.

Referenced by CSG_Grid_Cell_Addressor::Set_Sector(), and SG_Get_Angle_Of_Direction().

#define M_RAD_TO_DEG   (180.0 / M_PI)

Definition at line 100 of file mat_tools.h.

#define M_SET_MINMAX (   min,
  max,
 
)    if( min > x ) { min = x; } else if( max < x ) { max = x; }

Definition at line 120 of file mat_tools.h.

Referenced by CSG_Regression::_Get_MinMeanMax(), and CSG_Regression::_Linear().

#define M_SET_SIGN (   x,
  sign 
)    ((sign) < 0 ? (x < 0 ? x : -x) : (x > 0 ? x : -x))

Definition at line 122 of file mat_tools.h.

Referenced by SG_Matrix_Tridiagonal_QL().

#define M_SQR (   x)    ((x) * (x))

Definition at line 114 of file mat_tools.h.

#define M_SQRT (   x)    sqrt((double)(x))

Definition at line 115 of file mat_tools.h.

#define M_TINY   (1.0e-20)

Definition at line 111 of file mat_tools.h.

Referenced by SG_Matrix_LU_Decomposition().

#define N_MEGABYTE_BYTES   0x100000

Typedef Documentation

typedef int(* TSG_PFNC_Compare)(const int iElement_1, const int iElement_2)

Definition at line 142 of file mat_tools.h.

typedef double(* TSG_PFNC_Formula_0)(void)

Definition at line 1025 of file mat_tools.h.

typedef double(* TSG_PFNC_Formula_1)(double)

Definition at line 1026 of file mat_tools.h.

typedef double(* TSG_PFNC_Formula_2)(double, double)

Definition at line 1027 of file mat_tools.h.

typedef double(* TSG_PFNC_Formula_3)(double, double, double)

Definition at line 1028 of file mat_tools.h.


Enumeration Type Documentation

Enumerator:
SG_CLUSTERANALYSIS_Minimum_Distance 
SG_CLUSTERANALYSIS_Hill_Climbing 
SG_CLUSTERANALYSIS_Combined 

Definition at line 610 of file mat_tools.h.

Enumerator:
MLR_VAR_ID 
MLR_VAR_NAME 
MLR_VAR_RCOEFF 
MLR_VAR_R 
MLR_VAR_R2 
MLR_VAR_R2_ADJ 
MLR_VAR_SE 
MLR_VAR_T 
MLR_VAR_SIG 
MLR_VAR_P 

Definition at line 933 of file mat_tools.h.

Enumerator:
REGRESSION_CORR_None 
REGRESSION_CORR_Smith 
REGRESSION_CORR_Wherry_1 
REGRESSION_CORR_Wherry_2 
REGRESSION_CORR_Olkin_Pratt 
REGRESSION_CORR_Pratt 
REGRESSION_CORR_Claudy_3 

Definition at line 821 of file mat_tools.h.

Enumerator:
REGRESSION_Linear 
REGRESSION_Rez_X 
REGRESSION_Rez_Y 
REGRESSION_Pow 
REGRESSION_Exp 
REGRESSION_Log 

Definition at line 842 of file mat_tools.h.

Enumerator:
TESTDIST_TYPE_Left 
TESTDIST_TYPE_Right 
TESTDIST_TYPE_Middle 
TESTDIST_TYPE_TwoTail 

Definition at line 763 of file mat_tools.h.

Enumerator:
SG_TREND_STRING_Formula 
SG_TREND_STRING_Function 
SG_TREND_STRING_Formula_Parameters 
SG_TREND_STRING_Complete 

Definition at line 1125 of file mat_tools.h.


Function Documentation

SAGA_API_DLL_EXPORT CSG_Vector operator* ( double  Scalar,
const CSG_Vector Vector 
)

Definition at line 482 of file mat_matrix.cpp.

SAGA_API_DLL_EXPORT CSG_Matrix operator* ( double  Scalar,
const CSG_Matrix Matrix 
)

Definition at line 1314 of file mat_matrix.cpp.

SAGA_API_DLL_EXPORT CSG_Matrix SG_Get_Correlation_Matrix ( const CSG_Matrix Values,
bool  bCovariances = false 
)
SAGA_API_DLL_EXPORT double SG_Get_Square ( double  x)
SAGA_API_DLL_EXPORT bool SG_Matrix_Eigen_Reduction ( const CSG_Matrix Matrix,
CSG_Matrix Eigen_Vectors,
CSG_Vector Eigen_Values,
bool  bSilent = true 
)
SAGA_API_DLL_EXPORT bool SG_Matrix_Solve ( CSG_Matrix Matrix,
CSG_Vector Vector,
bool  bSilent = true 
)
SAGA_API_DLL_EXPORT double SG_Regression_Get_Adjusted_R2 ( double  R2,
int  nSamples,
int  nPredictors,
TSG_Regression_Correction  Correction = REGRESSION_CORR_Wherry_1 
)