Changeset 40668f6 in tol
- Timestamp:
- Sep 11, 2009, 2:58:33 PM (17 years ago)
- Branches:
- 1941-docker-image-to-test, devel, master
- Children:
- b19979f
- Parents:
- f57fe71
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
tol/stdlib/math/stat/models/bayesian/bysMcmc/_partialSampler.tol
rf57fe71 r40668f6 147 147 VMatrix _.fixedValues = Rand(0,1,0,0); 148 148 //Stores values of reloaded parameters in natural order 149 VMatrix _.reload edValues = Rand(0,1,0,0);149 VMatrix _.reloadValues = Rand(0,1,0,0); 150 150 //Stores values of both fixed and reloaded parameters in the block order 151 151 VMatrix _.values = Rand(0,1,0,0); 152 VMatrix _.nonFreeValues = Rand(0,1,0,0); 153 154 Set _.nonFreeIndex = Copy(Empty); 155 Set _.freeIndex = Copy(Empty); 152 156 153 157 … … 220 224 Real _.reloadParamNum := Rows(_.reloadParamIdx); 221 225 Real _.freeParamNum := Rows(_.freeParamIdx); 222 VMatrixIf(_.fixedParamNum | _.reloadParamNum,226 Real If(_.fixedParamNum | _.reloadParamNum, 223 227 { 224 228 getMergedFixedAndReloadedSample(0) 225 229 }); 226 230 1 227 }) 231 }); 232 Set _.nonFreeIndex := MatSet(Tra(_.fixedParamIdx << _.reloadParamIdx))[1]; 233 Set _.freeIndex := MatSet(Tra(_.freeParamIdx))[1]; 234 1 228 235 }; 229 236 … … 232 239 //////////////////////////////////////////////////////////////////////////// 233 240 { 234 MatSet(Tra(_.fixedParamIdx << _.reloadParamIdx))[1]241 _.nonFreeIndex 235 242 }; 236 243 … … 239 246 //////////////////////////////////////////////////////////////////////////// 240 247 { 241 MatSet(Tra(_.freeParamIdx))[1] 242 }; 243 244 245 //////////////////////////////////////////////////////////////////////////// 246 VMatrix getMergedFixedAndReloadedSample(Real numSim) 247 //////////////////////////////////////////////////////////////////////////// 248 { 249 VMatrix _.reloadedValues := _.mcmcPartialHandler::_.reloader:: 248 _.freeIndex 249 }; 250 251 252 //////////////////////////////////////////////////////////////////////////// 253 Real getMergedFixedAndReloadedSample(Real numSim) 254 //////////////////////////////////////////////////////////////////////////// 255 { 256 //WriteLn("TRACE"+_MID+" BlockPartialSampler::getMergedFixedAndReloadedSample 0"); 257 VMatrix _.reloadValues := _.mcmcPartialHandler::_.reloader:: 250 258 reloadSimulation(numSim, _.reloadParamIdxOrig); 251 VMatrix _.values := Case( 252 _.N==_.fixedParamNum, 253 { 254 _.fixedValues 259 //WriteLn("TRACE"+_MID+" _.fixedValues:"<<_.fixedValues); 260 //WriteLn("TRACE"+_MID+" _.reloadValues:"<<_.reloadValues); 261 VMatrix values = Case( 262 !_.fixedParamNum, 263 { 264 MergeRows(_.N, [[ 265 [[_.reloadValues, _.reloadParamIdx]] ]]) 255 266 }, 256 _.N==_.reloadParamNum, 257 { 258 _.reloadedValues 267 !_.reloadParamNum, 268 { 269 MergeRows(_.N, [[ 270 [[_.fixedValues, _.fixedParamIdx ]] ]]) 259 271 }, 260 272 1==1, 261 273 { 262 VMatrix values = MergeRows(_.N, [[ 263 [[_.fixedValues, _.fixedParamIdx ]], 264 [[_.reloadedValues, _.reloadParamIdx]] ]]); 265 Convert(values,"Blas.R.Dense") 266 }) 274 MergeRows(_.N, [[ 275 [[_.fixedValues, _.fixedParamIdx ]], 276 [[_.reloadValues, _.reloadParamIdx]] ]]) 277 }); 278 VMatrix _.values := Convert(values,"Blas.R.Dense"); 279 VMatrix _.nonFreeValues := SubRow(_.values, _.nonFreeIndex); 280 0 267 281 }; 268 282 … … 271 285 //////////////////////////////////////////////////////////////////////////// 272 286 { 287 //WriteLn("TRACE"+_MID+" BlockPartialSampler::getMergedFixedAndReloadedSample 0"); 288 //WriteLn("TRACE"+_MID+" _.fixedValues:"<<_.fixedValues); 289 //WriteLn("TRACE"+_MID+" _.fixedParamIdx:"<<_.fixedParamIdx); 290 //WriteLn("TRACE"+_MID+" _.reloadValues:"<<_.reloadValues); 291 //WriteLn("TRACE"+_MID+" _.reloadParamIdx:"<<_.reloadParamIdx); 292 //WriteLn("TRACE"+_MID+" freeValues:"<<freeValues); 293 //WriteLn("TRACE"+_MID+" _.freeParamIdx:"<<_.freeParamIdx); 273 294 VMatrix values = MergeRows(_.N, [[ 274 [[_.fixedValues, _.fixedParamIdx ]],275 [[_.reload edValues, _.reloadParamIdx]],276 [[ freeValues, _.freeParamIdx ]] ]]);295 [[_.fixedValues, _.fixedParamIdx ]], 296 [[_.reloadValues, _.reloadParamIdx]], 297 [[ freeValues, _.freeParamIdx ]] ]]); 277 298 VMatrix _.values := Convert(values,"Blas.R.Dense") 278 299 }
Note: See TracChangeset
for help on using the changeset viewer.
