📄 group__gdsl__perm.html
字号:
<td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Convert a linear permutation to its canonical form. <p>Convert the linear permutation P to its canonical form. The resulted canonical permutation is placed into Q without modifying P.<p><dl compact><dt><b>Note:</b></dt><dd>Complexity: O( |P| ) </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>P & Q must be valids gdsl_perm_t & |P| == |Q| & P != Q </dd></dl><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>Q</em> </td><td>The canonical form of P </td></tr> <tr><td valign="top"></td><td valign="top"><em>P</em> </td><td>The linear permutation used to compute its canonical form into Q </td></tr> </table></dl><dl compact><dt><b>Returns:</b></dt><dd>the canonical form Q of the permutation P. </dd></dl><dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gdsl__perm.html#g648a4fc1929f159a58e3e768fa0396ae">gdsl_perm_canonical_to_linear()</a> </dd></dl> </td> </tr></table><a class="anchor" name="g648a4fc1929f159a58e3e768fa0396ae"></a><!-- doxytag: member="gdsl_perm.h::gdsl_perm_canonical_to_linear" ref="g648a4fc1929f159a58e3e768fa0396ae" args="(gdsl_perm_t Q, const gdsl_perm_t P)" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__perm.html#gd6fc9c69f61c5703242070522910bea8">gdsl_perm_t</a> gdsl_perm_canonical_to_linear </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__perm.html#gd6fc9c69f61c5703242070522910bea8">gdsl_perm_t</a> </td> <td class="mdname" nowrap> <em>Q</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>const <a class="el" href="group__gdsl__perm.html#gd6fc9c69f61c5703242070522910bea8">gdsl_perm_t</a> </td> <td class="mdname" nowrap> <em>P</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Convert a canonical permutation to its linear form. <p>Convert the canonical permutation P to its linear form. The resulted linear permutation is placed into Q without modifying P.<p><dl compact><dt><b>Note:</b></dt><dd>Complexity: O( |P| ) </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>P & Q must be valids gdsl_perm_t & |P| == |Q| & P != Q </dd></dl><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>Q</em> </td><td>The linear form of P </td></tr> <tr><td valign="top"></td><td valign="top"><em>P</em> </td><td>The canonical permutation used to compute its linear form into Q </td></tr> </table></dl><dl compact><dt><b>Returns:</b></dt><dd>the linear form Q of the permutation P. </dd></dl><dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gdsl__perm.html#gd015b546ff3bad397617661869a1fcfb">gdsl_perm_linear_to_canonical()</a> </dd></dl> </td> </tr></table><a class="anchor" name="gefadbcc1a7b7182da1f54f7d10db3d2b"></a><!-- doxytag: member="gdsl_perm.h::gdsl_perm_inverse" ref="gefadbcc1a7b7182da1f54f7d10db3d2b" args="(gdsl_perm_t P)" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__perm.html#gd6fc9c69f61c5703242070522910bea8">gdsl_perm_t</a> gdsl_perm_inverse </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__perm.html#gd6fc9c69f61c5703242070522910bea8">gdsl_perm_t</a> </td> <td class="mdname1" valign="top" nowrap> <em>P</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Inverse in place a permutation. <p><dl compact><dt><b>Note:</b></dt><dd>Complexity: O( |P| ) </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>P must be a valid gdsl_perm_t </dd></dl><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>P</em> </td><td>The permutation to invert </td></tr> </table></dl><dl compact><dt><b>Returns:</b></dt><dd>the inverse permutation of P in case of success. <p>NULL in case of insufficient memory. </dd></dl><dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gdsl__perm.html#g1db013c30cc84b004344fd1269614845">gdsl_perm_reverse()</a> </dd></dl> </td> </tr></table><a class="anchor" name="g1db013c30cc84b004344fd1269614845"></a><!-- doxytag: member="gdsl_perm.h::gdsl_perm_reverse" ref="g1db013c30cc84b004344fd1269614845" args="(gdsl_perm_t P)" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__perm.html#gd6fc9c69f61c5703242070522910bea8">gdsl_perm_t</a> gdsl_perm_reverse </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__perm.html#gd6fc9c69f61c5703242070522910bea8">gdsl_perm_t</a> </td> <td class="mdname1" valign="top" nowrap> <em>P</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Reverse in place a permutation. <p><dl compact><dt><b>Note:</b></dt><dd>Complexity: O( |P| / 2 ) </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>P must be a valid gdsl_perm_t </dd></dl><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>P</em> </td><td>The permutation to reverse </td></tr> </table></dl><dl compact><dt><b>Returns:</b></dt><dd>the mirror image of the permutation P </dd></dl><dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gdsl__perm.html#gefadbcc1a7b7182da1f54f7d10db3d2b">gdsl_perm_inverse()</a> </dd></dl> </td> </tr></table><a class="anchor" name="ge98151cfcded6cf6d4a66374db5c4714"></a><!-- doxytag: member="gdsl_perm.h::gdsl_perm_randomize" ref="ge98151cfcded6cf6d4a66374db5c4714" args="(gdsl_perm_t P)" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__perm.html#gd6fc9c69f61c5703242070522910bea8">gdsl_perm_t</a> gdsl_perm_randomize </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__perm.html#gd6fc9c69f61c5703242070522910bea8">gdsl_perm_t</a> </td> <td class="mdname1" valign="top" nowrap> <em>P</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Randomize a permutation. <p>The permutation P is randomized in an efficient way, using inversions array.<p><dl compact><dt><b>Note:</b></dt><dd>Complexity: O( |P| ) </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>P must be a valid gdsl_perm_t </dd></dl><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>P</em> </td><td>The permutation to randomize </td></tr> </table></dl><dl compact><dt><b>Returns:</b></dt><dd>the mirror image ~P of the permutation of P in case of success. <p>NULL in case of insufficient memory. </dd></dl> </td> </tr></table><a class="anchor" name="gf03dc9a6539bf9dca426858db7f55b51"></a><!-- doxytag: member="gdsl_perm.h::gdsl_perm_apply_on_array" ref="gf03dc9a6539bf9dca426858db7f55b51" args="(gdsl_element_t *V, const gdsl_perm_t P)" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__types.html#g0e2b9d7fb5ca9e6d50100e5d9e4bcae7">gdsl_element_t</a>* gdsl_perm_apply_on_array </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__types.html#g0e2b9d7fb5ca9e6d50100e5d9e4bcae7">gdsl_element_t</a> * </td> <td class="mdname" nowrap> <em>V</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>const <a class="el" href="group__gdsl__perm.html#gd6fc9c69f61c5703242070522910bea8">gdsl_perm_t</a> </td> <td class="mdname" nowrap> <em>P</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -