# FortranMatrixFunctionCategoryΒΆ

FortranMatrixFunctionCategory provides support for producing Functions and Subroutines representing matrices of expressions.

- coerce: % -> OutputForm
- from CoercibleTo OutputForm

- coerce: FortranCode -> %
`coerce(e)`

takes an object from FortranCode and uses it as the body of an ASP.

- coerce: List FortranCode -> %
`coerce(e)`

takes an object from List FortranCode and uses it as the body of an ASP.

- coerce: Record(localSymbols: SymbolTable, code: List FortranCode) -> %
`coerce(e)`

takes the component of`e`

from List FortranCode and uses it as the body of the ASP, making the declarations in the SymbolTable component.- outputAsFortran: % -> Void
- from FortranProgramCategory

- retract: Matrix Expression Float -> %
`retract(e)`

tries to convert`e`

into an ASP, checking that legal Fortran-77 is produced.

- retract: Matrix Expression Integer -> %
`retract(e)`

tries to convert`e`

into an ASP, checking that legal Fortran-77 is produced.

- retract: Matrix Fraction Polynomial Float -> %
`retract(e)`

tries to convert`e`

into an ASP, checking that legal Fortran-77 is produced.

- retract: Matrix Fraction Polynomial Integer -> %
`retract(e)`

tries to convert`e`

into an ASP, checking that legal Fortran-77 is produced.

- retract: Matrix Polynomial Float -> %
`retract(e)`

tries to convert`e`

into an ASP, checking that legal Fortran-77 is produced.

- retract: Matrix Polynomial Integer -> %
`retract(e)`

tries to convert`e`

into an ASP, checking that legal Fortran-77 is produced.

- retractIfCan: Matrix Expression Float -> Union(%, failed)
`retractIfCan(e)`

tries to convert`e`

into an ASP, checking that legal Fortran-77 is produced.

- retractIfCan: Matrix Expression Integer -> Union(%, failed)
`retractIfCan(e)`

tries to convert`e`

into an ASP, checking that legal Fortran-77 is produced.

- retractIfCan: Matrix Fraction Polynomial Float -> Union(%, failed)
`retractIfCan(e)`

tries to convert`e`

into an ASP, checking that legal Fortran-77 is produced.

- retractIfCan: Matrix Fraction Polynomial Integer -> Union(%, failed)
`retractIfCan(e)`

tries to convert`e`

into an ASP, checking that legal Fortran-77 is produced.

- retractIfCan: Matrix Polynomial Float -> Union(%, failed)
`retractIfCan(e)`

tries to convert`e`

into an ASP, checking that legal Fortran-77 is produced.

- retractIfCan: Matrix Polynomial Integer -> Union(%, failed)
`retractIfCan(e)`

tries to convert`e`

into an ASP, checking that legal Fortran-77 is produced.