Blender V4.3
Freestyle::OGF::MatrixUtil Namespace Reference

Functions

void semi_definite_symmetric_eigen (const double *mat, int n, double *eigen_vec, double *eigen_val)
 

Variables

static const double EPS = 0.00001
 
static int MAX_ITER = 100
 

Function Documentation

◆ semi_definite_symmetric_eigen()

void Freestyle::OGF::MatrixUtil::semi_definite_symmetric_eigen ( const double * mat,
int n,
double * eigen_vec,
double * eigen_val )

computes the eigen values and eigen vectors of a semi definite symmetric matrix

Parameters
matThe matrix stored in column symmetric storage, i.e.
matrix = { m11, m12, m22, m13, m23, m33, m14, m24, m34, m44 ... }
size = n(n+1)/2
eigen_vec(return) = { v1, v2, v3, ..., vn } where vk = vk0, vk1, ..., vkn size = n^2, must be allocated by caller.
eigen_val(return) are in decreasing order size = n, must be allocated by caller.

Definition at line 23 of file matrix_util.cpp.

References Freestyle::a, cos(), ELEM, EPS, fabs(), l, M_PI_4, MAX_ITER, v, and Freestyle::x.

Referenced by Freestyle::OGF::NormalCycle::end().

Variable Documentation

◆ EPS

const double Freestyle::OGF::MatrixUtil::EPS = 0.00001
static

Definition at line 20 of file matrix_util.cpp.

Referenced by semi_definite_symmetric_eigen().

◆ MAX_ITER

int Freestyle::OGF::MatrixUtil::MAX_ITER = 100
static

Definition at line 21 of file matrix_util.cpp.

Referenced by semi_definite_symmetric_eigen().