Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: tf.linalg.solve #467

Closed
antoniotorres opened this issue Jun 25, 2018 · 12 comments
Closed

Feature Request: tf.linalg.solve #467

antoniotorres opened this issue Jun 25, 2018 · 12 comments

Comments

@antoniotorres
Copy link

Are there plans to include tf.linalg.solve as part of tensflow.js core?
Also known as: tf.matrix_solve

TF Docs: https://www.tensorflow.org/api_docs/python/tf/matrix_solve

@nsthorat
Copy link
Contributor

No plans right now, but happy to take contributions!

@caisq
Copy link
Contributor

caisq commented Jun 27, 2018

@antoniotorres Just curious, what is your use case for this function?

@antoniotorres
Copy link
Author

@caisq I'm implementing an RBF interpolation.

@kedevked
Copy link
Contributor

kedevked commented Aug 14, 2018

I have just implemented a method to get the determinant of a matrix using the Jordan-Gauss method here. It can be used to solve a linear problem of A * X = B. The method tf.linalg.solve that needs to be implemented will take an array of [A, ...] and [B, ...] matrixes and then will compute the array [S, ...] where each A * S = B. I will work on it if no one has done it yet. Could you please tell here if you're working on it already? Thanks !

@antoniotorres
Copy link
Author

Hey @kedevked I haven't worked on it.

@kedevked
Copy link
Contributor

Thanks @antoniotorres for letting me know. @nsthorat and @dsmilkov , could you please let us know if you have already worked on this issue ?

@nsthorat
Copy link
Contributor

We have not, @kedevked! The only thing I would say is it would be good to try to mimic with TensorFlow python does in terms of API and functionality.

@kedevked
Copy link
Contributor

@nsthorat thanks for your reply. I have started to implement the Jordan Gauss method. As you suggested, we need to be compliant with the python version. There is an adjoint parameter in the signature of the method. I only need to implement that. Everything is here. I will greatly appreciate your feedback as I am implementing this feature. Thanks!

@Gurpreetsingh9465
Copy link
Contributor

can i work on this issue 😃

@bileschi
Copy link
Contributor

Please, feel welcome to contribute!

@nsthorat
Copy link
Contributor

I think we should hold off on this issue -- we're going to thinking about what a linear algebra package in JS would look like holistically.

@Gurpreetsingh9465
Copy link
Contributor

@nsthorat sir, i am trying to implement linalgebra module in typescript.

these are some of the functions i decided to put in this module. sir, can you suggest some additional functions or these are enough.

  1. linalg.cholesky(a)
  2. linalg.svd(a[,full_matrices,compute_uv])
  3. linalg.eig(a)
  4. linalg.eigvals(a)
  5. linalg.norm(x[,ord,axis,keepdims])
  6. linalg.cond(x[,p])
  7. linalg.det(a)
  8. linalg.matrix_rank(M[,tol,hermitian])
  9. linalg.slogdet(a)
  10. trace(a[,offset,axis1,axis2,dtype,out])
  11. linalg.pca(a,n_components)
  12. linalg.solve(a,b)
  13. linalg.tensorsolve(a,b[,axes])
  14. linalg,lstsq(a,b[,rcond])
  15. linalg.inv(a)
  16. linalg.pinv(a[,rcond])

out of these i had implemented

  1. solve
  2. pca
  3. inv
  4. eigvals
  5. det
  6. slog det
  7. trace
  8. det

should i do a PR regarding this. 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants