Changeset 6204 for trunk/psLib/src/math/psMinimizeLMM.c
- Timestamp:
- Jan 26, 2006, 11:10:22 AM (20 years ago)
- File:
-
- 1 edited
-
trunk/psLib/src/math/psMinimizeLMM.c (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/src/math/psMinimizeLMM.c
r6101 r6204 10 10 * @author EAM, IfA 11 11 * 12 * @version $Revision: 1. 1$ $Name: not supported by cvs2svn $13 * @date $Date: 2006-01-2 1 02:43:31$12 * @version $Revision: 1.2 $ $Name: not supported by cvs2svn $ 13 * @date $Date: 2006-01-26 21:10:22 $ 14 14 * 15 15 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 204 204 psMinimizeLMChi2Func func) 205 205 { 206 // XXX: Check vector sizes. 206 207 PS_ASSERT_IMAGE_NON_NULL(alpha, NAN); 207 208 PS_ASSERT_VECTOR_NON_NULL(beta, NAN); … … 218 219 219 220 // zero alpha and beta for summing below 220 for ( intj = 0; j < params->n; j++) {221 for ( intk = 0; k < params->n; k++) {221 for (psS32 j = 0; j < params->n; j++) { 222 for (psS32 k = 0; k < params->n; k++) { 222 223 alpha->data.F64[j][k] = 0; 223 224 } … … 227 228 228 229 // calculate chisq, alpha, beta 229 for ( inti = 0; i < y->n; i++) {230 for (psS32 i = 0; i < y->n; i++) { 230 231 ymodel = func(deriv, params, (psVector *) x->data[i]); 231 232 … … 233 234 chisq += PS_SQR(delta) * dy->data.F32[i]; 234 235 235 for ( intj = 0; j < params->n; j++) {236 for (psS32 j = 0; j < params->n; j++) { 236 237 if ((paramMask != NULL) && (paramMask->data.U8[j])) 237 238 continue; 238 239 weight = deriv->data.F32[j] * dy->data.F32[i]; 239 for ( intk = 0; k <= j; k++) {240 for (psS32 k = 0; k <= j; k++) { 240 241 if ((paramMask != NULL) && (paramMask->data.U8[k])) 241 242 continue; … … 247 248 248 249 // calculate lower-left half of alpha 249 for ( intj = 1; j < params->n; j++) {250 for ( intk = 0; k < j; k++) {250 for (psS32 j = 1; j < params->n; j++) { 251 for (psS32 k = 0; k < j; k++) { 251 252 alpha->data.F64[k][j] = alpha->data.F64[j][k]; 252 253 } … … 255 256 // fill in pivots if we apply a mask 256 257 if (paramMask != NULL) { 257 for ( intj = 0; j < params->n; j++) {258 for (psS32 j = 0; j < params->n; j++) { 258 259 if (paramMask->data.U8[j]) { 259 260 alpha->data.F64[j][j] = 1;
Note:
See TracChangeset
for help on using the changeset viewer.
