CompoundMatrix: Difference between revisions

From QETLAB
Jump to navigation Jump to search
m Changed/corrected update date and QETLAB version number.
m Add restrictions to the arguments
Line 3: Line 3:
|desc=Computes the compound matrix of a given matrix
|desc=Computes the compound matrix of a given matrix
|cat=[[List of functions#Miscellaneous|Miscellaneous]]
|cat=[[List of functions#Miscellaneous|Miscellaneous]]
|upd=August 22, 2024
|upd=August 23, 2024
|v=0.90}}
|v=0.90}}
<tt>'''CompoundMatrix'''</tt> is a [[List of functions|function]] that computes the ''r'' <sup>th</sup> [https://en.wikipedia.org/wiki/Compound_matrix compound matrix] of a given matrix.
<tt>'''CompoundMatrix'''</tt> is a [[List of functions|function]] that computes the ''r'' <sup>th</sup> [https://en.wikipedia.org/wiki/Compound_matrix compound matrix] of a given matrix.
Line 11: Line 11:


==Argument descriptions==
==Argument descriptions==
* <tt>A</tt>: A matrix.
* <tt>A</tt>: An <tt>m</tt>-by-<tt>n</tt> matrix.
* <tt>r</tt>: An integer denoting the size of the minors to compute.
* <tt>r</tt>: An integer denoting the size of the minors to compute. Must be between <tt>1</tt> and <tt>min{m, n}</tt>, inclusive. If <tt>r > min{m, n}</tt>, then the result is the <tt>0x0</tt> matrix.


==Example==
==Example==
Taking the 2<sup>nd</sup> compound matrix involves calculating 2 by 2 minors of the matrix. For a 3 by 4 matrix, the entries for these minors can be indexed by the row index sets {1,2}, {1,3}, and {2,3} and the column index sets {1,2}, {1,3}, {1,4}, {2,3}, {2,4}, and {3,4}. The computed values are placed in the resulting compound matrix according to the lexicographic ordering of the index sets. The following code shows an example:
Taking the 2<sup>nd</sup> compound matrix involves calculating 2-by-2 minors of the matrix. For a 3-by-4 matrix, the entries for these minors can be indexed by the row index sets {1,2}, {1,3}, and {2,3} and the column index sets {1,2}, {1,3}, {1,4}, {2,3}, {2,4}, and {3,4}. The computed values are placed in the resulting compound matrix according to the lexicographic ordering of the index sets. The following code shows an example:
<syntaxhighlight>
<syntaxhighlight>
>> A = [1, 3, 7, 2; 8, 5, 3, 4; 6, 9, 0, 1]
>> A = [1, 3, 7, 2; 8, 5, 3, 4; 6, 9, 0, 1]
Line 42: Line 42:
   42  -18  -16  -27  -31    3
   42  -18  -16  -27  -31    3
</syntaxhighlight>
</syntaxhighlight>
Notice that the size of the resulting matrix is not necessarily the same size as the original matrix. In general, the size of the compound matrix is (''m'' choose ''r'' ) by (''n'' choose ''r'' ) for an ''m'' by ''n'' matrix.
Notice that the size of the resulting matrix is not necessarily the same size as the original matrix. In general, the size of the compound matrix is (''m'' choose ''r'' )-by-(''n'' choose ''r'' ) for an ''m''-by-''n'' matrix.


{{SourceCode|name=CompoundMatrix}}
{{SourceCode|name=CompoundMatrix}}

Revision as of 22:41, 23 August 2024

CompoundMatrix
Computes the compound matrix of a given matrix

Other toolboxes required none
Function category Miscellaneous

CompoundMatrix is a function that computes the r th compound matrix of a given matrix.

Syntax

  • comp = CompoundMatrix(A, r)

Argument descriptions

  • A: An m-by-n matrix.
  • r: An integer denoting the size of the minors to compute. Must be between 1 and min{m, n}, inclusive. If r > min{m, n}, then the result is the 0x0 matrix.

Example

Taking the 2nd compound matrix involves calculating 2-by-2 minors of the matrix. For a 3-by-4 matrix, the entries for these minors can be indexed by the row index sets {1,2}, {1,3}, and {2,3} and the column index sets {1,2}, {1,3}, {1,4}, {2,3}, {2,4}, and {3,4}. The computed values are placed in the resulting compound matrix according to the lexicographic ordering of the index sets. The following code shows an example:

>> A = [1, 3, 7, 2; 8, 5, 3, 4; 6, 9, 0, 1]
>> r = 2
>> compoundMatrix(A, r)


A =

     1     3     7     2
     8     5     3     4
     6     9     0     1



r =

     2



ans =

  -19  -53  -12  -26    2   22
   -9  -42  -11  -63  -15    7
   42  -18  -16  -27  -31    3

Notice that the size of the resulting matrix is not necessarily the same size as the original matrix. In general, the size of the compound matrix is (m choose r )-by-(n choose r ) for an m-by-n matrix.

Source code

Click here to view this function's source code on github.