-
Notifications
You must be signed in to change notification settings - Fork 13
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
Add support for tensor network forms (bilinear and quadratic) #136
Conversation
Codecov ReportAttention:
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## main #136 +/- ##
=======================================
Coverage 73.24% 73.25%
=======================================
Files 68 70 +2
Lines 4033 4101 +68
=======================================
+ Hits 2954 3004 +50
- Misses 1079 1097 +18 ☔ View full report in Codecov by Sentry. |
@JoeyT1994 you marked a number of comments as resolved but then I don't see the corresponding changes made. |
@mtfishman I think something has gone out of sync with Github because they are resolved on my local machine. I think it keeps using .jl files from |
@JoeyT1994 anything left to do here besides changing the directory |
I don't think so, at least for now. Just trying to change the folder name, git is very strange about renaming case sensitive things so I think I need to use some extra commands |
Okay renaming dealt with |
Looks good. I think this already takes us pretty close to being able to use general tensor networks in |
This PR adds the
BilinearForm
andQuadraticForm
types along with theAbstractForm
We define an
AbstractForm
to be of the structure<x|A|y>
wherex
,y
are Tensor Network States andA
is a Tensor Network Operator. TheAbstractForm
contains the mapping from the vertices of the original states to their names in theForm
, along with the mapping from the vector space to the dual space.The
BilinearForm
is the generic case wherex
,y
andA
are all distinct and constructors are defined for this case.The
QuadraticForm
is the case whenx
andy
are identical and the constructor definitions reflect that. In this case functions likegradient(qf::QuadraticForm, state_vertices::Vector)
are defined for getting the derivative of theqf
with respect to the vertices of the original statex
.A short series of tests are included.