Conjugate transpose: Difference between revisions
Content added Content deleted
(Added Ada) |
m (→{{header|Tcl}}: Tweak layout for readability) |
||
Line 348: | Line 348: | ||
<lang tcl>package require struct::matrix |
<lang tcl>package require struct::matrix |
||
package require math::complexnumbers |
package require math::complexnumbers |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
proc complexMatrix.equal {m1 m2 {epsilon 1e-14}} { |
proc complexMatrix.equal {m1 m2 {epsilon 1e-14}} { |
||
Line 378: | Line 365: | ||
} |
} |
||
return 1 |
return 1 |
||
} |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
} |
} |
||
Line 413: | Line 389: | ||
} |
} |
||
return $c |
return $c |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
}</lang> |
|||
Using these tools to test for the properties described in the task: |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
} |
} |
||
Line 420: | Line 420: | ||
return 0 |
return 0 |
||
} |
} |
||
set mh [conjugateTranspose $matrix] |
set mh [complexMatrix.conjugateTranspose $matrix] |
||
set mhm [complexMatrix.multiply $mh $matrix] |
set mhm [complexMatrix.multiply $mh $matrix] |
||
set mmh [complexMatrix.multiply $matrix $mh] |
set mmh [complexMatrix.multiply $matrix $mh] |
||
Line 435: | Line 435: | ||
return 0 |
return 0 |
||
} |
} |
||
set mh [conjugateTranspose $matrix] |
set mh [complexMatrix.conjugateTranspose $matrix] |
||
set mhm [complexMatrix.multiply $mh $matrix] |
set mhm [complexMatrix.multiply $mh $matrix] |
||
set mmh [complexMatrix.multiply $matrix $mh] |
set mmh [complexMatrix.multiply $matrix $mh] |