Skip to content

Commit 3b9b017

Browse files
committed
Ready for @moritzdannhauer testing
1 parent 220a0ea commit 3b9b017

File tree

2 files changed

+368
-2
lines changed

2 files changed

+368
-2
lines changed

src/Core/Algorithms/Math/SolveLinearSystemWithEigen.cc

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,11 +107,13 @@ Out SolveLinearSystemAlgorithm::runImpl(const In& input, const Parameters& param
107107
typename SolverType::SolutionType x;
108108
if (matrixIs::dense(A))
109109
{
110-
x = impl.solveWithEigen(*castMatrix::toDense(A));
110+
auto dense = castMatrix::toDense(A);
111+
x = impl.solveWithEigen(*dense);
111112
}
112113
else if (matrixIs::sparse(A))
113114
{
114-
x = impl.solveWithEigen(*castMatrix::toSparse(A));
115+
auto sparse = castMatrix::toSparse(A);
116+
x = impl.solveWithEigen(*sparse);
115117
}
116118
else
117119
BOOST_THROW_EXCEPTION(AlgorithmProcessingException() << ErrorMessage("solveWithEigen can only handle dense and sparse matrices."));
Lines changed: 364 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,364 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
2+
<!DOCTYPE boost_serialization>
3+
<boost_serialization signature="serialization::archive" version="12">
4+
<networkFile class_id="0" tracking_level="0" version="5">
5+
<networkInfo class_id="1" tracking_level="0" version="0">
6+
<modules class_id="2" tracking_level="0" version="0">
7+
<count>6</count>
8+
<item_version>0</item_version>
9+
<item class_id="3" tracking_level="0" version="0">
10+
<first>ConvertRealToComplexMatrix:0</first>
11+
<second class_id="4" tracking_level="0" version="0">
12+
<module class_id="5" tracking_level="0" version="0">
13+
<package_name_>SCIRun</package_name_>
14+
<category_name_>Converters</category_name_>
15+
<module_name_>ConvertRealToComplexMatrix</module_name_>
16+
</module>
17+
<state class_id="6" tracking_level="0" version="0">
18+
<stateMap class_id="7" tracking_level="0" version="0">
19+
<count>0</count>
20+
<item_version>0</item_version>
21+
</stateMap>
22+
</state>
23+
</second>
24+
</item>
25+
<item>
26+
<first>ConvertRealToComplexMatrix:1</first>
27+
<second>
28+
<module>
29+
<package_name_>SCIRun</package_name_>
30+
<category_name_>Converters</category_name_>
31+
<module_name_>ConvertRealToComplexMatrix</module_name_>
32+
</module>
33+
<state>
34+
<stateMap>
35+
<count>0</count>
36+
<item_version>0</item_version>
37+
</stateMap>
38+
</state>
39+
</second>
40+
</item>
41+
<item>
42+
<first>ReadMatrix:0</first>
43+
<second>
44+
<module>
45+
<package_name_>SCIRun</package_name_>
46+
<category_name_>DataIO</category_name_>
47+
<module_name_>ReadMatrix</module_name_>
48+
</module>
49+
<state>
50+
<stateMap>
51+
<count>3</count>
52+
<item_version>0</item_version>
53+
<item class_id="8" tracking_level="0" version="0">
54+
<first class_id="9" tracking_level="0" version="0">
55+
<name>FileTypeName</name>
56+
</first>
57+
<second class_id="10" tracking_level="0" version="0">
58+
<name>FileTypeName</name>
59+
<value class_id="11" tracking_level="0" version="0">
60+
<which>2</which>
61+
<value>SCIRun Matrix File</value>
62+
</value>
63+
</second>
64+
</item>
65+
<item>
66+
<first>
67+
<name>Filename</name>
68+
</first>
69+
<second>
70+
<name>Filename</name>
71+
<value>
72+
<which>2</which>
73+
<value>C:/Dev/lhs.mat</value>
74+
</value>
75+
</second>
76+
</item>
77+
<item>
78+
<first>
79+
<name>ScriptEnvironmentVariable</name>
80+
</first>
81+
<second>
82+
<name>ScriptEnvironmentVariable</name>
83+
<value>
84+
<which>2</which>
85+
<value></value>
86+
</value>
87+
</second>
88+
</item>
89+
</stateMap>
90+
</state>
91+
</second>
92+
</item>
93+
<item>
94+
<first>ReadMatrix:1</first>
95+
<second>
96+
<module>
97+
<package_name_>SCIRun</package_name_>
98+
<category_name_>DataIO</category_name_>
99+
<module_name_>ReadMatrix</module_name_>
100+
</module>
101+
<state>
102+
<stateMap>
103+
<count>3</count>
104+
<item_version>0</item_version>
105+
<item>
106+
<first>
107+
<name>FileTypeName</name>
108+
</first>
109+
<second>
110+
<name>FileTypeName</name>
111+
<value>
112+
<which>2</which>
113+
<value>SCIRun Matrix File</value>
114+
</value>
115+
</second>
116+
</item>
117+
<item>
118+
<first>
119+
<name>Filename</name>
120+
</first>
121+
<second>
122+
<name>Filename</name>
123+
<value>
124+
<which>2</which>
125+
<value>C:/Dev/rhs.mat</value>
126+
</value>
127+
</second>
128+
</item>
129+
<item>
130+
<first>
131+
<name>ScriptEnvironmentVariable</name>
132+
</first>
133+
<second>
134+
<name>ScriptEnvironmentVariable</name>
135+
<value>
136+
<which>2</which>
137+
<value></value>
138+
</value>
139+
</second>
140+
</item>
141+
</stateMap>
142+
</state>
143+
</second>
144+
</item>
145+
<item>
146+
<first>ReportComplexMatrixInfo:0</first>
147+
<second>
148+
<module>
149+
<package_name_>SCIRun</package_name_>
150+
<category_name_>Math</category_name_>
151+
<module_name_>ReportComplexMatrixInfo</module_name_>
152+
</module>
153+
<state>
154+
<stateMap>
155+
<count>0</count>
156+
<item_version>0</item_version>
157+
</stateMap>
158+
</state>
159+
</second>
160+
</item>
161+
<item>
162+
<first>SolveComplexLinearSystem:0</first>
163+
<second>
164+
<module>
165+
<package_name_>SCIRun</package_name_>
166+
<category_name_>Math</category_name_>
167+
<module_name_>SolveComplexLinearSystem</module_name_>
168+
</module>
169+
<state>
170+
<stateMap>
171+
<count>0</count>
172+
<item_version>0</item_version>
173+
</stateMap>
174+
</state>
175+
</second>
176+
</item>
177+
</modules>
178+
<connections class_id="12" tracking_level="0" version="0">
179+
<count>7</count>
180+
<item_version>0</item_version>
181+
<item class_id="13" tracking_level="0" version="0">
182+
<moduleId1_>ConvertRealToComplexMatrix:0</moduleId1_>
183+
<port1_ class_id="14" tracking_level="0" version="0">
184+
<name>Output</name>
185+
<id>0</id>
186+
</port1_>
187+
<moduleId2_>SolveComplexLinearSystem:0</moduleId2_>
188+
<port2_>
189+
<name>LHS</name>
190+
<id>0</id>
191+
</port2_>
192+
</item>
193+
<item>
194+
<moduleId1_>ConvertRealToComplexMatrix:1</moduleId1_>
195+
<port1_>
196+
<name>Output</name>
197+
<id>0</id>
198+
</port1_>
199+
<moduleId2_>SolveComplexLinearSystem:0</moduleId2_>
200+
<port2_>
201+
<name>RHS</name>
202+
<id>0</id>
203+
</port2_>
204+
</item>
205+
<item>
206+
<moduleId1_>ReadMatrix:0</moduleId1_>
207+
<port1_>
208+
<name>Matrix</name>
209+
<id>0</id>
210+
</port1_>
211+
<moduleId2_>ConvertRealToComplexMatrix:0</moduleId2_>
212+
<port2_>
213+
<name>ComplexPartMatrix</name>
214+
<id>0</id>
215+
</port2_>
216+
</item>
217+
<item>
218+
<moduleId1_>ReadMatrix:0</moduleId1_>
219+
<port1_>
220+
<name>Matrix</name>
221+
<id>0</id>
222+
</port1_>
223+
<moduleId2_>ConvertRealToComplexMatrix:0</moduleId2_>
224+
<port2_>
225+
<name>RealPartMatrix</name>
226+
<id>0</id>
227+
</port2_>
228+
</item>
229+
<item>
230+
<moduleId1_>ReadMatrix:1</moduleId1_>
231+
<port1_>
232+
<name>Matrix</name>
233+
<id>0</id>
234+
</port1_>
235+
<moduleId2_>ConvertRealToComplexMatrix:1</moduleId2_>
236+
<port2_>
237+
<name>ComplexPartMatrix</name>
238+
<id>0</id>
239+
</port2_>
240+
</item>
241+
<item>
242+
<moduleId1_>ReadMatrix:1</moduleId1_>
243+
<port1_>
244+
<name>Matrix</name>
245+
<id>0</id>
246+
</port1_>
247+
<moduleId2_>ConvertRealToComplexMatrix:1</moduleId2_>
248+
<port2_>
249+
<name>RealPartMatrix</name>
250+
<id>0</id>
251+
</port2_>
252+
</item>
253+
<item>
254+
<moduleId1_>SolveComplexLinearSystem:0</moduleId1_>
255+
<port1_>
256+
<name>Solution</name>
257+
<id>0</id>
258+
</port1_>
259+
<moduleId2_>ReportComplexMatrixInfo:0</moduleId2_>
260+
<port2_>
261+
<name>InputMatrix</name>
262+
<id>0</id>
263+
</port2_>
264+
</item>
265+
</connections>
266+
</networkInfo>
267+
<modulePositions class_id="15" tracking_level="0" version="0">
268+
<count>6</count>
269+
<item_version>0</item_version>
270+
<item class_id="16" tracking_level="0" version="0">
271+
<first>ConvertRealToComplexMatrix:0</first>
272+
<second class_id="17" tracking_level="0" version="0">
273+
<first>7.00000000000000000e+000</first>
274+
<second>-1.48000000000000000e+002</second>
275+
</second>
276+
</item>
277+
<item>
278+
<first>ConvertRealToComplexMatrix:1</first>
279+
<second>
280+
<first>3.02000000000000000e+002</first>
281+
<second>-1.41000000000000000e+002</second>
282+
</second>
283+
</item>
284+
<item>
285+
<first>ReadMatrix:0</first>
286+
<second>
287+
<first>-1.40000000000000000e+001</first>
288+
<second>-2.37000000000000000e+002</second>
289+
</second>
290+
</item>
291+
<item>
292+
<first>ReadMatrix:1</first>
293+
<second>
294+
<first>2.05000000000000000e+002</first>
295+
<second>-2.30000000000000000e+002</second>
296+
</second>
297+
</item>
298+
<item>
299+
<first>ReportComplexMatrixInfo:0</first>
300+
<second>
301+
<first>1.14000000000000000e+002</first>
302+
<second>1.38000000000000000e+002</second>
303+
</second>
304+
</item>
305+
<item>
306+
<first>SolveComplexLinearSystem:0</first>
307+
<second>
308+
<first>5.90000000000000000e+001</first>
309+
<second>-1.10000000000000000e+001</second>
310+
</second>
311+
</item>
312+
</modulePositions>
313+
<moduleNotes class_id="18" tracking_level="0" version="0">
314+
<count>0</count>
315+
<item_version>0</item_version>
316+
</moduleNotes>
317+
<connectionNotes>
318+
<count>0</count>
319+
<item_version>0</item_version>
320+
</connectionNotes>
321+
<moduleTags class_id="19" tracking_level="0" version="0">
322+
<count>6</count>
323+
<item_version>0</item_version>
324+
<item class_id="20" tracking_level="0" version="0">
325+
<first>ConvertRealToComplexMatrix:0</first>
326+
<second>-1</second>
327+
</item>
328+
<item>
329+
<first>ConvertRealToComplexMatrix:1</first>
330+
<second>-1</second>
331+
</item>
332+
<item>
333+
<first>ReadMatrix:0</first>
334+
<second>-1</second>
335+
</item>
336+
<item>
337+
<first>ReadMatrix:1</first>
338+
<second>-1</second>
339+
</item>
340+
<item>
341+
<first>ReportComplexMatrixInfo:0</first>
342+
<second>-1</second>
343+
</item>
344+
<item>
345+
<first>SolveComplexLinearSystem:0</first>
346+
<second>-1</second>
347+
</item>
348+
</moduleTags>
349+
<disabledModules class_id="21" tracking_level="0" version="0">
350+
<count>0</count>
351+
<item_version>0</item_version>
352+
</disabledModules>
353+
<disabledConnections>
354+
<count>0</count>
355+
<item_version>0</item_version>
356+
</disabledConnections>
357+
<moduleTagLabels class_id="22" tracking_level="0" version="0">
358+
<count>0</count>
359+
<item_version>0</item_version>
360+
</moduleTagLabels>
361+
<loadTagGroups>0</loadTagGroups>
362+
</networkFile>
363+
</boost_serialization>
364+

0 commit comments

Comments
 (0)