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/ ***************************************
- Follow-Ups:
- Re: all the possible minors of a matrix
- From: Daniel Lichtblau <danl@wolfram.com>
- Re: all the possible minors of a matrix