14 #include "CLHEP/Matrix/defs.h" 15 #include "CLHEP/Matrix/Matrix.h" 143 double Det3_012_012 = m[
F00]*Det2_12_12 - m[
F01]*Det2_12_02
145 double Det3_012_013 = m[
F00]*Det2_12_13 - m[
F01]*Det2_12_03
147 double Det3_012_023 = m[
F00]*Det2_12_23 - m[
F02]*Det2_12_03
149 double Det3_012_123 = m[
F01]*Det2_12_23 - m[
F02]*Det2_12_13
151 double Det3_013_012 = m[
F00]*Det2_13_12 - m[
F01]*Det2_13_02
153 double Det3_013_013 = m[
F00]*Det2_13_13 - m[
F01]*Det2_13_03
155 double Det3_013_023 = m[
F00]*Det2_13_23 - m[
F02]*Det2_13_03
157 double Det3_013_123 = m[
F01]*Det2_13_23 - m[
F02]*Det2_13_13
159 double Det3_023_012 = m[
F00]*Det2_23_12 - m[
F01]*Det2_23_02
161 double Det3_023_013 = m[
F00]*Det2_23_13 - m[
F01]*Det2_23_03
163 double Det3_023_023 = m[
F00]*Det2_23_23 - m[
F02]*Det2_23_03
165 double Det3_023_123 = m[
F01]*Det2_23_23 - m[
F02]*Det2_23_13
167 double Det3_123_012 = m[
F10]*Det2_23_12 - m[
F11]*Det2_23_02
169 double Det3_123_013 = m[
F10]*Det2_23_13 - m[
F11]*Det2_23_03
171 double Det3_123_023 = m[
F10]*Det2_23_23 - m[
F12]*Det2_23_03
173 double Det3_123_123 = m[
F11]*Det2_23_23 - m[
F12]*Det2_23_13
178 double det = m[
F00]*Det3_123_123
179 - m[
F01]*Det3_123_023
180 + m[
F02]*Det3_123_013
181 - m[
F03]*Det3_123_012;
184 #ifdef SINGULAR_DIAGNOSTICS 185 std::cerr <<
"Kramer's rule inversion of a singular 4x4 matrix: " 192 double oneOverDet = 1.0/det;
193 double mn1OverDet = - oneOverDet;
195 m[
F00] = Det3_123_123 * oneOverDet;
196 m[
F01] = Det3_023_123 * mn1OverDet;
197 m[
F02] = Det3_013_123 * oneOverDet;
198 m[
F03] = Det3_012_123 * mn1OverDet;
200 m[
F10] = Det3_123_023 * mn1OverDet;
201 m[
F11] = Det3_023_023 * oneOverDet;
202 m[
F12] = Det3_013_023 * mn1OverDet;
203 m[
F13] = Det3_012_023 * oneOverDet;
205 m[
F20] = Det3_123_013 * oneOverDet;
206 m[
F21] = Det3_023_013 * mn1OverDet;
207 m[
F22] = Det3_013_013 * oneOverDet;
208 m[
F23] = Det3_012_013 * mn1OverDet;
210 m[
F30] = Det3_123_012 * mn1OverDet;
211 m[
F31] = Det3_023_012 * oneOverDet;
212 m[
F32] = Det3_013_012 * mn1OverDet;
213 m[
F33] = Det3_012_012 * oneOverDet;
259 double Det3_123_012 = m[
M10]*Det2_23_12 - m[
M11]*Det2_23_02
261 double Det3_123_013 = m[
M10]*Det2_23_13 - m[
M11]*Det2_23_03
263 double Det3_123_014 = m[
M10]*Det2_23_14 - m[
M11]*Det2_23_04
265 double Det3_123_023 = m[
M10]*Det2_23_23 - m[
M12]*Det2_23_03
267 double Det3_123_024 = m[
M10]*Det2_23_24 - m[
M12]*Det2_23_04
269 double Det3_123_034 = m[
M10]*Det2_23_34 - m[
M13]*Det2_23_04
271 double Det3_123_123 = m[
M11]*Det2_23_23 - m[
M12]*Det2_23_13
273 double Det3_123_124 = m[
M11]*Det2_23_24 - m[
M12]*Det2_23_14
275 double Det3_123_134 = m[
M11]*Det2_23_34 - m[
M13]*Det2_23_14
277 double Det3_123_234 = m[
M12]*Det2_23_34 - m[
M13]*Det2_23_24
279 double Det3_124_012 = m[
M10]*Det2_24_12 - m[
M11]*Det2_24_02
281 double Det3_124_013 = m[
M10]*Det2_24_13 - m[
M11]*Det2_24_03
283 double Det3_124_014 = m[
M10]*Det2_24_14 - m[
M11]*Det2_24_04
285 double Det3_124_023 = m[
M10]*Det2_24_23 - m[
M12]*Det2_24_03
287 double Det3_124_024 = m[
M10]*Det2_24_24 - m[
M12]*Det2_24_04
289 double Det3_124_034 = m[
M10]*Det2_24_34 - m[
M13]*Det2_24_04
291 double Det3_124_123 = m[
M11]*Det2_24_23 - m[
M12]*Det2_24_13
293 double Det3_124_124 = m[
M11]*Det2_24_24 - m[
M12]*Det2_24_14
295 double Det3_124_134 = m[
M11]*Det2_24_34 - m[
M13]*Det2_24_14
297 double Det3_124_234 = m[
M12]*Det2_24_34 - m[
M13]*Det2_24_24
299 double Det3_134_012 = m[
M10]*Det2_34_12 - m[
M11]*Det2_34_02
301 double Det3_134_013 = m[
M10]*Det2_34_13 - m[
M11]*Det2_34_03
303 double Det3_134_014 = m[
M10]*Det2_34_14 - m[
M11]*Det2_34_04
305 double Det3_134_023 = m[
M10]*Det2_34_23 - m[
M12]*Det2_34_03
307 double Det3_134_024 = m[
M10]*Det2_34_24 - m[
M12]*Det2_34_04
309 double Det3_134_034 = m[
M10]*Det2_34_34 - m[
M13]*Det2_34_04
311 double Det3_134_123 = m[
M11]*Det2_34_23 - m[
M12]*Det2_34_13
313 double Det3_134_124 = m[
M11]*Det2_34_24 - m[
M12]*Det2_34_14
315 double Det3_134_134 = m[
M11]*Det2_34_34 - m[
M13]*Det2_34_14
317 double Det3_134_234 = m[
M12]*Det2_34_34 - m[
M13]*Det2_34_24
319 double Det3_234_012 = m[
M20]*Det2_34_12 - m[
M21]*Det2_34_02
321 double Det3_234_013 = m[
M20]*Det2_34_13 - m[
M21]*Det2_34_03
323 double Det3_234_014 = m[
M20]*Det2_34_14 - m[
M21]*Det2_34_04
325 double Det3_234_023 = m[
M20]*Det2_34_23 - m[
M22]*Det2_34_03
327 double Det3_234_024 = m[
M20]*Det2_34_24 - m[
M22]*Det2_34_04
329 double Det3_234_034 = m[
M20]*Det2_34_34 - m[
M23]*Det2_34_04
331 double Det3_234_123 = m[
M21]*Det2_34_23 - m[
M22]*Det2_34_13
333 double Det3_234_124 = m[
M21]*Det2_34_24 - m[
M22]*Det2_34_14
335 double Det3_234_134 = m[
M21]*Det2_34_34 - m[
M23]*Det2_34_14
337 double Det3_234_234 = m[
M22]*Det2_34_34 - m[
M23]*Det2_34_24
342 double Det4_0123_0123 = m[
M00]*Det3_123_123 - m[
M01]*Det3_123_023
343 + m[
M02]*Det3_123_013 - m[
M03]*Det3_123_012;
344 double Det4_0123_0124 = m[
M00]*Det3_123_124 - m[
M01]*Det3_123_024
345 + m[
M02]*Det3_123_014 - m[
M04]*Det3_123_012;
346 double Det4_0123_0134 = m[
M00]*Det3_123_134 - m[
M01]*Det3_123_034
347 + m[
M03]*Det3_123_014 - m[
M04]*Det3_123_013;
348 double Det4_0123_0234 = m[
M00]*Det3_123_234 - m[
M02]*Det3_123_034
349 + m[
M03]*Det3_123_024 - m[
M04]*Det3_123_023;
350 double Det4_0123_1234 = m[
M01]*Det3_123_234 - m[
M02]*Det3_123_134
351 + m[
M03]*Det3_123_124 - m[
M04]*Det3_123_123;
352 double Det4_0124_0123 = m[
M00]*Det3_124_123 - m[
M01]*Det3_124_023
353 + m[
M02]*Det3_124_013 - m[
M03]*Det3_124_012;
354 double Det4_0124_0124 = m[
M00]*Det3_124_124 - m[
M01]*Det3_124_024
355 + m[
M02]*Det3_124_014 - m[
M04]*Det3_124_012;
356 double Det4_0124_0134 = m[
M00]*Det3_124_134 - m[
M01]*Det3_124_034
357 + m[
M03]*Det3_124_014 - m[
M04]*Det3_124_013;
358 double Det4_0124_0234 = m[
M00]*Det3_124_234 - m[
M02]*Det3_124_034
359 + m[
M03]*Det3_124_024 - m[
M04]*Det3_124_023;
360 double Det4_0124_1234 = m[
M01]*Det3_124_234 - m[
M02]*Det3_124_134
361 + m[
M03]*Det3_124_124 - m[
M04]*Det3_124_123;
362 double Det4_0134_0123 = m[
M00]*Det3_134_123 - m[
M01]*Det3_134_023
363 + m[
M02]*Det3_134_013 - m[
M03]*Det3_134_012;
364 double Det4_0134_0124 = m[
M00]*Det3_134_124 - m[
M01]*Det3_134_024
365 + m[
M02]*Det3_134_014 - m[
M04]*Det3_134_012;
366 double Det4_0134_0134 = m[
M00]*Det3_134_134 - m[
M01]*Det3_134_034
367 + m[
M03]*Det3_134_014 - m[
M04]*Det3_134_013;
368 double Det4_0134_0234 = m[
M00]*Det3_134_234 - m[
M02]*Det3_134_034
369 + m[
M03]*Det3_134_024 - m[
M04]*Det3_134_023;
370 double Det4_0134_1234 = m[
M01]*Det3_134_234 - m[
M02]*Det3_134_134
371 + m[
M03]*Det3_134_124 - m[
M04]*Det3_134_123;
372 double Det4_0234_0123 = m[
M00]*Det3_234_123 - m[
M01]*Det3_234_023
373 + m[
M02]*Det3_234_013 - m[
M03]*Det3_234_012;
374 double Det4_0234_0124 = m[
M00]*Det3_234_124 - m[
M01]*Det3_234_024
375 + m[
M02]*Det3_234_014 - m[
M04]*Det3_234_012;
376 double Det4_0234_0134 = m[
M00]*Det3_234_134 - m[
M01]*Det3_234_034
377 + m[
M03]*Det3_234_014 - m[
M04]*Det3_234_013;
378 double Det4_0234_0234 = m[
M00]*Det3_234_234 - m[
M02]*Det3_234_034
379 + m[
M03]*Det3_234_024 - m[
M04]*Det3_234_023;
380 double Det4_0234_1234 = m[
M01]*Det3_234_234 - m[
M02]*Det3_234_134
381 + m[
M03]*Det3_234_124 - m[
M04]*Det3_234_123;
382 double Det4_1234_0123 = m[
M10]*Det3_234_123 - m[
M11]*Det3_234_023
383 + m[
M12]*Det3_234_013 - m[
M13]*Det3_234_012;
384 double Det4_1234_0124 = m[
M10]*Det3_234_124 - m[
M11]*Det3_234_024
385 + m[
M12]*Det3_234_014 - m[
M14]*Det3_234_012;
386 double Det4_1234_0134 = m[
M10]*Det3_234_134 - m[
M11]*Det3_234_034
387 + m[
M13]*Det3_234_014 - m[
M14]*Det3_234_013;
388 double Det4_1234_0234 = m[
M10]*Det3_234_234 - m[
M12]*Det3_234_034
389 + m[
M13]*Det3_234_024 - m[
M14]*Det3_234_023;
390 double Det4_1234_1234 = m[
M11]*Det3_234_234 - m[
M12]*Det3_234_134
391 + m[
M13]*Det3_234_124 - m[
M14]*Det3_234_123;
395 double det = m[
M00]*Det4_1234_1234
396 - m[
M01]*Det4_1234_0234
397 + m[
M02]*Det4_1234_0134
398 - m[
M03]*Det4_1234_0124
399 + m[
M04]*Det4_1234_0123;
402 #ifdef SINGULAR_DIAGNOSTICS 403 std::cerr <<
"Kramer's rule inversion of a singular 5x5 matrix: " 410 double oneOverDet = 1.0/det;
411 double mn1OverDet = - oneOverDet;
413 m[
M00] = Det4_1234_1234 * oneOverDet;
414 m[
M01] = Det4_0234_1234 * mn1OverDet;
415 m[
M02] = Det4_0134_1234 * oneOverDet;
416 m[
M03] = Det4_0124_1234 * mn1OverDet;
417 m[
M04] = Det4_0123_1234 * oneOverDet;
419 m[
M10] = Det4_1234_0234 * mn1OverDet;
420 m[
M11] = Det4_0234_0234 * oneOverDet;
421 m[
M12] = Det4_0134_0234 * mn1OverDet;
422 m[
M13] = Det4_0124_0234 * oneOverDet;
423 m[
M14] = Det4_0123_0234 * mn1OverDet;
425 m[
M20] = Det4_1234_0134 * oneOverDet;
426 m[
M21] = Det4_0234_0134 * mn1OverDet;
427 m[
M22] = Det4_0134_0134 * oneOverDet;
428 m[
M23] = Det4_0124_0134 * mn1OverDet;
429 m[
M24] = Det4_0123_0134 * oneOverDet;
431 m[
M30] = Det4_1234_0124 * mn1OverDet;
432 m[
M31] = Det4_0234_0124 * oneOverDet;
433 m[
M32] = Det4_0134_0124 * mn1OverDet;
434 m[
M33] = Det4_0124_0124 * oneOverDet;
435 m[
M34] = Det4_0123_0124 * mn1OverDet;
437 m[
M40] = Det4_1234_0123 * oneOverDet;
438 m[
M41] = Det4_0234_0123 * mn1OverDet;
439 m[
M42] = Det4_0134_0123 * oneOverDet;
440 m[
M43] = Det4_0124_0123 * mn1OverDet;
441 m[
M44] = Det4_0123_0123 * oneOverDet;
500 double Det3_234_012 = m[
A20]*Det2_34_12 - m[
A21]*Det2_34_02
502 double Det3_234_013 = m[
A20]*Det2_34_13 - m[
A21]*Det2_34_03
504 double Det3_234_014 = m[
A20]*Det2_34_14 - m[
A21]*Det2_34_04
506 double Det3_234_015 = m[
A20]*Det2_34_15 - m[
A21]*Det2_34_05
508 double Det3_234_023 = m[
A20]*Det2_34_23 - m[
A22]*Det2_34_03
510 double Det3_234_024 = m[
A20]*Det2_34_24 - m[
A22]*Det2_34_04
512 double Det3_234_025 = m[
A20]*Det2_34_25 - m[
A22]*Det2_34_05
514 double Det3_234_034 = m[
A20]*Det2_34_34 - m[
A23]*Det2_34_04
516 double Det3_234_035 = m[
A20]*Det2_34_35 - m[
A23]*Det2_34_05
518 double Det3_234_045 = m[
A20]*Det2_34_45 - m[
A24]*Det2_34_05
520 double Det3_234_123 = m[
A21]*Det2_34_23 - m[
A22]*Det2_34_13
522 double Det3_234_124 = m[
A21]*Det2_34_24 - m[
A22]*Det2_34_14
524 double Det3_234_125 = m[
A21]*Det2_34_25 - m[
A22]*Det2_34_15
526 double Det3_234_134 = m[
A21]*Det2_34_34 - m[
A23]*Det2_34_14
528 double Det3_234_135 = m[
A21]*Det2_34_35 - m[
A23]*Det2_34_15
530 double Det3_234_145 = m[
A21]*Det2_34_45 - m[
A24]*Det2_34_15
532 double Det3_234_234 = m[
A22]*Det2_34_34 - m[
A23]*Det2_34_24
534 double Det3_234_235 = m[
A22]*Det2_34_35 - m[
A23]*Det2_34_25
536 double Det3_234_245 = m[
A22]*Det2_34_45 - m[
A24]*Det2_34_25
538 double Det3_234_345 = m[
A23]*Det2_34_45 - m[
A24]*Det2_34_35
540 double Det3_235_012 = m[
A20]*Det2_35_12 - m[
A21]*Det2_35_02
542 double Det3_235_013 = m[
A20]*Det2_35_13 - m[
A21]*Det2_35_03
544 double Det3_235_014 = m[
A20]*Det2_35_14 - m[
A21]*Det2_35_04
546 double Det3_235_015 = m[
A20]*Det2_35_15 - m[
A21]*Det2_35_05
548 double Det3_235_023 = m[
A20]*Det2_35_23 - m[
A22]*Det2_35_03
550 double Det3_235_024 = m[
A20]*Det2_35_24 - m[
A22]*Det2_35_04
552 double Det3_235_025 = m[
A20]*Det2_35_25 - m[
A22]*Det2_35_05
554 double Det3_235_034 = m[
A20]*Det2_35_34 - m[
A23]*Det2_35_04
556 double Det3_235_035 = m[
A20]*Det2_35_35 - m[
A23]*Det2_35_05
558 double Det3_235_045 = m[
A20]*Det2_35_45 - m[
A24]*Det2_35_05
560 double Det3_235_123 = m[
A21]*Det2_35_23 - m[
A22]*Det2_35_13
562 double Det3_235_124 = m[
A21]*Det2_35_24 - m[
A22]*Det2_35_14
564 double Det3_235_125 = m[
A21]*Det2_35_25 - m[
A22]*Det2_35_15
566 double Det3_235_134 = m[
A21]*Det2_35_34 - m[
A23]*Det2_35_14
568 double Det3_235_135 = m[
A21]*Det2_35_35 - m[
A23]*Det2_35_15
570 double Det3_235_145 = m[
A21]*Det2_35_45 - m[
A24]*Det2_35_15
572 double Det3_235_234 = m[
A22]*Det2_35_34 - m[
A23]*Det2_35_24
574 double Det3_235_235 = m[
A22]*Det2_35_35 - m[
A23]*Det2_35_25
576 double Det3_235_245 = m[
A22]*Det2_35_45 - m[
A24]*Det2_35_25
578 double Det3_235_345 = m[
A23]*Det2_35_45 - m[
A24]*Det2_35_35
580 double Det3_245_012 = m[
A20]*Det2_45_12 - m[
A21]*Det2_45_02
582 double Det3_245_013 = m[
A20]*Det2_45_13 - m[
A21]*Det2_45_03
584 double Det3_245_014 = m[
A20]*Det2_45_14 - m[
A21]*Det2_45_04
586 double Det3_245_015 = m[
A20]*Det2_45_15 - m[
A21]*Det2_45_05
588 double Det3_245_023 = m[
A20]*Det2_45_23 - m[
A22]*Det2_45_03
590 double Det3_245_024 = m[
A20]*Det2_45_24 - m[
A22]*Det2_45_04
592 double Det3_245_025 = m[
A20]*Det2_45_25 - m[
A22]*Det2_45_05
594 double Det3_245_034 = m[
A20]*Det2_45_34 - m[
A23]*Det2_45_04
596 double Det3_245_035 = m[
A20]*Det2_45_35 - m[
A23]*Det2_45_05
598 double Det3_245_045 = m[
A20]*Det2_45_45 - m[
A24]*Det2_45_05
600 double Det3_245_123 = m[
A21]*Det2_45_23 - m[
A22]*Det2_45_13
602 double Det3_245_124 = m[
A21]*Det2_45_24 - m[
A22]*Det2_45_14
604 double Det3_245_125 = m[
A21]*Det2_45_25 - m[
A22]*Det2_45_15
606 double Det3_245_134 = m[
A21]*Det2_45_34 - m[
A23]*Det2_45_14
608 double Det3_245_135 = m[
A21]*Det2_45_35 - m[
A23]*Det2_45_15
610 double Det3_245_145 = m[
A21]*Det2_45_45 - m[
A24]*Det2_45_15
612 double Det3_245_234 = m[
A22]*Det2_45_34 - m[
A23]*Det2_45_24
614 double Det3_245_235 = m[
A22]*Det2_45_35 - m[
A23]*Det2_45_25
616 double Det3_245_245 = m[
A22]*Det2_45_45 - m[
A24]*Det2_45_25
618 double Det3_245_345 = m[
A23]*Det2_45_45 - m[
A24]*Det2_45_35
620 double Det3_345_012 = m[
A30]*Det2_45_12 - m[
A31]*Det2_45_02
622 double Det3_345_013 = m[
A30]*Det2_45_13 - m[
A31]*Det2_45_03
624 double Det3_345_014 = m[
A30]*Det2_45_14 - m[
A31]*Det2_45_04
626 double Det3_345_015 = m[
A30]*Det2_45_15 - m[
A31]*Det2_45_05
628 double Det3_345_023 = m[
A30]*Det2_45_23 - m[
A32]*Det2_45_03
630 double Det3_345_024 = m[
A30]*Det2_45_24 - m[
A32]*Det2_45_04
632 double Det3_345_025 = m[
A30]*Det2_45_25 - m[
A32]*Det2_45_05
634 double Det3_345_034 = m[
A30]*Det2_45_34 - m[
A33]*Det2_45_04
636 double Det3_345_035 = m[
A30]*Det2_45_35 - m[
A33]*Det2_45_05
638 double Det3_345_045 = m[
A30]*Det2_45_45 - m[
A34]*Det2_45_05
640 double Det3_345_123 = m[
A31]*Det2_45_23 - m[
A32]*Det2_45_13
642 double Det3_345_124 = m[
A31]*Det2_45_24 - m[
A32]*Det2_45_14
644 double Det3_345_125 = m[
A31]*Det2_45_25 - m[
A32]*Det2_45_15
646 double Det3_345_134 = m[
A31]*Det2_45_34 - m[
A33]*Det2_45_14
648 double Det3_345_135 = m[
A31]*Det2_45_35 - m[
A33]*Det2_45_15
650 double Det3_345_145 = m[
A31]*Det2_45_45 - m[
A34]*Det2_45_15
652 double Det3_345_234 = m[
A32]*Det2_45_34 - m[
A33]*Det2_45_24
654 double Det3_345_235 = m[
A32]*Det2_45_35 - m[
A33]*Det2_45_25
656 double Det3_345_245 = m[
A32]*Det2_45_45 - m[
A34]*Det2_45_25
658 double Det3_345_345 = m[
A33]*Det2_45_45 - m[
A34]*Det2_45_35
663 double Det4_1234_0123 = m[
A10]*Det3_234_123 - m[
A11]*Det3_234_023
664 + m[
A12]*Det3_234_013 - m[
A13]*Det3_234_012;
665 double Det4_1234_0124 = m[
A10]*Det3_234_124 - m[
A11]*Det3_234_024
666 + m[
A12]*Det3_234_014 - m[
A14]*Det3_234_012;
667 double Det4_1234_0125 = m[
A10]*Det3_234_125 - m[
A11]*Det3_234_025
668 + m[
A12]*Det3_234_015 - m[
A15]*Det3_234_012;
669 double Det4_1234_0134 = m[
A10]*Det3_234_134 - m[
A11]*Det3_234_034
670 + m[
A13]*Det3_234_014 - m[
A14]*Det3_234_013;
671 double Det4_1234_0135 = m[
A10]*Det3_234_135 - m[
A11]*Det3_234_035
672 + m[
A13]*Det3_234_015 - m[
A15]*Det3_234_013;
673 double Det4_1234_0145 = m[
A10]*Det3_234_145 - m[
A11]*Det3_234_045
674 + m[
A14]*Det3_234_015 - m[
A15]*Det3_234_014;
675 double Det4_1234_0234 = m[
A10]*Det3_234_234 - m[
A12]*Det3_234_034
676 + m[
A13]*Det3_234_024 - m[
A14]*Det3_234_023;
677 double Det4_1234_0235 = m[
A10]*Det3_234_235 - m[
A12]*Det3_234_035
678 + m[
A13]*Det3_234_025 - m[
A15]*Det3_234_023;
679 double Det4_1234_0245 = m[
A10]*Det3_234_245 - m[
A12]*Det3_234_045
680 + m[
A14]*Det3_234_025 - m[
A15]*Det3_234_024;
681 double Det4_1234_0345 = m[
A10]*Det3_234_345 - m[
A13]*Det3_234_045
682 + m[
A14]*Det3_234_035 - m[
A15]*Det3_234_034;
683 double Det4_1234_1234 = m[
A11]*Det3_234_234 - m[
A12]*Det3_234_134
684 + m[
A13]*Det3_234_124 - m[
A14]*Det3_234_123;
685 double Det4_1234_1235 = m[
A11]*Det3_234_235 - m[
A12]*Det3_234_135
686 + m[
A13]*Det3_234_125 - m[
A15]*Det3_234_123;
687 double Det4_1234_1245 = m[
A11]*Det3_234_245 - m[
A12]*Det3_234_145
688 + m[
A14]*Det3_234_125 - m[
A15]*Det3_234_124;
689 double Det4_1234_1345 = m[
A11]*Det3_234_345 - m[
A13]*Det3_234_145
690 + m[
A14]*Det3_234_135 - m[
A15]*Det3_234_134;
691 double Det4_1234_2345 = m[
A12]*Det3_234_345 - m[
A13]*Det3_234_245
692 + m[
A14]*Det3_234_235 - m[
A15]*Det3_234_234;
693 double Det4_1235_0123 = m[
A10]*Det3_235_123 - m[
A11]*Det3_235_023
694 + m[
A12]*Det3_235_013 - m[
A13]*Det3_235_012;
695 double Det4_1235_0124 = m[
A10]*Det3_235_124 - m[
A11]*Det3_235_024
696 + m[
A12]*Det3_235_014 - m[
A14]*Det3_235_012;
697 double Det4_1235_0125 = m[
A10]*Det3_235_125 - m[
A11]*Det3_235_025
698 + m[
A12]*Det3_235_015 - m[
A15]*Det3_235_012;
699 double Det4_1235_0134 = m[
A10]*Det3_235_134 - m[
A11]*Det3_235_034
700 + m[
A13]*Det3_235_014 - m[
A14]*Det3_235_013;
701 double Det4_1235_0135 = m[
A10]*Det3_235_135 - m[
A11]*Det3_235_035
702 + m[
A13]*Det3_235_015 - m[
A15]*Det3_235_013;
703 double Det4_1235_0145 = m[
A10]*Det3_235_145 - m[
A11]*Det3_235_045
704 + m[
A14]*Det3_235_015 - m[
A15]*Det3_235_014;
705 double Det4_1235_0234 = m[
A10]*Det3_235_234 - m[
A12]*Det3_235_034
706 + m[
A13]*Det3_235_024 - m[
A14]*Det3_235_023;
707 double Det4_1235_0235 = m[
A10]*Det3_235_235 - m[
A12]*Det3_235_035
708 + m[
A13]*Det3_235_025 - m[
A15]*Det3_235_023;
709 double Det4_1235_0245 = m[
A10]*Det3_235_245 - m[
A12]*Det3_235_045
710 + m[
A14]*Det3_235_025 - m[
A15]*Det3_235_024;
711 double Det4_1235_0345 = m[
A10]*Det3_235_345 - m[
A13]*Det3_235_045
712 + m[
A14]*Det3_235_035 - m[
A15]*Det3_235_034;
713 double Det4_1235_1234 = m[
A11]*Det3_235_234 - m[
A12]*Det3_235_134
714 + m[
A13]*Det3_235_124 - m[
A14]*Det3_235_123;
715 double Det4_1235_1235 = m[
A11]*Det3_235_235 - m[
A12]*Det3_235_135
716 + m[
A13]*Det3_235_125 - m[
A15]*Det3_235_123;
717 double Det4_1235_1245 = m[
A11]*Det3_235_245 - m[
A12]*Det3_235_145
718 + m[
A14]*Det3_235_125 - m[
A15]*Det3_235_124;
719 double Det4_1235_1345 = m[
A11]*Det3_235_345 - m[
A13]*Det3_235_145
720 + m[
A14]*Det3_235_135 - m[
A15]*Det3_235_134;
721 double Det4_1235_2345 = m[
A12]*Det3_235_345 - m[
A13]*Det3_235_245
722 + m[
A14]*Det3_235_235 - m[
A15]*Det3_235_234;
723 double Det4_1245_0123 = m[
A10]*Det3_245_123 - m[
A11]*Det3_245_023
724 + m[
A12]*Det3_245_013 - m[
A13]*Det3_245_012;
725 double Det4_1245_0124 = m[
A10]*Det3_245_124 - m[
A11]*Det3_245_024
726 + m[
A12]*Det3_245_014 - m[
A14]*Det3_245_012;
727 double Det4_1245_0125 = m[
A10]*Det3_245_125 - m[
A11]*Det3_245_025
728 + m[
A12]*Det3_245_015 - m[
A15]*Det3_245_012;
729 double Det4_1245_0134 = m[
A10]*Det3_245_134 - m[
A11]*Det3_245_034
730 + m[
A13]*Det3_245_014 - m[
A14]*Det3_245_013;
731 double Det4_1245_0135 = m[
A10]*Det3_245_135 - m[
A11]*Det3_245_035
732 + m[
A13]*Det3_245_015 - m[
A15]*Det3_245_013;
733 double Det4_1245_0145 = m[
A10]*Det3_245_145 - m[
A11]*Det3_245_045
734 + m[
A14]*Det3_245_015 - m[
A15]*Det3_245_014;
735 double Det4_1245_0234 = m[
A10]*Det3_245_234 - m[
A12]*Det3_245_034
736 + m[
A13]*Det3_245_024 - m[
A14]*Det3_245_023;
737 double Det4_1245_0235 = m[
A10]*Det3_245_235 - m[
A12]*Det3_245_035
738 + m[
A13]*Det3_245_025 - m[
A15]*Det3_245_023;
739 double Det4_1245_0245 = m[
A10]*Det3_245_245 - m[
A12]*Det3_245_045
740 + m[
A14]*Det3_245_025 - m[
A15]*Det3_245_024;
741 double Det4_1245_0345 = m[
A10]*Det3_245_345 - m[
A13]*Det3_245_045
742 + m[
A14]*Det3_245_035 - m[
A15]*Det3_245_034;
743 double Det4_1245_1234 = m[
A11]*Det3_245_234 - m[
A12]*Det3_245_134
744 + m[
A13]*Det3_245_124 - m[
A14]*Det3_245_123;
745 double Det4_1245_1235 = m[
A11]*Det3_245_235 - m[
A12]*Det3_245_135
746 + m[
A13]*Det3_245_125 - m[
A15]*Det3_245_123;
747 double Det4_1245_1245 = m[
A11]*Det3_245_245 - m[
A12]*Det3_245_145
748 + m[
A14]*Det3_245_125 - m[
A15]*Det3_245_124;
749 double Det4_1245_1345 = m[
A11]*Det3_245_345 - m[
A13]*Det3_245_145
750 + m[
A14]*Det3_245_135 - m[
A15]*Det3_245_134;
751 double Det4_1245_2345 = m[
A12]*Det3_245_345 - m[
A13]*Det3_245_245
752 + m[
A14]*Det3_245_235 - m[
A15]*Det3_245_234;
753 double Det4_1345_0123 = m[
A10]*Det3_345_123 - m[
A11]*Det3_345_023
754 + m[
A12]*Det3_345_013 - m[
A13]*Det3_345_012;
755 double Det4_1345_0124 = m[
A10]*Det3_345_124 - m[
A11]*Det3_345_024
756 + m[
A12]*Det3_345_014 - m[
A14]*Det3_345_012;
757 double Det4_1345_0125 = m[
A10]*Det3_345_125 - m[
A11]*Det3_345_025
758 + m[
A12]*Det3_345_015 - m[
A15]*Det3_345_012;
759 double Det4_1345_0134 = m[
A10]*Det3_345_134 - m[
A11]*Det3_345_034
760 + m[
A13]*Det3_345_014 - m[
A14]*Det3_345_013;
761 double Det4_1345_0135 = m[
A10]*Det3_345_135 - m[
A11]*Det3_345_035
762 + m[
A13]*Det3_345_015 - m[
A15]*Det3_345_013;
763 double Det4_1345_0145 = m[
A10]*Det3_345_145 - m[
A11]*Det3_345_045
764 + m[
A14]*Det3_345_015 - m[
A15]*Det3_345_014;
765 double Det4_1345_0234 = m[
A10]*Det3_345_234 - m[
A12]*Det3_345_034
766 + m[
A13]*Det3_345_024 - m[
A14]*Det3_345_023;
767 double Det4_1345_0235 = m[
A10]*Det3_345_235 - m[
A12]*Det3_345_035
768 + m[
A13]*Det3_345_025 - m[
A15]*Det3_345_023;
769 double Det4_1345_0245 = m[
A10]*Det3_345_245 - m[
A12]*Det3_345_045
770 + m[
A14]*Det3_345_025 - m[
A15]*Det3_345_024;
771 double Det4_1345_0345 = m[
A10]*Det3_345_345 - m[
A13]*Det3_345_045
772 + m[
A14]*Det3_345_035 - m[
A15]*Det3_345_034;
773 double Det4_1345_1234 = m[
A11]*Det3_345_234 - m[
A12]*Det3_345_134
774 + m[
A13]*Det3_345_124 - m[
A14]*Det3_345_123;
775 double Det4_1345_1235 = m[
A11]*Det3_345_235 - m[
A12]*Det3_345_135
776 + m[
A13]*Det3_345_125 - m[
A15]*Det3_345_123;
777 double Det4_1345_1245 = m[
A11]*Det3_345_245 - m[
A12]*Det3_345_145
778 + m[
A14]*Det3_345_125 - m[
A15]*Det3_345_124;
779 double Det4_1345_1345 = m[
A11]*Det3_345_345 - m[
A13]*Det3_345_145
780 + m[
A14]*Det3_345_135 - m[
A15]*Det3_345_134;
781 double Det4_1345_2345 = m[
A12]*Det3_345_345 - m[
A13]*Det3_345_245
782 + m[
A14]*Det3_345_235 - m[
A15]*Det3_345_234;
783 double Det4_2345_0123 = m[
A20]*Det3_345_123 - m[
A21]*Det3_345_023
784 + m[
A22]*Det3_345_013 - m[
A23]*Det3_345_012;
785 double Det4_2345_0124 = m[
A20]*Det3_345_124 - m[
A21]*Det3_345_024
786 + m[
A22]*Det3_345_014 - m[
A24]*Det3_345_012;
787 double Det4_2345_0125 = m[
A20]*Det3_345_125 - m[
A21]*Det3_345_025
788 + m[
A22]*Det3_345_015 - m[
A25]*Det3_345_012;
789 double Det4_2345_0134 = m[
A20]*Det3_345_134 - m[
A21]*Det3_345_034
790 + m[
A23]*Det3_345_014 - m[
A24]*Det3_345_013;
791 double Det4_2345_0135 = m[
A20]*Det3_345_135 - m[
A21]*Det3_345_035
792 + m[
A23]*Det3_345_015 - m[
A25]*Det3_345_013;
793 double Det4_2345_0145 = m[
A20]*Det3_345_145 - m[
A21]*Det3_345_045
794 + m[
A24]*Det3_345_015 - m[
A25]*Det3_345_014;
795 double Det4_2345_0234 = m[
A20]*Det3_345_234 - m[
A22]*Det3_345_034
796 + m[
A23]*Det3_345_024 - m[
A24]*Det3_345_023;
797 double Det4_2345_0235 = m[
A20]*Det3_345_235 - m[
A22]*Det3_345_035
798 + m[
A23]*Det3_345_025 - m[
A25]*Det3_345_023;
799 double Det4_2345_0245 = m[
A20]*Det3_345_245 - m[
A22]*Det3_345_045
800 + m[
A24]*Det3_345_025 - m[
A25]*Det3_345_024;
801 double Det4_2345_0345 = m[
A20]*Det3_345_345 - m[
A23]*Det3_345_045
802 + m[
A24]*Det3_345_035 - m[
A25]*Det3_345_034;
803 double Det4_2345_1234 = m[
A21]*Det3_345_234 - m[
A22]*Det3_345_134
804 + m[
A23]*Det3_345_124 - m[
A24]*Det3_345_123;
805 double Det4_2345_1235 = m[
A21]*Det3_345_235 - m[
A22]*Det3_345_135
806 + m[
A23]*Det3_345_125 - m[
A25]*Det3_345_123;
807 double Det4_2345_1245 = m[
A21]*Det3_345_245 - m[
A22]*Det3_345_145
808 + m[
A24]*Det3_345_125 - m[
A25]*Det3_345_124;
809 double Det4_2345_1345 = m[
A21]*Det3_345_345 - m[
A23]*Det3_345_145
810 + m[
A24]*Det3_345_135 - m[
A25]*Det3_345_134;
811 double Det4_2345_2345 = m[
A22]*Det3_345_345 - m[
A23]*Det3_345_245
812 + m[
A24]*Det3_345_235 - m[
A25]*Det3_345_234;
816 double Det5_01234_01234 = m[
A00]*Det4_1234_1234 - m[
A01]*Det4_1234_0234
817 + m[
A02]*Det4_1234_0134 - m[
A03]*Det4_1234_0124 + m[
A04]*Det4_1234_0123;
818 double Det5_01234_01235 = m[
A00]*Det4_1234_1235 - m[
A01]*Det4_1234_0235
819 + m[
A02]*Det4_1234_0135 - m[
A03]*Det4_1234_0125 + m[
A05]*Det4_1234_0123;
820 double Det5_01234_01245 = m[
A00]*Det4_1234_1245 - m[
A01]*Det4_1234_0245
821 + m[
A02]*Det4_1234_0145 - m[
A04]*Det4_1234_0125 + m[
A05]*Det4_1234_0124;
822 double Det5_01234_01345 = m[
A00]*Det4_1234_1345 - m[
A01]*Det4_1234_0345
823 + m[
A03]*Det4_1234_0145 - m[
A04]*Det4_1234_0135 + m[
A05]*Det4_1234_0134;
824 double Det5_01234_02345 = m[
A00]*Det4_1234_2345 - m[
A02]*Det4_1234_0345
825 + m[
A03]*Det4_1234_0245 - m[
A04]*Det4_1234_0235 + m[
A05]*Det4_1234_0234;
826 double Det5_01234_12345 = m[
A01]*Det4_1234_2345 - m[
A02]*Det4_1234_1345
827 + m[
A03]*Det4_1234_1245 - m[
A04]*Det4_1234_1235 + m[
A05]*Det4_1234_1234;
828 double Det5_01235_01234 = m[
A00]*Det4_1235_1234 - m[
A01]*Det4_1235_0234
829 + m[
A02]*Det4_1235_0134 - m[
A03]*Det4_1235_0124 + m[
A04]*Det4_1235_0123;
830 double Det5_01235_01235 = m[
A00]*Det4_1235_1235 - m[
A01]*Det4_1235_0235
831 + m[
A02]*Det4_1235_0135 - m[
A03]*Det4_1235_0125 + m[
A05]*Det4_1235_0123;
832 double Det5_01235_01245 = m[
A00]*Det4_1235_1245 - m[
A01]*Det4_1235_0245
833 + m[
A02]*Det4_1235_0145 - m[
A04]*Det4_1235_0125 + m[
A05]*Det4_1235_0124;
834 double Det5_01235_01345 = m[
A00]*Det4_1235_1345 - m[
A01]*Det4_1235_0345
835 + m[
A03]*Det4_1235_0145 - m[
A04]*Det4_1235_0135 + m[
A05]*Det4_1235_0134;
836 double Det5_01235_02345 = m[
A00]*Det4_1235_2345 - m[
A02]*Det4_1235_0345
837 + m[
A03]*Det4_1235_0245 - m[
A04]*Det4_1235_0235 + m[
A05]*Det4_1235_0234;
838 double Det5_01235_12345 = m[
A01]*Det4_1235_2345 - m[
A02]*Det4_1235_1345
839 + m[
A03]*Det4_1235_1245 - m[
A04]*Det4_1235_1235 + m[
A05]*Det4_1235_1234;
840 double Det5_01245_01234 = m[
A00]*Det4_1245_1234 - m[
A01]*Det4_1245_0234
841 + m[
A02]*Det4_1245_0134 - m[
A03]*Det4_1245_0124 + m[
A04]*Det4_1245_0123;
842 double Det5_01245_01235 = m[
A00]*Det4_1245_1235 - m[
A01]*Det4_1245_0235
843 + m[
A02]*Det4_1245_0135 - m[
A03]*Det4_1245_0125 + m[
A05]*Det4_1245_0123;
844 double Det5_01245_01245 = m[
A00]*Det4_1245_1245 - m[
A01]*Det4_1245_0245
845 + m[
A02]*Det4_1245_0145 - m[
A04]*Det4_1245_0125 + m[
A05]*Det4_1245_0124;
846 double Det5_01245_01345 = m[
A00]*Det4_1245_1345 - m[
A01]*Det4_1245_0345
847 + m[
A03]*Det4_1245_0145 - m[
A04]*Det4_1245_0135 + m[
A05]*Det4_1245_0134;
848 double Det5_01245_02345 = m[
A00]*Det4_1245_2345 - m[
A02]*Det4_1245_0345
849 + m[
A03]*Det4_1245_0245 - m[
A04]*Det4_1245_0235 + m[
A05]*Det4_1245_0234;
850 double Det5_01245_12345 = m[
A01]*Det4_1245_2345 - m[
A02]*Det4_1245_1345
851 + m[
A03]*Det4_1245_1245 - m[
A04]*Det4_1245_1235 + m[
A05]*Det4_1245_1234;
852 double Det5_01345_01234 = m[
A00]*Det4_1345_1234 - m[
A01]*Det4_1345_0234
853 + m[
A02]*Det4_1345_0134 - m[
A03]*Det4_1345_0124 + m[
A04]*Det4_1345_0123;
854 double Det5_01345_01235 = m[
A00]*Det4_1345_1235 - m[
A01]*Det4_1345_0235
855 + m[
A02]*Det4_1345_0135 - m[
A03]*Det4_1345_0125 + m[
A05]*Det4_1345_0123;
856 double Det5_01345_01245 = m[
A00]*Det4_1345_1245 - m[
A01]*Det4_1345_0245
857 + m[
A02]*Det4_1345_0145 - m[
A04]*Det4_1345_0125 + m[
A05]*Det4_1345_0124;
858 double Det5_01345_01345 = m[
A00]*Det4_1345_1345 - m[
A01]*Det4_1345_0345
859 + m[
A03]*Det4_1345_0145 - m[
A04]*Det4_1345_0135 + m[
A05]*Det4_1345_0134;
860 double Det5_01345_02345 = m[
A00]*Det4_1345_2345 - m[
A02]*Det4_1345_0345
861 + m[
A03]*Det4_1345_0245 - m[
A04]*Det4_1345_0235 + m[
A05]*Det4_1345_0234;
862 double Det5_01345_12345 = m[
A01]*Det4_1345_2345 - m[
A02]*Det4_1345_1345
863 + m[
A03]*Det4_1345_1245 - m[
A04]*Det4_1345_1235 + m[
A05]*Det4_1345_1234;
864 double Det5_02345_01234 = m[
A00]*Det4_2345_1234 - m[
A01]*Det4_2345_0234
865 + m[
A02]*Det4_2345_0134 - m[
A03]*Det4_2345_0124 + m[
A04]*Det4_2345_0123;
866 double Det5_02345_01235 = m[
A00]*Det4_2345_1235 - m[
A01]*Det4_2345_0235
867 + m[
A02]*Det4_2345_0135 - m[
A03]*Det4_2345_0125 + m[
A05]*Det4_2345_0123;
868 double Det5_02345_01245 = m[
A00]*Det4_2345_1245 - m[
A01]*Det4_2345_0245
869 + m[
A02]*Det4_2345_0145 - m[
A04]*Det4_2345_0125 + m[
A05]*Det4_2345_0124;
870 double Det5_02345_01345 = m[
A00]*Det4_2345_1345 - m[
A01]*Det4_2345_0345
871 + m[
A03]*Det4_2345_0145 - m[
A04]*Det4_2345_0135 + m[
A05]*Det4_2345_0134;
872 double Det5_02345_02345 = m[
A00]*Det4_2345_2345 - m[
A02]*Det4_2345_0345
873 + m[
A03]*Det4_2345_0245 - m[
A04]*Det4_2345_0235 + m[
A05]*Det4_2345_0234;
874 double Det5_02345_12345 = m[
A01]*Det4_2345_2345 - m[
A02]*Det4_2345_1345
875 + m[
A03]*Det4_2345_1245 - m[
A04]*Det4_2345_1235 + m[
A05]*Det4_2345_1234;
876 double Det5_12345_01234 = m[
A10]*Det4_2345_1234 - m[
A11]*Det4_2345_0234
877 + m[
A12]*Det4_2345_0134 - m[
A13]*Det4_2345_0124 + m[
A14]*Det4_2345_0123;
878 double Det5_12345_01235 = m[
A10]*Det4_2345_1235 - m[
A11]*Det4_2345_0235
879 + m[
A12]*Det4_2345_0135 - m[
A13]*Det4_2345_0125 + m[
A15]*Det4_2345_0123;
880 double Det5_12345_01245 = m[
A10]*Det4_2345_1245 - m[
A11]*Det4_2345_0245
881 + m[
A12]*Det4_2345_0145 - m[
A14]*Det4_2345_0125 + m[
A15]*Det4_2345_0124;
882 double Det5_12345_01345 = m[
A10]*Det4_2345_1345 - m[
A11]*Det4_2345_0345
883 + m[
A13]*Det4_2345_0145 - m[
A14]*Det4_2345_0135 + m[
A15]*Det4_2345_0134;
884 double Det5_12345_02345 = m[
A10]*Det4_2345_2345 - m[
A12]*Det4_2345_0345
885 + m[
A13]*Det4_2345_0245 - m[
A14]*Det4_2345_0235 + m[
A15]*Det4_2345_0234;
886 double Det5_12345_12345 = m[
A11]*Det4_2345_2345 - m[
A12]*Det4_2345_1345
887 + m[
A13]*Det4_2345_1245 - m[
A14]*Det4_2345_1235 + m[
A15]*Det4_2345_1234;
891 double det = m[
A00]*Det5_12345_12345
892 - m[
A01]*Det5_12345_02345
893 + m[
A02]*Det5_12345_01345
894 - m[
A03]*Det5_12345_01245
895 + m[
A04]*Det5_12345_01235
896 - m[
A05]*Det5_12345_01234;
899 #ifdef SINGULAR_DIAGNOSTICS 900 std::cerr <<
"Kramer's rule inversion of a singular 6x6 matrix: " 907 double oneOverDet = 1.0/det;
908 double mn1OverDet = - oneOverDet;
910 m[
A00] = Det5_12345_12345*oneOverDet;
911 m[
A01] = Det5_02345_12345*mn1OverDet;
912 m[
A02] = Det5_01345_12345*oneOverDet;
913 m[
A03] = Det5_01245_12345*mn1OverDet;
914 m[
A04] = Det5_01235_12345*oneOverDet;
915 m[
A05] = Det5_01234_12345*mn1OverDet;
917 m[
A10] = Det5_12345_02345*mn1OverDet;
918 m[
A11] = Det5_02345_02345*oneOverDet;
919 m[
A12] = Det5_01345_02345*mn1OverDet;
920 m[
A13] = Det5_01245_02345*oneOverDet;
921 m[
A14] = Det5_01235_02345*mn1OverDet;
922 m[
A15] = Det5_01234_02345*oneOverDet;
924 m[
A20] = Det5_12345_01345*oneOverDet;
925 m[
A21] = Det5_02345_01345*mn1OverDet;
926 m[
A22] = Det5_01345_01345*oneOverDet;
927 m[
A23] = Det5_01245_01345*mn1OverDet;
928 m[
A24] = Det5_01235_01345*oneOverDet;
929 m[
A25] = Det5_01234_01345*mn1OverDet;
931 m[
A30] = Det5_12345_01245*mn1OverDet;
932 m[
A31] = Det5_02345_01245*oneOverDet;
933 m[
A32] = Det5_01345_01245*mn1OverDet;
934 m[
A33] = Det5_01245_01245*oneOverDet;
935 m[
A34] = Det5_01235_01245*mn1OverDet;
936 m[
A35] = Det5_01234_01245*oneOverDet;
938 m[
A40] = Det5_12345_01235*oneOverDet;
939 m[
A41] = Det5_02345_01235*mn1OverDet;
940 m[
A42] = Det5_01345_01235*oneOverDet;
941 m[
A43] = Det5_01245_01235*mn1OverDet;
942 m[
A44] = Det5_01235_01235*oneOverDet;
943 m[
A45] = Det5_01234_01235*mn1OverDet;
945 m[
A50] = Det5_12345_01234*mn1OverDet;
946 m[
A51] = Det5_02345_01234*oneOverDet;
947 m[
A52] = Det5_01345_01234*mn1OverDet;
948 m[
A53] = Det5_01245_01234*oneOverDet;
949 m[
A54] = Det5_01235_01234*mn1OverDet;
950 m[
A55] = Det5_01234_01234*oneOverDet;
virtual void invertHaywood5(int &ierr)
virtual void invertHaywood6(int &ierr)
virtual void invertHaywood4(int &ierr)