ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_matrixDet::setMatDet Interface Reference

Return the determinant of the input square matrix. More...

Detailed Description

Return the determinant of the input square matrix.

This generic interface uses the pivoted LU (LUP) factorization to compute the determinant.
If the matrix is already known to be positive-definite, use the other more appropriate faster generic interfaces of this module (e.g., setMatDetSqrt).

Parameters
[in,out]mat: The input/output contiguous square matrix of shape (1:ndim, 1:ndim) of,
  1. type complex of kind any supported by the processor (e.g., CK, CK32, CK64, or CK128),
  2. type real of kind any supported by the processor (e.g., RK, RK32, RK64, or RK128),
On input, it represents the general matrix whose determinant must be computed.
On output, it is completely overwritten by its LUP factorization.
[out]det: The output scalar of the same type and kind as the input mat representing its determinant.
[out]info: The output scalar of type integer of default kind IK that is non-zero if and only if the Pivoted LU-factorization of the input mat fails.
See the corresponding info argument of setMatLUP for possible meanings of the output non-zero error code.


Possible calling interfaces

call setMatDet(mat, det, info)
Return the determinant of the input square matrix.
This module contains procedures and generic interfaces relevant to the computation of the determinant...
Warning
The condition size(mat, 1) == size(mat, 2) must hold for the corresponding input arguments.
This condition is verified only if the library is built with the preprocessor macro CHECK_ENABLED=1.
The pure procedure(s) documented herein become impure when the ParaMonte library is compiled with preprocessor macro CHECK_ENABLED=1.
By default, these procedures are pure in release build and impure in debug and testing builds.
See also
getMatDet
setMatDet
getMatDetSqrtLog
setMatDetSqrtLog
getMatDetSqrt
setMatDetSqrt


Example usage

