Skip to content

Instantly share code, notes, and snippets.

@andrewcsmith
Created September 25, 2016 21:26
Show Gist options
  • Save andrewcsmith/1eb25a9d05c8ddff4cdc6458a7c2921c to your computer and use it in GitHub Desktop.
Save andrewcsmith/1eb25a9d05c8ddff4cdc6458a7c2921c to your computer and use it in GitHub Desktop.
Output from rust-lldb - panic on LU Factorization
frame #4: 0x0000000100060cb1 partition`rulinalg::matrix::{{impl}}::det<f64>(self=&0x101bce000) + 2417 at mod.rs:506
503 (self[[0, 1]] * self[[1, 0]] * self[[2, 2]]) -
504 (self[[0, 2]] * self[[1, 1]] * self[[2, 0]])
505 } else {
-> 506 let (l, u, p) = self.lup_decomp().expect("Could not compute LUP decomposition.");
507
508 let mut d = T::one();
509
(
(lldb) print *self
(rulinalg::matrix::Matrix<f64>) $1 = Matrix<f64> {
rows: 12
cols: 12
data: vec![0.15853898679000725, 0.045745260589178195, 0.099811473474158363, -0.29530543605448167, -0.037462283037851811, -0.087328423466643684, 0.050723430808875432, -0.060320131630961733, -0.29786803282488128, -0.084121147082194592, -0.026953584976103701, 0.15532835026666716, 0.045745260589178195, 0.015900631323937049, 0.03932999970003926, -0.090154655146542514, -0.025154072713978327, -0.024733350570619844, 0.042554605322932128, -0.016970717368387442, -0.11431872160421863, -0.061735612117413914, -0.0037786255855284667, 0.064630384929669701, 0.099811473474158363, 0.03932999970003926, 0.10468897353133368, -0.20683492810897497, -0.080589624149171549, -0.051729722953221105, 0.13770041847747846, -0.038433875228565881, -0.29904578650163705, -0.19390160892841832, -0.00365336162220574, 0.17262138408121996, -0.29530543605448167, -0.090154655146542514, -0.20683492810897497, 0.56487511318997929, 0.098922344686468142, 0.15660198945881615, -0.1364228022184448, 0.11774653840026411, 0.60830356324208867, 0.21123528361789193, 0.049221589963312155, -0.32190964568051689, -0.037462283037851811, -0.025154072713978327, -0.080589624149171549, 0.098922344686468142, 0.08667702322030392, 0.015601352790253096, -0.15529791901586634, 0.01534782925986281, 0.22219527435320674, 0.21092649808408151, -0.011326913571740715, -0.13899154751171294, -0.087328423466643684, -0.024733350570619844, -0.051729722953221105, 0.15660198945881615, 0.015601352790253096, 0.052901760073198779, -0.031386829067981389, 0.027755281439052114, 0.15787993766794733, 0.052469897521001729, 0.0098602403429917957, -0.085326202760215061, 0.050723430808875432, 0.042554605322932128, 0.13770041847747846, -0.1364228022184448, -0.15529791901586634, -0.031386829067981389, 0.32006597560650396, -0.0044088196603699146, -0.38544694778126148, -0.43806152511569302, 0.043459070542722265, 0.26221549448068676, -0.060320131630961733, -0.016970717368387442, -0.038433875228565881, 0.11774653840026411, 0.01534782925986281, 0.027755281439052114, -0.0044088196603699146, 0.030123298634154045, 0.11097193304577496, 0.0095880511574269016, 0.018257027021556672, -0.050360286735546038, -0.29786803282488128, -0.11431872160421863, -0.29904578650163705, 0.60830356324208867, 0.22219527435320674, 0.15787993766794733, -0.38544694778126148, 0.11097193304577496, 0.85873271386515415, 0.54622078545105757, 0.010996754267560161, -0.49699543315763584, -0.084121147082194592, -0.061735612117413914, -0.19390160892841832, 0.21123528361789193, 0.21092649808408151, 0.052469897521001729, -0.43806152511569302, 0.0095880511574269016, 0.54622078545105757, 0.60219090275527576, -0.058183389933391769, -0.37067417977602368, -0.026953584976103701, -0.0037786255855284667, -0.00365336162220574, 0.049221589963312155, -0.011326913571740715, 0.0098602403429917957, 0.043459070542722265, 0.018257027021556672, 0.010996754267560161, -0.058183389933391769, 0.018138900960953261, 0.0088857251039718699, 0.15532835026666716, 0.064630384929669701, 0.17262138408121996, -0.32190964568051689, -0.13899154751171294, -0.085326202760215061, 0.26221549448068676, -0.050360286735546038, -0.49699543315763584, -0.37067417977602368, 0.0088857251039718699, 0.30530244285477603]
---
However, scipy gives me this:
In [24]: m
Out[24]:
array([[ 0.15853899, 0.04574526, 0.09981147, -0.29530544, -0.03746228,
-0.08732842, 0.05072343, -0.06032013, -0.29786803, -0.08412115,
-0.02695358, 0.15532835],
[ 0.04574526, 0.01590063, 0.03933 , -0.09015466, -0.02515407,
-0.02473335, 0.04255461, -0.01697072, -0.11431872, -0.06173561,
-0.00377863, 0.06463038],
[ 0.09981147, 0.03933 , 0.10468897, -0.20683493, -0.08058962,
-0.05172972, 0.13770042, -0.03843388, -0.29904579, -0.19390161,
-0.00365336, 0.17262138],
[-0.29530544, -0.09015466, -0.20683493, 0.56487511, 0.09892234,
0.15660199, -0.1364228 , 0.11774654, 0.60830356, 0.21123528,
0.04922159, -0.32190965],
[-0.03746228, -0.02515407, -0.08058962, 0.09892234, 0.08667702,
0.01560135, -0.15529792, 0.01534783, 0.22219527, 0.2109265 ,
-0.01132691, -0.13899155],
[-0.08732842, -0.02473335, -0.05172972, 0.15660199, 0.01560135,
0.05290176, -0.03138683, 0.02775528, 0.15787994, 0.0524699 ,
0.00986024, -0.0853262 ],
[ 0.05072343, 0.04255461, 0.13770042, -0.1364228 , -0.15529792,
-0.03138683, 0.32006598, -0.00440882, -0.38544695, -0.43806153,
0.04345907, 0.26221549],
[-0.06032013, -0.01697072, -0.03843388, 0.11774654, 0.01534783,
0.02775528, -0.00440882, 0.0301233 , 0.11097193, 0.00958805,
0.01825703, -0.05036029],
[-0.29786803, -0.11431872, -0.29904579, 0.60830356, 0.22219527,
0.15787994, -0.38544695, 0.11097193, 0.85873271, 0.54622079,
0.01099675, -0.49699543],
[-0.08412115, -0.06173561, -0.19390161, 0.21123528, 0.2109265 ,
0.0524699 , -0.43806153, 0.00958805, 0.54622079, 0.6021909 ,
-0.05818339, -0.37067418],
[-0.02695358, -0.00377863, -0.00365336, 0.04922159, -0.01132691,
0.00986024, 0.04345907, 0.01825703, 0.01099675, -0.05818339,
0.0181389 , 0.00888573],
[ 0.15532835, 0.06463038, 0.17262138, -0.32190965, -0.13899155,
-0.0853262 , 0.26221549, -0.05036029, -0.49699543, -0.37067418,
0.00888573, 0.30530244]])
In [25]: scipy.linalg.lu(m)
Out[25]:
// P
(array([[ 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0.],
[ 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0.],
[ 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0.],
[ 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0.],
[ 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0.]]),
// L
array([[ 1. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. ],
[ 0.28241079, 1. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. ],
[ 0.99139687, -0.78709544, 1. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. ],
[ 0.29317823, -0.29820646, 0.94665629, 1. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. ],
[-0.53224572, 0.51273326, -0.92686297, -0.50203487, 1. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. ],
[-0.17028827, -0.78393425, 0.2796242 , -0.02634903, 0.10352941,
1. , 0. , 0. , 0. , 0. ,
0. , 0. ],
[-0.521467 , -0.17035017, -0.56284632, 0.62444891, 0.49317647,
0.06710008, 1. , 0. , 0. , 0. ,
0. , 0. ],
[ 0.12576805, 0.36591332, -0.83923324, -0.61834439, 0.20894118,
-0.54245878, -0.34451297, 1. , 0. , 0. ,
0. , 0. ],
[-0.33508622, -0.03474854, 0.19463184, 0.0743878 , 0.03847059,
0.76087307, 0.44420827, -0.99726602, 1. , 0. ,
0. , 0. ],
[ 0.20250623, -0.20982594, -0.24060282, -0.34821836, 0.05223529,
-0.36774586, -0.14437545, -0.81632698, -0.49630289, 1. ,
0. , 0. ],
[ 0.09048834, -0.22294446, -0.28463101, -0.29169747, 0.10870588,
-0.15059494, -0.11115576, 0.68025983, -0.41570586, 0.10816363,
1. , 0. ],
[-0.1535756 , 0.0562272 , -0.12662094, -0.04452347, 0.03394118,
-0.00249508, 0.16687637, -0.17161343, -0.14912323, -0.08719266,
-0.58188787, 1. ]]),
// U
array([[ -2.97868033e-01, -1.14318722e-01, -2.99045787e-01,
6.08303563e-01, 2.22195274e-01, 1.57879938e-01,
-3.85446948e-01, 1.10971933e-01, 8.58732714e-01,
5.46220785e-01, 1.09967543e-02, -4.96995433e-01],
[ 0.00000000e+00, -2.94507714e-02, -1.09447851e-01,
3.94437925e-02, 1.48176155e-01, 7.88289927e-03,
-3.29207147e-01, -2.17516204e-02, 3.03705400e-01,
4.47932258e-01, -6.12889920e-02, -2.30317306e-01],
[ 0.00000000e+00, 0.00000000e+00, 3.49222441e-03,
-7.14910750e-03, -4.73257964e-03, 6.28490715e-03,
-1.34093483e-02, -9.39129011e-03, -3.99622815e-03,
2.22791433e-02, -9.92084397e-03, -1.04716290e-02],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
-3.20923299e-03, -8.74252658e-04, 3.01588352e-03,
-3.85982724e-03, -2.37542356e-03, 4.68163954e-04,
4.81545357e-03, -2.24891246e-03, 1.61296568e-03],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 1.15196481e-16, -1.68701858e-16,
-8.02309608e-18, 6.07153217e-17, 1.01210273e-16,
-1.30104261e-17, 4.74880552e-17, -1.68593438e-16],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 7.33291211e-17,
5.95537266e-17, 2.05210772e-17, -2.83794343e-17,
-1.32199641e-16, 3.30035606e-17, 2.08524684e-16],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
4.01115546e-16, 1.19166928e-16, -1.07587172e-16,
-5.47630725e-16, 1.81448082e-16, 4.33229383e-16],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, -8.63811660e-18, -2.70002090e-18,
7.32381734e-17, 8.86299165e-19, -5.78061741e-17],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 8.48953969e-17,
3.87300967e-17, 4.82781162e-18, 8.41509407e-18],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
1.01193678e-16, 9.04860467e-18, -7.41926212e-17],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, -3.34178481e-18, 8.27377335e-18],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, -9.38313473e-18]]))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment