<?xml version="1.0" encoding="UTF-8"?>
<Appendix Label="Debugging">
<Heading>Debugging &MatricesForHomalg;</Heading>
Beside the &GAP; builtin debugging facilities (&see;
<Ref Sect="Debugging and Profiling Facilities" BookName="Reference"/>) &MatricesForHomalg; provides two
ways to debug the computations.
<Section Label="SetAssertionLevel">
<Heading>Increase the assertion level</Heading>
&MatricesForHomalg; comes with numerous builtin assertion checks. They are
activated if the user increases the assertion level using <Br/><Br/>
<C>SetAssertionLevel</C>( <A>level</A> ); <Br/><Br/>
(&see; <Ref Sect="SetAssertionLevel" BookName="Reference"/>), where
<A>level</A> is one of the values below:
<Table Align="l|l">
<Row>
<Item><A>level</A></Item>
<Item>description</Item>
</Row>
<HorLine/>
<Row><Item></Item><Item></Item></Row>
<Row>
<Item>0</Item>
<Item>no assertion checks whatsoever</Item>
</Row>
<Row><Item></Item><Item></Item></Row>
<Row>
<Item>4</Item>
<Item>assertions about basic matrix operations are checked (&see;
Appendix <Ref Chap="Basic_Operations"/>)</Item>
</Row>
<Row>
<Item></Item>
<Item>(these are among the operations often delegated to external systems)</Item>
</Row>
<Row><Item></Item><Item></Item></Row>
<HorLine/>
</Table>
In particular, if &MatricesForHomalg; delegates matrix operations to an external
system then <C>SetAssertionLevel</C>( 4 ); can be used to let &MatricesForHomalg;
debug the external system. <Br/><Br/>
<#Include Label="asserts">
</Section>
<Section Label="using homalgMode">
<Heading><C>Using homalgMode</C></Heading>
<#Include Label="homalgMode">
</Section>
</Appendix>