34 while ( m <=
n2 ) m = 2 * m;
55 if ( m > 0 )
goto three;
96 printf(
"In jacobi(), size of matrix = %d\n",
n );
101 for(
k = 0;
k <
n;
k++ ) {
102 for( l =
k+1; l <
n; l++ ) {
110 for(
i = 0;
i <
n;
i++ ) {
111 d[
i ] = a[
i ][
i ];
112 for(
j = 0;
j <
n;
j++ ) {
127 for( p = 0; p <
n; p++ ) {
128 for(
q = p+1;
q <
n;
q++ ) {
132 alpha = 0.5 * (
d[ p ] -
d[
q ] );
133 beta =
sqrt( a[ p ][
q ] * a[ p ][
q ] + alpha * alpha );
138 s = - ( alpha * a[ p ][
q ] ) / ( 2.0 *
beta *
fabs( alpha ) * c );
144 d[ p ] = c * c *
pp +
s *
s *
qq - 2.0 *
s * c *
pq;
145 d[
q ] =
s *
s *
pp + c * c *
qq + 2.0 *
s * c *
pq;
146 a[ p ][
q ] = ( c * c -
s *
s ) *
pq +
s * c * (
pp -
qq );
148 for(
k = 0;
k < p;
k++ ) {
151 a[
k ][ p ] = c *
t1 -
s *
t2;
155 for(
k = p+1;
k <
q;
k++ ) {
158 a[ p ][
k ] = c *
t1 -
s *
t2;
162 for(
k =
q+1;
k <
n;
k++ ) {
165 a[ p ][
k ] = c *
t1 -
s *
t2;
169 for(
k = 0;
k <
n;
k++ ) {
180 for(
k = 0;
k <
n;
k++ ) {
181 for( l =
k+1; l <
n; l++ ) {
190 printf(
"Offdiagonal sum is increasing muold= %f munow= %f\n",
mu2,
mu3 );
lu decomposition and linear LMS solver
namespace for various utils
void eig_jacobi(int n, double a[3][3], double v[3][3], double *d, int *ind, int *maxsweep, int *maxannil, double *epsilon)
Implements jacobi eigenvalue/vector algorithm on a symmetric matrix stored as a 2 dimensional matrix ...
void sortd(int length, double *a, int *ind)
std::vector< deghosting::BImagePtr > threshold(const std::vector< deghosting::FImagePtr > &inputImages, const double threshold, const uint16_t flags)
Threshold function used for creating alpha masks for images.