mxnet-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Zach Boldyga (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (MXNET-1350) Cholesky factorization: matrix inversion, determinant, logdeterminant
Date Sun, 10 Mar 2019 19:58:00 GMT

     [ https://issues.apache.org/jira/browse/MXNET-1350?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Zach Boldyga updated MXNET-1350:
--------------------------------
    Description: 
MXNet already includes a routine for Cholesky factorization, and allows for matrix inversion
using this factorization.

The determinant and log determinant are straightforward to calculate using the Cholesky factorization,
but MXNet does not provide a way to compute the determinant or log determinant. 

This issue was reported and upvoted by the community: [https://github.com/apache/incubator-mxnet/issues/14360] .
A reference was made to Torch, which includes routines for the inverse, determinant, and log
determinant.

I'd like to implement the following changes:
 # Provide a single, clear API endpoint for calculating matrix inversion. e.g. mxnet.ndarray.linalg.inverse.
This can be in addition to the existing endpoints, which may still be useful to some users.
It will be simple to implement; a merger of the two existing ops (potrf, potri - used to calculate
the Cholesky factorization and then calculate the inversion using that factorization). But
currently it's confusing for users to discover that MXNet actually supports matrix inversion,
and it's a two step process.
 # Add an API endpoint for calculating the matrix determinant. e.g. mxnet.ndarray.linalg.det.
This would run Cholesky factorization internally, then use the resultant triangular matrix
to simplify the determinant calculation.
 # Add an API endpoint for calculating the log determinant of the input matrix. e.g. mxnet.ndarray.linalg.logdet.
Similar to #2, but it may be as simple as combining cholesky factorization and sumlogdiag
internally. 

Overall, this is just piecing together of other existing linear algebra operations and clarifying
the documentation so that users can access these operations without having to have a deeper
understanding of linear algebra.

I can open a PR as soon as someone reviews this, just let me know if a different approach
is preferred or if there are any specifics I should be careful about in regards to implementation.
Thanks!

  was:
MXNet already includes a routine for Cholesky factorization, and allows for matrix inversion
using this factorization.

The determinant and log determinant are straightforward to calculate using the Cholesky factorization,
but MXNet does not provide a way to compute the determinant or log determinant. 

This issue was reported and upvoted by the community: [https://github.com/apache/incubator-mxnet/issues/14360] .
A reference was made to Torch, which includes routines for the inverse, determinant, and log
determinant.

I'd like to implement the following changes:
 # Provide a single, clear API endpoint for calculating matrix inversion. e.g. mxnet.ndarray.linalg.inverse.
This can be in addition to the existing endpoints, which may still be useful to some users.
It will be simple to implement; a merger of the two existing ops. But currently it's confusing
for users to discover that MXNet actually supports matrix inversion, and it's a two step process.
 # Add an API endpoint for calculating the matrix determinant. e.g. mxnet.ndarray.linalg.det.
This would run Cholesky factorization internally, then use the resultant triangular matrix
to simplify the determinant calculation.
 # Add an API endpoint for calculating the log determinant of the input matrix. e.g. mxnet.ndarray.linalg.logdet.
Similar to #2, but it may be as simple as combining cholesky factorization and sumlogdiag
internally. 

Overall, this is just piecing together of other existing linear algebra operations and clarifying
the documentation so that users can access these operations without having to have a deeper
understanding of linear algebra.

I can open a PR as soon as someone reviews this, just let me know if a different approach
is preferred or if there are any specifics I should be careful about in regards to implementation.
Thanks!


> Cholesky factorization: matrix inversion, determinant, logdeterminant
> ---------------------------------------------------------------------
>
>                 Key: MXNET-1350
>                 URL: https://issues.apache.org/jira/browse/MXNET-1350
>             Project: Apache MXNet
>          Issue Type: New Feature
>          Components: Apache MXNet Backend
>            Reporter: Zach Boldyga
>            Priority: Minor
>
> MXNet already includes a routine for Cholesky factorization, and allows for matrix inversion
using this factorization.
> The determinant and log determinant are straightforward to calculate using the Cholesky
factorization, but MXNet does not provide a way to compute the determinant or log determinant. 
> This issue was reported and upvoted by the community: [https://github.com/apache/incubator-mxnet/issues/14360] .
A reference was made to Torch, which includes routines for the inverse, determinant, and log
determinant.
> I'd like to implement the following changes:
>  # Provide a single, clear API endpoint for calculating matrix inversion. e.g. mxnet.ndarray.linalg.inverse.
This can be in addition to the existing endpoints, which may still be useful to some users.
It will be simple to implement; a merger of the two existing ops (potrf, potri - used to calculate
the Cholesky factorization and then calculate the inversion using that factorization). But
currently it's confusing for users to discover that MXNet actually supports matrix inversion,
and it's a two step process.
>  # Add an API endpoint for calculating the matrix determinant. e.g. mxnet.ndarray.linalg.det.
This would run Cholesky factorization internally, then use the resultant triangular matrix
to simplify the determinant calculation.
>  # Add an API endpoint for calculating the log determinant of the input matrix. e.g.
mxnet.ndarray.linalg.logdet. Similar to #2, but it may be as simple as combining cholesky
factorization and sumlogdiag internally. 
> Overall, this is just piecing together of other existing linear algebra operations and
clarifying the documentation so that users can access these operations without having to have
a deeper understanding of linear algebra.
> I can open a PR as soon as someone reviews this, just let me know if a different approach
is preferred or if there are any specifics I should be careful about in regards to implementation.
Thanks!



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@mxnet.apache.org
For additional commands, e-mail: issues-help@mxnet.apache.org


Mime
View raw message