1program example
2
3 use pm_kind, only: SK, IK, LK
4 use pm_matrixDet, only: getMatDet
5 use pm_matrixDet, only: setMatDet
6 use pm_matrixInv, only: getMatInv
7 use pm_distUnif, only: getUnifRand
8 use pm_io, only: display_type
9
10 implicit none
11
12 integer(IK) :: info, ndim, itry, ntry = 10
13 type(display_type) :: disp
14
15 disp = display_type(file = "main.out.F90")
16
17 call disp%skip()
18 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
19 call disp%show("! Compute the determinant of the square matrix.")
20 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
21 call disp%skip()
22
23 block
24 use pm_kind, only: TKG => RKH
25 real(TKG), allocatable :: mat(:,:), lup(:,:)
26 real(TKG) :: det
27 do itry = 1, ntry
28 call disp%skip()
29 call disp%show("ndim = getUnifRand(1, 9)")
30 ndim = getUnifRand(1, 9)
31 call disp%show("mat = getUnifRand(1._TKG, 2._TKG, ndim, ndim)")
32 mat = getUnifRand(1._TKG, 2._TKG, ndim, ndim)
33 call disp%show("lup = mat")
34 lup = mat
35 call disp%show("lup ! matrix.")
36 call disp%show( lup )
37 call disp%show("call setMatDet(lup, det, info)")
38 call setMatDet(lup, det, info)
39 call disp%show("lup ! lup factorization.")
40 call disp%show( lup )
41 call disp%show("if (info /= 0) error stop 'determinant computation failed.'")
42 if (info /= 0) error stop 'determinant computation failed.'
43 call disp%show("det * getMatDet(getMatInv(mat)) ! must be one.")
44 call disp%show( det * getMatDet(getMatInv(mat)) )
45 call disp%skip()
46 end do
47 end block
48
49 block
50 use pm_kind, only: TKG => CKH
51 complex(TKG), allocatable :: mat(:,:), lup(:,:)
52 complex(TKG) :: det
53 do itry = 1, ntry
54 call disp%skip()
55 call disp%show("ndim = getUnifRand(1, 9)")
56 ndim = getUnifRand(1, 9)
57 call disp%show("mat = getUnifRand((1._TKG, 1._TKG), (2._TKG, 2._TKG), ndim, ndim)")
58 mat = getUnifRand((1._TKG, 1._TKG), (2._TKG, 2._TKG), ndim, ndim)
59 call disp%show("lup = mat")
60 lup = mat
61 call disp%show("lup ! matrix.")
62 call disp%show( lup )
63 call disp%show("call setMatDet(lup, det, info)")
64 call setMatDet(lup, det, info)
65 call disp%show("if (info /= 0) error stop 'determinant computation failed.'")
66 if (info /= 0) error stop 'determinant computation failed.'
67 call disp%show("lup ! lup factorization.")
68 call disp%show( lup )
69 call disp%show("det * getMatDet(getMatInv(mat)) ! must be one.")
70 call disp%show( det * getMatDet(getMatInv(mat)) )
71 call disp%skip()
72 end do
73 end block
74
75end program example
Generate and return a scalar or a contiguous array of rank 1 of length s1 of randomly uniformly distr...
This is a generic method of the derived type display_type with pass attribute.
Definition: pm_io.F90:11726
This is a generic method of the derived type display_type with pass attribute.
Definition: pm_io.F90:11508
Generate and return the determinant of the input general square matrix.
Generate and return the full inverse of an input matrix of general or triangular form directly or thr...
This module contains classes and procedures for computing various statistical quantities related to t...
This module contains classes and procedures for input/output (IO) or generic display operations on st...
Definition: pm_io.F90:252
type(display_type) disp
This is a scalar module variable an object of type display_type for general display.
Definition: pm_io.F90:11393
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
Definition: pm_kind.F90:268
integer, parameter LK
The default logical kind in the ParaMonte library: kind(.true.) in Fortran, kind(....
Definition: pm_kind.F90:541
integer, parameter CKH
The scalar integer constant of intrinsic default kind, representing the highest-precision complex kin...
Definition: pm_kind.F90:843
integer, parameter IK
The default integer kind in the ParaMonte library: int32 in Fortran, c_int32_t in C-Fortran Interoper...
Definition: pm_kind.F90:540
integer, parameter SK
The default character kind in the ParaMonte library: kind("a") in Fortran, c_char in C-Fortran Intero...
Definition: pm_kind.F90:539
integer, parameter RKH
The scalar integer constant of intrinsic default kind, representing the highest-precision real kind t...
Definition: pm_kind.F90:858
This module contains abstract and concrete derived types and procedures related to the inversion of s...
Generate and return an object of type display_type.
Definition: pm_io.F90:10282

Example Unix compile command via Intel ifort compiler
1#!/usr/bin/env sh
2rm main.exe
3ifort -fpp -standard-semantics -O3 -Wl,-rpath,../../../lib -I../../../inc main.F90 ../../../lib/libparamonte* -o main.exe
4./main.exe

Example Windows Batch compile command via Intel ifort compiler
1del main.exe
2set PATH=..\..\..\lib;%PATH%
3ifort /fpp /standard-semantics /O3 /I:..\..\..\include main.F90 ..\..\..\lib\libparamonte*.lib /exe:main.exe
4main.exe

Example Unix / MinGW compile command via GNU gfortran compiler
1#!/usr/bin/env sh
2rm main.exe
3gfortran -cpp -ffree-line-length-none -O3 -Wl,-rpath,../../../lib -I../../../inc main.F90 ../../../lib/libparamonte* -o main.exe
4./main.exe

Example output
1
2!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3! Compute the determinant of the square matrix.
4!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5
6
7ndim = getUnifRand(1, 9)
8mat = getUnifRand(1._TKG, 2._TKG, ndim, ndim)
9lup = mat
10lup ! matrix.
11+1.46810430059017454360561784900448518, +1.63324834575224288188001717696783704, +1.63350750392075298230464587679343607
12+1.63120928318775966539531154253842188, +1.50799970457832567921198380779063669, +1.19944935950435039662669465572424876
13+1.62709518762031339276743036813032796, +1.92408150310896976845777067986882889, +1.24803347301990525825576728706170061
14call setMatDet(lup, det, info)
15lup ! lup factorization.
16+1.62709518762031339276743036813032796, +1.92408150310896976845777067986882889, +1.24803347301990525825576728706170061
17+1.00252849101807208270346810797430490, -0.420946821329293751377002960293817975, -0.517397549423389990365372760342246450E-1
18+0.902285442032024645042522653515346995, +0.244264545011593088221051134686335462, +0.520063257746226622965564820945872479
19if (info /= 0) error stop 'determinant computation failed.'
20det * getMatDet(getMatInv(mat)) ! must be one.
21+1.00000000000000000000000000000000096
22
23
24ndim = getUnifRand(1, 9)
25mat = getUnifRand(1._TKG, 2._TKG, ndim, ndim)
26lup = mat
27lup ! matrix.
28+1.80873880294299231600432490236948399, +1.82141711734794668223139468256365570
29+1.00985301506299630182279289918070277, +1.04979637505144722417087556466144225
30call setMatDet(lup, det, info)
31lup ! lup factorization.
32+1.80873880294299231600432490236948399, +1.82141711734794668223139468256365570
33+0.558318875793380525967984394962965332, +0.328648177429217784188569030795272160E-1
34if (info /= 0) error stop 'determinant computation failed.'
35det * getMatDet(getMatInv(mat)) ! must be one.
36+1.00000000000000000000000000000000019
37
38
39ndim = getUnifRand(1, 9)
40mat = getUnifRand(1._TKG, 2._TKG, ndim, ndim)
41lup = mat
42lup ! matrix.
43+1.63487084625791125634833804029185220
44call setMatDet(lup, det, info)
45lup ! lup factorization.
46+1.63487084625791125634833804029185220
47if (info /= 0) error stop 'determinant computation failed.'
48det * getMatDet(getMatInv(mat)) ! must be one.
49+1.00000000000000000000000000000000000
50
51
52ndim = getUnifRand(1, 9)
53mat = getUnifRand(1._TKG, 2._TKG, ndim, ndim)
54lup = mat
55lup ! matrix.
56+1.74175532281499150583695046739464339, +1.40280168349024117364506131669841360, +1.79206793313510352016855428684965340, +1.37300628285830398472595385485475815, +1.15510300831811641475725773952143259
57+1.99233447210252056924643909287665661, +1.32556400327564534167775794251910510, +1.07562151905235457732972976984256211, +1.99962715133381173058451269432323500, +1.81169070486082520720549077667397667
58+1.78580849804101754228211475695989570, +1.53984444950709880419855247826612119, +1.38982907683179151671722433385592924, +1.41075774217242757711418172688862576, +1.64226899549544845486079866858558094
59+1.44041855618016306964863500791576343, +1.76808044417608340236120527497798352, +1.02304425844354145909923372419667802, +1.34882039277504670828692377253271528, +1.57814200220200974464003442757467698
60+1.27289178989990375844111329146602596, +1.32532132136282460329185875502460063, +1.04303243998431979958188886612908511, +1.24729514455040888130638299628036959, +1.95141303650599205234197814258525490
61call setMatDet(lup, det, info)
62lup ! lup factorization.
63+1.99233447210252056924643909287665661, +1.32556400327564534167775794251910510, +1.07562151905235457732972976984256211, +1.99962715133381173058451269432323500, +1.81169070486082520720549077667397667
64+0.722980290884633510810019383119794875, +0.809723795501658045276752578803029320, +0.245391099717298780896467686733339011, -0.968706267570835706919368892169372240E-1, +0.268325329408743617952388164560697477
65+0.874228372396181234898346941168315715, +0.301283010027470478005049332230934210, +0.777796914062876596976201667816927348, -0.345939033038844867787860162277182521, -0.509570270788531976014885514741026169
66+0.896339707537381948801212945314950307, +0.434331806033981755773477526583835279, +0.410294298844199721901327560572268960, -0.197576666563368262352914593341311586, +0.110910230990570052103263969615324588
67+0.638894627244297320760073871649937213, +0.590850366828071070785439559193186809, +0.271065885473630743677163648458682467, -0.611167395607125404973473102353107547, +0.841305293314580287772549395601373663
68if (info /= 0) error stop 'determinant computation failed.'
69det * getMatDet(getMatInv(mat)) ! must be one.
70+0.999999999999999999999999999999999807
71
72
73ndim = getUnifRand(1, 9)
74mat = getUnifRand(1._TKG, 2._TKG, ndim, ndim)
75lup = mat
76lup ! matrix.
77+1.31829357685637677722793231291817486, +1.63519013629093766880477186651580339, +1.24478455417554372898866614500371661, +1.44669812033373060770748602448458619, +1.10620138948188686515681837661659565, +1.53008026359970835662702531755519896
78+1.82984091484268756642624162492332497, +1.03700666620052049405830688730799839, +1.87639507098884874131007185926661956, +1.51053500762887836313760302995069267, +1.00476799442308215694623497326999913, +1.41320124436840009997908730941272787
79+1.16388345462043107887732896817079721, +1.40100776274603060175673437386680920, +1.65903317494683664934949014018979850, +1.97012100514343212743066308410873936, +1.49689082607443373683546411436614363, +1.73733633543367184264764335587580831
80+1.17044442158742900217267952248622249, +1.84238378160380059126317031137001409, +1.54023787967096661897098650807757952, +1.20431099797106669747818731976595475, +1.74746704389072625482592755975733484, +1.97178764046806263019759965820693740
81+1.58886523930064914900893735464464187, +1.62599126578940973061004094887817612, +1.47201797242262349691212708120842414, +1.65139013275324128375400079213213146, +1.99729361788869323009600169062131239, +1.73536774074799911678398898508123944
82+1.26624320344553710009848302693271801, +1.95611593032748022004645902064464222, +1.58339346946419209593524567632447587, +1.58364825019269382451867137188571884, +1.02919135893457551117191930607057971, +1.90475050328106493952551086585332525
83call setMatDet(lup, det, info)
84lup ! lup factorization.
85+1.82984091484268756642624162492332497, +1.03700666620052049405830688730799839, +1.87639507098884874131007185926661956, +1.51053500762887836313760302995069267, +1.00476799442308215694623497326999913, +1.41320124436840009997908730941272787
86+0.691996333219162239194606080118715307, +1.23851111979289229244252286962939807, +0.284934960669399137685372410048417573, +0.538363563714330737670621340909508455, +0.333895591057831004478558066790681800, +0.926820424077374820114766809708215562
87+0.720441633020164052767498030733128521, +0.717060465625167152874371806024360855, -0.311364170529137147270180476600365960, -0.275934149691668280471948157531432930E-1, +0.142901366779207770272928666349525552, -0.152635033519026999698866242267219290
88+0.636057181353653785781775249834279466, +0.598631868336845854167722194394373971, -0.947339145112618407113323631217454725, +0.660912457716567244558658640016027250, +0.793296444762978975053434412902432514, +0.139038151008893603451285084323964108
89+0.639642720901807332915322399105179616, +0.952005999138025632929893838872615498, -0.220820651710341986845894525452892724, -0.424428771618302969365905851836353916, +1.15515731281250335940597035577311962, +0.210811971558412806450045111578721800
90+0.868307854749900359906890425267809111, +0.585824560235533901563101383137558223, +1.04120041753658691766862635465589199, +0.803803852711490881279246962351395904E-1, +0.620423723906057798550566539339979640, -0.177251953848648603475918999415454716E-1
91if (info /= 0) error stop 'determinant computation failed.'
92det * getMatDet(getMatInv(mat)) ! must be one.
93+0.999999999999999999999999999999999904
94
95
96ndim = getUnifRand(1, 9)
97mat = getUnifRand(1._TKG, 2._TKG, ndim, ndim)
98lup = mat
99lup ! matrix.
100+1.29851566129790276254547800185614847, +1.03858657709112683239890127761913628, +1.32875624363109897622943238201202608, +1.15225716776346509458832125551594472, +1.02451511837479128467422862444488852, +1.09502843899785966919950205456448871, +1.96415327981522187871908173156364947, +1.34081961318518657377757136712094033, +1.87504835016921119034402960888658505
101+1.29753281586475147442429088560911446, +1.84968154514918647930314700698481945, +1.21874389588234366405287371486380806, +1.38009725617881020842668462686113225, +1.72213435149637322375810448449557739, +1.11647980910271385677247402549030696, +1.69786848333980332172206250500331621, +1.01425658863583311984132557956482131, +1.38712282299439221468980051836074300
102+1.12435590594729786806270596578359176, +1.91101709250528643215808826189840139, +1.52928588648535196093486603476888904, +1.55843486799601571526101824474182924, +1.13456816207541459319632115934436779, +1.73303773230048250898166155953329930, +1.62982058719587267393640039415600064, +1.56923116379448746329948923359767199, +1.22556851979537536697373022668570660
103+1.22658503746827712767464567521147231, +1.74626739270371344301812023092107839, +1.23122118476614288567022509711786243, +1.68678756360428327366109547016409014, +1.03274832645155828253267913429481931, +1.98490602010063345623066083849123611, +1.28282383586617777233207012693751411, +1.61968130394634413860750182501619410, +1.68136133567446220723319639028782574
104+1.62697029055887375374618272888201983, +1.65039379419455215678069232091658456, +1.51762705990386501051957725866832195, +1.68727338305567977290762654649845107, +1.22197217550851740617491205961472125, +1.12992797808362001365430609991420898, +1.40920995406149612521104328826841258, +1.92187586743205265703505903974162162, +1.58786714116734987158921140118459467
105+1.52566245354807358658857729484698183, +1.72013298543371940462618429722479720, +1.92434059757640802332345264193737952, +1.48750890164777758196181461798210812, +1.73350975399884779674367780786310086, +1.96888642417597128546377403752478037, +1.96968404154491427786504673201384936, +1.66959969368904131881561710506320547, +1.69708285625072595444165438554296195
106+1.94022716158484436615628582106649885, +1.53465330568833258160762550973840928, +1.42788023315025522821436489606242624, +1.07539892084191921539797893083531572, +1.50606572412303647964250979503253020, +1.78734648304596145239262388160575178, +1.12119868143320738377400998886169756, +1.97659813715612936926602100632931038, +1.27036660573055157715288727387226397
107+1.12886524448394827812836545749434676, +1.41160704201669914805019328390053841, +1.14704091240281313453664332807993316, +1.89494699967652327503260466603144946, +1.19638197686336363292017230523979091, +1.88823448703794885465482027088679680, +1.19753420979720206052629911587963621, +1.76103948364904941564403320269812810, +1.64498839791197146579190897255610779
108+1.89401154702575586304575140223304663, +1.00055787576602985391275757072344893, +1.88057813594441440281829489722538536, +1.30030309220127902798526901799881342, +1.55715353622706320975062764606335217, +1.86585985971079060534293890279880992, +1.71834642742171350990053212937295327, +1.86236413076672134453335775684284055, +1.76056156734839516173990931111643261
109call setMatDet(lup, det, info)
110lup ! lup factorization.
111+1.89401154702575586304575140223304663, +1.00055787576602985391275757072344893, +1.88057813594441440281829489722538536, +1.30030309220127902798526901799881342, +1.55715353622706320975062764606335217, +1.86585985971079060534293890279880992, +1.71834642742171350990053212937295327, +1.86236413076672134453335775684284055, +1.76056156734839516173990931111643261
112+0.593637302641010892948391730174407190, +1.31704861399932078903853591934143793, +0.412904554457649502694921164894956670, +0.786526447725882745903163836519191204, +0.210183737031669151261842831736494668, +0.625393718075633778949157715954782824, +0.609746049018429071865826834019444456, +0.463662344670760118487062852657342236, +0.180433499821243626751981949178374878
113+1.02440091488970211462414289863165728, +0.386987159726647369719691413531596467, -0.658374490600536058800737422968297300, -0.561008392498308452682121359170081242, -0.170422190426320175484166432917267170, -0.366061402966720845679139092729645981, -0.875040862579234017228761642060470027, -0.110640756095400074017450002404630923, -0.602979722196153939380547188838181457
114+0.596018142685904816435928611171749374, +0.619002508022301578446049084168004369, +0.348444135392245425125627647495094815, +0.828561006237651560652587918853165570, +0.197568570751169248257099635959479632, +0.516579828007942395702694150661825799, +0.100837086829561441216187700192593691, +0.402580641794723234111898048499865566, +0.694077721495899344853856079137193840
115+0.685071227734762523972178070573174058, +0.883967471210646452707506743528038792, +0.660080664758338827308012054848036147, +0.198348723580630607875990851648034694, +0.542882599066317630449343723015757568, -0.575427694548945001658291333762075899, +0.539279760400641696393926537305202805, -0.678277455837356984404206160078037139, +0.281861229728289698260317753835840418
116+0.859007587949382904134795736908498597, +0.600514649438311781013616107279519702, +0.525170806755174861911183430063409629, +0.473842883408414751862008654618212580, -0.453078885374889334302707050762042345, -1.16166494018525253448523844971868226, +0.223077151822049521750877744611165937, -0.396312953428528437879397512146651666, +0.826673659662329962111623431012538388E-1
117+0.685590150354159797805836792972775601, +0.267730400274228245305016848205029408, +0.107988243771299826330646163777177061, +0.133710668028190656691970180771388908, -0.197722338891653034846374148573383313, +0.426061260534165539574185872840047373, +0.715418595287031519738771121639145920, -0.672738304633382565424729222691958247E-1, +0.612535172234158585357568522393263497
118+0.647612227810561133727028383936496579, +0.833905344154622518654689200649412915, +0.502734432664240604489453447735190874, +0.568268365920120748332744962041020729, -0.327053310786850691530107430384686931, +0.367460859544086267302831332613489116E-1, +0.296774300154353221751585681283433240, -0.333514706354477595797933871458250591, +0.206813182181098905844471214118016716
119+0.805519087749958024560950984487632643, +0.694100816316642541185686795168454107, -0.186674341902171830399923925811911699, -0.254132863226528091536162637162872590, +0.647836883131859482686003048835651171, -0.402476918334800396061582016333793339, -0.328486862222739029143027054456272334, -0.560887932630769328153585204217273737, +0.385385366000660039699759231740467996
120if (info /= 0) error stop 'determinant computation failed.'
121det * getMatDet(getMatInv(mat)) ! must be one.
122+1.00000000000000000000000000000000404
123
124
125ndim = getUnifRand(1, 9)
126mat = getUnifRand(1._TKG, 2._TKG, ndim, ndim)
127lup = mat
128lup ! matrix.
129+1.95084297923735103494905163025786592, +1.72850868656116871824901830159830506, +1.96012809666571913484391116553981925, +1.99951266617566600898746274715368799, +1.47875008592492410491596841328051850
130+1.60427416067837839046749457306966170, +1.36078929790309081214318257923651574, +1.66339973115708811663885711228276982, +1.42692894766230201245610251851831245, +1.18665869189644237951430260513186709
131+1.35899905648786705801063024593433268, +1.72729440003655764667580579946234900, +1.65461862841171826282590631950554692, +1.52217370606622504340698508866204513, +1.81016833884763450615274353295779256
132+1.86707122159420498965345332167158707, +1.67833316141829497967296401110487010, +1.15059039012333239144832479183507364, +1.65181496657915528204576512100448688, +1.84621438101357383417710896438554956
133+1.34888051739543874203504969685277312, +1.75750599460274360915650815002313189, +1.84299442742854559140632719405787253, +1.35450626203850507414752968584195426, +1.10231599136359530842339069501541088
134call setMatDet(lup, det, info)
135lup ! lup factorization.
136+1.95084297923735103494905163025786592, +1.72850868656116871824901830159830506, +1.96012809666571913484391116553981925, +1.99951266617566600898746274715368799, +1.47875008592492410491596841328051850
137+0.691434693489662963764136909051888476, +0.562355120716102004379197242767208949, +0.487693857710007624610609197168205439, -0.280261654273653350507597843859522663E-1, +0.798568789542826391520478316989365111E-1
138+0.957058687687978254052875521510587319, +0.427646256162264132745835078998481948E-1, -0.746223279012197018846528801870283720, -0.260637473254458466207860434969994484, +0.427548714828420680155765239507407871
139+0.822349198655415186583865251827377733, -0.107847218110472428010037632361633984, -0.139484240673169076449889772622797920, -0.256746055092126428255864377019754563, +0.388583938052903677482219712493170920E-1
140+0.696621445678393184975631538681690425, +0.930334161926793770541081379163105947, +0.220533050925080204492750302866317908, -0.828924822675104569143482959707414719, +0.643667798331824787824807846708862454
141if (info /= 0) error stop 'determinant computation failed.'
142det * getMatDet(getMatInv(mat)) ! must be one.
143+0.999999999999999999999999999999999422
144
145
146ndim = getUnifRand(1, 9)
147mat = getUnifRand(1._TKG, 2._TKG, ndim, ndim)
148lup = mat
149lup ! matrix.
150+1.26091472622416859901572783229872724, +1.47582129980115500669889022439516668, +1.78482701132702566746923670810468779
151+1.04286034091694476718727911832595381, +1.41044250685962305942960157032019856, +1.95395436386468340659190135672223260
152+1.96760905733506936617824410364912433, +1.57365270952222322440490614909852308, +1.68482224315343944555625573159641212
153call setMatDet(lup, det, info)
154lup ! lup factorization.
155+1.96760905733506936617824410364912433, +1.57365270952222322440490614909852308, +1.68482224315343944555625573159641212
156+0.530013996951912441396636656308848821, +0.576384544471542684827020738045098757, +1.06097499261744207010905747245661828
157+0.640836004247689374835123056330071678, +0.810861411604798173587637767682624120, -0.155171423034222791728572569585942320
158if (info /= 0) error stop 'determinant computation failed.'
159det * getMatDet(getMatInv(mat)) ! must be one.
160+0.999999999999999999999999999999999615
161
162
163ndim = getUnifRand(1, 9)
164mat = getUnifRand(1._TKG, 2._TKG, ndim, ndim)
165lup = mat
166lup ! matrix.
167+1.84734117438843032285967754389417886, +1.38859178953332346674889949196143303, +1.36680624439918345616612041794995567
168+1.74636361642284626328383162271215294, +1.82769811541108255345617457542165404, +1.66824936044884281888547742021735665
169+1.98493392962476966927420764530491418, +1.11035862171800749523033408551800410, +1.68800842312726740960309182831112678
170call setMatDet(lup, det, info)
171lup ! lup factorization.
172+1.98493392962476966927420764530491418, +1.11035862171800749523033408551800410, +1.68800842312726740960309182831112678
173+0.879809443709281271554736648656708204, +0.850794114119558100913836006514717640, +0.183123608720660600379714189083019096
174+0.930681443254713384143975712709389185, +0.417494219867838782182712637544201154, -0.280644919225230243269081052465587653
175if (info /= 0) error stop 'determinant computation failed.'
176det * getMatDet(getMatInv(mat)) ! must be one.
177+1.00000000000000000000000000000000039
178
179
180ndim = getUnifRand(1, 9)
181mat = getUnifRand(1._TKG, 2._TKG, ndim, ndim)
182lup = mat
183lup ! matrix.
184+1.26471061474791594729496671075150525, +1.56904838753149694385099407474419616, +1.08050323364719783400689431325642915, +1.63919730100801452541167127221643799, +1.59889701418861500849980072927129829, +1.87779635714056588176224536479410462, +1.00639712600731932811626412201078882
185+1.12285951316165278108515284115446786, +1.20044649291805174430335291778872282, +1.72394640258223888571138144026123154, +1.79154865263213565204061144864874338, +1.03147203822316248507981776819105138, +1.60944059351536502878433337090627696, +1.82637095404711886187229733344198141
186+1.77716634796515262667672825554812464, +1.99516614329003505356482730960059156, +1.78383655543653959380876452157452405, +1.11849342194211440949766097606999604, +1.29149956688659020916245250817611124, +1.10827435500333284292914414790600050, +1.59305146183922568165384004164357691
187+1.54467424805625280827419025151237374, +1.92872008177671732944668559850835799, +1.35815069665434780931554110613194436, +1.44430129803318418741759833725556806, +1.12145121006980816751152090824602283, +1.34740315412546300854826577127120838, +1.15480983957079759774740752284465046
188+1.93615450702496709230373924845210583, +1.19565216846859137497430746717254721, +1.72714113606319849747010216783610065, +1.23084203621911061250494264126954002, +1.24366326491888782993120157057477977, +1.98123986824977378770465120757775329, +1.17076350251801019603241451962460073
189+1.12930153830984449772749111726074704, +1.84447014909492626030583919861258709, +1.28624157832228675714211675830475406, +1.84307618409688407844995365725952229, +1.50608014755315552479469073086500225, +1.37503989977530920714031845145693836, +1.63268052375661944310730706108239886
190+1.08436773782414813255947100053999484, +1.73427008677484614452818982864944561, +1.64240893548574887204556309367072686, +1.00195926679441205690984517741280772, +1.17266387435479596737926027825974655, +1.25878130553475915173661653658110421, +1.00437300481025453893008191158071432
191call setMatDet(lup, det, info)
192lup ! lup factorization.
193+1.93615450702496709230373924845210583, +1.19565216846859137497430746717254721, +1.72714113606319849747010216783610065, +1.23084203621911061250494264126954002, +1.24366326491888782993120157057477977, +1.98123986824977378770465120757775329, +1.17076350251801019603241451962460073
194+0.560062605484080304233941629418181223, +1.06463001804963633290929963675557210, +0.675101770783459470319943060462829483, +0.312610669050206229130310158947299067, +0.476134585859485643998682189165887847, +0.149162942833854855351267684518798246, +0.348672147184350136638693708667065733
195+0.797805259059489889528141549381827234, +0.915644380901856845292228640611250170, -0.637924727789621957917113843907170584, +0.176088845940295264358703532530768440, -0.306719841276846877034753360506182308, -0.369820642667141478830529825769353123, -0.984911321993146595576478326995435828E-1
196+0.579943134232093227940852722681639201, +0.476255805574456870842756788000525118, -0.628258482112833747319849489873211790, +1.03947692945038766142179662479952741, -0.109243136228066246773725545431804775, +0.157051461539766578712465302447592526, +0.919459675396506715560434891570513915
197+0.653207484298982785541185480232037363, +0.740200284708451640860534916183990588, +0.858077421936132247057578122052848230, +0.435516834422903185408593548769763149, +0.744858501115130764928728438741167777, +0.722161382522008069347142165571967394, -0.332368729204337055262568627941616205
198+0.917884570429190296992472725385474609, +0.843199469330254092072271714710221909, +0.581142387225661094486194305308856727, -0.362878024125230455971776590343457130, -0.151586129988567067597390237476453307, -0.454670640245396474877369142184075484, +0.564932130348497897878736227506257471
199+0.583270361023559538053840137565526873, +1.07744630311576341040906857076285872, +0.703115184701540047109246453425178115, +0.639293220773905865787353572640460026, +0.742659914791650432308861515695513360, +0.699340055493504734124699028299473737, -0.926631049393389531174250389371261946E-1
200if (info /= 0) error stop 'determinant computation failed.'
201det * getMatDet(getMatInv(mat)) ! must be one.
202+1.00000000000000000000000000000000578
203
204
205ndim = getUnifRand(1, 9)
206mat = getUnifRand((1._TKG, 1._TKG), (2._TKG, 2._TKG), ndim, ndim)
207lup = mat
208lup ! matrix.
209(+1.41022124668646596666343756288199247, +1.50332546604985763402682808014055057), (+1.93783501896934149630306388291947633, +1.37969362742563615216961015573456983), (+1.70484106514097881585855325781371019, +1.02438159348062786467575835004352547), (+1.71275475854325675163065501751106891, +1.00464915585826632438656213930588327), (+1.47296903382532101694974272646975861, +1.14770216719321343526399120415586173), (+1.13334707529518554583739515850475955, +1.63450537992844693950681731520452522), (+1.37457013766451355345118637926123432, +1.86011351355291330547586334961035076)
210(+1.36926298485624164708887650852213253, +1.38471366289879235175872232188227789), (+1.61756983576471652456045592669424795, +1.82384067394892177428042014754128866), (+1.81544897101064875665245406431696112, +1.94483959419442977445916572807701845), (+1.83776195490456899454230903239896082, +1.08823548647216521945330324759931962), (+1.28238753605992431542931016351040707, +1.12244283843505708301920545635334631), (+1.23140237049207932674350662141244942, +1.79138654120449315611224262271602821), (+1.47025771550394879257782915672686863, +1.19889724577826609096629548180652281)
211(+1.31018901607564745081696902479206274, +1.85764505920964092196035928430249308), (+1.10707399049083680322616425192148469, +1.84259350410067407956064121673909914), (+1.66552885642468294622850118882163778, +1.47693822064335663061800753579099116), (+1.34233761195421436190497106417793522, +1.00242033426371427198363667248344080), (+1.27002027075539705870179492215758009, +1.93534764927458881732404122912463272), (+1.17312312040857551473161001480003572, +1.90987311319501270189622683115562299), (+1.22795437093659956732003139350640496, +1.98704196641341377289089495176833987)
212(+1.60378319005543510748060588224607739, +1.25182248744659914491863966096971938), (+1.32691176996784618486533228426307093, +1.01290868658737866728473774046741829), (+1.52543424452269209952590209850407774, +1.39083992997680997884998819685195426), (+1.46610783203683027670290809366649766, +1.02745308210982711314127864004726772), (+1.51040173482582092094750390807698348, +1.33666481370060304500797394395394845), (+1.80374783743452481789726204564003850, +1.96885219578255417385385755046171803), (+1.94767391827561596209599280928274936, +1.24937291669951833979388040218998100)
213(+1.82562804498983834480513564359487103, +1.57762571240791883913369019879557551), (+1.30212111375551287797121904425075667, +1.36872235556486194064494262656686400), (+1.41315053930557288984513901910151968, +1.59486323550697334315431799311051511), (+1.15922442892621550850305263562977260, +1.23739007158894861157545857513703276), (+1.51625104275574687018435900012172085, +1.00506636266066928111625617442061875), (+1.43098443178792247698816804883103773, +1.53512973474732778296562092011159469), (+1.35324167953940476187842085501814458, +1.97004666331462941759077416426178642)
214(+1.32591993714631709394184813576125631, +1.77268330929395869373468359925762213), (+1.40990253693351097350757428631815697, +1.24213448636442068067649082621779027), (+1.08257664505014855500934957630352872, +1.83813565687014627298964923744273673), (+1.36068349077214183181019624759595249, +1.83399501797559019259068220516285698), (+1.42433534542969049127814937458498033, +1.31060949255537190499244280701947510), (+1.51588040112041214102226432453590186, +1.19355467195325977295817318673209449), (+1.07268846283685581443713990450005332, +1.34148531910459435258578241176623667)
215(+1.53259113459682567002303057424150570, +1.15373796406079199765545209273537183), (+1.65423355282567801141763760030306399, +1.76286176090561860269691596251825685), (+1.46765473288862178967946365828535996, +1.81361503673154168315683950829045271), (+1.65494736266418544103539832031754486, +1.69934645988641375833357220353599450), (+1.97537230023859236933701382258895459, +1.71764019375957678049035713028853939), (+1.83904071683582909989553854411218426, +1.66336643155616885389549517958219313), (+1.21584925978810540208710449701257621, +1.95787940461792466354203284793670601)
216call setMatDet(lup, det, info)
217if (info /= 0) error stop 'determinant computation failed.'
218lup ! lup factorization.
219(+1.82562804498983834480513564359487103, +1.57762571240791883913369019879557551), (+1.30212111375551287797121904425075667, +1.36872235556486194064494262656686400), (+1.41315053930557288984513901910151968, +1.59486323550697334315431799311051511), (+1.15922442892621550850305263562977260, +1.23739007158894861157545857513703276), (+1.51625104275574687018435900012172085, +1.00506636266066928111625617442061875), (+1.43098443178792247698816804883103773, +1.53512973474732778296562092011159469), (+1.35324167953940476187842085501814458, +1.97004666331462941759077416426178642)
220(+0.849600952480329717105683508275018900, +0.892696398797588536828101746511943378E-1), (+0.953737032254560470790925433063796607, +0.100585927551823780534328661212095011), (+0.646599887640047015144823779988460813, -0.456767170221652598145470613974708976), (+0.838337945670612245725647046917404021, -0.150122174863470162556233388110049002), (+0.274482615950722395455165059866798642, +0.158441643616653951874327697229763647), (+0.546218176532468830784362954551214275E-1, +0.202514230206992157003059765292325306), (+0.400720073972171658883596524884705955, +0.655565945673460221734693194986808759E-1)
221(+0.793241206529343423916433020769212908, -0.535156982110911374536971856541742471E-1), (+0.650029145413816887110531225620807706, +0.714489320597801406440316773534297985), (-0.485328763027457406383186394303339996, +0.459052796230731833007526951915951932), (+0.169781952668024407429674685569857585E-1, +0.278434651049718147063783960365374863), (+0.653615827560046262269469126133225920, +0.702416788832304640502255962334765699), (+0.730959841341951326247593815001648700, +0.351551542201986364945502861557945407), (-0.176666466032403570480917211585400431, +0.138652975274892053680868841236224688)
222(+0.896157354823228586700809095266528975, +0.196580253544124413029648880791468525), (+0.504699099623773777973524863649148472, -0.305317959978014829192680963243644868), (+0.637240704120031907005643851778782808, -0.549135304746231250458249641566671956), (+0.240915426588678048032046432176279677E-1, +0.660837763560060355639504860716947466), (-0.726026654003722559009316882298536423, +0.270009401782989619455968843719537168E-1), (-0.212976170648150891461586965457179411, -0.371625237631952393773485798439363854), (+0.614244045584279001781241712276391843E-1, -0.786115512040875393996732288827677167)
223(+0.804615097059352430736525039992603269, +0.631739841545908453994272354319583119E-1), (+0.750622135481033594123253836008349623, +0.592179795407178730592982500799082847), (+0.522151319164262455719156984292421737, -0.602839489660325869871786570983869935), (-0.750038043063023971755190946160568161, -0.160980486941793109755182585395054914), (-1.29994886501472902388309418852822235, -0.132876027028614776845587682934533569), (-0.437601171684220469237164549954441056, +0.225509674674437664344234822264783919), (+0.425187697520463668925629657327182658, -1.51685603817163988699304969426826181)
224(+0.842145303094059844260578995957191518, -0.420499654947933556333475351225942419E-1), (+0.169874109106585356298385604986129836, -0.107039162648582143358059292546349665), (+0.357439023713826755882379851353834476E-1, -0.489466903573858702563114649566665414), (+0.232873935642171880743492492369945375, -0.255729254478486412664490242671154866), (+0.758377983935669497595206059285917087E-2, -0.507978664158022582930570685125103678), (+0.338339490445001864450919494286134279, +0.860957641346230116739281687167342398), (+1.54260158266045322113706220558964902, +0.138027360012465288444369742154113932E-1)
225(+0.914247749038722856699418321464006741, +0.227485715918327279272114400206229755), (+0.268672057992309073153853928467285374, +0.281003652440258653458083316894557681), (-0.844262601678399321518421716555877968, -0.534715660911435239175078358652564198E-1), (-0.515384533581457729221181509588298001, -0.466751654982618020459650747221044373), (-0.226919100901020042666538849970667239, -0.634414784539038500846433470092152704), (+0.196428926929558490988454150210711710, -0.707921599658240014071679670361418547), (+1.33770034320187904127996739163384532, +0.493873588661469208109677381937318315)
226det * getMatDet(getMatInv(mat)) ! must be one.
227(+1.00000000000000000000000000000000116, -0.589816045468590979998393244916633991E-33)
228
229
230ndim = getUnifRand(1, 9)
231mat = getUnifRand((1._TKG, 1._TKG), (2._TKG, 2._TKG), ndim, ndim)
232lup = mat
233lup ! matrix.
234(+1.72434227085109846069667636017873866, +1.60198967856223307153673304340937619), (+1.10099850637561415588452596959988934, +1.56812378134092141535404113495234793), (+1.95567196788960779017299735524459178, +1.32452842974634591804245655194824903), (+1.47368701038274525988954803600298187, +1.85469938797748392785638729041358817)
235(+1.85932382965056984892029535422193973, +1.39116827501911562606255292394319917), (+1.33177538957705356314086623512880012, +1.17914963648549710067024807170237554), (+1.80817513536203653229165908214707241, +1.69892091034390649314079908087770507), (+1.28350124413131861167169163841789248, +1.04838096226983405956861226652929394)
236(+1.57793815863800546407200222917705785, +1.98090795485822114016185607674235756), (+1.55985430287199059060881469400478001, +1.19884784781680554092853630484809954), (+1.71938460137448409785301989866379509, +1.83887335252249301083014933003927658), (+1.35041848368836661476599231443599829, +1.05190205228584447958519498487178172)
237(+1.27635261578109480981753644149878275, +1.60425866841142640409553649800088488), (+1.18044761446612312674120493753067394, +1.46509195543609322260143144248998494), (+1.62528070956410015533142282249745503, +1.94398366765206810264131333583434660), (+1.42296052272637809202405816467578820, +1.15219411334379546209411960184086828)
238call setMatDet(lup, det, info)
239if (info /= 0) error stop 'determinant computation failed.'
240lup ! lup factorization.
241(+1.85932382965056984892029535422193973, +1.39116827501911562606255292394319917), (+1.33177538957705356314086623512880012, +1.17914963648549710067024807170237554), (+1.80817513536203653229165908214707241, +1.69892091034390649314079908087770507), (+1.28350124413131861167169163841789248, +1.04838096226983405956861226652929394)
242(+1.05512168245954800713904366168888725, +0.275936948558404352770217825166688679), (+0.480040165748789646029290886237139790, -0.412784537668408939600112344240337974), (+0.280334862212135172405036253471613871, -0.452637266076256627240787025289535490), (+0.285455535197068308996739481389210107, -0.408432849259374403570544628140617949)
243(+1.00784684936771422236983708833460193, +0.107514953799881422031957214643183846), (-0.380658825821459431272478288719923724, +0.165414675756892771292236562003517405), (+0.347806850678218279229247252744323429, -0.800801393773029733781626919561039106), (+0.333931337572219858880005582988227523, +0.457404257628250203016081261315457608)
244(+0.853964344284573041738089718343606735, +0.223872010893042974672158862741420669), (+0.203068115455593382022174374607013143, +0.507908234203898574414501252684504216), (+0.398896860943331207224420559137779686E-1, +0.200805449056061160314252780841899745), (+0.374714904882020085393441786022281682, -0.177772324455289168977697641888770447)
245det * getMatDet(getMatInv(mat)) ! must be one.
246(+1.00000000000000000000000000000000212, +0.746297853450053893059191452751659336E-33)
247
248
249ndim = getUnifRand(1, 9)
250mat = getUnifRand((1._TKG, 1._TKG), (2._TKG, 2._TKG), ndim, ndim)
251lup = mat
252lup ! matrix.
253(+1.86552050013025117355330783461512731, +1.46545238245257538984553884179881799), (+1.70650576368174354835660460180453579, +1.18395878536681860351306217718024294), (+1.77143944748714564176013736757174241, +1.83733090970029204412414098758969450), (+1.93933650377132816781869128129609206, +1.40420771670495398660214381467271128)
254(+1.12617233109315232572140091139441490, +1.84826138160896460755809702102827021), (+1.31384514171086044688699946134746747, +1.09044522507472622473307993004361853), (+1.52450207461691972117839982517803709, +1.37567567035837824167070522694156916), (+1.63106387471950871034745386236686591, +1.85292763543237744724172615392805415)
255(+1.37600656243130212190668535465452734, +1.97594161351864271266656713770084190), (+1.88779158334395374764338155487428032, +1.12458656102035227437586348276741834), (+1.94310843556198258485196005501873199, +1.76520681412744046997260858329055173), (+1.82624994583774334382951838751092884, +1.47035180996380825681425079462249671)
256(+1.87705976016628480480443837751565077, +1.66737060167992138879546871993961069), (+1.20342567180420316955229650395300793, +1.88720063945311642333744879645394194), (+1.13507081029623137813023765920647198, +1.62392804683538890743468306438915919), (+1.04307599734290859620935343998015456, +1.47639544906688727514614754508094492)
257call setMatDet(lup, det, info)
258if (info /= 0) error stop 'determinant computation failed.'
259lup ! lup factorization.
260(+1.87705976016628480480443837751565077, +1.66737060167992138879546871993961069), (+1.20342567180420316955229650395300793, +1.88720063945311642333744879645394194), (+1.13507081029623137813023765920647198, +1.62392804683538890743468306438915919), (+1.04307599734290859620935343998015456, +1.47639544906688727514614754508094492)
261(+0.932417538857010034585231038911729605, +0.224423339990198404230038068277020448), (+1.18922825098064131695346871797607588, -0.905149223244145702162084717830043081), (+1.24919586037169572071961545596822797, -0.370856095574530799245592008879444958E-2), (+1.18500518938036706653851883641532700, -0.140355800222131751660048826206506931)
262(+0.943153227539780174728756028410039635, -0.570752110829422625742661434671843072E-1), (+0.460610623896716611970154131492321479, -0.927941847820689369658366178425208686E-1), (+0.331589614890220398100826033886152721E-1, +0.488128651198778982651697873889430344), (+0.338488650870410781331827737656981499, +0.245885329735284549959031233102548122)
263(+0.824248042547726668572516856566962713, +0.252487660238733840790070347085730165), (+0.736714482920160732116298681685785111, -0.858454194830245822906663281671801745E-1), (-0.273463594837300180027641889211700379, -0.180340619718940012132295426202368248), (+0.331341785932385136969347839818720632, +0.706061116102704363136104286700487229)
264det * getMatDet(getMatInv(mat)) ! must be one.
265(+0.999999999999999999999999999999998459, +0.385185988877447170611195588516985464E-33)
266
267
268ndim = getUnifRand(1, 9)
269mat = getUnifRand((1._TKG, 1._TKG), (2._TKG, 2._TKG), ndim, ndim)
270lup = mat
271lup ! matrix.
272(+1.99130976301044246028360105687003892, +1.90353557800926574128178567492859664), (+1.08469061285982661500572028015637625, +1.77646789187734889192515521941115292), (+1.77024426233374203881009986848930654, +1.02279977367241813365705628411120977), (+1.30240162652364368526177522159773878, +1.72106172587163796462348221516723092), (+1.91245000777784265058489878101734186, +1.34966954821710862136520090766201315), (+1.95665166897815677508262971353863587, +1.07054697163179260501260217769704508), (+1.28507963669436281378590748720526205, +1.03515430557708134957027280686986964)
273(+1.76641915483144880529056992876722374, +1.14842943035816001323678061250825622), (+1.07108993080131933635814899996995385, +1.26844784193715883832348140062252227), (+1.84753067582291000244299463360800760, +1.43367203074000260214261226909497226), (+1.20145435424606759409927366473173537, +1.72362708237099431212665095372190815), (+1.26818068781861602210561430680129526, +1.69818975980654645032923307820101511), (+1.84320508643963597605261572088790847, +1.03791987455061790887409960049928097), (+1.54427211509785068076613666604743625, +1.22722985254928665978522886814211708)
274(+1.81106519074660581310081739381782842, +1.47406463593158239508418533020820121), (+1.54727170644230056749529387845579373, +1.83393822573730896152354469821223464), (+1.97600961854712964223066728904045632, +1.19105149774669517012548990001981192), (+1.84537043279915229633078693335681174, +1.76087717480676846188895006914203950), (+1.84031081491815902576824441250833912, +1.45168004971657903603496607499975205), (+1.89773869878469836154969395956628600, +1.86416178290325017382097938558220936), (+1.16810982487088803878581523362355357, +1.76976705403906112254713413412009132)
275(+1.49052255225086526650993946578987963, +1.11918050947714599859363245348098882), (+1.54723653911124303809865110174851772, +1.71132089240465181740283572411311726), (+1.28535174489942460696710278020798212, +1.21341670890170305081359582675078780), (+1.07902354863956936105691323484444334, +1.35236768625780760782131671518531800), (+1.55028211426322482353707701978099772, +1.17591704998956875935867946593853866), (+1.49524527699910133424485871002057027, +1.86165396496369777145981314397618696), (+1.90235365839674423277768270920471451, +1.72212153151923441505942749702772892)
276(+1.03754797417500178703770432077691234, +1.07058341502864568176125828378739016), (+1.88398890528296223505932569804904861, +1.15594982258870247498246166789124421), (+1.66147620607456139516552466071936043, +1.07149675754525983719602628230876231), (+1.52804405267138211397044447326051312, +1.58817061021138445100023742086655467), (+1.60233079965591961028309989016321779, +1.49059075248724836490608086756506409), (+1.97250595289054463683818135803155855, +1.29600384314225064952433846412417232), (+1.71846730475501462098152215305345552, +1.94338833536090296530108416510117861)
277(+1.37838421088833015157646597052808270, +1.54496443733948608874903479232481566), (+1.29719826024986952628783098958319212, +1.37466090357945172674208838034354068), (+1.56027875186198228494989322633066271, +1.67438736627971373232442422267908912), (+1.42010262924933862043975673688776647, +1.51246496933910138765495792346209571), (+1.63468432875767449882119650897083507, +1.66716922505554957257128257935811226), (+1.51297368453547555211292722350876292, +1.47360901795062176683731817442680271), (+1.13353682514186379627697658655406886, +1.41382951561142902004443378106442475)
278(+1.62162040581676687970613345968379261, +1.91801023978693555833201975031109225), (+1.26164902164016522947394376478010184, +1.32260914760454071724458546201533932), (+1.64508248614065877960852438214607321, +1.55504066370438908605615990776797549), (+1.87772704271974426924216811515989696, +1.03142843653574721467108186253538700), (+1.66716833218496499323171922146579547, +1.65126971257332711908443637994278337), (+1.42046853949548043206784286548994559, +1.71357417705491648780072881615723929), (+1.44514759609726573777207115201528406, +1.78627902052655640637935784511566024)
279call setMatDet(lup, det, info)
280if (info /= 0) error stop 'determinant computation failed.'
281lup ! lup factorization.
282(+1.99130976301044246028360105687003892, +1.90353557800926574128178567492859664), (+1.08469061285982661500572028015637625, +1.77646789187734889192515521941115292), (+1.77024426233374203881009986848930654, +1.02279977367241813365705628411120977), (+1.30240162652364368526177522159773878, +1.72106172587163796462348221516723092), (+1.91245000777784265058489878101734186, +1.34966954821710862136520090766201315), (+1.95665166897815677508262971353863587, +1.07054697163179260501260217769704508), (+1.28507963669436281378590748720526205, +1.03515430557708134957027280686986964)
283(+0.540796098865891362378623031204522016, +0.206692103626216734639005675381580328E-1), (+1.33411064193157112647710525911220106, +0.172823218445357314430199373946888257), (+0.725275478645623157943310425115789618, +0.481781078970899349690766498741766091), (+0.859283320749901586788861495571964258, +0.630507529757366689682540119892930247), (+0.595981899985742685158607215717191842, +0.721165894534588276434621098373195678), (+0.936483724027447124693612926417504277, +0.676613772278598829843807094045797990), (+1.04489707259845248749056955233573623, +1.35701934383702934208984720475234143)
284(+0.751580269077255972276266591884894259, -0.141731013829561527865099659026085974), (+0.113162801399693949166122524459092795E-1, +0.637639843177650421348904544789170301E-1), (+0.394600428607501841428480781942702621, +0.864155991755465145863297982846672116), (+0.914694752820192520615431780499744413E-2, +0.552775422256379821021680356216858587), (-0.321228924376531716597664356785489296, +0.908695140278552182443458292127623729), (+0.253440668734170158102512850337171765, +0.443265433820937062599984375951916892), (+0.506422758934293772675309161907188717, +0.549380729186536846350617534617575368)
285(+0.906623377111004650069025923704022560, +0.965296254615002393124844884238167297E-1), (+0.294033532464458454876115493573543331, -0.332430278217993267769767921137296231), (+0.430134933454399820021618165832499465, +0.467828989544381266503296615463546284), (+0.655484767369677332658216106589918507, -0.796432488321304490765062051734839377), (+0.211889212555223997269317667028424330, -0.114861814080878558697476375819419247E-1), (-0.652063893464991329495381582958416432, +0.357253981018385031056572138309352531), (-0.339175570207285503679808354212800705, +0.198854814432736277311492400274311962)
286(+0.749224248699459517863727949058612587, +0.596539153472626325050752822855860419E-1), (+0.433301116431439051676906968014337834, -0.718849325775372995438283001369518040E-1), (+0.594863005826589662265068166459262101, +0.334020523257264682268087274559687282), (+0.487998895485967035926648404200678902, -0.142526597407570517162479435310938451E-1), (+0.363634933831806543539513039421217429, -0.152387768036722403894153485955042821), (-0.331407377329534375319017084672221586E-1, -0.203020885227257796858463673664293136), (-0.272893937353432100372328437099922571, -0.549115814859376149408229952438991091)
287(+0.844976564986207655584414648178803050, -0.674823779804958495576603130792300228E-1), (+0.415374822940027354308420942336111383, +0.250560610425652446442500891659596839), (+0.162529603934480387475120762596080188, -0.192666231069728357550753131897649964), (+0.326082719320503318403927943497685044, +0.135674869835469751976046758610105660), (-0.589875405806667959685269980195358194E-1, -0.693436022771862978500830330418226582), (+0.226042203518230479289041297430078901, +0.489723281483003635266102483353699221), (+0.232487065106408751087357637695308110, -0.758466268569377958176945684823153837E-1)
288(+0.671847640966528619020539511225035537, -0.802011726507058780131349540687174737E-1), (+0.556109470140064245345374704237109422, +0.381295182485462121475716337117977476), (+0.285884863729794304249473136537917825E-1, +0.251025528580476578333829261333622555), (+0.275994825362414518559623583824434752, -0.268547994709358141888241472767625966), (+0.750303249559889027950448391507675763, +0.640788258733230592609555465391219629E-1), (+0.648371954487554444498309518945800361, +0.234080838580166232558311891780408949), (+1.05701667268692352736757596596175966, +0.112102257500022395572249804618931989)
289det * getMatDet(getMatInv(mat)) ! must be one.
290(+1.00000000000000000000000000000000154, -0.240741243048404481631997242823115915E-33)
291
292
293ndim = getUnifRand(1, 9)
294mat = getUnifRand((1._TKG, 1._TKG), (2._TKG, 2._TKG), ndim, ndim)
295lup = mat
296lup ! matrix.
297(+1.54909299971025383998719649540546421, +1.88625243224187961447037388096415181), (+1.66785225069368041166656581944251700, +1.32594198082190086340465908343680739), (+1.54716528503336834482393245071672531, +1.36989054584681477359403518646618881), (+1.71149845321836545732850210104050274, +1.27325034408338463024409832993266717), (+1.27456796049745663818037334669281916, +1.99751450074907211646791861250619887), (+1.60392458709435800757228279396134150, +1.83657899427604730618152926400343656), (+1.99049471570251530056838857532874380, +1.58840991326771786541072164962022383), (+1.11993421710098123267850574488849653, +1.16276068609633292630770571567349241)
298(+1.20437725545795629494933450295427261, +1.58881041277634952524417364234089398), (+1.31154435432753441561362838254909327, +1.89377248019523081647421913005612345), (+1.02441159780296131035910501285604416, +1.38075261960312990262938193620932194), (+1.66262649166463920450021440765301574, +1.95774246563577806052995782296430268), (+1.47753773937813166952748316941883228, +1.05255034616456750847791293988704209), (+1.34199432183400216782480037752384800, +1.31906355510185450031396836049406700), (+1.74518804515296847880808709154598776, +1.21188545843845795650752811103743145), (+1.31260130449271123617530119913411373, +1.14746194210799205839008735162079556)
299(+1.65618214427263518684104086240241599, +1.34087551517375898528091450171045773), (+1.62744944544765358735611091073701536, +1.36809478886479904948359662943896133), (+1.53621577920172778436779815910798044, +1.15717536883826235220137878131263275), (+1.65439271045034890495678808300743392, +1.90394392430640501081699960965353410), (+1.06576869320587202719541454568988959, +1.01222833168720264883835662953802746), (+1.42726488057990029708501428442157259, +1.05072329311728973934751429883571297), (+1.69970804284166984720400374399065045, +1.38571104341001686836114934193164793), (+1.87157182329248233560131928154008648, +1.08248559708898773146797440891146587)
300(+1.99162910256566313296976306164324757, +1.14075103406900937519397212858225367), (+1.54426721223659083912624121868785540, +1.25262911578013192295090276728601354), (+1.12123383872417408626086822507811840, +1.69447286199075106683319836209288311), (+1.09056071835680109649178917032977611, +1.69988919363378240381339190265070624), (+1.09371682330551315452332382667416050, +1.39783389289625655994135104966409424), (+1.56153959225807877873082320315382510, +1.87769828896099404347692889523068845), (+1.29203322535480962876759668543048548, +1.26724546438940950363271891861237047), (+1.59186543001805086640199992739761604, +1.69776084961150251873451279639810522)
301(+1.90798099898399231246314547830087307, +1.63819250311870440129032169621813787), (+1.78599463080617045440342744883347109, +1.95569809889590498431222214464986300), (+1.30694878360023095617990450899749974, +1.97439653780417498287477270870262121), (+1.27293905421037756135714422337017773, +1.87962912532300910858237930158097319), (+1.87630563260398758966569697484773828, +1.72499001259135450691755855769838166), (+1.81513723407879177412436142106384951, +1.36297176721776888789826498211533853), (+1.84933898582379683370385385111532004, +1.96099197242717486737874741785361070), (+1.54770742637737681681130172965897717, +1.70563052658373968888522772363916417)
302(+1.94927449197896189160910971790426086, +1.80184025647838290563532229213469950), (+1.02693195098705449485580163327484028, +1.32825644198236770019957748279994729), (+1.70099578285094889903857641243299937, +1.49770656191036877519137598966335720), (+1.06520748388100415528935953475952432, +1.23080546298556611626303972946016960), (+1.05438068024534096032754244485720951, +1.77443252622368715623169517000478390), (+1.65052528269110242636195088574405736, +1.14052741444425342936890391642885223), (+1.33514192131851072863869130417389762, +1.81455178787847338072476623448346064), (+1.75963338724832840556060879421069643, +1.60915535191453628166250078507574509)
303(+1.10329415456034703608448064591117519, +1.16432090581933127340685638196707727), (+1.72207779168390027371913039984615523, +1.04858906701631559492893330819232276), (+1.68373016178649268840792467547594595, +1.34027664138649026287136693301279256), (+1.52507289620004170635055605269608546, +1.30007262649517301182983959602254424), (+1.99800029690748377325774224139473822, +1.68622531912000539602305683610404293), (+1.99794772423369145405172203627361257, +1.88158921756498245957055186097191134), (+1.49388958079067312083189511439861284, +1.06628557199859816191370310160907513), (+1.93285156641805780613340393697480220, +1.95870286369714747534554662825798163)
304(+1.01729595504974588319795869919366631, +1.55566254709511066159253535062017975), (+1.91342015598621012085508539906781258, +1.89462989494339407987003328471095419), (+1.35313393431295012272613452357028929, +1.43943326507457584097400315781645526), (+1.74237399480602548570242118179752715, +1.03069779770659917716226967746822684), (+1.64991037109417104124035528591849755, +1.65091811352898534126703115143083673), (+1.24525962378229816230371919755315710, +1.01849219751491093282297692360198402), (+1.96439119379169669997522419136383204, +1.89798736666396062642360561646916806), (+1.74976008441035310597990747815755950, +1.65656543930677871746186473155806837)
305call setMatDet(lup, det, info)
306if (info /= 0) error stop 'determinant computation failed.'
307lup ! lup factorization.
308(+1.94927449197896189160910971790426086, +1.80184025647838290563532229213469950), (+1.02693195098705449485580163327484028, +1.32825644198236770019957748279994729), (+1.70099578285094889903857641243299937, +1.49770656191036877519137598966335720), (+1.06520748388100415528935953475952432, +1.23080546298556611626303972946016960), (+1.05438068024534096032754244485720951, +1.77443252622368715623169517000478390), (+1.65052528269110242636195088574405736, +1.14052741444425342936890391642885223), (+1.33514192131851072863869130417389762, +1.81455178787847338072476623448346064), (+1.75963338724832840556060879421069643, +1.60915535191453628166250078507574509)
309(+0.679228090907620028291938796885187336, +0.170218217563575073478131595577898422), (+1.44199257144681027243387526033702075, +0.817638281363861447804034619682537579), (+0.452706757486840679191778393536326099, +0.132608426048334312852339174121529900), (+1.22836066118593543965158970384178838, +0.133824335626385638267364232318826302E-1), (+1.23578613636187805877162356930918233, +0.266198896272853171561753458210209028), (+0.318315030594354483521420817186969245, -0.371355324891585838986957418929307529E-1), (+1.36639506649326493644901493454729193, +0.438227341889012563131569346758021272), (+0.828475213878141890599826033227623932, +0.264060262909322256663716163924700926)
310(+0.842666858703826763258099574603620661, -0.193713115468092036144047787579703177), (+0.320115532098721566912841432316996893, +0.489204367310307378639262024137349367E-1), (-0.740695540885041861592436325846107610, +0.697313741547194069919197427663314236), (-0.438040138893358185448571198700135603, +0.804699015937629551073114130540941716), (-0.521077455576259238468872208353883963, -0.388438223203154034216284418524085614E-1), (-0.153952753508583919392931223532280484, +1.23265758046241337566779973036180828), (-0.600515114229457528490467985840795455, -0.210310711615879273552859650585369546), (-0.454923645912759914030626178999974305, +0.557583868721675887983269502444426841)
311(+0.801044180177504701128383216477123167, -0.525724500625631119169363298178406314E-1), (+0.492255369484893355343134230597995098, -0.307878211263982203237447797402895786E-1), (+0.914844828384511513592127154167686377E-1, +0.921579497726952737710809009805265358E-1), (+0.245562136024915421641040812517325400, +0.971997319845947795957427416287413710), (-0.444550390416362722154183465142890726, -0.395154777452168314580403583142446203), (+0.172954106608734142198348376901504294E-1, +0.153381923795063283413257289296173230), (-0.115746418865264815512932099841563559, -0.967024506980711314126742803451016384E-1), (+0.544835277970724743508822403678073611E-1, -0.227574271134902117638188232102822144)
312(+0.602946769387039511044235212926855667, +0.399672516850522895135850096147597556E-1), (+0.668116620896098594218247401004495194, -0.235507618920935113098783056084477985), (-0.140980053084554332776783754973788663E-1, -0.536122994869560887911186983256596108), (+0.472915255340635450353262301089697432, +0.458398034886260877775117432659948586), (+0.587418339181487345991645475828357215, +0.798127926721743698693174871325661362), (+0.243530930166432942891202612441414540, +1.08209698756421846129307144595924797), (-0.140028034648550644186352040003744946, -0.278269969741845913949998581502013806), (-0.114939186644389755581276424534012491, +0.783443302068671041988335073864121025)
313(+0.739458283273046333022524370289625730, +0.131548794715026999032133051407172875), (+0.612500608219751126479020038505469941, +0.191184512509770750246579894423819768), (+0.126659056808347509014476635431992789, +0.278923255660418779940203785925256087), (+0.800691148653536939934481949497288062, -0.381029263458937288967416238136494201), (+0.641024277119134981939573040505674633E-1, -0.938806776875664849883319776270369613), (-0.670998968693353767143348963779998892, +0.150310841146938426460444858376480714), (+0.660614460748781173141492709553098619, -0.721344366745895454752485471797525958), (-0.705751785975981733412495329849494353, -0.492931709171904398519193309134216815)
314(+0.946729560644900953222978341872310052, -0.347118538347450796966554250692212718E-1), (+0.621200819684079917760894507282845743, +0.156677369093569842921448645897948745), (+0.752242165527957144721588200300027637, +0.841587167541377370783268985515037481E-1), (-0.519679654278668383846049414383948681E-1, +0.132936333245273121284235390933189522), (+0.106779201933393011708352662192045482, -0.427105632811182977266742073717587153), (+0.144876030165527421767329642352463209, +0.936287338965690046455943837035007586), (-0.479938333116183716044674285613310018, -0.521871084325919193433244731771400913), (-0.967225830825526300216056570075897382, +0.148670062918297664560491720087708519)
315(+0.910879982955437364985930804284370761, +0.125683792170134986029221245523097585), (+0.468094023790453491498707954409443262, -0.274440054184075642099481933391645028), (-0.537579471875448729342325924476684445E-1, +0.146449067932695088963546424627408990), (+0.542036591607530163621514279117267794, -0.286471196360084062464658240481455216), (+0.630658554415967868429566109896898725, +0.205915219990850425899628756704564532), (-0.424646925691866995856525353833358655, -0.549455847440609638729229393201154607E-1), (-0.559559399964597647917314421609581538, +0.675472079195029782968643971381506201), (-1.12764404369520822301289924762154856, -0.166816704711413556896593023950718040)
316det * getMatDet(getMatInv(mat)) ! must be one.
317(+1.00000000000000000000000000000000135, +0.674075480535532548569592279904724561E-33)
318
319
320ndim = getUnifRand(1, 9)
321mat = getUnifRand((1._TKG, 1._TKG), (2._TKG, 2._TKG), ndim, ndim)
322lup = mat
323lup ! matrix.
324(+1.07648521576441244164492976219161909, +1.20541999684163676485995860812096052)
325call setMatDet(lup, det, info)
326if (info /= 0) error stop 'determinant computation failed.'
327lup ! lup factorization.
328(+1.07648521576441244164492976219161909, +1.20541999684163676485995860812096052)
329det * getMatDet(getMatInv(mat)) ! must be one.
330(+1.00000000000000000000000000000000000, +0.00000000000000000000000000000000000)
331
332
333ndim = getUnifRand(1, 9)
334mat = getUnifRand((1._TKG, 1._TKG), (2._TKG, 2._TKG), ndim, ndim)
335lup = mat
336lup ! matrix.
337(+1.75446322779718457194141158148617395, +1.83119991164994717290875758390018390), (+1.13059413433835343676498265437227621, +1.22257337686365502936560939660051015), (+1.11346372574826703555916503571599657, +1.63416218695664571836825386795788130), (+1.85073569184735452087974470109566458, +1.34869694103780942920463124949045873), (+1.42771555343938829527162646652182981, +1.65981738331528571574794452352722867)
338(+1.63597406894673428064780494633099489, +1.15489806997901154815430300715569587), (+1.53556797720034496499512683482886779, +1.61701244560416209746985859251606384), (+1.30372200251743764723671364857093197, +1.43065182447369234904560884265090609), (+1.45570709660477573064113717820857123, +1.60993713388845391374142412748749650), (+1.23220912152604195176225601716627924, +1.09346867843119358617329004253143146)
339(+1.53102426742595819463152806989584995, +1.87013122588807352492152586884238934), (+1.88975784955539992848590236750965889, +1.52690179834908785572444851754509076), (+1.51621129956392547454326711519060497, +1.50987071723692227975439766032021667), (+1.00552881653685285877940373298502566, +1.73982515627941723768620106574215487), (+1.01174708792163877907743904034665754, +1.85343648132754631768109093926528408)
340(+1.50994088401889334201719381785161673, +1.61807268341318732919810616472814108), (+1.26701985709499167359803730624291470, +1.40414755421113993081604701206284342), (+1.23586649630731808278848119489591583, +1.35672379678618611553911922049444244), (+1.44664082279774419433768008904246531, +1.33255385624744214771179599839764727), (+1.28837399394492552338200302849553052, +1.75513259323629599099843346577691602)
341(+1.95528021591708668850845732139965267, +1.12418637297744351455613248282848963), (+1.06847151262087652667677543872084461, +1.06076794909482446743917071596489583), (+1.80168001003087454796533070777072648, +1.70171753677787663335833220395106544), (+1.17889733089103418784866251768356093, +1.44911939238318282789064564867185745), (+1.06690695130815713766575603025787768, +1.43951284073041745946866691619740063)
342call setMatDet(lup, det, info)
343if (info /= 0) error stop 'determinant computation failed.'
344lup ! lup factorization.
345(+1.95528021591708668850845732139965267, +1.12418637297744351455613248282848963), (+1.06847151262087652667677543872084461, +1.06076794909482446743917071596489583), (+1.80168001003087454796533070777072648, +1.70171753677787663335833220395106544), (+1.17889733089103418784866251768356093, +1.44911939238318282789064564867185745), (+1.06690695130815713766575603025787768, +1.43951284073041745946866691619740063)
346(+1.00177745741341663935841409573841500, +0.380480840266153553023539162748423969), (+1.22298905492239414609161407986290565, +0.577154404767908364232136848372905829E-1), (+0.358799798331512546982782942912783572, -0.880376274099520403088694202366510986), (+0.375898209905300592558239234034441712, -0.160417831155629243960313636420213643), (+0.490650810158480117745002572046941538, +0.542731450713632923087543043843411774E-2)
347(+0.884054041242447044885689415082007275, +0.823700677414532374713066283475795967E-1), (+0.576202009618368759035172634727974268, +0.456235014923086010601092916627088153), (-0.757289549995885401403926550998800004, +0.121414601567700347329468640707715792), (+0.243080673986079765426377469634713667, +0.152666577088376505259529817101526044), (+0.127340637879021871183376072967195621, -0.493998972910528546163049649799619155)
348(+1.07905802329341683655200206245913387, +0.316137595613928697462491994625841555), (+0.245357293657339552457726161596087708, -0.224042649945524773172226624440329412), (+0.138098882956815825408778377323043835, +0.649741679575519159218077665028063376), (+1.04609392595992426174651519739729073, -0.643126546872036967579882866330988432), (+0.271387148797591093573201616337174037, -0.136712632525566453320216656285077604)
349(+0.937969696735295293418364194282958783, +0.288255323962978856981479875930780472), (+0.469419261382052479912317024946534987, +0.605843698594246097866590096664943173E-1), (+0.162740402511504732600187001949886984, +0.511047168915895692884386483750185280), (+0.621269096822706696310142510306892361, -0.606886715715917241602303298724117011E-1), (+0.391149301780669936580690632107623244E-1, +0.181820084051692132294337868263582838)
350det * getMatDet(getMatInv(mat)) ! must be one.
351(+1.00000000000000000000000000000000154, -0.211852293882595943836157573684342005E-32)
352
353
354ndim = getUnifRand(1, 9)
355mat = getUnifRand((1._TKG, 1._TKG), (2._TKG, 2._TKG), ndim, ndim)
356lup = mat
357lup ! matrix.
358(+1.00312602667172472973829659150255998, +1.89942720820010700292698123527620034), (+1.56920348206382036287647190128327324, +1.10407404307455391232444084262027114), (+1.24504877072364478587387495380281319, +1.01323581862107316693119458960661275), (+1.94137554616195032104327239223267104, +1.70176560586842408673349418996811669), (+1.59661019348804139706712100761616591, +1.02073297274065754505726192061482598), (+1.03243664466925276911369245091465358, +1.45582229269442408876731368967675249), (+1.59303929383364368280592918452873301, +1.04372453351005976005939923176600732), (+1.21784974384763509785929797529083942, +1.32770877665297292991882570084826529)
359(+1.38972919236959699971807792916094723, +1.88786140833581506524547586696537070), (+1.05760041979233313049921192367908729, +1.41250544292261787495231939693974962), (+1.35499453990110565514841423713957115, +1.02793002508629793605766465442610779), (+1.08947406491496865559026723114766390, +1.55046194266072309926764827483077886), (+1.28624169784315281705609142152971837, +1.91665183679115338805862262706406855), (+1.78201618735120769457886064505909052, +1.70258737528172442707863789999435743), (+1.54169657850249770112311544267348526, +1.23832977826943324707929718634377738), (+1.30270078572002917776506228666352248, +1.60932337746717734922165531083544297)
360(+1.69574988947277688304832497915275423, +1.76176693249370722909466128346702329), (+1.80336657721215668376480120612381333, +1.46156065202328295496949557859004432), (+1.39532955717012181016383932625720527, +1.06027829155002487904178715271335554), (+1.47617842483714964966788655238655173, +1.21306393579385513795706709490439475), (+1.08393206727413125673779909817093784, +1.68754591316261847175883060045143044), (+1.15519567115903608080113354645444612, +1.34141768332460109788481759738511355), (+1.18034089053985534136767180104335425, +1.84122812535846163526711824426595205), (+1.88489314130157678779372699383204092, +1.44382498744298467328457287641481136)
361(+1.04986920522674238782508146795593907, +1.97121551308183524600792224763542454), (+1.98341277585101486230303698015046305, +1.46620031774783596597827300485702626), (+1.67316488628175083066991380250981755, +1.65860682729926882278263877623988138), (+1.69003726710939277330379400163481261, +1.92546153247465087182096151340406010), (+1.64338630491163354531528372905201124, +1.11717466566472214562067623793297105), (+1.88597164319665500834891191119080640, +1.05412453725749816442641803739569964), (+1.63206763181577597286484971092194509, +1.32725111869641664230103170922908272), (+1.84701178277265251866734604033994855, +1.38065366604207752310146484301425971)
362(+1.55150304065449251692102100226568726, +1.70509622239476832876717253158121991), (+1.51297279104155439781540543465663387, +1.98745049602117636436485932440595358), (+1.36253069910653614446826295858231938, +1.44650618653290535676086297426954611), (+1.58594952518396894041369499982161660, +1.87441555051954909778254070559631194), (+1.70848954033569611966142500323940723, +1.41277026951894999066205342668246515), (+1.19977467799519715389165213389235053, +1.27315434493902888182122826905331911), (+1.63740402584802313274996347517485170, +1.75112514483878011629690161904684075), (+1.09039584940730723582880213747933633, +1.42228200407523217955081899551984920)
363(+1.48181304976388947886752980853250573, +1.34521711917668110657843270407529536), (+1.24475858948875780043572154634471677, +1.29728525371356502018574697242502764), (+1.94592240389156673550298863355534785, +1.67939014842367528482810915269055386), (+1.86672787574851770702493303858041354, +1.72551475816490724460860596201068027), (+1.78143064875304393172779814893319449, +1.67817506678824130451892122396305720), (+1.88332309172091813804501557734006558, +1.50446896027351055112366317546578280), (+1.95370492378694938306557920316293958, +1.45650461835660267887372228565292652), (+1.22004002846502619313555187471358096, +1.73129317922165968416141066165492311)
364(+1.99085643313770972514040137010511999, +1.07761584643164750784953370352947081), (+1.20739895152358089524711743385824097, +1.70873369334311159590981604576490832), (+1.27131080435790060409995285651427660, +1.90690362219886721125907342860834538), (+1.00870160095523996887445839125416348, +1.91207949874199688523496450927539035), (+1.47317671316583822449170941741448638, +1.80576945287200180151958772811721024), (+1.73552911322797271393135121863327002, +1.93410726010607321983514813081956146), (+1.06370461343660774951580580286862016, +1.62234230109381564216115460452384172), (+1.32328678155927840474777143134039569, +1.48976910798603064994408463432829611)
365(+1.89270976906093081377790959506333092, +1.56372930431125280675223043190102675), (+1.13941466231984092849127969506941497, +1.64721641207817225506331294779244187), (+1.35209941853472974624627336826087811, +1.78379590469707121111234311385057114), (+1.47464974384620731308878987144510822, +1.90550637948709611853603415210078389), (+1.65880340910535405704377873766697097, +1.83499439503475415969797747579567564), (+1.28166370918163865173767881273658125, +1.34669292768854021313429563227541881), (+1.04878457905263527968396523213427230, +1.91141783875153078548652549398977821), (+1.44465718448904255604217743160547950, +1.91445787499967808028322885457706789)
366call setMatDet(lup, det, info)
367if (info /= 0) error stop 'determinant computation failed.'
368lup ! lup factorization.
369(+1.89270976906093081377790959506333092, +1.56372930431125280675223043190102675), (+1.13941466231984092849127969506941497, +1.64721641207817225506331294779244187), (+1.35209941853472974624627336826087811, +1.78379590469707121111234311385057114), (+1.47464974384620731308878987144510822, +1.90550637948709611853603415210078389), (+1.65880340910535405704377873766697097, +1.83499439503475415969797747579567564), (+1.28166370918163865173767881273658125, +1.34669292768854021313429563227541881), (+1.04878457905263527968396523213427230, +1.91141783875153078548652549398977821), (+1.44465718448904255604217743160547950, +1.91445787499967808028322885457706789)
370(+0.841055394248430111750658897387626861, +0.346610218465772566897252614524294777), (+1.59604396827198051914099997808979268, -0.314132696154840258112733364021733007), (+1.15425626498835286540938562597900839, -0.310315815430228206058480495242126959), (+1.11024312790242011697695042117692410, -0.188303556642796906596329861631672363), (+0.884268557832354391549144280215835696, -1.00111548071666759699360462611212792), (+1.27479899684942241717540344310518025, -0.522756552210259778736185638320870583), (+1.41249865886803091735523342523034928, -0.643876617317201531146063822674882326), (+1.29554572721555092522057142768656195, -0.730244399111683402479484343704090906)
371(+0.926149477297911441710414771197750814, +0.232267164093857093756459802564290301), (+0.277022376684165041415120002441796413, -0.182131575420080757317955085268778975), (+0.253829080788994176086232112150848118, -0.641988980477071032243554476801438725), (-0.106951628179707204960459442385396042, -0.302459879940523126725030455987647825), (+0.113523293985641164973705478856588611, +0.270271788698886920922942457956458809), (+0.649859186753809563155437659741601445, +0.534656441329185501113949922404416630), (+0.740301416765333702757484196102458806, -0.339898237071168361770482089653539781), (+0.183503397229791420166172837328227990, -0.610433867729898142058764359540811416E-1)
372(+0.807753788331655802009806992860999759, +0.336194671322047424687963261654097798), (+0.797764543464192768487171739290997564, -0.224888832690040673938008536525034321), (+0.452802990276814615210528017106835045, -0.332380637339326533487389611685717853), (+0.696437309760002082844580649240241282, +0.168125492870992235526219371622698992), (+0.252085586344318508362561052369613962, -0.106301939446306470857642296121900305), (-0.921476046263552452236459423266407966, +0.614768744983106895138175506039274468), (+0.184212279598186929124813363045890982, +0.378459651425288341295914110806339469), (-0.237564916023589956489106687535710429, +0.258162588365577920167335392417388561)
373(+0.989529721650648655776102302539495853, +0.113282190839016267658138672525353049), (+0.555551480132507711513287109570125898, -0.770451523129398584522332775603460192E-1), (+0.613168913374241167799762261737657124, -0.799891058056685811957713977002671652), (-0.264028999277751861276829027894049580, -0.725251630110469050263180384629536195), (-0.905900016486821335316351996982417365, +0.387994025156466972722417176358326219), (-2.14373173911782454098430909629979611, -0.617327930581255464856652674577180314E-1), (-0.783930520321612387486798876207207842, +1.33164762599272231493880760253338564), (-0.304892037909766328054590329578374804, -0.286573359635485017637872628460726328E-1)
374(+0.904707222302101305531659061594433858, -0.178105145550887266097834247926519629), (-0.120491423747739991038548568952750524, +0.240325727070413893746868539815389835), (-0.404431512394910130185577298137039349, -0.159642846544108131499981388309656027), (-0.767911526291753589596460861603769621, +0.216810622351282709984529838607211167), (+0.333524336266977503410669424994052364, +0.334708873008515637509499040336294363E-1), (+0.680182485366865670779119023556083715, +1.65885374286562276111120559791657301), (+0.673089819141501294236076313326674491, -0.523674093402876234481063523920017258), (-0.285841193622291833954612015772830493, -0.110172350382237812343985503619309511)
375(+0.814287242865070279829336584039526247, +0.379837926326264017661196034259835860E-1), (+0.239281465756828300074950870925345726, -0.760330880536975248502814549499356252E-2), (-0.801771340624912504350669766804842285E-2, +0.998277033369916293694752189110995925), (+0.322719597600133140643691354767138398, +0.317984730880479953373752523686739411), (-0.337605256449379029717775358323841811, -0.376643199637507663648358352594530106), (-0.261359071169509415625161451431450387, -0.662428004684912217449236522166641716), (+0.323324588905454680689931641390208081, -0.434116392564332055942236060262247384), (-0.182629143831288445407223695217462776, -0.232017520694949674776801299472507759)
376(+0.929533190101197576910847101947792771, +0.132908879013401917783908522200873336), (+0.369615138288767577217565414711419663, +0.263763437921339459298326784554895164), (+0.694473198849321039208527234711544448, -0.532666964816161531823520801132669394), (+0.277446882215100113880321412532448684, -0.300984491309760405628770887905497831), (+0.252336295420665152254694272842362479, +0.547921714783836644902160144261784454), (+0.966453621502816769901737699449480104E-1, +0.389277605412532316992059049115992704), (+0.182946398948882703382421660388473010, +0.750872163076139022554830513158861734), (-0.871024479750906384785784328630591946, -0.148291289615579538825741524228198928)
377det * getMatDet(getMatInv(mat)) ! must be one.
378(+0.999999999999999999999999999999999422, +0.144444745829042688979198345693869549E-33)
379
380
381ndim = getUnifRand(1, 9)
382mat = getUnifRand((1._TKG, 1._TKG), (2._TKG, 2._TKG), ndim, ndim)
383lup = mat
384lup ! matrix.
385(+1.21753555538215291543217437020462950, +1.81580231146522343103442527082369262), (+1.22113686663709130084310207065254636, +1.83472602799195973260295443080028647), (+1.09874102802315337439388908003729760, +1.53979526314975557881416672423930987)
386(+1.15643640122647448634670492526533073, +1.46157205935218890853494418694179607), (+1.10292893401543520445508019154766277, +1.52987624156758736704560728480582235), (+1.82972153741802685525593755486858448, +1.98951976270771329803775110971167207)
387(+1.01828956029653913580606281405177776, +1.77993355482885597455726219193767610), (+1.13395202586556600152242196712379856, +1.81356128322586323676822977839811715), (+1.59806726148646721222588970523634026, +1.81633612309862736438275309065946865)
388call setMatDet(lup, det, info)
389if (info /= 0) error stop 'determinant computation failed.'
390lup ! lup factorization.
391(+1.21753555538215291543217437020462950, +1.81580231146522343103442527082369262), (+1.22113686663709130084310207065254636, +1.83472602799195973260295443080028647), (+1.09874102802315337439388908003729760, +1.53979526314975557881416672423930987)
392(+0.935617184339195475041335543458663072, +0.665588027396252472879863020083555170E-1), (+0.113552556788155986700796873342653171, +0.156826750576077077657512216236263293E-1), (+0.672553203708885310526358049472607674, +0.302546327185496372274876912044664272)
393(+0.849859217621134877771920759793433774, -0.670241391009568307203862083732033140E-1), (-0.437188408199164956004289683830464545, +0.522395510084424253111013849363333943), (+1.24482420254265743431478310138108184, +0.535483709846998734873747491290460987)
394det * getMatDet(getMatInv(mat)) ! must be one.
395(+1.00000000000000000000000000000000019, +0.385185988877447170611195588516985464E-33)
396
397
398ndim = getUnifRand(1, 9)
399mat = getUnifRand((1._TKG, 1._TKG), (2._TKG, 2._TKG), ndim, ndim)
400lup = mat
401lup ! matrix.
402(+1.64900441337392799603570851120595617, +1.59677113648470015169014476052750186), (+1.31117334609306197449869356945007233, +1.73497520465518557640607118525652784), (+1.18124058917914725036932596414823133, +1.90809459692299196711358640624245268), (+1.26245741195015795849208201739163735, +1.19709081790169424284541963979066489)
403(+1.76998008564653679295966406962125679, +1.62523941184447876408556791152413215), (+1.10298910135979011261854620436834527, +1.48578445365008219545025745300880983), (+1.20313186150977607403232742906815071, +1.12529805074770615228074196673997921), (+1.10731876207706838698555813119990187, +1.70444604698851710704156350141933986)
404(+1.56268621477884420356484103968503673, +1.88046435777380295068693424078912674), (+1.52340248386625980269236184129303894, +1.22415061166704336470820786821560686), (+1.18574505471287476176668356156274021, +1.25908325193278365537944812040707366), (+1.43793474202579606010797975879740566, +1.95778173904143567700566134700035259)
405(+1.11653459541561439122435538018490959, +1.72594085049258100813441089275512598), (+1.80898836101668086557660453471918048, +1.44975213101447165725143037220031085), (+1.94984973113024899473955503639881853, +1.97956927794847390259082544263997828), (+1.44680130999633964775161936720115002, +1.22942338876165874542358517491961880)
406call setMatDet(lup, det, info)
407if (info /= 0) error stop 'determinant computation failed.'
408lup ! lup factorization.
409(+1.76998008564653679295966406962125679, +1.62523941184447876408556791152413215), (+1.10298910135979011261854620436834527, +1.48578445365008219545025745300880983), (+1.20313186150977607403232742906815071, +1.12529805074770615228074196673997921), (+1.10731876207706838698555813119990187, +1.70444604698851710704156350141933986)
410(+0.828042682355815597998362629311351392, +0.214789562617944007678926579901415117), (+1.21479729986153174294118647910393583, -0.174513600419408056835381874270855672E-1), (+1.19530747343287312666981940438165455, +0.789354295252175010128151086797233018), (+0.895991332961669991990978007744087944, -0.419771200502656195259802609036965024)
411(+1.00829471561087987019978194540232436, +0.136580094413986874747266981592507143), (+0.510508805085293028701396205915927702, -0.342193124870881680803580571481975579), (-0.753999732309847342315308794452615124, -0.338190079034513964614200923258366342E-1), (+0.240455841821709486244318502733385623, +0.608859063809405798613441471124659632)
412(+0.954904433249788717889681987319751512, +0.253239103567401802460487955661046160E-1), (+0.239833304251527782776617513006616039, +0.240736840014121108684637320621188484), (+0.280126021386490582787713859021832803E-1, -0.433625965204265367015718025578607044), (-0.338458791425521393640708832680938070, -0.486344748015004963401801368208139547)
413det * getMatDet(getMatInv(mat)) ! must be one.
414(+1.00000000000000000000000000000000019, +0.577778983316170755916793382775478196E-33)
415
416
Test:
test_pm_matrixDet


Final Remarks


If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.

  1. If you use any parts or concepts from this library to any extent, please acknowledge the usage by citing the relevant publications of the ParaMonte library.
  2. If you regenerate any parts/ideas from this library in a programming environment other than those currently supported by this ParaMonte library (i.e., other than C, C++, Fortran, MATLAB, Python, R), please also ask the end users to cite this original ParaMonte library.

This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.

Author:
Amir Shahmoradi, Apr 21, 2017, 1:43 PM, Institute for Computational Engineering and Sciences (ICES), The University of Texas Austin

Definition at line 395 of file pm_matrixDet.F90.


The documentation for this interface was generated from the following file: