latexify_py
latexify_py copied to clipboard
Showing some special arrays
Ref: #78
We can also support showing some special array functions as a fixed, well-known form. For example, ndarray.zeros((2, 3))
--> $\mathbf{0}$ or $\mathbf{0}^{2 \times 3}$
Similar:
np.eye(N, M=None, k=0)
--> $I_N$
np.identity(N)
--> $I_N$
I will do this once i figure out CI/CD on my other PR.
Once NDArray support is done, we can do the same for np.transpose()
and np.inv()
etc. as well
What is the best place to check for function names for this issue? Should this be done in the function_expander.py
file following #132 or should it be checked in visit_Call
in function_codegen.py
following #118 ?
@Casper-Guo If you are planning to implement this on FunctionExpander
, function_expander_test.py
is the best place I think.
Sorry I didn’t meant checking as in writing test cases. I was asking where best to extract numpy function names and generate the appropriate Latex. The two linked PRs seem to do this in different files
We will have a PR ready for this within the week
Cc: @lakeblair
@odashi I just created a pull request for this feature. I wasn't too sure the best place to implement this feature so I added them to visit_call() in function_codegen.py. Could you review?
@LakeBlair I checked it now. Overall it looks great, but it also requires some refactoring to support complete syntax and error handling. If you are okay, I will fix remaining things on behalf of you.
@odashi I added a generalization for np.zeros function, please check my most recent commit. Additionally, for your second bullet point
I think these processes don't work if the subtree has unexpected syntax. It usually happens when users gave other functions with the same name. As the AST varies, we basically need complete check of the underlying structure of the given subtree.
I‘d love to implement a complete check for the subtree structure. Do you know in which file(s) I can find a similar example for such implementation?
Okay, let's move onto the pull request to continue the discussion.