1,201 karma · joined February 8, 2013
I'd really like to support LaTeX in multiple ways throughout the app, and have plans to build a feature to automate the animation of equations. There is also another planned feature to try and create an integration with sympy[1], and it's likely there will be some overlap between the sympy and latex stuff. I don't think there is a good way to automate exporting functions to LaTeX, even using sympy, because its not 1-1 (not sure though).
I think having the kind of visual environment math inspector offers has a lot of potential when it comes to computational PDE's. At some point I want to draw the Lorenz attractor, which is something that probably won't work very nicely with the current plotting system in the app. It would also be amazing to do fluid dynamics simulations, but that is a really huge job for sure.
At the end of wrapping up the beta version, I was using math inspector to create math inspector, this is how I wrote the TextParser[1] class, and there is a certain beauty to the way the files were synchronized, but since everything was still in development I finished up by running a test file from the command line instead, and have not had a chance to keep working on that aspect.
I think the more the app gets dog-fooded in this way, the more clear it will become what the optimal UI/UX is. Math Inspector is not an IDE, but it does create an additional visual layer that is kind of helpful during development, especially for quickly testing/iterating any changes
[1] https://github.com/MathInspector/MathInspector/blob/master/m...
Feel free to ask me any questions or request new features.
Everything is still very much in active development and it would be amazing if anyone is interested in contributing the source code[1]. I just took a few days of rest and am gearing up to begin posting a bunch of math education video's on my youtube channel using all the new features which I built just for that purpose. I will be adding new features as I need them during the video creation process. Most importantly, coming soon there is going to be a feature to export animations to mp4.
Using tuple/list for points/lines makes it easy to plot points and lines at the same time, with a single function call, without any nasty keyword arguments.
For example
>>> plot((0,0), (1,1), [(0,0),(1,1)])
The other reason was it makes the code a lot nicer in some places. I tried using a keyword argument at first and there was a lot of additional logic to keep track of.
I have considered doing a similar project for javascript, but I had assumed it would require an entire new codebase for each programming language given how different every language is under the hood.
EDIT: problem should be fixed now. I have just uploaded a new windows build to the website and pushed the changes to master on GitHub. Tested it on my windows machine and it looks like the fix is working properly. Re-downloading the installer file and installing again should resolve the issue.
If you follow the instructions in the install.sh[1] script (which is for doing VM testing with Vagrant), it should hopefully be simple to install from the source code on your system.
https://github.com/MathInspector/MathInspector/blob/master/i...
I try to stick to 80 but often times find the code is more readable when some particular lines are longer than 80. I dont see any reason to impose an arbitrary historical constraint when it will make the code harder to understand.
How did I do?
Please see this recent HN post from today which is extremely relevant: https://news.ycombinator.com/item?id=22839035
Also please consider that in newtonian mechanics the potential energy of interaction assumes an instantaneous propagation of signals between 2 particles, and there is no issue in practice with this approximation, because the speed of light is so large compared to the time scales of macroscopic phenomenon. The ideas we have been discussing is the same type of regime where its an asymptotic limit, and where these types of assumptions are quite physical and very realistic.
I have been working so hard for the past 3 weeks on a generalization of John Conways The Game of Life and he just died so I am pretty emotional right now.
I'm sorry we had to come to this point, where you have provided enough information for me to continue my work, but had to have such a confrontational fight over who understands the theory of relativity better. I can assure you, I understand the point you are making about the speed of light.
Let me remind you, the constant speed of light is only constant in a vacuum. In air the speed is not the same as water, and gravitational fields can bend the path of light.
I hope in the future we can have a physics discussion as equals instead of getting into a fight when I have been crying over the death of one of my absolute greatest personal heroes
I was very intrigued that you were using relativistic arguments to support your point of view. I thought this was a very insightful approach and assumed you knew what I meant by "speed of light in the human body"
In [1]Landau volume 2 on the theory of relativity, chapter 1, section 1, it states:
"experminent shows that instantaneous interactions do not exist in nature. Thus a mechanics based on the instantaneous propagation of interactions contains within itself a certain inaccuracy"
The entire theory of relativity, which forms the basis of your arguments involving the speed of light as far as the real world is concerned, involves this concept of maximum limiting velocity very seriously.
You can speak, and the sound travels at the speed of sound. In many parts of physics, there is a "speed of X" based on the properties of the medium.
I don't appreciate you talking down to me about the theory of relativity, or the physics of light. I don't think you appreciate that I am a serious experimental and theoretical physicists and have published papers on my original research in PLR on applications of bio-physics to experimental nanotechnology.
> That short summary appears to violate the conservation of energy.
Because the cells in the human body consume protien for energy. Both of my parents are biologists and research scientists so thats where I learned about all of this.
> Can you point to any of the evidence? Especially evidence which shows it's unbounded?
I explicitly stated in my previous question (direct quote)
"I believe you have made an extremely strong point about the speed of light and the nature of the reasons this kind of approach needs to be bounded in a strong form or else will clearly not work"
I guess you didn't read that?
> Your analogy doesn't support the ability to add new CPUs, only new objects.
Thanks for all your help. Your condescending attitude is not helpful anymore. I think you are being very close minded and I have appreciated your point of view and we can agree to disagree
[1] https://books.google.com/books?id=X18PF4oKyrUC&printsec=fron...
I think it's ok to call a limiting maximum velocity for the transmission of signals by definition "the speed of light in the human body". Your point is well taken about the actual speed of light and how fast the nervous system works
> I don't know what that means. Exponent in what dimension? Time? What's the exponent? Do you have any demonstrable evidence?
I meant exponential in time, and yes I have evidence. It's theoretical physics energy calculations I did on the work done according to the principles of theoretical physics as a result of cell self-replication. (Consider a single particle to have kinetic energy 1/2mv^2, and then allow for self replicating particles) What I did was read a lot of biology text books and look at the experimental evidence of how the human body actually works. Hopefully I didn't make any major mistakes in these calculations, but to me its quite clear that all of the experimental evidence has tended to show that the human nervous system is capable of expending an exponential amount of energy in time
> Again, I don't follow. > I am not aware of humans being able to solve NP-hard problems in polynomial time
I understand the nature of your objection to involve arguments about the nature of this being unrealistic. I have tried to show why I believe this is quite realistic, and explain why I feel so strongly this is a practical question for a computer program I am writing so I can figure out the best way to design the software.
When I said "not also a major issue for the human nervous system?" what I meant was this:
Make an analogy where the human brain is a master CPU, and it has an object oriented programming language where each cell is an Object, and self replication is the new operator.
I felt like your objections about "not being realistic" could be objected to on the basis that these ideas come from physics and have real world applications in engineering for a new type of self-replicating 3d printer. In my view, it would be rather useful to further develop the theory of these types of systems
I believe you have made an extremely strong point about the speed of light and the nature of the reasons this kind of approach needs to be bounded in a strong form or else will clearly not work
Hope that clears it up!
I am working on a very fun project making a 3d computer game in unity, its got a beautiful user interface where you can play with the parameters of a single self reproducing machine and it lands on a fake planet and you can do (fake/simulated) physics experiments with imaginary "programmable self-replicating 3d printers" and its all running a physics simulation of what a real planet might be like, but you can adjust these parameters in the game too.
It's inspired by John Conway's The Game of Life. It's quite fun! I believe I have discovered an infinite family of new 3-dimensional self reproducing machines, and own the website selfreproducingmachines.com for the purpose of releasing this game as a free open source program when its finished
Thank you so much for keeping me in line and helping me with these ideas. It means so much to me.
I did not post on this website so heavily because I didn't want to be mercilessly dragged by people like eesmith who know much more about this than me
I have many questions about a "fake math" theory I made up, where its kind of like theoretical physics, but its about the mathematical theory of life, evolution, dna; but from first principles
I have discovered the existence of mathematical laws which relate the properties of the environment, and the local encoding of a single self reproducing programmable machine, and the way these types of systems tend to evolve
Clearly, I am very likely making a large number of conceptual mistakes at this time. This is the purpose for my posting these articles on here. Any advice is most welcome
Issue: I carried out theoretical physics energy calculations on the work done by cells as a result of cell self-replication in the human nervous system (recall the nervous system primarily functions to send signals at ~the speed of light from one part of the body to another)
The thing I am unable to get past for arguments of the type you made, e.g. when you stated:
> "There are fewer than 10 billion people in the world. That's a finite number. Even a quadratic problem remains quadratic if there is a bounded number of compute resources"
The issue is: the human body does not completely fall apart, it all works fine and there are no issues like this, there is some kind of bound from being a physical object in the real world, but physically and quite practically for all purposes the human nervous system is capable of expending an exponential amount of energy
Question: Since the human body does not fall apart despite the fact that its doing cell self-replication, given how theoretical physics shows there truly is an exponential level of energy expended during cell-replication, how are these types of issues that you raise, quite legitimately from a pure-math/theoretical comp-sci perspective, not also a major issue for the human nervous system?
Thanks again! This discussion has been enlightening
Good question! Since you have already corrected one of my mistakes, I don't want to start off by disagreeing lol
In my head, this is just a silly word problem, the purpose of which is to show the mathematical theory of computation requires a new axiom
Here is a map which describes my idea:
Party with infinite number of mathematicians --> theory of computation
a mathematician --> Turing Machine
getting a new piece of paper --> a new axiom that gives Turing Machines a new self-replication feature
According to this new theory of computation which I am trying to invent, and which I have named The Theory of Self Reproducing Machines, it would not be an issue that "because the number of new people you can reach within a minute goes from quadratic towards linear"
As a counter example to your idea: consider twitter and the abstract concept of a social network graph where it's quite possible to send messages instantly for all practical purposes
Curious for your thoughts
I only care about the execution time for my research purposes. See this Math SE post where I explain this algorithm as a people type algorithm system. Curious for your thoughts?
___ Imagine there is a party with an infinite number of mathematicians at it, and I walk up to my friend with the following instructions:
"every 1 minute, find 1 person at the party who has not been told this message yet, and repeat this message to them"
It's clear that after N minutes, provided these instructions are followed exactly, there will be 2^N people who have heard this message.
I will now describe an algorithm which can solve the boolean satisfiability in N variables in N minutes.
1 - find 2 people at the party, hand one of them a paper that says "True" and another a paper which says "False" and has a boolean expression on it
2 - tell them these instructions "in 1 minute, find 2 people at the party who have not been told this message yet, and repeat this message to them, give 1 of these people your paper but add True to the list, find a new piece of paper and copy over the list + expression from the paper I gave you, but add False to the list"
3 - after N minutes, whoever has a piece of paper in their hands has to compute the solution of the boolean expression (we are assuming since all the people at the party are mathematicians, they can all check this in less than 30 seconds) and if its solvable they have to shout out "ITS SOLVABLE EVERYONE"
Then given any boolean expression involving N variables, I can use this algorithm to solve the boolean satisfiability problem in N minutes and 30 seconds
i watched that video briefly and skipped around, it looked like it was based on cellular automata? I have never heard of this specific application, but am aware this type of application is possible for them. Cellular automata were used by John Conway in the game of life, and I have studied this subject pretty deeply and this is a major source of inspiration for what I am doing now
It's very important to to me that this is free, there are already other tools out there that cost a lot of money, and the math software problem won't go away until there is a free tool on the market. My hope is that Math Inspector will be that tool.
Without being allowed to compare a given engine to a theoretically optimal one which is based on brute forcing the full game tree, and being careful about the problem statement, I suspect it would be possible to prove something along these lines
I would argue something like: "Gods evaluation function" takes as input a chess position and returns whether the position is a forced win, lose, or draw. The rules of chess are so complicated that to go from a continuous evaluation function to a discrete one like that would require an infinite number of steps (this last statement is the one that needs to fleshed out)
I will stop calling it a theorem until I remember why I started calling it that. This situation exists in many non-linear optimization problems, a subject I find really interesting, and in many cases in practice there is no way to decide if a given solution is optimal. For some reason I thought there was a theorem in non-linear optimization theory that was directly relevant here
Chess theory is "always getting better". This is because chess has the property that the skill curve is so extreme and the game so deep that it is seemingly always possible to continue to improve and find new ideas.
Chess engines play a fundamental role in modern human chess. There is a causal relationship between the state of the art in chess engines and the play styles of the top pro's. This is because better engines can find new idea's in positions previously thought to be completely explored. It happened recently with an alphazero game in a spectacular way iirc
There is a theorem which says that given any chess engine, it's impossible to decide if that chess engine is playing in an optimal way. So when you say "in terms of the likelihood of being the best-performing entity at that game", I think its important to be very precise about what we mean, even though in spirit I agree with that statement =)
I started working on a project to build a chess engine that is specifically designed to beat other chess engines by playing in a non-optimal way specifically tailored to find and exploit bugs in the opposing chess engine code/flaws in its algorithm.
I also once proved that any chess engine based on the principles of stockfish will necessarily contain positions where it can be exploited into making bad moves. If you fixed the algorithm to make it not exploitable in that specific position, the theorem says there would exist another position where it would be exploitable. This is what I call the theory of "exploitative chess engines" (in the sense of maximizing the possible gain), as opposed to ones which attempt to play in an "optimal" way (minimizing the maximum loss)
In fact, I have done a lot of research into chess engine theory and believe flaws in the stockfish algorithm directly contrubute to the "boring" chess we see today, since all pros use engines to train now. The old engines cant see lines that alphazero sees which involve long term positional sacrifices, and use a linear evaluation function which in principle can never capture the strong non linearities inherenit in chess. (alphazero uses a non linear evaluation function, which is its nueral net)
Considered as a mathematical space, the universe of possible chess strategies is an extremely large order of infinity. There are also many aspects of time management in relation to the computational complexity of the position which modern engines dont model at all.
I believe that modern engines are overly materialistic and that aggresive positional sacrficies in the style of Tal and alphazero are the future of chess strategy for humans