9 class TestsCDMATHSwig(unittest.TestCase):
11 def testClassPoint(self):
12 P1 = Point(1., 2., 3.)
13 self.assertTrue(P1.x() == 1.)
14 self.assertTrue(P1.y() == 2.)
15 self.assertTrue(P1.z() == 3.)
16 self.assertTrue(P1[0] == 1.)
17 self.assertTrue(P1[1] == 2.)
18 self.assertTrue(P1[2] == 3.)
19 P2 = Point(1., 2., 3.)
20 self.assertTrue(14., P1.dot(P2))
23 self.assertTrue(2., P3.x())
24 self.assertTrue(4., P3.y())
25 self.assertTrue(6., P3.z())
27 P5 = Point(1., 2., 3.)
28 P6 = Point(3., 5., 0.)
30 self.assertTrue(-2., P4.x())
31 self.assertTrue(-3., P4.y())
32 self.assertTrue(3., P4.z())
35 self.assertTrue(4., P5.x())
36 self.assertTrue(7., P5.y())
37 self.assertTrue(3., P5.z())
43 P8 = Point(3., 5., 0.)
45 self.assertTrue(-2., P7.x())
46 self.assertTrue(-3., P7.y())
47 self.assertTrue(3., P7.z())
51 self.assertTrue(3., P9.x())
52 self.assertTrue(6., P9.y())
53 self.assertTrue(9., P9.z())
55 P10 = Point(1., 2., 3.)
57 self.assertTrue(3., P10.x())
58 self.assertTrue(6., P10.y())
59 self.assertTrue(9., P10.z())
62 self.assertTrue(math.sqrt(14.), norm)
64 P11 = Point(1., 2., 3.)
65 P12 = Point(4., 5., 6.)
66 dx = P12.x() - P11.x()
67 dy = P12.y() - P11.y()
68 dz = P12.z() - P11.z()
69 distance = math.sqrt(dx * dx + dy * dy + dz * dz)
70 self.assertTrue(distance, P11.distance(P12))
72 P13 = Point(3., 6., 9.)
75 self.assertTrue(1., P14.x())
76 self.assertTrue(2., P14.y())
77 self.assertTrue(3., P14.z())
79 P15 = Point(3., 6., 9.)
81 self.assertTrue(1., P15.x())
82 self.assertTrue(2., P15.y())
83 self.assertTrue(3., P15.z())
86 def testClassField(self):
87 M = Mesh(0.0, 1.0, 10, 0., 1., 5)
89 conc1 = Field("CONCENTRATION", CELLS, M, 2, 1.2)
90 self.assertTrue(1.2 == conc1.getTime())
91 for j in range(conc1.getNumberOfComponents()):
92 for i in range(conc1.getNumberOfElements()):
95 conc1n = Field("CONCENTRATION", NODES, M, 2, 1.2)
96 self.assertTrue(1.2 == conc1n.getTime())
97 for j in range(conc1n.getNumberOfComponents()):
98 for i in range(conc1n.getNumberOfElements()):
101 conc3 = Field("CONCENTRATION", CELLS, M, 2, 1.2)
102 for j in range(conc3.getNumberOfComponents()):
103 for i in range(conc3.getNumberOfElements()):
104 conc3[i, j] = -(i + j)
106 v1 = conc3.getValuesOnComponent(1)
107 v2 = conc3.getValuesOnAllComponents(4)
109 for i in range(conc3.getNumberOfElements()):
110 self.assertTrue(-(i + 1) == v1[i])
112 for j in range(conc3.getNumberOfComponents()):
113 self.assertTrue(-(4 + j) == v2[j])
115 fileNameVTK = "champc"
116 conc1.writeVTK(fileNameVTK)
118 fileNameMED = "champc"
119 conc1.writeMED(fileNameMED)
120 conc1.setTime(2.3, 1)
121 conc1.writeMED(fileNameMED, False)
122 for i in range(conc1.getNumberOfElements()):
123 self.assertTrue(1.0 * i == conc1[i])
126 self.assertTrue(2 == conc1.getNumberOfComponents())
127 self.assertTrue(50 == conc1.getNumberOfElements())
128 self.assertTrue(2.3 == conc1.getTime())
130 fileNameVTK = "champn"
131 conc1n.writeVTK(fileNameVTK)
133 fileNameMED = "champn"
134 conc1n.writeMED(fileNameMED)
135 conc1n.setTime(2.3, 1)
136 conc1n.writeMED(fileNameMED, False)
137 for i in range(conc1n.getNumberOfElements()):
138 self.assertTrue(1.0 * i == conc1n[i])
141 self.assertTrue(2 == conc1n.getNumberOfComponents())
142 self.assertTrue(66 == conc1n.getNumberOfElements())
143 self.assertTrue(2.3 == conc1n.getTime())
145 conc6 = Field("CONCENTRATION", NODES, M, 2)
146 for i in range(conc6.getNumberOfComponents()):
147 for j in range(conc6.getNumberOfElements()):
148 conc6[j, i] = i * 1.0 + 2. * j
151 for i in range(conc6.getNumberOfComponents()):
152 for j in range(conc6.getNumberOfElements()):
153 self.assertTrue(1.0 * i + 2. * j == conc6[j, i])
154 self.assertTrue(1.0 * i + 2. * j == conc6.getValues()
155 [i + j * conc6.getNumberOfComponents()])
159 conc6 = Field("CONCENTRATION", CELLS, M, 2)
160 conc6.setInfoOnComponent(0, "compo1")
161 conc6.setInfoOnComponent(1, "compo2")
162 self.assertTrue(conc6.getInfoOnComponent(0) == "compo1")
163 self.assertTrue(conc6.getInfoOnComponent(1) == "compo2")
164 for i in range(conc6.getNumberOfComponents()):
165 for j in range(conc6.getNumberOfElements()):
166 conc6[j, i] = i * 1.0 + 2. * j
169 for i in range(conc6.getNumberOfComponents()):
170 for j in range(conc6.getNumberOfElements()):
171 self.assertTrue(1.0 * i + 2. * j == conc6[j, i])
172 self.assertTrue(1.0 * i + 2. * j == conc6.getValues()
173 [i + j * conc6.getNumberOfComponents()])
177 self.assertTrue(2 == conc1.getNumberOfComponents())
178 self.assertTrue(50 == conc1.getNumberOfElements())
181 for i in range(conc3.getNumberOfElements()):
182 conc3[i, 0] = i * 1.0
186 self.assertTrue(x == 2.0)
188 for i in range(conc3.getNumberOfElements()):
189 self.assertTrue(1.0 * i == conc3[i])
191 self.assertTrue(2 == conc3.getNumberOfComponents())
192 self.assertTrue(50 == conc3.getNumberOfElements())
194 conc6 = conc3 + conc1
195 for i in range(conc6.getNumberOfElements()):
196 self.assertTrue(2.0 * i == conc6[i])
198 self.assertTrue(2 == conc6.getNumberOfComponents())
199 self.assertTrue(50 == conc6.getNumberOfElements())
201 conc6 = conc3 - conc1
202 for i in range(conc6.getNumberOfElements()):
203 self.assertTrue(0.0 == conc6[i])
205 self.assertTrue(2 == conc6.getNumberOfComponents())
206 self.assertTrue(50 == conc6.getNumberOfElements())
210 for i in range(conc6.getNumberOfElements()):
211 self.assertTrue(2.0 * i == conc6[i, 0])
213 self.assertTrue(2 == conc6.getNumberOfComponents())
214 self.assertTrue(50 == conc6.getNumberOfElements())
216 for i in range(conc6.getNumberOfElements()):
217 conc6[i, 0] = i * 1.0
220 for i in range(conc6.getNumberOfElements()):
221 self.assertTrue(2.0 * i == conc6[i])
222 self.assertTrue(2 == conc6.getNumberOfComponents())
223 self.assertTrue(50 == conc6.getNumberOfElements())
225 # conc7=Field("CONCENTRATION",NODES,M,2) ;
226 # conc7.setFieldByMEDCouplingFieldDouble(conc1n.getField());
227 # conc7.setName("CONC")
228 # self.assertTrue( conc7.getName() == "CONC" );
229 # for i in range(conc7.getNumberOfElements()):
230 # self.assertTrue( conc1n[i] == conc7[i] );
232 # self.assertTrue( 2 == conc7.getNumberOfComponents() );
233 # self.assertTrue( 66 == conc7.getNumberOfElements() );
235 # conc7=Field("CONCENTRATION",CELLS,M,2) ;
236 # conc7.setFieldByMEDCouplingFieldDouble(conc1.getField());
237 # conc7.setName("CONC")
238 # self.assertTrue( conc7.getName() == "CONC" );
239 # for i in range(conc7.getNumberOfElements()):
240 # self.assertTrue( conc1[i] == conc7[i] );
242 # self.assertTrue( 2 == conc7.getNumberOfComponents() );
243 # self.assertTrue( 50 == conc7.getNumberOfElements() );
245 conc8 = Field("CONCENTRATION", CELLS, M)
246 for i in range(conc8.getNumberOfElements()):
249 for i in range(conc8.getNumberOfElements()):
250 self.assertTrue(1.0 * i == conc8[i])
252 self.assertTrue(1 == conc8.getNumberOfComponents())
253 self.assertTrue(50 == conc8.getNumberOfElements())
255 conc8 = Field("CONCENTRATION", NODES, M)
256 for i in range(conc8.getNumberOfElements()):
259 for i in range(conc8.getNumberOfElements()):
260 self.assertTrue(1.0 * i == conc8[i])
262 self.assertTrue(1 == conc8.getNumberOfComponents())
263 self.assertTrue(66 == conc8.getNumberOfElements())
265 conc9 = Field("CONCENTRATION", CELLS, M)
266 for i in range(conc9.getNumberOfElements()):
270 for i in range(conc9.getNumberOfElements()):
271 self.assertTrue(1.0 * i / 2. == conc9[i])
275 for i in range(conc10.getNumberOfElements()):
279 for i in range(conc10.getNumberOfElements()):
280 self.assertTrue(1.0 * i - 2.0 == conc10[i])
283 for i in range(conc11.getNumberOfElements()):
287 for i in range(conc11.getNumberOfElements()):
288 self.assertTrue(1.0 * i + 2. == conc11[i])
291 for i in range(conc12.getNumberOfElements()):
295 for i in range(conc12.getNumberOfElements()):
296 self.assertTrue(2.0 * i == conc12[i])
299 for i in range(conc13.getNumberOfElements()):
303 for i in range(conc13.getNumberOfElements()):
304 self.assertTrue(0.0 == conc13[i])
309 for i in range(conc15.getNumberOfElements()):
310 self.assertTrue(conc1[i] * 2. == conc15[i])
311 self.assertTrue(conc1[i] * 0.3 == conc16[i])
313 MF = Mesh(0.0, 1.0, 3, 0., 1., 3)
314 concF1 = Field("CONCENTRATION", FACES, MF)
315 for j in range(concF1.getNumberOfComponents()):
316 for i in range(concF1.getNumberOfElements()):
319 for j in range(concF1.getNumberOfComponents()):
320 for i in range(concF1.getNumberOfElements()):
321 self.assertTrue(i + j == concF1[i, j])
323 self.assertTrue(1 == concF1.getNumberOfComponents())
324 self.assertTrue(0.0 == concF1.getTime())
325 self.assertTrue(24 == concF1.getNumberOfElements())
328 def testClassCell(self):
329 P = Point(0.5, 0.5, 0.0)
330 c1 = Cell(4, 4, 1.0, P)
331 c1.addNormalVector(0, 0.2, 0.3, 0.0)
332 self.assertTrue(0.2 == c1.getNormalVector(0, 0))
333 self.assertTrue(0.3 == c1.getNormalVector(0, 1))
334 self.assertTrue(0.2 == c1.getNormalVectors()[0])
335 self.assertTrue(0.3 == c1.getNormalVectors()[1])
338 self.assertTrue(1.0 == c.getMeasure())
339 self.assertTrue(4 == c.getNumberOfNodes())
340 self.assertTrue(4 == c.getNumberOfFaces())
341 self.assertTrue(0.5 == c.getBarryCenter().x())
342 self.assertTrue(0.5 == c.getBarryCenter().y())
343 self.assertTrue(0.0 == c.getBarryCenter().z())
344 self.assertTrue(0.5 == c.x())
345 self.assertTrue(0.5 == c.y())
346 self.assertTrue(0.0 == c.z())
348 c2.addNormalVector(1, 0.4, 0.6, 0.0)
349 self.assertTrue(0.2 == c2.getNormalVector(0, 0))
350 self.assertTrue(0.3 == c2.getNormalVector(0, 1))
351 self.assertTrue(0.4 == c2.getNormalVector(1, 0))
352 self.assertTrue(0.6 == c2.getNormalVector(1, 1))
364 self.assertTrue(10 == c2.getFacesId()[0])
365 self.assertTrue(11 == c2.getFacesId()[1])
366 self.assertTrue(12 == c2.getFacesId()[2])
367 self.assertTrue(13 == c2.getFacesId()[3])
368 self.assertTrue(20 == c2.getNodesId()[0])
369 self.assertTrue(21 == c2.getNodesId()[1])
370 self.assertTrue(22 == c2.getNodesId()[2])
371 self.assertTrue(23 == c2.getNodesId()[3])
374 def testClassNode(self):
375 P = Point(0.5, 0.5, 0.0)
376 n1 = Node(4, 4, 3, P)
379 self.assertTrue(4 == n.getNumberOfCells())
380 self.assertTrue(4, n.getNumberOfFaces())
381 self.assertTrue(3, n.getNumberOfEdges())
382 self.assertTrue(0.5 == n.getPoint().x())
383 self.assertTrue(0.5 == n.getPoint().y())
384 self.assertTrue(0.0 == n.getPoint().z())
385 self.assertTrue(0.5 == n.x())
386 self.assertTrue(0.5 == n.y())
387 self.assertTrue(0.0 == n.z())
398 self.assertTrue(10 == n2.getFacesId()[0])
399 self.assertTrue(11 == n2.getFacesId()[1])
400 self.assertTrue(12 == n2.getFacesId()[2])
401 self.assertTrue(13 == n2.getFacesId()[3])
402 self.assertTrue(20 == n2.getCellsId()[0])
403 self.assertTrue(21 == n2.getCellsId()[1])
404 self.assertTrue(22 == n2.getCellsId()[2])
405 self.assertTrue(23 == n2.getCellsId()[3])
407 self.assertTrue(0. == n.distance(n2))
410 def testClassFace(self):
412 f1 = Face(2, 2, 1.0, p, 1., 2., 3.)
415 self.assertTrue(1.0 == f.getMeasure())
416 self.assertTrue(2 == f.getNumberOfNodes())
417 self.assertTrue(2 == f.getNumberOfCells())
418 self.assertTrue(p.x() == f.getBarryCenter().x())
419 self.assertTrue(p.y() == f.getBarryCenter().y())
420 self.assertTrue(p.z() == f.getBarryCenter().z())
421 self.assertTrue(p.x() == f.x())
422 self.assertTrue(p.y() == f.y())
423 self.assertTrue(p.z() == f.z())
424 self.assertTrue(-1 == f.getRegion())
425 self.assertTrue(False == f.isBorder())
426 f.setGroupName("Bord1")
427 self.assertTrue(0 == f.getRegion())
428 self.assertTrue(True == f.isBorder())
429 self.assertTrue("Bord1" == f.getGroupName())
437 self.assertTrue(10 == f2.getCellsId()[0])
438 self.assertTrue(11 == f2.getCellsId()[1])
439 self.assertTrue(20 == f2.getNodesId()[0])
440 self.assertTrue(21 == f2.getNodesId()[1])
443 self.assertTrue(1.0 == f2.getMeasure())
444 self.assertTrue(2 == f2.getNumberOfNodes())
445 self.assertTrue(2 == f2.getNumberOfCells())
446 self.assertTrue(0 == f2.getRegion())
447 self.assertTrue(True == f2.isBorder())
448 self.assertTrue("Bord1" == f2.getGroupName())
451 def testClassMesh(self):
453 M1 = Mesh(0.0, 4.0, 4)
454 self.assertTrue(1 == M1.getSpaceDimension())
455 self.assertTrue(5 == M1.getNumberOfNodes())
456 self.assertTrue(4 == M1.getNumberOfCells())
457 self.assertTrue(5 == M1.getNumberOfFaces())
458 self.assertTrue(0. == M1.getFace(0).x())
459 self.assertTrue(0. == M1.getNode(0).x())
460 self.assertTrue(1. == M1.getFace(1).x())
461 self.assertTrue(1. == M1.getNode(1).x())
462 self.assertTrue(2. == M1.getFace(2).x())
463 self.assertTrue(2. == M1.getNode(2).x())
464 self.assertTrue(3. == M1.getFace(3).x())
465 self.assertTrue(3. == M1.getNode(3).x())
466 self.assertTrue(4. == M1.getFace(4).x())
467 self.assertTrue(4. == M1.getNode(4).x())
468 x11 = M1.getCell(1).x()
469 y11 = M1.getCell(1).y()
470 self.assertTrue(x11 == 1.5)
471 self.assertTrue(y11 == 0.0)
472 M1.setGroupAtFaceByCoords(0., 0., 0., 1.E-14, "LeftEdge")
473 M1.setGroupAtFaceByCoords(4., 0., 0., 1.E-14, "RightEdge")
474 M1.setGroupAtNodeByCoords(0., 0., 0., 1.E-14, "LeftEdge")
475 M1.setGroupAtNodeByCoords(4., 0., 0., 1.E-14, "RightEdge")
476 self.assertTrue(M1.getFace(0).isBorder() == True)
477 self.assertTrue(M1.getFace(1).isBorder() == False)
478 self.assertTrue(M1.getFace(2).isBorder() == False)
479 self.assertTrue(M1.getFace(3).isBorder() == False)
480 self.assertTrue(M1.getFace(4).isBorder() == True)
481 self.assertTrue(len(M1.getNameOfFaceGroups()) ==3)
482 self.assertTrue(M1.getNameOfFaceGroups()[2] == "RightEdge")
483 self.assertTrue(M1.getNameOfFaceGroups()[1] == "LeftEdge")
484 self.assertTrue(M1.getNameOfFaceGroups()[0] == "Boundary")
485 self.assertTrue(M1.getNameOfNodeGroups()[2] == "RightEdge")
486 self.assertTrue(M1.getNameOfNodeGroups()[1] == "LeftEdge")
487 self.assertTrue(M1.getNameOfNodeGroups()[0] == "Boundary")
489 M1 = Mesh(0.0, 1.0, 4)
490 self.assertTrue(1 == M1.getSpaceDimension())
491 self.assertTrue(5 == M1.getNumberOfNodes())
492 self.assertTrue(4 == M1.getNumberOfCells())
493 self.assertTrue(5 == M1.getNumberOfFaces())
499 M2 = Mesh(xinf, xsup, 4, yinf, ysup, 4)
501 self.assertEqual(4, M2.getNy())
502 self.assertEqual(4, M2.getNx())
503 self.assertEqual(2, M2.getSpaceDimension())
504 self.assertEqual(25, M2.getNumberOfNodes())
505 self.assertEqual(16, M2.getNumberOfCells())
506 self.assertEqual(40, M2.getNumberOfFaces())
507 # x1=M2.getCells()[4].x();
508 # y1=M2.getCells()[4].y();
509 # self.assertTrue( x1==0.5 );
510 # self.assertTrue( y1==1.5 );
512 # x2=M2.getNodes()[24].x();
513 # y2=M2.getNodes()[24].y();
514 # self.assertTrue( x2==4. );
515 # self.assertTrue( y2==4. );
517 M2.setGroupAtPlan(xsup, 0, eps, "RightEdge")
518 M2.setGroupAtPlan(xinf, 0, eps, "LeftEdge")
519 M2.setGroupAtPlan(yinf, 1, eps, "BottomEdge")
520 M2.setGroupAtPlan(ysup, 1, eps, "TopEdge")
521 self.assertTrue(len(M2.getNameOfFaceGroups()) == 5)
522 self.assertTrue(M2.getNameOfFaceGroups()[0] == "Boundary")
523 self.assertTrue(M2.getNameOfFaceGroups()[1] == "RightEdge")
524 self.assertTrue(M2.getNameOfFaceGroups()[2] == "LeftEdge")
525 self.assertTrue(M2.getNameOfFaceGroups()[3] == "BottomEdge")
526 self.assertTrue(M2.getNameOfFaceGroups()[4] == "TopEdge")
527 nbFaces = M2.getNumberOfFaces()
528 M2.setPeriodicFaces()
529 indexFaces = M2.getIndexFacePeriodic()
530 for i in range(nbFaces):
531 # x=M2.getFaces()[i].x();
532 # y=M2.getFaces()[i].y();
533 x = M2.getFace(i).x()
534 y = M2.getFace(i).y()
535 if (abs(y) < 1.E-10 and abs(x - 0.5) < 1.E-10):
536 indexFace = M2.getIndexFacePeriodic(i)
537 xi = M2.getFace(indexFace).x()
538 yi = M2.getFace(indexFace).y()
539 self.assertTrue(xi == x)
540 self.assertTrue(yi == ysup)
541 self.assertTrue(True == M2.getFace(indexFace).isBorder())
546 M2.writeMED("TestMesh")
547 M22 = Mesh("TestMesh.med")
548 self.assertTrue(2 == M22.getSpaceDimension())
549 self.assertTrue(25 == M22.getNumberOfNodes())
550 self.assertTrue(16 == M22.getNumberOfCells())
551 self.assertTrue(40 == M22.getNumberOfFaces())
553 M23 = Mesh("meshSquare.med")
554 self.assertTrue(len(M23.getNameOfFaceGroups()) == 5)
555 print( M23.getNameOfFaceGroups() )
556 self.assertTrue(M23.getNameOfFaceGroups()[1] == "Bottom")
557 self.assertTrue(M23.getNameOfFaceGroups()[2] == "Left")
558 self.assertTrue(M23.getNameOfFaceGroups()[3] == "Right")
559 self.assertTrue(M23.getNameOfFaceGroups()[4] == "Top")
560 self.assertTrue(M23.getNameOfFaceGroups()[0] == "Boundary")
563 self.assertTrue(1 == M3.getSpaceDimension())
564 self.assertTrue(5 == M3.getNumberOfNodes())
565 self.assertTrue(4 == M3.getNumberOfCells())
566 self.assertTrue(5 == M3.getNumberOfFaces())
569 self.assertTrue(2 == M3.getSpaceDimension())
570 self.assertTrue(25 == M3.getNumberOfNodes())
571 self.assertTrue(16 == M3.getNumberOfCells())
572 self.assertTrue(40 == M3.getNumberOfFaces())
575 self.assertTrue(2 == M4.getSpaceDimension())
576 self.assertTrue(25 == M4.getNumberOfNodes())
577 self.assertTrue(16 == M4.getNumberOfCells())
578 self.assertTrue(40 == M4.getNumberOfFaces())
580 M5 = Mesh(0.0, 1.0, 4, 0.0, 1.0, 4, 0.0, 1.0, 4)
581 self.assertTrue(3 == M5.getSpaceDimension())
582 fileNameVTK = "TestMesh"
583 M4.writeVTK(fileNameVTK)
584 fileNameMED = "TestMesh"
585 M4.writeMED(fileNameMED)
586 M6 = Mesh(fileNameMED + ".med")
587 self.assertTrue(2 == M6.getSpaceDimension())
588 self.assertTrue(25 == M6.getNumberOfNodes())
589 self.assertTrue(16 == M6.getNumberOfCells())
590 self.assertTrue(40 == M6.getNumberOfFaces())
593 def testClassMatrix(self):
600 self.assertTrue(1.0, A[0, 0])
601 self.assertTrue(2.0, A[0, 1])
602 self.assertTrue(3.0, A[1, 0])
603 self.assertTrue(4.0, A[1, 1])
605 self.assertTrue(-2., A.determinant())
609 self.assertTrue(1.0, A1[0, 0])
610 self.assertTrue(2.0, A1[0, 1])
611 self.assertTrue(3.0, A1[1, 0])
612 self.assertTrue(4.0, A1[1, 1])
618 self.assertTrue(0.0 == A11[0, 0])
619 self.assertTrue(0.0 == A11[0, 1])
620 self.assertTrue(0.0 == A11[1, 0])
621 self.assertTrue(0.0 == A11[1, 1])
625 self.assertTrue(2.0 == A11[0, 0])
626 self.assertTrue(4.0 == A11[0, 1])
627 self.assertTrue(6.0 == A11[1, 0])
628 self.assertTrue(8.0 == A11[1, 1])
633 self.assertTrue(2.0 == A22[0, 0])
634 self.assertTrue(4.0 == A22[0, 1])
635 self.assertTrue(6.0 == A22[1, 0])
636 self.assertTrue(8.0 == A22[1, 1])
639 self.assertTrue(3.0 == A22[0, 0])
640 self.assertTrue(6.0 == A22[0, 1])
641 self.assertTrue(9.0 == A22[1, 0])
642 self.assertTrue(12.0 == A22[1, 1])
645 self.assertTrue(0.5 == A22[0, 0])
646 self.assertTrue(1.0 == A22[0, 1])
647 self.assertTrue(1.5 == A22[1, 0])
648 self.assertTrue(2.0 == A22[1, 1])
652 self.assertTrue(2.0 == A2[0, 0])
653 self.assertTrue(4.0 == A2[0, 1])
654 self.assertTrue(6.0 == A2[1, 0])
655 self.assertTrue(8.0 == A2[1, 1])
658 self.assertTrue(1.0 == A2[0, 0])
659 self.assertTrue(2.0 == A2[0, 1])
660 self.assertTrue(3.0 == A2[1, 0])
661 self.assertTrue(4.0 == A2[1, 1])
664 self.assertTrue(0.0 == A2[0, 0])
665 self.assertTrue(0.0 == A2[0, 1])
666 self.assertTrue(0.0 == A2[1, 0])
667 self.assertTrue(0.0 == A2[1, 1])
670 self.assertTrue(1.0 == A2[0, 0])
671 self.assertTrue(2.0 == A2[0, 1])
672 self.assertTrue(3.0 == A2[1, 0])
673 self.assertTrue(4.0 == A2[1, 1])
680 self.assertTrue(5. == X1[0])
681 self.assertTrue(11.0 == X1[1])
683 self.assertTrue(True == A2.isSquare())
684 self.assertTrue(False == A2.isSymmetric())
693 self.assertTrue(False == A3.isSquare())
699 self.assertTrue(True == A.isSymmetric())
718 A5 = Matrix(A4.transpose())
719 self.assertTrue(1. == A5[0, 0])
720 self.assertTrue(5. == A5[0, 1])
721 self.assertTrue(9. == A5[0, 2])
722 self.assertTrue(13. == A5[0, 3])
723 self.assertTrue(2. == A5[1, 0])
724 self.assertTrue(6. == A5[1, 1])
725 self.assertTrue(10. == A5[1, 2])
726 self.assertTrue(14. == A5[1, 3])
727 self.assertTrue(3. == A5[2, 0])
728 self.assertTrue(7. == A5[2, 1])
729 self.assertTrue(11. == A5[2, 2])
730 self.assertTrue(15. == A5[2, 3])
731 self.assertTrue(4. == A5[3, 0])
732 self.assertTrue(8. == A5[3, 1])
733 self.assertTrue(12. == A5[3, 2])
734 self.assertTrue(16. == A5[3, 3])
736 self.assertTrue(0. == A5.determinant())
738 def testClassVector(self):
742 self.assertTrue(1.0 == A[0])
743 self.assertTrue(2.0 == A[1])
744 self.assertTrue(math.sqrt(5.) == A.norm())
747 self.assertTrue(1.0 == B[0])
748 self.assertTrue(2.0 == B[1])
751 self.assertTrue(2.0 == C[0])
752 self.assertTrue(4.0 == C[1])
755 self.assertTrue(10.0 == val)
758 self.assertTrue(0.0 == D[0])
759 self.assertTrue(0.0 == D[1])
762 self.assertTrue(2.0 == E[0])
763 self.assertTrue(4.0 == E[1])
766 self.assertTrue(1.0 == E[0])
767 self.assertTrue(2.0 == E[1])
770 self.assertTrue(2.0, E[0])
771 self.assertTrue(4.0, E[1])
774 self.assertTrue(A[0] / 2 == F[0])
775 self.assertTrue(A[1] / 2 == F[1])
778 self.assertTrue(A[0] == F[0])
779 self.assertTrue(A[1] == F[1])
781 self.assertTrue(A[0] == a)
796 # self.assertTrue( 1.==v5[0,0] );
797 # self.assertTrue( 2.==v5[0,1] );
798 # self.assertTrue( 3.==v5[0,2] );
799 # self.assertTrue( 2.==v5[1,0] );
800 # self.assertTrue( 4.==v5[1,1] );
801 # self.assertTrue( 6.==v5[1,2] );
802 # self.assertTrue( 3.==v5[2,0] );
803 # self.assertTrue( 6.==v5[2,1] );
804 # self.assertTrue( 9.==v5[2,2] );
805 # self.assertTrue( 4.==v5[3,0] );
806 # self.assertTrue( 8.==v5[3,1] );
807 # self.assertTrue( 12.==v5[3,2] );
809 if __name__ == '__main__':