types/Matrix.Types.ps1xml

<?xml version="1.0" encoding="utf-8" ?>
<Types>
    <Type>
        <Name>Prelude.Matrix</Name>
        <Members>
            <ScriptMethod>
                <Name>Add</Name>
                <Script>
                    [Prelude.Matrix]::Add($this, $args[0])
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>Adj</Name>
                <Script>
                    [Prelude.Matrix]::Adj($this)
                </Script>
            </ScriptMethod>
            <ScriptProperty>
                <Name>Columns</Name>
                <GetScriptBlock>
                    [Prelude.Matrix]::Transpose($this).Rows
                </GetScriptBlock>
            </ScriptProperty>
            <ScriptMethod>
                <Name>Det</Name>
                <Script>
                    if ($this.IsSquare()) {
                      [Prelude.Matrix]::Det($this)
                    } else {
                      'ERROR: Determinant can only be calculated for square matrices' | Write-Color -Red
                    }
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>Dot</Name>
                <Script>
                    [Prelude.Matrix]::Dot($this, $args[0])
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>Inverse</Name>
                <Script>
                    [Prelude.Matrix]::Invert($this)
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>Multiply</Name>
                <Script>
                    [Prelude.Matrix]::Multiply($this, $args[0])
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>Trace</Name>
                <Script>
                    [Prelude.Matrix]::Trace($this)
                </Script>
            </ScriptMethod>
            <ScriptMethod>
                <Name>Transpose</Name>
                <Script>
                    [Prelude.Matrix]::Transpose($this)
                </Script>
            </ScriptMethod>
        </Members>
    </Type>
</Types>