products/Sources/formale Sprachen/GAP/pkg/matricesforhomalg/doc/chap5.html
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd " >
<html xmlns="http://www.w3.org/1999/xhtml " xml:lang="en" >
<head >
<title >GAP (MatricesForHomalg) - Chapter 5: Matrices</title >
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="generator" content="GAPDoc2HTML" />
<link rel="stylesheet" type="text/css" href="manual.css" />
<script src="manual.js" type="text/javascript" ></script >
<script type="text/javascript" >overwriteStyle();</script >
</head >
<body class="chap5" onload="jscontent()" >
<div class="chlinktop" ><span class="chlink1" >Goto Chapter: </span ><a href="chap0.html" >Top</a> <a href="chap1.html" >1</a> <a href="chap2.html" >2</a> <a href="chap3.html" >3</a> <a href="chap4.html" >4</a> <a href="chap5.html" >5</a> <a href="chap6.html" >6</a> <a href="chapA.html" >A</a> <a href="chapB.html" >B</a> <a href="chapC.html" >C</a> <a href="chapD.html" >D</a> <a href="chapE.html" >E</a> <a href="chapF.html" >F</a> <a href="chapBib.html" >Bib</a> <a href="chapInd.html" >Ind</a> </div >
<div class="chlinkprevnexttop" > <a href="chap0.html" >[Top of Book]</a> <a href="chap0.html#contents" >[Contents]</a> <a href="chap4.html" >[Previous Chapter]</a> <a href="chap6.html" >[Next Chapter]</a> </div >
<p id="mathjaxlink" class="pcenter" ><a href="chap5_mj.html" >[MathJax on]</a></p>
<p><a id="X812CCAB278643A59" name="X812CCAB278643A59" ></a></p>
<div class="ChapSects" ><a href="chap5.html#X812CCAB278643A59" >5 <span class="Heading" >Matrices</span ></a>
<div class="ContSect" ><span class="tocline" ><span class="nocss" > </span ><a href="chap5.html#X78C552687FF14479" >5.1 <span class="Heading" >Matrices: Category and Representations</span ></a>
</span >
<div class="ContSSBlock" >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7B68E1057F5F011F" >5.1-1 IsHomalgMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7FE94FC47F460E35" >5.1-2 IsHomalgInternalMatrixRep</a></span >
</div ></div >
<div class="ContSect" ><span class="tocline" ><span class="nocss" > </span ><a href="chap5.html#X7977387186436CDF" >5.2 <span class="Heading" >Matrices: Constructors</span ></a>
</span >
<div class="ContSSBlock" >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X86D290B084AC6638" >5.2-1 HomalgInitialMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7CB77009868D369A" >5.2-2 HomalgInitialIdentityMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X8309EB7B86953A23" >5.2-3 HomalgZeroMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X83266B9D7BE740D8" >5.2-4 HomalgIdentityMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7D2E3472879E28AB" >5.2-5 HomalgVoidMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X864ACCB08094F0B7" >5.2-6 HomalgMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X8246E1D17F96DAE7" >5.2-7 HomalgMatrixListList</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7B127B5584CD012D" >5.2-8 HomalgRowVector</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X871AF271843FF2B5" >5.2-9 HomalgColumnVector</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X872D39C678D0C4AE" >5.2-10 HomalgDiagonalMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X81225377833C4644" ><code >5.2-11 \*</code ></a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7C4E49D287011DCD" >5.2-12 CoercedMatrix</a></span >
</div ></div >
<div class="ContSect" ><span class="tocline" ><span class="nocss" > </span ><a href="chap5.html#X7D92ECFC8030CF40" >5.3 <span class="Heading" >Matrices: Properties</span ></a>
</span >
<div class="ContSSBlock" >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X858B5AF57D5BC90A" >5.3-1 IsZero</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X814D78347858EC13" >5.3-2 IsOne</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7813653578F174AB" >5.3-3 IsUnitFree</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X8612CB4A82D6D79E" >5.3-4 IsPermutationMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7EEE3E9780EBA607" >5.3-5 IsSpecialSubidentityMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X8672364D79EBCC5D" >5.3-6 IsSubidentityMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7EF95CAD78BDE12F" >5.3-7 IsLeftRegular</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X87C369D27D6AAF68" >5.3-8 IsRightRegular</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X856E1D217A47EE8C" >5.3-9 IsInvertibleMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7A4FA27C80BC42D1" >5.3-10 IsLeftInvertibleMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7E43FDE57E8449B6" >5.3-11 IsRightInvertibleMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7BFC9266823F2C15" >5.3-12 IsEmptyMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7EEC8E768178696E" >5.3-13 IsDiagonalMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7848E6A0783B7428" >5.3-14 IsScalarMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X8740E71C799C0BCC" >5.3-15 IsUpperTriangularMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X853A5B988306DBFE" >5.3-16 IsLowerTriangularMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7976C42B7FA905EC" >5.3-17 IsStrictUpperTriangularMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7B0C78AF8056D650" >5.3-18 IsStrictLowerTriangularMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X81A2C3F67C99A3C2" >5.3-19 IsUpperStairCaseMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7B3A5DE1860373F0" >5.3-20 IsLowerStairCaseMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7BAAE75A8660D7A5" >5.3-21 IsTriangularMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7F520F89821A8602" >5.3-22 IsBasisOfRowsMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7D46613983DC5302" >5.3-23 IsBasisOfColumnsMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X86445AD281024339" >5.3-24 IsReducedBasisOfRowsMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7E6BB540865C0344" >5.3-25 IsReducedBasisOfColumnsMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7E6E51517822CB3F" >5.3-26 IsInitialMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7EE624707ACEC26E" >5.3-27 IsInitialIdentityMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X802794217F56DE51" >5.3-28 IsVoidMatrix</a></span >
</div ></div >
<div class="ContSect" ><span class="tocline" ><span class="nocss" > </span ><a href="chap5.html#X86F766077C89558F" >5.4 <span class="Heading" >Matrices: Attributes</span ></a>
</span >
<div class="ContSSBlock" >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7C72971F7D0CA3C8" >5.4-1 NumberRows</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X847D45BF7F2BC67C" >5.4-2 NumberColumns</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X83045F6F82C180E1" >5.4-3 DeterminantMat</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X828225E0857B1FDA" >5.4-4 ZeroRows</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X870D761F7AB96D12" >5.4-5 ZeroColumns</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7991ED337C73065A" >5.4-6 NonZeroRows</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7F335DCB7B8781E4" >5.4-7 NonZeroColumns</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7B7A073D7E1FAEA4" >5.4-8 PositionOfFirstNonZeroEntryPerRow</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X83B389A97A703E42" >5.4-9 PositionOfFirstNonZeroEntryPerColumn</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X862841E68674FA2A" >5.4-10 RowRankOfMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7C61862E81CABD51" >5.4-11 ColumnRankOfMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7EFCE38281AE60F9" >5.4-12 LeftInverse</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X87614CA48493B63F" >5.4-13 RightInverse</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7809E0507E882674" >5.4-14 CoefficientsOfUnreducedNumeratorOfHilbertPoincareSeries</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7938E13A7EF4ADB1" >5.4-15 CoefficientsOfNumeratorOfHilbertPoincareSeries</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X781E2CDB8743B1C6" >5.4-16 UnreducedNumeratorOfHilbertPoincareSeries</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7C44039382DD5D91" >5.4-17 NumeratorOfHilbertPoincareSeries</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7B93B7D082A50E61" >5.4-18 HilbertPoincareSeries</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X84299BAB807A1E13" >5.4-19 HilbertPolynomial</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7BC36CC67CB09858" >5.4-20 AffineDimension</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X87C428A079000336" >5.4-21 AffineDegree</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X82A1B55879AB1742" >5.4-22 ProjectiveDegree</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X791B772A7E368A88" >5.4-23 ConstantTermOfHilbertPolynomialn</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X835972A77F02C5BB" >5.4-24 MatrixOfSymbols</a></span >
</div ></div >
<div class="ContSect" ><span class="tocline" ><span class="nocss" > </span ><a href="chap5.html#X80FA5AE87E8591BC" >5.5 <span class="Heading" >Matrices: Operations and Functions</span ></a>
</span >
<div class="ContSSBlock" >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X81BBF79C79C3B6DF" >5.5-1 HomalgRing</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7FBAA11B8008D936" >5.5-2 LeftInverse</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7AAD17D47839BCAE" >5.5-3 RightInverse</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7A7E42C179142727" >5.5-4 LeftInverseLazy</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7FA3E7617EED7E1E" >5.5-5 RightInverseLazy</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X800FA81F7C42BFEA" >5.5-6 Involution</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7D0D35B582D9C0B0" >5.5-7 TransposedMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7CF5CE79796001F6" >5.5-8 CertainRows</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X8256AF2A840B19C4" >5.5-9 CertainColumns</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7D6D0BDF854C9EBC" >5.5-10 UnionOfRows</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7FF9661D85EC46B1" >5.5-11 UnionOfColumns</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7E61390E79B663E8" >5.5-12 ConvertRowToMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X853EA6C87EDDF6EF" >5.5-13 ConvertColumnToMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7ED5C86379A647F2" >5.5-14 ConvertMatrixToRow</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X84C7C1D07DB6FBAA" >5.5-15 ConvertMatrixToColumn</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7C7830BE847D84B4" >5.5-16 DiagMat</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7CDA5D848468A0AA" >5.5-17 KroneckerMat</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7ECF744B7DE82BED" >5.5-18 DualKroneckerMat</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7D1A074278B415BE" ><code >5.5-19 \*</code ></a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X87C773DA85B21ADF" ><code >5.5-20 \+</code ></a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X784B57617B24208C" ><code >5.5-21 \-</code ></a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7F5961D78754157B" ><code >5.5-22 \*</code ></a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7E2074A77AFF518A" ><code >5.5-23 \=</code ></a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X85887BBB86F0A08B" >5.5-24 GetColumnIndependentUnitPositions</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X824AB44184DD63B0" >5.5-25 GetRowIndependentUnitPositions</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7A1969A17979FC49" >5.5-26 GetUnitPosition</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X781B1C0C80529B09" >5.5-27 Eliminate</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X80ADBE0D82CC6E85" >5.5-28 BasisOfRowModule</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X868CDA327D6C8DDC" >5.5-29 BasisOfColumnModule</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7F851EC7861170D1" >5.5-30 DecideZeroRows</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X86C97DBB787BAD6D" >5.5-31 DecideZeroColumns</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X86ECEA9B7A4AE578" >5.5-32 SyzygiesGeneratorsOfRows</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X86504B757F6DC990" >5.5-33 SyzygiesGeneratorsOfColumns</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X84A93458804F16F6" >5.5-34 SyzygiesGeneratorsOfRows</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7D3FC0CE7B63AAF1" >5.5-35 SyzygiesGeneratorsOfColumns</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X82E0FF517DC38040" >5.5-36 ReducedBasisOfRowModule</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X84CED11F7A633BDA" >5.5-37 ReducedBasisOfColumnModule</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7DE458D67B9B85BF" >5.5-38 ReducedSyzygiesGeneratorsOfRows</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X8699114D7A865C11" >5.5-39 ReducedSyzygiesGeneratorsOfColumns</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7D9DEC6081AF0003" >5.5-40 BasisOfRowsCoeff</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7BBC885F7C24DEC2" >5.5-41 BasisOfColumnsCoeff</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X8513963C84A9F8CB" >5.5-42 DecideZeroRowsEffectively</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7A06BF7779830815" >5.5-43 DecideZeroColumnsEffectively</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X81ABDA3E7D94C661" >5.5-44 BasisOfRows</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X83A5B51980FFDE53" >5.5-45 BasisOfColumns</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X85C980288304B4AC" >5.5-46 DecideZero</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X86C93ABD857447F8" >5.5-47 SyzygiesOfRows</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X80325CAD7CE56F4F" >5.5-48 SyzygiesOfColumns</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X86A798D4850BF9E8" >5.5-49 ReducedSyzygiesOfRows</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X8766BBD578557D15" >5.5-50 ReducedSyzygiesOfColumns</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X850AEC9C7C00AFF5" >5.5-51 RightDivide</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7D0EAF527F8514E0" >5.5-52 LeftDivide</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7A8546EA87E3AE67" >5.5-53 RightDivide</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X86CEB1FC7C358777" >5.5-54 LeftDivide</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X86DFDD25824E2F35" >5.5-55 SafeRightDivide</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X85B64BD47F0379C5" >5.5-56 SafeLeftDivide</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7F6BAF8E7F2343EA" >5.5-57 UniqueRightDivide</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X8788CB987A8A18A7" >5.5-58 UniqueLeftDivide</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X82B2C4987D6D5BD3" >5.5-59 GenerateSameRowModule</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X867A947682754A9A" >5.5-60 GenerateSameColumnModule</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X81CDBBBE878DC1E5" >5.5-61 SimplifyHomalgMatrixByLeftAndRightMultiplicationWithInvertibleMatrices</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X85DA10C07E7E5A3D" >5.5-62 SimplifyHomalgMatrixByLeftMultiplicationWithInvertibleMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X79C124318588F37F" >5.5-63 SimplifyHomalgMatrixByRightMultiplicationWithInvertibleMatrix</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7EEFD7887E96714F" >5.5-64 CoefficientsWithGivenMonomials</a></span >
</div ></div >
</div >
<h3>5 <span class="Heading" >Matrices</span ></h3>
<p><a id="X78C552687FF14479" name="X78C552687FF14479" ></a></p>
<h4>5.1 <span class="Heading" >Matrices: Category and Representations</span ></h4>
<p><a id="X7B68E1057F5F011F" name="X7B68E1057F5F011F" ></a></p>
<h5>5.1-1 IsHomalgMatrix</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ IsHomalgMatrix</code >( <var class="Arg" >A</var > )</td ><td class="tdright" >( category )</td ></tr ></table ></div >
<p>Returns: <code class="code" >true</code > or <code class="code" >false</code ></p>
<p>The <strong class="pkg" >GAP</strong > category of <strong class="pkg" >homalg</strong > matrices.</p>
<div class="example" ><pre >
DeclareCategory( "IsHomalgMatrix" ,
IsMatrixObj and
IsAttributeStoringRep );
</pre ></div >
<p><a id="X7FE94FC47F460E35" name="X7FE94FC47F460E35" ></a></p>
<h5>5.1-2 IsHomalgInternalMatrixRep</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ IsHomalgInternalMatrixRep</code >( <var class="Arg" >A</var > )</td ><td class="tdright" >( representation )</td ></tr ></table ></div >
<p>Returns: <code class="code" >true</code > or <code class="code" >false</code ></p>
<p>The internal representation of <strong class="pkg" >homalg</strong > matrices.</p>
<p>(It is a representation of the <strong class="pkg" >GAP</strong > category <code class="func" >IsHomalgMatrix</code > (<a href="chap5.html#X7B68E1057F5F011F" ><span class="RefLink" >5.1-1</span ></a>).)</p>
<p><a id="X7977387186436CDF" name="X7977387186436CDF" ></a></p>
<h4>5.2 <span class="Heading" >Matrices: Constructors</span ></h4>
<p><a id="X86D290B084AC6638" name="X86D290B084AC6638" ></a></p>
<h5>5.2-1 HomalgInitialMatrix</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ HomalgInitialMatrix</code >( <var class="Arg" >m</var >, <var class="Arg" >n</var >, <var class="Arg" >R</var > )</td ><td class="tdright" >( function )</td ></tr ></table ></div >
<p>Returns: a <strong class="pkg" >homalg</strong > matrix</p>
<p>A mutable unevaluated initial <span class="SimpleMath" ><var class="Arg" >m</var > × <var class="Arg" >n</var ></span > <strong class="pkg" >homalg</strong > matrix filled with zeros over the <strong class="pkg" >homalg</strong > ring <var class="Arg" >R</var >. This construction is useful in case one wants to define a matrix by assigning its nonzero entries. The property <code class="func" >IsInitialMatrix</code > (<a href="chap5.html#X7E6E51517822CB3F" ><span class="RefLink" >5.3-26</span ></a>) is reset as soon as the matrix is evaluated. New computed properties or attributes of the matrix won't be cached, until the matrix is explicitly made immutable using (--> MakeImmutable (Reference 12.6-4 )).
<div class="example" ><pre >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >zz := HomalgRingOfIntegers( );</span >
Z
<span class="GAPprompt" >gap></span > <span class="GAPinput" >z := HomalgInitialMatrix( 2, 3, zz );</span >
<An initial 2 x 3 matrix over an internal ring>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >HasIsZero( z );</span >
false
<span class="GAPprompt" >gap></span > <span class="GAPinput" >IsZero( z );</span >
true
<span class="GAPprompt" >gap></span > <span class="GAPinput" >z;</span >
<A 2 x 3 mutable matrix over an internal ring>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >HasIsZero( z );</span >
false
</pre ></div >
<div class="example" ><pre >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >n := HomalgInitialMatrix( 2, 3, zz );</span >
<An initial 2 x 3 matrix over an internal ring>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >n[ 1, 1 ] := "1" ;;</span >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >n[ 2, 3 ] := "1" ;;</span >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >MakeImmutable( n );</span >
<A 2 x 3 matrix over an internal ring>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >Display( n );</span >
[ [ 1, 0, 0 ],
[ 0, 0, 1 ] ]
<span class="GAPprompt" >gap></span > <span class="GAPinput" >IsZero( n );</span >
false
<span class="GAPprompt" >gap></span > <span class="GAPinput" >n;</span >
<A non-zero 2 x 3 matrix over an internal ring>
</pre ></div >
<p><a id="X7CB77009868D369A" name="X7CB77009868D369A" ></a></p>
<h5>5.2-2 HomalgInitialIdentityMatrix</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ HomalgInitialIdentityMatrix</code >( <var class="Arg" >m</var >, <var class="Arg" >R</var > )</td ><td class="tdright" >( function )</td ></tr ></table ></div >
<p>Returns: a <strong class="pkg" >homalg</strong > matrix</p>
<p>A mutable unevaluated initial <span class="SimpleMath" ><var class="Arg" >m</var > × <var class="Arg" >m</var ></span > <strong class="pkg" >homalg</strong > quadratic matrix with ones on the diagonal over the <strong class="pkg" >homalg</strong > ring <var class="Arg" >R</var >. This construction is useful in case one wants to define an elementary matrix by assigning its off-diagonal nonzero entries. The property <code class="func" >IsInitialIdentityMatrix</code > (<a href="chap5.html#X7EE624707ACEC26E" ><span class="RefLink" >5.3-27</span ></a>) is reset as soon as the matrix is evaluated. New computed properties or attributes of the matrix won't be cached, until the matrix is explicitly made immutable using (--> MakeImmutable (Reference 12.6-4 )).
<div class="example" ><pre >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >zz := HomalgRingOfIntegers( );</span >
Z
<span class="GAPprompt" >gap></span > <span class="GAPinput" >id := HomalgInitialIdentityMatrix( 3, zz );</span >
<An initial identity 3 x 3 matrix over an internal ring>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >HasIsOne( id );</span >
false
<span class="GAPprompt" >gap></span > <span class="GAPinput" >IsOne( id );</span >
true
<span class="GAPprompt" >gap></span > <span class="GAPinput" >id;</span >
<A 3 x 3 mutable matrix over an internal ring>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >HasIsOne( id );</span >
false
</pre ></div >
<div class="example" ><pre >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >e := HomalgInitialIdentityMatrix( 3, zz );</span >
<An initial identity 3 x 3 matrix over an internal ring>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >e[ 1, 2 ] := "1" ;;</span >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >e[ 2, 1 ] := "-1" ;;</span >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >MakeImmutable( e );</span >
<A 3 x 3 matrix over an internal ring>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >Display( e );</span >
[ [ 1, 1, 0 ],
[ -1, 1, 0 ],
[ 0, 0, 1 ] ]
<span class="GAPprompt" >gap></span > <span class="GAPinput" >IsOne( e );</span >
false
<span class="GAPprompt" >gap></span > <span class="GAPinput" >e;</span >
<A 3 x 3 matrix over an internal ring>
</pre ></div >
<p><a id="X8309EB7B86953A23" name="X8309EB7B86953A23" ></a></p>
<h5>5.2-3 HomalgZeroMatrix</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ HomalgZeroMatrix</code >( <var class="Arg" >m</var >, <var class="Arg" >n</var >, <var class="Arg" >R</var > )</td ><td class="tdright" >( function )</td ></tr ></table ></div >
<p>Returns: a <strong class="pkg" >homalg</strong > matrix</p>
<p>An immutable unevaluated <span class="SimpleMath" ><var class="Arg" >m</var > × <var class="Arg" >n</var ></span > <strong class="pkg" >homalg</strong > zero matrix over the <strong class="pkg" >homalg</strong > ring <var class="Arg" >R</var >.</p>
<div class="example" ><pre >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >zz := HomalgRingOfIntegers( );</span >
Z
<span class="GAPprompt" >gap></span > <span class="GAPinput" >z := HomalgZeroMatrix( 2, 3, zz );</span >
<An unevaluated 2 x 3 zero matrix over an internal ring>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >Display( z );</span >
[ [ 0, 0, 0 ],
[ 0, 0, 0 ] ]
<span class="GAPprompt" >gap></span > <span class="GAPinput" >z;</span >
<A 2 x 3 zero matrix over an internal ring>
</pre ></div >
<p><a id="X83266B9D7BE740D8" name="X83266B9D7BE740D8" ></a></p>
<h5>5.2-4 HomalgIdentityMatrix</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ HomalgIdentityMatrix</code >( <var class="Arg" >m</var >, <var class="Arg" >R</var > )</td ><td class="tdright" >( function )</td ></tr ></table ></div >
<p>Returns: a <strong class="pkg" >homalg</strong > matrix</p>
<p>An immutable unevaluated <span class="SimpleMath" ><var class="Arg" >m</var > × <var class="Arg" >m</var ></span > <strong class="pkg" >homalg</strong > identity matrix over the <strong class="pkg" >homalg</strong > ring <var class="Arg" >R</var >.</p>
<div class="example" ><pre >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >zz := HomalgRingOfIntegers( );</span >
Z
<span class="GAPprompt" >gap></span > <span class="GAPinput" >id := HomalgIdentityMatrix( 3, zz );</span >
<An unevaluated 3 x 3 identity matrix over an internal ring>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >Display( id );</span >
[ [ 1, 0, 0 ],
[ 0, 1, 0 ],
[ 0, 0, 1 ] ]
<span class="GAPprompt" >gap></span > <span class="GAPinput" >id;</span >
<A 3 x 3 identity matrix over an internal ring>
</pre ></div >
<p><a id="X7D2E3472879E28AB" name="X7D2E3472879E28AB" ></a></p>
<h5>5.2-5 HomalgVoidMatrix</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ HomalgVoidMatrix</code >( [<var class="Arg" >m</var >, ][<var class="Arg" >n</var >, ]<var class="Arg" >R</var > )</td ><td class="tdright" >( function )</td ></tr ></table ></div >
<p>Returns: a <strong class="pkg" >homalg</strong > matrix</p>
<p>A void <span class="SimpleMath" ><var class="Arg" >m</var > × <var class="Arg" >n</var ></span > <strong class="pkg" >homalg</strong > matrix.</p>
<p><a id="X864ACCB08094F0B7" name="X864ACCB08094F0B7" ></a></p>
<h5>5.2-6 HomalgMatrix</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ HomalgMatrix</code >( <var class="Arg" >llist</var >, <var class="Arg" >R</var > )</td ><td class="tdright" >( function )</td ></tr ></table ></div >
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ HomalgMatrix</code >( <var class="Arg" >llist</var >, <var class="Arg" >m</var >, <var class="Arg" >n</var >, <var class="Arg" >R</var > )</td ><td class="tdright" >( function )</td ></tr ></table ></div >
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ HomalgMatrix</code >( <var class="Arg" >list</var >, <var class="Arg" >m</var >, <var class="Arg" >n</var >, <var class="Arg" >R</var > )</td ><td class="tdright" >( function )</td ></tr ></table ></div >
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ HomalgMatrix</code >( <var class="Arg" >str_llist</var >, <var class="Arg" >R</var > )</td ><td class="tdright" >( function )</td ></tr ></table ></div >
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ HomalgMatrix</code >( <var class="Arg" >str_list</var >, <var class="Arg" >m</var >, <var class="Arg" >n</var >, <var class="Arg" >R</var > )</td ><td class="tdright" >( function )</td ></tr ></table ></div >
<p>Returns: a <strong class="pkg" >homalg</strong > matrix</p>
<p>An immutable evaluated <span class="SimpleMath" ><var class="Arg" >m</var > × <var class="Arg" >n</var ></span > <strong class="pkg" >homalg</strong > matrix over the <strong class="pkg" >homalg</strong > ring <var class="Arg" >R</var >.</p>
<div class="example" ><pre >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >zz := HomalgRingOfIntegers( );</span >
Z
<span class="GAPprompt" >gap></span > <span class="GAPinput" >m := HomalgMatrix( [ [ 1, 2, 3 ], [ 4, 5, 6 ] ], zz );</span >
<A 2 x 3 matrix over an internal ring>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >Display( m );</span >
[ [ 1, 2, 3 ],
[ 4, 5, 6 ] ]
</pre ></div >
<div class="example" ><pre >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >m := HomalgMatrix( [ [ 1, 2, 3 ], [ 4, 5, 6 ] ], 2, 3, zz );</span >
<A 2 x 3 matrix over an internal ring>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >Display( m );</span >
[ [ 1, 2, 3 ],
[ 4, 5, 6 ] ]
</pre ></div >
<div class="example" ><pre >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >m := HomalgMatrix( [ 1, 2, 3, 4, 5, 6 ], 2, 3, zz );</span >
<A 2 x 3 matrix over an internal ring>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >Display( m );</span >
[ [ 1, 2, 3 ],
[ 4, 5, 6 ] ]
</pre ></div >
<div class="example" ><pre >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >m := HomalgMatrix( "[ [ 1, 2, 3 ], [ 4, 5, 6 ] ]" , zz );</span >
<A 2 x 3 matrix over an internal ring>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >Display( m );</span >
[ [ 1, 2, 3 ],
[ 4, 5, 6 ] ]
</pre ></div >
<div class="example" ><pre >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >m := HomalgMatrix( "[ [ 1, 2, 3 ], [ 4, 5, 6 ] ]" , 2, 3, zz );</span >
<A 2 x 3 matrix over an internal ring>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >Display( m );</span >
[ [ 1, 2, 3 ],
[ 4, 5, 6 ] ]
</pre ></div >
<p>It is nevertheless recommended to use the following form to create <strong class="pkg" >homalg</strong > matrices. This form can also be used to define external matrices. Since whitespaces (--> <a href="../../../doc/ref/chap4.html#X7C53CEFC8641B919" ><span class="RefLink" >Reference: Whitespaces</span ></a>) are ignored, they can be used as optical delimiters:</p>
<div class="example" ><pre >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >m := HomalgMatrix( "[ 1, 2, 3, 4, 5, 6 ]" , 2, 3, zz );</span >
<A 2 x 3 matrix over an internal ring>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >Display( m );</span >
[ [ 1, 2, 3 ],
[ 4, 5, 6 ] ]
</pre ></div >
<p>One can split the input string over several lines using the backslash character '\' to end each line</p>
<div class="example" ><pre >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >m := HomalgMatrix( "[ \
<
span class=
"GAPprompt" >></
span > <
span class=
"GAPinput" >1, 2, 3, \</
span >
<
span class=
"GAPprompt" >></
span > <
span class=
"GAPinput" >4, 5, 6 \</
span >
<
span class=
"GAPprompt" >></
span > <
span class=
"GAPinput" >]
", 2, 3, zz );
<A 2 x 3 matrix over an internal ring>
<
span class=
"GAPprompt" >gap></
span > <
span class=
"GAPinput" >Display( m );</
span >
[ [ 1, 2, 3 ],
[ 4, 5, 6 ] ]
</
pre ></
div >
<p><a id=
"X8246E1D17F96DAE7" name=
"X8246E1D17F96DAE7" ></a></p>
<h5>5.2-7 HomalgMatrixListList</h5>
<
div class=
"func" ><
table class=
"func" width=
"100%" ><
tr ><
td class=
"tdleft" ><
code class=
"func" >‣ Ho
malgMatrixListList</code >( <var class="Arg" >llist</var >, <var class="Arg" >m</var >, <var class="Arg" >n</var >, <var class="Arg" >R</var > )</td ><td class="tdright" >( function )</td ></tr ></table ></div >
<p>Returns: a <strong class="pkg" >homalg</strong > matrix</p>
<p>Special case of <code class="func" >HomalgMatrix</code > (<a href="chap5.html#X864ACCB08094F0B7" ><span class="RefLink" >5.2-6</span ></a>).</p>
<p><a id="X7B127B5584CD012D" name="X7B127B5584CD012D" ></a></p>
<h5>5.2-8 HomalgRowVector</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ HomalgRowVector</code >( <var class="Arg" >entries</var >, <var class="Arg" >nr_cols</var >, <var class="Arg" >R</var > )</td ><td class="tdright" >( function )</td ></tr ></table ></div >
<p>Returns: a <strong class="pkg" >homalg</strong > matrix</p>
<p>Special case of <code class="func" >HomalgMatrix</code > (<a href="chap5.html#X864ACCB08094F0B7" ><span class="RefLink" >5.2-6</span ></a>) for matrices with a single row. <var class="Arg" >entries</var > must be a list of ring elements.</p>
<p><a id="X871AF271843FF2B5" name="X871AF271843FF2B5" ></a></p>
<h5>5.2-9 HomalgColumnVector</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ HomalgColumnVector</code >( <var class="Arg" >entries</var >, <var class="Arg" >nr_rows</var >, <var class="Arg" >R</var > )</td ><td class="tdright" >( function )</td ></tr ></table ></div >
<p>Returns: a <strong class="pkg" >homalg</strong > matrix</p>
<p>Special case of <code class="func" >HomalgMatrix</code > (<a href="chap5.html#X864ACCB08094F0B7" ><span class="RefLink" >5.2-6</span ></a>) for matrices with a single column. <var class="Arg" >entries</var > must be a list of ring elements.</p>
<p><a id="X872D39C678D0C4AE" name="X872D39C678D0C4AE" ></a></p>
<h5>5.2-10 HomalgDiagonalMatrix</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ HomalgDiagonalMatrix</code >( <var class="Arg" >diag</var >, <var class="Arg" >R</var > )</td ><td class="tdright" >( function )</td ></tr ></table ></div >
<p>Returns: a <strong class="pkg" >homalg</strong > matrix</p>
<p>An immutable unevaluated diagonal <strong class="pkg" >homalg</strong > matrix over the <strong class="pkg" >homalg</strong > ring <var class="Arg" >R</var >. The diagonal consists of the entries of the list <var class="Arg" >diag</var >.</p>
<div class="example" ><pre >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >zz := HomalgRingOfIntegers( );</span >
Z
<span class="GAPprompt" >gap></span > <span class="GAPinput" >d := HomalgDiagonalMatrix( [ 1, 2, 3 ], zz );</span >
<An unevaluated diagonal 3 x 3 matrix over an internal ring>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >Display( d );</span >
[ [ 1, 0, 0 ],
[ 0, 2, 0 ],
[ 0, 0, 3 ] ]
<span class="GAPprompt" >gap></span > <span class="GAPinput" >d;</span >
<A diagonal 3 x 3 matrix over an internal ring>
</pre ></div >
<p><a id="X81225377833C4644" name="X81225377833C4644" ></a></p>
<h5><code >5.2-11 \*</code ></h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ \*</code >( <var class="Arg" >R</var >, <var class="Arg" >mat</var > )</td ><td class="tdright" >( operation )</td ></tr ></table ></div >
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ \*</code >( <var class="Arg" >mat</var >, <var class="Arg" >R</var > )</td ><td class="tdright" >( operation )</td ></tr ></table ></div >
<p>Returns: a <strong class="pkg" >homalg</strong > matrix</p>
<p>An immutable evaluated <strong class="pkg" >homalg</strong > matrix over the <strong class="pkg" >homalg</strong > ring <var class="Arg" >R</var > having the same entries as the matrix <var class="Arg" >mat</var >. Syntax: <var class="Arg" >R</var > <code class="code" >*</code > <var class="Arg" >mat</var > or <var class="Arg" >mat</var > <code class="code" >*</code > <var class="Arg" >R</var ></p>
<div class="example" ><pre >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >zz := HomalgRingOfIntegers( );</span >
Z
<span class="GAPprompt" >gap></span > <span class="GAPinput" >Z4 := zz / 4;</span >
Z/( 4 )
<span class="GAPprompt" >gap></span > <span class="GAPinput" >Display( Z4 );</span >
<A residue class ring>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >d := HomalgDiagonalMatrix( [ 2 .. 4 ], zz );</span >
<An unevaluated diagonal 3 x 3 matrix over an internal ring>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >d2 := Z4 * d; ## or d2 := d * Z4;</span >
<A 3 x 3 matrix over a residue class ring>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >Display( d2 );</span >
[ [ 2, 0, 0 ],
[ 0, 3, 0 ],
[ 0, 0, 4 ] ]
modulo [ 4 ]
<span class="GAPprompt" >gap></span > <span class="GAPinput" >d;</span >
<A diagonal 3 x 3 matrix over an internal ring>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >ZeroRows( d );</span >
[ ]
<span class="GAPprompt" >gap></span > <span class="GAPinput" >ZeroRows( d2 );</span >
[ 3 ]
<span class="GAPprompt" >gap></span > <span class="GAPinput" >d;</span >
<A non-zero diagonal 3 x 3 matrix over an internal ring>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >d2;</span >
<A non-zero 3 x 3 matrix over a residue class ring>
</pre ></div >
<p><a id="X7C4E49D287011DCD" name="X7C4E49D287011DCD" ></a></p>
<h5>5.2-12 CoercedMatrix</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ CoercedMatrix</code >( <var class="Arg" >ring_from</var >, <var class="Arg" >ring_to</var >, <var class="Arg" >mat</var > )</td ><td class="tdright" >( operation )</td ></tr ></table ></div >
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ CoercedMatrix</code >( <var class="Arg" >ring_to</var >, <var class="Arg" >mat</var > )</td ><td class="tdright" >( operation )</td ></tr ></table ></div >
<p>Returns: a <strong class="pkg" >homalg</strong > matrix</p>
<p>A copy of the <strong class="pkg" >homalg</strong > matrix <var class="Arg" >mat</var > with <strong class="pkg" >homalg</strong > ring <var class="Arg" >ring_from</var > in the <strong class="pkg" >homalg</strong > ring <var class="Arg" >ring_to</var >.</p>
<p>(for the installed standard method see <code class="func" >Eval</code > (<a href="chapC.html#X87BF7FD083D0EE88" ><span class="RefLink" >C.4-9</span ></a>))</p>
<p><a id="X7D92ECFC8030CF40" name="X7D92ECFC8030CF40" ></a></p>
<h4>5.3 <span class="Heading" >Matrices: Properties</span ></h4>
<p><a id="X858B5AF57D5BC90A" name="X858B5AF57D5BC90A" ></a></p>
<h5>5.3-1 IsZero</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ IsZero</code >( <var class="Arg" >A</var > )</td ><td class="tdright" >( property )</td ></tr ></table ></div >
<p>Returns: <code class="code" >true</code > or <code class="code" >false</code ></p>
<p>Check if the <strong class="pkg" >homalg</strong > matrix <var class="Arg" >A</var > is a zero matrix, taking possible ring relations into account.</p>
<p>(for the installed standard method see <code class="func" >IsZeroMatrix</code > (<a href="chapB.html#X849BB912798A01EB" ><span class="RefLink" >B.1-20</span ></a>))</p>
<div class="example" ><pre >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >zz := HomalgRingOfIntegers( );</span >
Z
<span class="GAPprompt" >gap></span > <span class="GAPinput" >A := HomalgMatrix( "[ 2 ]" , zz );</span >
<A 1 x 1 matrix over an internal ring>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >Z2 := zz / 2;</span >
Z/( 2 )
<span class="GAPprompt" >gap></span > <span class="GAPinput" >A := Z2 * A;</span >
<A 1 x 1 matrix over a residue class ring>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >Display( A );</span >
[ [ 2 ] ]
modulo [ 2 ]
<span class="GAPprompt" >gap></span > <span class="GAPinput" >IsZero( A );</span >
true
</pre ></div >
<p><a id="X814D78347858EC13" name="X814D78347858EC13" ></a></p>
<h5>5.3-2 IsOne</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ IsOne</code >( <var class="Arg" >A</var > )</td ><td class="tdright" >( property )</td ></tr ></table ></div >
<p>Returns: <code class="code" >true</code > or <code class="code" >false</code ></p>
<p>Check if the <strong class="pkg" >homalg</strong > matrix <var class="Arg" >A</var > is an identity matrix, taking possible ring relations into account.</p>
<p>(for the installed standard method see <code class="func" >IsIdentityMatrix</code > (<a href="chapB.html#X80C1856D82172268" ><span class="RefLink" >B.2-2</span ></a>))</p>
<p><a id="X7813653578F174AB" name="X7813653578F174AB" ></a></p>
<h5>5.3-3 IsUnitFree</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ IsUnitFree</code >( <var class="Arg" >A</var > )</td ><td class="tdright" >( property )</td ></tr ></table ></div >
<p>Returns: <code class="code" >true</code > or <code class="code" >false</code ></p>
<p><var class="Arg" >A</var > is a <strong class="pkg" >homalg</strong > matrix.</p>
<p><a id="X8612CB4A82D6D79E" name="X8612CB4A82D6D79E" ></a></p>
<h5>5.3-4 IsPermutationMatrix</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ IsPermutationMatrix</code >( <var class="Arg" >A</var > )</td ><td class="tdright" >( property )</td ></tr ></table ></div >
<p>Returns: <code class="code" >true</code > or <code class="code" >false</code ></p>
<p><var class="Arg" >A</var > is a <strong class="pkg" >homalg</strong > matrix.</p>
<p><a id="X7EEE3E9780EBA607" name="X7EEE3E9780EBA607" ></a></p>
<h5>5.3-5 IsSpecialSubidentityMatrix</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ IsSpecialSubidentityMatrix</code >( <var class="Arg" >A</var > )</td ><td class="tdright" >( property )</td ></tr ></table ></div >
<p>Returns: <code class="code" >true</code > or <code class="code" >false</code ></p>
<p><var class="Arg" >A</var > is a <strong class="pkg" >homalg</strong > matrix.</p>
<p><a id="X8672364D79EBCC5D" name="X8672364D79EBCC5D" ></a></p>
<h5>5.3-6 IsSubidentityMatrix</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ IsSubidentityMatrix</code >( <var class="Arg" >A</var > )</td ><td class="tdright" >( property )</td ></tr ></table ></div >
<p>Returns: <code class="code" >true</code > or <code class="code" >false</code ></p>
<p><var class="Arg" >A</var > is a <strong class="pkg" >homalg</strong > matrix.</p>
<p><a id="X7EF95CAD78BDE12F" name="X7EF95CAD78BDE12F" ></a></p>
<h5>5.3-7 IsLeftRegular</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ IsLeftRegular</code >( <var class="Arg" >A</var > )</td ><td class="tdright" >( property )</td ></tr ></table ></div >
<p>Returns: <code class="code" >true</code > or <code class="code" >false</code ></p>
<p><var class="Arg" >A</var > is a <strong class="pkg" >homalg</strong > matrix.</p>
<p><a id="X87C369D27D6AAF68" name="X87C369D27D6AAF68" ></a></p>
<h5>5.3-8 IsRightRegular</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ IsRightRegular</code >( <var class="Arg" >A</var > )</td ><td class="tdright" >( property )</td ></tr ></table ></div >
<p>Returns: <code class="code" >true</code > or <code class="code" >false</code ></p>
<p><var class="Arg" >A</var > is a <strong class="pkg" >homalg</strong > matrix.</p>
<p><a id="X856E1D217A47EE8C" name="X856E1D217A47EE8C" ></a></p>
<h5>5.3-9 IsInvertibleMatrix</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ IsInvertibleMatrix</code >( <var class="Arg" >A</var > )</td ><td class="tdright" >( property )</td ></tr ></table ></div >
<p>Returns: <code class="code" >true</code > or <code class="code" >false</code ></p>
<p><var class="Arg" >A</var > is a <strong class="pkg" >homalg</strong > matrix.</p>
<p><a id="X7A4FA27C80BC42D1" name="X7A4FA27C80BC42D1" ></a></p>
<h5>5.3-10 IsLeftInvertibleMatrix</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ IsLeftInvertibleMatrix</code >( <var class="Arg" >A</var > )</td ><td class="tdright" >( property )</td ></tr ></table ></div >
<p>Returns: <code class="code" >true</code > or <code class="code" >false</code ></p>
<p><var class="Arg" >A</var > is a <strong class="pkg" >homalg</strong > matrix.</p>
<p><a id="X7E43FDE57E8449B6" name="X7E43FDE57E8449B6" ></a></p>
<h5>5.3-11 IsRightInvertibleMatrix</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ IsRightInvertibleMatrix</code >( <var class="Arg" >A</var > )</td ><td class="tdright" >( property )</td ></tr ></table ></div >
<p>Returns: <code class="code" >true</code > or <code class="code" >false</code ></p>
<p><var class="Arg">A</var> is a <strong class="pkg">homalg</strong> matrix.</p>
<p><a id="X7BFC9266823F2C15" name="X7BFC9266823F2C15"></a></p>
<h5>5.3-12 IsEmptyMatrix</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsEmptyMatrix</code>( <var class="Arg">A</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p><var class="Arg">A</var> is a <strong class="pkg">homalg</strong> matrix.</p>
<p><a id="X7EEC8E768178696E" name="X7EEC8E768178696E"></a></p>
<h5>5.3-13 IsDiagonalMatrix</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsDiagonalMatrix</code>( <var class="Arg">A</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p>Check if the <strong class="pkg">homalg</strong> matrix <var class="Arg">A</var> is a diagonal matrix, taking possible ring relations into account.</p>
<p>(for the installed standard method see <code class="func">IsDiagonalMatrix</code> (<a href="chapB.html#X7B6420E88418316B"><span class="RefLink">B.2-3</span></a>))</p>
<p><a id="X7848E6A0783B7428" name="X7848E6A0783B7428"></a></p>
<h5>5.3-14 IsScalarMatrix</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsScalarMatrix</code>( <var class="Arg">A</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p><var class="Arg">A</var> is a <strong class="pkg">homalg</strong> matrix.</p>
<p><a id="X8740E71C799C0BCC" name="X8740E71C799C0BCC"></a></p>
<h5>5.3-15 IsUpperTriangularMatrix</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsUpperTriangularMatrix</code>( <var class="Arg">A</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p><var class="Arg">A</var> is a <strong class="pkg">homalg</strong> matrix.</p>
<p><a id="X853A5B988306DBFE" name="X853A5B988306DBFE"></a></p>
<h5>5.3-16 IsLowerTriangularMatrix</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLowerTriangularMatrix</code>( <var class="Arg">A</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p><var class="Arg">A</var> is a <strong class="pkg">homalg</strong> matrix.</p>
<p><a id="X7976C42B7FA905EC" name="X7976C42B7FA905EC"></a></p>
<h5>5.3-17 IsStrictUpperTriangularMatrix</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsStrictUpperTriangularMatrix</code>( <var class="Arg">A</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p><var class="Arg">A</var> is a <strong class="pkg">homalg</strong> matrix.</p>
<p><a id="X7B0C78AF8056D650" name="X7B0C78AF8056D650"></a></p>
<h5>5.3-18 IsStrictLowerTriangularMatrix</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsStrictLowerTriangularMatrix</code>( <var class="Arg">A</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p><var class="Arg">A</var> is a <strong class="pkg">homalg</strong> matrix.</p>
<p><a id="X81A2C3F67C99A3C2" name="X81A2C3F67C99A3C2"></a></p>
<h5>5.3-19 IsUpperStairCaseMatrix</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsUpperStairCaseMatrix</code>( <var class="Arg">A</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p><var class="Arg">A</var> is a <strong class="pkg">homalg</strong> matrix.</p>
<p><a id="X7B3A5DE1860373F0" name="X7B3A5DE1860373F0"></a></p>
<h5>5.3-20 IsLowerStairCaseMatrix</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLowerStairCaseMatrix</code>( <var class="Arg">A</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p><var class="Arg">A</var> is a <strong class="pkg">homalg</strong> matrix.</p>
<p><a id="X7BAAE75A8660D7A5" name="X7BAAE75A8660D7A5"></a></p>
<h5>5.3-21 IsTriangularMatrix</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsTriangularMatrix</code>( <var class="Arg">A</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p><var class="Arg">A</var> is a <strong class="pkg">homalg</strong> matrix.</p>
<p><a id="X7F520F89821A8602" name="X7F520F89821A8602"></a></p>
<h5>5.3-22 IsBasisOfRowsMatrix</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsBasisOfRowsMatrix</code>( <var class="Arg">A</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p><var class="Arg">A</var> is a <strong class="pkg">homalg</strong> matrix.</p>
<p><a id="X7D46613983DC5302" name="X7D46613983DC5302"></a></p>
<h5>5.3-23 IsBasisOfColumnsMatrix</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsBasisOfColumnsMatrix</code>( <var class="Arg">A</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p><var class="Arg">A</var> is a <strong class="pkg">homalg</strong> matrix.</p>
<p><a id="X86445AD281024339" name="X86445AD281024339"></a></p>
<h5>5.3-24 IsReducedBasisOfRowsMatrix</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsReducedBasisOfRowsMatrix</code>( <var class="Arg">A</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p><var class="Arg">A</var> is a <strong class="pkg">homalg</strong> matrix.</p>
<p><a id="X7E6BB540865C0344" name="X7E6BB540865C0344"></a></p>
<h5>5.3-25 IsReducedBasisOfColumnsMatrix</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsReducedBasisOfColumnsMatrix</code>( <var class="Arg">A</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p><var class="Arg">A</var> is a <strong class="pkg">homalg</strong> matrix.</p>
<p><a id="X7E6E51517822CB3F" name="X7E6E51517822CB3F"></a></p>
<h5>5.3-26 IsInitialMatrix</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsInitialMatrix</code>( <var class="Arg">A</var> )</td><td class="tdright">( filter )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p><var class="Arg">A</var> is a <strong class="pkg">homalg</strong> matrix.</p>
<p><a id="X7EE624707ACEC26E" name="X7EE624707ACEC26E"></a></p>
<h5>5.3-27 IsInitialIdentityMatrix</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsInitialIdentityMatrix</code>( <var class="Arg">A</var> )</td><td class="tdright">( filter )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p><var class="Arg">A</var> is a <strong class="pkg">homalg</strong> matrix.</p>
<p><a id="X802794217F56DE51" name="X802794217F56DE51"></a></p>
<h5>5.3-28 IsVoidMatrix</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsVoidMatrix</code>( <var class="Arg">A</var> )</td><td class="tdright">( filter )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p><var class="Arg">A</var> is a <strong class="pkg">homalg</strong> matrix.</p>
<p><a id="X86F766077C89558F" name="X86F766077C89558F"></a></p>
<h4>5.4 <span class="Heading">Matrices: Attributes</span></h4>
<p><a id="X7C72971F7D0CA3C8" name="X7C72971F7D0CA3C8"></a></p>
<h5>5.4-1 NumberRows</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ NumberRows</code>( <var class="Arg">A</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a nonnegative integer</p>
<p>The number of rows of the matrix <var class="Arg">A</var>.</p>
<p>(for the installed standard method see <code class="func">NumberRows</code> (<a href="chapB.html#X7F4D7FAF821DA1C2"><span class="RefLink">B.1-21</span></a>))</p>
<p><a id="X847D45BF7F2BC67C" name="X847D45BF7F2BC67C"></a></p>
<h5>5.4-2 NumberColumns</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ NumberColumns</code>( <var class="Arg">A</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a nonnegative integer</p>
<p>The number of columns of the matrix <var class="Arg">A</var>.</p>
<p>(for the installed standard method see <code class="func">NumberColumns</code> (<a href="chapB.html#X7DFA534B7AFA2E17"><span class="RefLink">B.1-22</span></a>))</p>
<p><a id="X83045F6F82C180E1" name="X83045F6F82C180E1"></a></p>
<h5>5.4-3 DeterminantMat</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DeterminantMat</code>( <var class="Arg">A</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a ring element</p>
<p>The determinant of the quadratic matrix <var class="Arg">A</var>.</p>
<p>You can invoke it with <code class="code">Determinant</code>( <var class="Arg">A</var> ).</p>
<p>(for the installed standard method see <code class="func">Determinant</code> (<a href="chapB.html#X80A573257D7F2E1A"><span class="RefLink">B.1-23</span></a>))</p>
<p><a id="X828225E0857B1FDA" name="X828225E0857B1FDA"></a></p>
<h5>5.4-4 ZeroRows</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ZeroRows</code>( <var class="Arg">A</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a (possibly empty) list of positive integers</p>
<p>The list of zero rows of the matrix <var class="Arg">A</var>.</p>
<p>(for the installed standard method see <code class="func">ZeroRows</code> (<a href="chapB.html#X872B70367F412945"><span class="RefLink">B.2-4</span></a>))</p>
<p><a id="X870D761F7AB96D12" name="X870D761F7AB96D12"></a></p>
<h5>5.4-5 ZeroColumns</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ZeroColumns</code>( <var class="Arg">A</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a (possibly empty) list of positive integers</p>
<p>The list of zero columns of the matrix <var class="Arg">A</var>.</p>
<p>(for the installed standard method see <code class="func">ZeroColumns</code> (<a href="chapB.html#X7A469E6D7EA63BB6"><span class="RefLink">B.2-5</span></a>))</p>
<p><a id="X7991ED337C73065A" name="X7991ED337C73065A"></a></p>
<h5>5.4-6 NonZeroRows</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ NonZeroRows</code>( <var class="Arg">A</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a (possibly empty) list of positive integers</p>
<p>The list of nonzero rows of the matrix <var class="Arg">A</var>.</p>
<p><a id="X7F335DCB7B8781E4" name="X7F335DCB7B8781E4"></a></p>
<h5>5.4-7 NonZeroColumns</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ NonZeroColumns</code>( <var class="Arg">A</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a (possibly empty) list of positive integers</p>
<p>The list of nonzero columns of the matrix <var class="Arg">A</var>.</p>
<p><a id="X7B7A073D7E1FAEA4" name="X7B7A073D7E1FAEA4"></a></p>
<h5>5.4-8 PositionOfFirstNonZeroEntryPerRow</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ PositionOfFirstNonZeroEntryPerRow</code>( <var class="Arg">A</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a list of nonnegative integers</p>
<p>The list of positions of the first nonzero entry per row of the matrix <var class="Arg">A</var>, else zero.</p>
<p><a id="X83B389A97A703E42" name="X83B389A97A703E42"></a></p>
<h5>5.4-9 PositionOfFirstNonZeroEntryPerColumn</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ PositionOfFirstNonZeroEntryPerColumn</code>( <var class="Arg">A</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a list of nonnegative integers</p>
<p>The list of positions of the first nonzero entry per column of the matrix <var class="Arg">A</var>, else zero.</p>
<p><a id="X862841E68674FA2A" name="X862841E68674FA2A"></a></p>
<h5>5.4-10 RowRankOfMatrix</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ RowRankOfMatrix</code>( <var class="Arg">A</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a nonnegative integer</p>
<p>The row rank of the matrix <var class="Arg">A</var>.</p>
<p><a id="X7C61862E81CABD51" name="X7C61862E81CABD51"></a></p>
<h5>5.4-11 ColumnRankOfMatrix</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ColumnRankOfMatrix</code>( <var class="Arg">A</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a nonnegative integer</p>
<p>The column rank of the matrix <var class="Arg">A</var>.</p>
<p><a id="X7EFCE38281AE60F9" name="X7EFCE38281AE60F9"></a></p>
<h5>5.4-12 LeftInverse</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LeftInverse</code>( <var class="Arg">M</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a <strong class="pkg">homalg</strong> matrix</p>
--> --------------------
--> maximum size reached
--> --------------------
quality 100%
¤ Dauer der Verarbeitung: 0.33 Sekunden
(vorverarbeitet)
¤
*© Formatika GbR, Deutschland