[Date Index]
[Thread Index]
[Author Index]
all the possible minors of a matrix
*To*: mathgroup at smc.vnet.net
*Subject*: [mg73755] all the possible minors of a matrix
*From*: Mark Novak <mnovak at uchicago.edu>
*Date*: Tue, 27 Feb 2007 05:53:11 -0500 (EST)
Hello,
I'm trying to recode a script into Mathematica and am stuck.
My problem in short:
I need to calculate all minors of a matrix, but can't figure out a way
to get Mathematica to do more than just a specifically assigned minor at
a time (e.g., the minor produce by removing column 1, row 1).
My problem in long version:
(I've posted an explanation with example matrices and links to the code
I have written at http://home.uchicago.edu/~mnovak/mathematicahelp.html)
The original line is
T:=matrix(n,n,(i,j)->permanent(minor(abs(A),j,i))):evalm(T);
So, given a matrix A of dimensions n by n, determine the n x n different
minors of the |A| matrix (each minor being of size n-1 by n-1), then
calculate the permanent of each of these minors, and put the resultant
single value into the relevant position of an n by n matrix. That is,
the permanent of the minor produced by removing the ith row and jth
column goes into position (i,j).
First we need to define how we want the Minor of a matrix to be
calculated (Mathematica's "Minors" function does it in a way that we
don't want.) Second, Mathematica doesn't have a function for calculating
a matrix's permanent, so we need to define that function. (Both of these
I got from searching the the Mathgroup forum.)
Minor[m_List?MatrixQ, {i_Integer,
j_Integer}]:=Abs[Drop[Transpose[A],{j}]],{i}]]
Permanent[m_List]:=With[{v=Array[x,Length[m]]},Coefficient[Times@@(m.v),Times@@v]]
Then the following does work....
Minor[Abs[A],{1,3}]//MatrixForm
Permanent[Minor[Abs[A],{i,j}]]/.{i->1,j->1}
But the problem is that while I can do each of the Minor and Permanent
calculations for specified rows i & columns j of the matrix, I can't
figure out how to do all n x n possible combinations of i and j.
Any suggestions would be much appreciated.
Thanks!
-mark
--
***************************************
Dept. of Ecology & Evolution
1101 E. 57th St., U. of Chicago
Chicago, IL 60637
Office/Lab: 773-702-4815
Fax: 773-702-9740
http://home.uchicago.edu/~mnovak/
***************************************
Prev by Date:
**Why is 1 smaller than 0?**
Next by Date:
**Re: deleting a title or subtitle in a notebook**
Previous by thread:
**Re: Why is 1 smaller than 0?**
Next by thread:
**Re: all the possible minors of a matrix**
| |