My name is Dave Vellante and I'm a long-time industry analyst. So when you're as old as I am, you've seen a lot of transitions. Everybody talks about industry cycles and waves. I've seen many, many waves. Met a lot of industry executives and have a little bit of an industry historian. When you interview many thousands of people, probably five or six thousand people, as I have over the last half of a decade, you get to interact with a lot of people's knowledge and you begin to develop patterns. So that's sort of what I bring is an ability to catalyze the conversation and share that knowledge with others in the community. Our philosophy is everybody's expert at something. Everybody's passionate about something and has real deep knowledge about that something. Well, we want to focus in on that area and extract that knowledge and share it with our communities. This is Dave Vellante. Thanks for watching The Cube.


Hi. My name's Derek Kozell and I'm going to be talking about math, physics and SDR. I apologize for the lack of math in this, but I will try and compensate using the whiteboard a bit. And thankfully, resources on the Internet cover most of that quite well, and I'll have links at the end in the notes for people who really do want to dive into that. So my main points are going to be talking about noise, DC offset, IQ imbalance, intermodulation distortion, the type of effects that you see that are kind of inevitable as a result of physics when you're dealing with software-defined radio in the real world. A lot of people have this perception when they're coming at this from a communications background, from a math background that a software-defined radio is this magical device which will translate what's in the air into bits with absolutely no effect in the middle, effectively acting as a black box between you and the electromagnetic spectrum. Unfortunately, you crack open this lid of the black box and you end up seeing that there's a lot of effects which contribute to distortion and degrading your signal as you're receiving it. I will focus on the receive side of things, but all of these effects do end up affecting the transmit side as well. They just tend to be a little bit harder to demonstrate. So my background, why should you listen to me at all? I'm an electrical engineer with a background also in software. I work at Edis Research doing the drivers for their SDRs. And very, very recently, as of this week, I'm part of the new radio project leadership and we'll be spinning up and contributing more and more to the code over the next year. And what got me into radio originally was becoming an amateur radio operator and my two call signs are up there. I live in Wales and will be integrating new radio into the amateur radio training programs there, which will be great fun. So starting off, noise. What is noise? It's that annoying floor that you get whenever you're looking at your spectrum. As devices heat up, the electrons within them just bounce around. And this is your base thermal noise. It defines the absolute limit of how small of a signal you can detect. What's interesting is with math you can end up extracting below that, but fundamentally if you're just looking at your spectrum, you're going to end up with this noise floor at the bottom. Additionally, we have all sorts of devices. If you look at a spectrum in this room right now at 2.4 gigahertz, the noise floor is going to be about here and if you don't have a 30 watt amplifier, your signal is going to be down here. We just have so many other devices that are radiating into the spectrum. So that's what's out in the air. However, once you start receiving that signal into your radio, there's a whole bunch of devices in between your antenna port and the ADC, and including the ADC in fact, that are going to contribute noise of their own. And so this is what the noise figure measurement ends up calculating and representing. And I'll throw up a flow graph in a minute that starts demonstrating that. Fundamentally what we see is as the signal passes through these different components, even if it's just a simple attenuator, that attenuator is going to add the thermal noise and it's going to reduce the amplitude of the signal. And so your signal to noise floor ratio is going to reduce. And the noise figure ends up capturing that. So if you had a 3 dB attenuator, your signal to noise ratio is going to drop by 3 dB as you pass through that. So yeah, resistors and attenuators contribute to the noise. What's much more interesting is when you start looking at amplifiers, you think of an amplifier, you've got a low level signal, you've got some noise.  And one of the reasons why we want to do that is that your ADC may have a minimum detectable level just because of how it's architected. But a lot of the time it's because you have an attenuator way out in a field, you want to amplify the signal before it runs through a bunch of coax.  The problem is that that amplifier itself is going to have some internal noise. And so when you look at an amplifier, you'll see 30 dB of gain, a noise figure of 3 dB. What does that actually end up meaning if I have some chalk? Alright, so if we're looking at over-frequency power, you have some input signal somewhere. And then you have the noise floor sitting on top of it. Let's reduce this a bit so I have some room. So say that's your original signal. And then you pass it through an amplifier, and it's going to amplify, you know, by this much. So we're getting, you know, say 10 dB of amplification there. Great. The noise floor, so I'll also try standing on this side so I'm not at least standing in the middle there. The noise floor is also going to be amplified by 10 dB. Simply because the amplifier has no concept of what's the signal and what's your noise. Everything is going to be universally lifted up. But there's also going to be some internal noise which is contributed. Let's say this is a pretty good low-noise amplifier. You get a 1 dB increase there. Now, that's the end effect here. So your SNR has been reduced by 1 dB. And that's what the noise figure ends up representing. How do you measure this? You can get calibrated noise sources. And these plug into your device, and they will, when turned on, add a specific amount of noise to your signal. So you can get them, the standard ones are 6 and 15 dB of excessive noise ratio. And that's basically saying if you plug this in and turn it on, it will raise your, it will contribute that much noise power to your signal. That won't necessarily raise the noise floor by that much, but it'll contribute that much power above thermal noise to it. And so the end result, and I'll switch whiteboards just so you each, both sides get equally bad math here. You can do a y-factor test. And that ends up just being a ratio of the power with the noise, the noise source turned on versus the noise source turned off. And because we're expecting to be a positive value, the larger value, or greater than one value, it'll be, you know, P with it on over P with it off. And depending on, and the reason why you would select a lower or higher excessive noise ratio is that the uncertainty of your measurement generally increases with the higher ENR sources. So you want to pick basically as low as possible. Now the limit is that you can't measure a noise figure that's more than about 1.2, 1.5 times your ENR. So if you have a very low noise amplifier, you pick the 6 dB, nice results. If you use the 15 dB, you'll just get a little bit of a less accurate result. They make specialized ones if, for some reason, your device has like a 40 dB noise figure. But that tends not to be designed. Now if you're using an SDR, an important thing to realize is that when they say, oh, we've got a fantastic noise figure of like 2 dB at your frequency of interest, that's going to be with the maximum gain turned on. For every dB of gain that you decrease from there, you're going to raise your noise figure. And it's not always by 1 dB. So this means that you have an interesting opportunity to optimize your signal-to-noise ratio. If you have a very strong signal, you can turn down your gain a bit and still get a good noise figure. But you're generally going to want to end up asking the manufacturer if they have these plots or generate them yourself using a noise figure setup. I was hoping to be able to show a flow graph that was actually running that was measuring this live. Unfortunately, I didn't get that development done and working. But on the GNU Radio mailing list just in the last two days, somebody posted up that they had actually gotten a full working setup and were using it within their company. So I've sent them an email asking if they plan on releasing it. If not, then I do have a half working setup and we'll be posting that up on the mailing list and hopefully getting it up on GitHub and sharing it in the next month or so. So here's where I believe I have a flow graph. So this flow graph is quite simple and it's going to be a very similar flow graph for each of the other distortions that I show. We just have a basic signal source and interestingly this doesn't have an infinite signal to noise ratio because of the limited precision of a floating point number. I had a flow graph that does show that but it ended up not showing what I was expecting. So to not lie to you, I'm not going to present that one. And then I've added in noise here because every real world signal is going to have some noise. This noise level I believe is about negative 150 dB so you're getting an exceptionally good dynamic range but at least it looks like a real world signal. Adding them together and putting it through a throttle because I don't have any hardware in line. Just out of interest, who here has never used GNU radio? Okay, a few people. So GNU radio. This is a flow graph and it basically does what it looks like. The signal is passing in the direction that the arrows go. So we've added these two signals together. The throttle just prevents it from running at an infinite sample rate. So we're limiting to one mega sample per second complex which is what the blue is representing so we're going to end up with a complex signal here. So here I have a frequency sync. We're going to see an FFT plot. It has two inputs and we're doing 4096 bins. The original signal with just a little bit of noise is passing directly through on the top and on the bottom I'm multiplying in order to simulate an amplifier's gain and then contributing noise afterwards to simulate the noise figure. So here we can see the original plot and the impaired plot. The signals on the top, if I can zoom in well enough, we see there's about a 10 dB gain occurring here and we can see that the noise floor has risen as well and if the noise floor is zero we would expect this to be about a 10 dB difference, turn up the averaging and we see about 10 dB. I turn down the averaging a bit. So if we increase the noise figure by a lot or none, apologies, there's an error in my flow graph. We would expect this noise floor to rise excessively. Unfortunately that's not working. I've got 10 minutes so I'll move on. So you can use the y-factor method and measure the noise floor into there and in order to convert between E and R, the photo didn't show up. This is the final equation to take the y-factor and the E and R of your source and get out a noise figure in dB. What's interesting is that because you're amplifying the noise floor and the signal and you're only contributing hopefully less noise than your amplification, any further gain stage that you add will have a lower impact on the noise figure. So if you have a large signal chain you do want to add a lot of gain. You can have a very low noise amplifier at the beginning and then a higher noise figure amplifier later on and that high noise figure amplifier will have less of an impact on your total system noise. DC offset. This is another very common occurrence. If you've ever thrown up like an RTL-SDR and looked at a spectrum, you see a spur right in the middle. That's almost certainly a DC offset. There's a small imperfection in the system that's adding DC right before the ADC. This ends up being a spur at the zero-hurt spin unsurprisingly because it's DC, but it's annoying and it's a spurious signal that's not actually there in the air because it can't broadcast DC very effectively. Which we see here. So GNU Radio has a built-in block called the DC blocker for removing this and I'll show what that looks like in a flow graph. So here's just a signal with DC offset and we see the spur appearing in the middle. So this is independent of our input frequency. If I turn down the averaging a bit. And the DC offset, you can see, really doesn't need to be very large. The input signal is plus minus one. So we're adding only, you know, one ten-thousandth of a, you know, of a volt or a unit compared to it. And we're still seeing a spur that's rising nearly a hundred or nearly 80 dB above the noise floor. So it doesn't take much to end up as a very strong signal which is part of the magic. And so all of that was just adding in a constant that's controlled by that range slider that I had there. So if we put the DC blocker in. So here we see the original signal, some noise and DC being added in and then with and without the DC blocker. And this was the default settings. I just threw it into the signal and we'll see it running. So let's look at the original impaired signal. We have the DC spur here and our tone of interest sitting on the side. And if we look at the corrected signal and zoom in, we can see what this is acting as is a low pass filter on the eye and cue. So we end up with a notch filter centered right around the middle. If I turn back on the impaired, we can see that it's, we're getting a nice reduction here of what? 88 to native 120th. We're getting 30 dB of rejection or so there. And it notches out from a fairly narrow range. But what if our signal of interest actually ranges into that spectrum there? We can see that the corrected signal turned down the averaging. We can see that the corrected signal is starting to lose amplitude compared to the original input signal. It's a notch filter. It doesn't care what it is. So do we have a better option? We do have a better option. And that's actually to do a digital shift on the signal. So receive at an IF frequency and then do a shift. So if we receive our signal of interest on the side, and this requires that your signal of interest is less than half of the bandwidth because we're going to receive it like in this block. Shift up, do the filtering and then shift back down to the middle. So I've done a very excessive filter here so that we can clearly see it. In this shifted signal, we've shifted up by, I believe, 200 kilohertz. Sorry, the frequency isn't showing there. Shifted up by 200 kilohertz and we've completely removed the DC component. Some radios have the ability to do this in hardware where they have an FPGA that can actually do the digital shift. So you don't have to transport twice the amount of bandwidth that you need back to your host and process it. And then after we've shifted it, we can shift it back down to the original frequency. And so if I shift this down to DC, we see that the impaired signal is right at the middle. By shifting it up and then removing here, we've removed the DC that was added by the DC and then correcting it back, we get the original signal at the same amplitude without any distortion. So you can see they're completely overlaid. And in the flow graph, what that looks like is all of this would be actually done in hardware. This is the only part that we would end up doing in processing. You would have a high-pass filter removing that, which is basically what was happening before. But the local oscillator would have been tuned like 100 kilohertz away from your signal of interest. And everything's just being plotted at the bottom. And all of these flow graphs will be posted up along with the slides. So the final one I think I have time for is offset tuning. This is what I just described. Shift the signal away from DC, DC being your baseband frequency. Filter out the DC and shift it back. Some radios can do it in the FPGA. IQ and balance, we saw what happens when a DC is added. What happens if there's a little bit more gain on the I or Q size side? You get a mirroring of the spectrum. Let's run this. And out of interest, the new radio does have an IQ and balance generator. So I didn't have to construct that. There's an entire library of hardware impairment blocks. But if we look at the original signal, this is what we should be receiving. And if you have that imbalance and you're not correcting for it, then you get a mirror image across the center frequency. So if I change the input frequency, we see it move in and out. And there is a block available for correcting this. But unfortunately, I wasn't able to get it to compile on my laptop. And I've sent it out to the original author asking for a bit of help there. An interesting point, which I think is going to have to be my last point, unfortunately, is that if you're looking at this in the time domain, the actual amplitude and balance required to generate a large signal, again, is extremely small. The reference is at 1, and the impaired is only 0.003 above or so. And that's generating, again, like a 60 dB above noise floor impairment. So this isn't something that you'll see in the time domain, really. You have to be plotting it in the frequency domain to have the effect be visible. And if you were doing a spectrum analyzer application, this would be quite the problem. Am I out of time? I'll just throw this up. This is what it looks like when you have a nonlinear amplifier and you put two tones in. You get the sum and difference frequencies of the two tones as they're multiplied and then multiply with themselves. And unfortunately, this is something that really needs to be corrected in hardware. But it is something to be aware of. And as these fundamental input tones rise, these will actually rise three times faster. So getting as low of an intermodulation distortion figure on your receiver ends up being quite important if you have strong signals. Sorry, that was quite rushed. If there's, I guess, one question, we can start handing off to the next speaker. If you had just simple one tone ones, the math is pretty straightforward. If you had a wider baseband complex signal, the math becomes very difficult. So if you go into a block that's not totally trivial, go into advanced comment, that will appear beneath the block.


Hey everyone, this is a quick video write up for the challenge. Join us from hack on CTF says here's the link to our telegram group and our telegram channel so we can open these in new tabs go ahead and take a look at what they are if you don't have telegram installed it's just another like really neat silly stupid messaging program like IRC or Slack and you can join that channel just like that once you have an account created. You'll actually notice that they split this flag up to two different parts their telegram like group notes the first part of the flag right here in their announcement section and you can just see that right on the web without having any like account already created so we can keep track of that flag just like that but you actually have the group and the conversation they have the description of their hack on like channel at the very very bottom of the description you can see the rest of the flag so a little bit of reconnaissance not really but just noting those two and that is what how you attract on the flag for this challenge submitted for points if you wanted to but it's just a classic like welcome challenge join us here's our support means if you need if you need help or you have questions for the admins etc etc so that is that special shout out to the people that support me on patreon thank you guys so much i cannot say it enough one dollar a month or more on patreon will give you a special shout out just like this at the end of your video five dollars or more on patreon will give you early access everything i release on youtube before it goes live because i normally record in bulk and then schedule the uploads gradually if you did like this video please do like comment and subscribe if you want to join me or other cool cto players programmers and hackers join our discord server link in the description and i hope to see you guys in the next video thanks love you bye


Good morning. Are you having any pain today? I'm gonna move your head towards me a little bit. Are you having any pain today? Do you feel any discomfort? Can you tell me how old you are? What month is it?  Would you make a fist, please? Okay, would you close your eyes real tight? Look at me over here. Look at me on this side. Look over here. Look at me. Look at me. Open your eyes. Show me your teeth.   Let's hold it up right there. One, two, three, four, five, six, seven, eight, nine, ten. That's terrific. All right. Let's hold this up right here. Hold it up. Hold it up. One, all right. Can you move it at all? Can you move this shoulder? Okay. One, two, three, four, five. All right. That's good. Let's hold this one up. Hold this one up. One, okay. Can you move it? Can you move that leg? Can you touch my finger? Can you touch my finger? Touch my finger. Touch my finger. All right. Very good. I'm gonna see if you can feel this. And that's obviously that you can. How about this side? Now we'll try this one. Do you feel that pinch? Okay. I'm sorry. That's it. All right. Can you say anything to me about that picture? Okay. Let me try one other card. Can you point to the glove in that picture? Now I'd like you to say mama. Would you say that for me? How about tip top? Would you say tip top please? Okay. Both or right or left? Okay.


The session is Who to AHA? Refactoring Story by Gopal S. Akshantila. Gopal, we are glad you are joining us today. So without any further delay, over to you Gopal. Hey guys, thanks for attending this talk on Who to AHA? Refactoring Story. So I'm Gopal S. Akshantila. I'm a software engineer at Salesforce. My Twitter handle and website. Feel free to reach me out, reach out to me if you have any doubts after this talk. And let's get into the talk. What's refactoring? Most of us think refactoring is like maybe putting code from one class to another using ID shortcuts. But let's ask the person who wrote an entire book about it. As for him, refactoring is like altering the internal structure without changing external behavior. That's like, that brings me to the goal of this talk, which is, as a dev, I need to refactor to make my code best refactorable. That's a discussion out there. But that's like just saying, I want to build my code pieces like the Lego pieces. Why Lego pieces? Because they're the ones which can be replaced, reused and most importantly, they can be composed together to build different structures. So as long as your component is isolated, like Lego piece, my point is, you can sort of refactoring change without affecting the external components which are dependent on it. But let's see what sort of, what sort of, how can we actually see, see this in action? Because first of all, how do you pitch this story for funding? You know, building features. And of course, managers are not very interested to fund you for refactoring. There's always something to refactor. But that said, there's always, there's a small trick that you need to follow that's like speak in their own language. And this worked for me. Like I came to a man, I went to my manager saying that I have these three things like methods, obstacles, metrics, what sort of methods I'm going to focus on and obstacles that my code base has for extensibility, readability, etc. What metrics will I use to prove my point that I have refactoring, we have achieved something better. So the methods that we're going to focus today are just two of them, but I promise these two are going to change the face of your code. So it's like human readability first of course, as you know, code is for humans and of course, machines doesn't need refactoring, they can do an initiative code and then component isolation as we have seen you want to build components like Lego pieces and obstacles are again, we're going to focus on two simple very common obstacles, but then we can see how just removing these obstacles can help code base a lot. First one exceptions, of course, and which are omnipresent in all the of course all the languages today I'm going to focus on Java, of course, Java is the simplest language that you can actually do functional programming on and one of the common and very, very famous language that's the reason I chose Java, and we're going to talk about exceptions and mutability which is even more predominant in Java world JVM world of course we have some modern languages solving the problem but we're going to discuss on how they're solving and why we should also adhere to it even if the language doesn't give it out of the box. And some of the metrics like cognitive complexity which is inversely proportional to the readability and testability of course which mirrors how isolated your components that we're going to see how that can help us understand how good is our code base. So this is the big picture hope you understood what you're going to do and we I'm going to show you a lot of code on the slides and but don't worry, I'm not a big fan of course showing hold on slides, but I'll be sharing you the slide deck and then I'll be sharing you a repository in the end where you can go back and refer. And I'll be also sharing your blog post where all of this is written in detail so you can read at your own pace. But that's it today my intention is to seed you with ideas so you can go back and expand and connect those dots and sort of get the big picture and this 1520 minutes we're just going to focus on the high level stuff so requested to not focus on the details that you're going to talk to and just grace through it. So let's start with obstacles, obstacle one exceptions exceptions are the most abused language feature in my book because you can literally catch and read through anything and this sort of brings a lot of problems, especially when it comes to competent isolation. Whenever somebody whenever whenever a method is cat throwing an exception, you never know where that could be caught and you really have to hunt down hunted down. So I in my book exceptions are like warm holes right because they just take your execution point to somewhere else that even very famously called go to where they suddenly. Well, for example, let me take this analogy when you're sort of reading somebody else's code or your own code for that matter after a while. And there are always two IDs running and the one that runs on your laptop just fine. I doesn't have any problem because it has so much ramp to consume. And the other poor one which runs you know skull, which slowly reads line by line and sort of makes a picture slowly, which suddenly gets shattered by a throw statement because you'd never know where that gets caught. So for example, I will just talk to you simple examples and how we can solve them to avoid exceptions. For example, this particular code is trying to convey that okay, I have some problem, but I don't know how to convey when I don't have a problem. So what I do is I just throw exceptions whenever I have a problem. So, in the end, this sort of is bound to the caller the caller is supposed to handle this, and a notorious caller might even throw it back, and sometimes it just goes on caught to all the stuff and that's actress. So, the actual problem here is it's not able to convey the effect of absence for which it should actually use optional. So, in this code when there is no problem it should written optional dot empty, and you could see you can happily get away from exceptions and now the caller is no more sort of bound to catch it or handle it or even re throw it, it can simply get a result back and just work on that. This way, this particular component verify user access is isolated, whatever it does is inside this particular code piece and then you can literally refactor this without affecting the caller. And as you're adhering to the contract, of course. So my point is, you should really be able to replace all the exceptions with ADT, unless they're really exceptional, it is of course stand for algebraic data types. And some of them some very common simple ones, my focus is not going complicated or complex, like monads, etc. But I'm just going to focus on simple ADT that you can use that come out of the box, or maybe from some third party library, like optional and share presents one into one with another like a pair, and then either, which is left or right to be frank, there is a monad, but it's not not really scary, it's just just an interface having two different implementations. Of course, I can't go into details of this talk, but this fundamental link has all the documentation of what is an either and now how you can use it. We're also going to see some few examples now how we can use either. And, and with the advent of pattern matching in Java 16 plus, these are going to blend more naturally into the, into the language, so it's more easy to have a switch case statement, etc. On these ADTs now that there's pattern matching available. One example we can see is exception being misused to written multiple data type so sometimes the function might be in a scenario where I have to return something if everything is good but then have to return something else when some things are not correct. But of course we all know there is only one written data type so in that case is we sort of resort to throwing exceptions in cases where I don't know what to do. But this case is also the perfect fit for this is using an either. So instead of throwing an exception, you should be able to use an either and put your, or put your exception on the left state. Again, I can't go into details but once you understand either you actually get to understand what it is. So, and when everything is wrong you can put it on the right state so this particular component again is not dependent on exceptions and it's totally returning back a result rather than throwing an exception, which is an unfortunate side effect. So, that's it. My so I say throw away exceptions, never ever use it I mean just try as much as you can not use exception they can be exceptions scenarios, especially working with legacy code but try to not use them. Next we're going to talk about mutable state. I mean shared mutable state. That's shared mutable state on a shared code base. It's that's pretty scary. I'm going to tell you why. So let's start with the mutable objects as input patterns. So my point is they couple the components. So let's see with an example. Let's talk about a function simple function which is this taking list of numbers, and it's just summing them up returning result nothing fancy. And somebody wants to extend this particular function so he wrote something called some absolute. And what he does is this take that numbers and change all the numbers to positives and then he's just going to use the same some function to get all the some of all the numbers. Fine. It's all good. And they have used to some absolute in a particular production client code base, and it's working, they all went for a cheer party. Again, as a simple example, I want just to you to magnify what happens in production. Now, now, let's see what happens in production some other new joining joined and then he wants to extend. Now the client wants to also use some function, and he called some function here but then he got a result of 13. Ideally, he should have got minus eight plus five and it's minus three, but then he got this unholy digital 13. Why because he just got bitten by latent bug in real production scenarios you sort of end up by doing a very painful debugging session to understand that somebody has mutated your data set. And in my book, it's it's not a problem of some absolute who sort of got a mutable data set and then he took that as a license to do whatever on it mutated that because he got a mutable data structure. He can do whatever he wants in my book the problem is with the client that he is just passing around this mutable data structure to different points.  So this is a problem when you sort of pass these mutable objects as patterns. So, mutable objects as in parents is unholy for isolation. What about the ones which are certain types. You might think it's not so problematic but there is even a bigger problem. Let me explain. So take one more example. So this is again a mock example. I love boiled eggs so I keep using X in all the examples. So, imagine there is a laying egg laying date function, and it has to do a DB operation to get the laying date of the egg based on its ID, and it's heavy operation is assumed. So, assume there are two dependent components in somewhere to two different modules or something which are not connected at all. So this component is doing is a spoiler is laid egg in the first half what it does is it checks whether the laying date is before 15th of that particular month, and then it is true or false. And the second dependent component calculates the age of the egg based on the laying date like it dips from the current date and then it does that. Okay, and then. Okay, one day what happened is this is laid in the first half wanted to add some logging. Actually, when it has to log, he also need to log the month and the year. So, along with the date. So what he wanted to do is let me reuse the same date function. And then a date field that is being there, and then let me mutate that to 15 and then log it. Now you can predict what can happen but let me also take you through on another day. What happened is this this heavy operation, what the thought maybe we should optimize it. So they have cashed it into a hash map like this, and they're now not computing it if the agate is already been being used before. So there's pick it from the hash map and give it back. All right, with this. Imagine what will happen this dependent component to is affected because this guy has mutated the state without knowing that this is being cashed in a hash map. And now this dependent component to want to take that he always gets the date 15. So this is the problem here you if you even if you use this. You got even a bigger problem like mutation. This this happens very clearly on a code basis because you sort of fix something or change something at one place and somewhere else breaks and you sort of end up in a debugging section thinking why is the state of the in that particular way. So this always happens because these components are invisibly entangled I would call them like quantum entanglement where they both are in different modules but just because they're dependent on one common component which is written in a mutable set. Everything just got jumbled. So that's also the problem with pointers in Java and might not be specific to Java but in the JVM world to be honest. So it's like pass by references as possible. This is a very common and very popular question looking at the upwards and the views. So I myself got beaten by it a lot of times. So whenever you sort of pass a mutable reference. It's like you can anybody can do anything on it. So but why is mutability predominant in Java code and because power of defaults mutability is the default mode in Java. Sorry to disturb like we have last 10 minutes of your session. Sure. Thanks. So mutability is the default mode in Java and make immutability your default. That's what I would say. And that's not easy but just like any other things in life we need to adhere to discipline to be the default. So some quick wins make a habit of using final before you watch. So your references are not being good. Follow a mutable strategy from Oracle documentation. And if you're in pre Java you can use different third party libraries like Lombok and Java 16 plus of course has records as well. And Java is doing its part probably to sort of go slowly towards this immutability. So but then still I would encounter some anti mutables who say hey mutability is only for multi threading.  So there's no point saying that it's a single they're a multi-threaded. If it's about reading code I have to adhere to immutability. And immutable objects doesn't fit my imperative style. Of course as you can see mutability and imperative to your friends. Like if you're using mutable data structures, you ought to invite a mutation like this. But if you replace your mutable data structures with immutable data structures, you have to use transformation like this and you don't have a choice but to transform but because you can't mutate it. So I would say mutability and transformation are like couple they go hand in hand there is no choice. And immutable of course forces transformation. Now I don't have to tell you who's the wife and who's the husband. Doesn't immutability affect both? Even I would add you a link in Oracle documentation which says this is overestimated object creation. It's not really affecting both a lot. And there is a lot of improvement in garbage collection which sort of removes that particular problem. And Java is embracing immutability very slowly as we have discussed it has been introducing new and new stuff in each and every release. So you can go check out about all these. And we're also going to see hello world but I'm not going to go into details because of limited time. This is a sample application. Like I said I'm going to share your blog post where this is written in detail. I just kind of grace for this particular topic. So imagine this is how the code looks like where there is mutable data set that's being passed along the all the functions and we can sort of refactor that into changing the signature of the particular function like instead of using this mutable data structures, you can instead written this either and using immutable data structures and I'll be sharing you the code base where you can actually check in detail how this transformation or signature shift is being done is how all the components are being refactored into now each component is isolated and it's not it's not affected by the caller. And this is more like a maths derivation where input of one function happens to be the output of another and vice versa. So you can fit them simply like Lego pieces and this is how they sort of how the function composition looks like. And I'm gonna just grace from the slide pretty fast but you can go ahead and check it out. And how are we doing on our goals. I want to talk about cognitive complexity. Now this code was how it was before and it had a lot of problems like mutability and try catching etc. And this is of course is cognitive complexity without even checking any metrics. But this code this this is our final code where we refactor and is it really cognitive complex if you see a code like this, maybe I still encounter people who think this is cognitively complex. But let's check is really complexity the one that talking about is complex. So complexity can be of different types like accidental complexity essential complexity cognitive psychometric complexity and layers like unfamiliarity versus 100 degree district versus non extensible. So complexity here is essential complexity and it would be unfamiliarity of the person who has seen it or has not worked on Java 8 or some lambdas and functional aspects that can even be strict strictness like that's pretty intentional on that we have done. This is because we sort of want to have prepared some sort of lanes on which a particular particular developer has to adhere to without breaking the rules. So it's strict because it doesn't let you mutate you have to transform and the operators are in charge in here so it's also good that when somebody wants to extend this particular code he can't take shortcuts and do stuff it's it's like written ones and it's a future as well. That's it to objectively measure cognitive complexity you can check out my previous talks where I have heard in detail, and the testability part, even I just have one tip, but I can't go through it because of limited time so I'm just going to grace. So I shown you how brittle test is written because of it and I'll be telling you how unit test is also equal to test is not testing internals. So you've got to separate static from signal. I'm just going to grace to all these slides very fast and and I always say the stability should be first and test coverage always follows. So, and test and refactor should happen hand in hand. It's not an afterthought. So in the end entropy is inevitable no matter how many coding principles you follow the code as more people join in your team you people the entropy of the code base is going to increase for sure. But our goal is not to make it exponential, but then to keep it logarithmic over the time so that you sort of the code base doesn't fall out of place and all these things that we have discussed before will. Those are very simple tricks interrupts and you can follow them along to keep your entropy in check. Never ever do this just go ahead and refactor your code base in the end, because if you do this, this might can happen especially when you don't have this intention left last quadrant empty to for you to imagine what all can happen if you do it always refactor incrementally it's all it's okay to just good enough as long as you have this backing up, you can always find time to refactor it more. And I want to end up this talk with this great quote from clean code even backcode can function but if code isn't clean and can bring a development organization to its knees and never let them happen. You can find the slides here the code here in the blog post here as I promised please go ahead and check and you should be able to expand this 1520 minutes to some to watch stuff. You can be able to connect it out and always reach out to me if you have doubts and thanks a lot. Thank you, Gopal. Thank you everyone. Thanks. Bye bye.


Thank you very much for your kind invitation and I'm going to talk about classification gap on state phase using quantum spin system. So first, what kind of classification problem it is. So we consider a classification problem of Hamiltonians with a spectrum gap between the lowest eigenvalue and the rest of the spectrum. And the classification criterion is as follows roughly, two gap Hamiltonians are equivalent if there exists a smooth path of gap Hamiltonians connecting them. That is a classification criterion and that kind of classification problem we would like to consider. Recalling that a state, a ground state with a spectrum gap shows exponential decay of correlation function. We can interpret a gap to state as kind of normal phase very roughly. And in this sense, this is a classification of normal phases and looking for the connected component of normal phases. That's a kind of classification problem I would like to consider in this talk. And for that is a kind of a problem I'm interested in. And in this talk, we consider this problem in operator algebraic framework of quantum statistical mechanics. So that is our mathematical framework. And the advantage of operator algebraic framework is that we can treat infinite system directly. And the reason why we would like to the reason why being able to consider infinite system directly can be seen as advantages is because in our classification problem, there are object characterizing phases that can get meaning only when we consider infinite system. In other words, this object become something trivial when we illustrate them to finite system. So in this sense, I feel some considering infinite system is meaning for this classification problem. So I would like to do so in this talk. So first, I would like to introduce this mathematical framework. So with these small letters, I wrote a corresponding thing in finite dimensional quantum mechanical system. So I introduce a sister dynamical system, which is a generalization of finite quantum mechanics. So in finite dimensional quantum mechanics, physical observable was given by mn, which I denote n by n matrix algebra. So in finite quantum mechanics, most simple case n by n matrix gives physical observable. And I would write in this and this sister dynamical framework, this physical observable are depressed by general sister algebra. So mn is depressed by sister algebra, which is a Banner-Huster algebra with no satisfying this sister norm condition. And our original n by n matrix, it is one kind of sister algebra with respect to this uniform norm. So this is a generalization of our original setting of n by n matrix in finite dimensional quantum mechanics. So also now I would like to talk about physical states and recall that in physical finite dimensional quantum mechanics, physical states are given by this formula with density matrix rule here and by this formula. And note that this map, a procedure of taking expectation value, a expectation value of physical observable with respect to the state, this procedure has for this map, this one in the following condition that it is linear and positive. Linear means a linear, but positive means if we put A star A here, then this is positive. So this is a physical state in finite dimensional quantum mechanics. And I would like to, we would like to generalize to a general sister algebra, namely, we just take this abstract property and define that such a map is a state precisely, a state omega over sister algebra is a linear functional over sister algebra A with norm 1 satisfying this positivity condition. But that is a definition of state in sister dynamical system. And note that recall that in physical state, we say state is pure if this law is given by a one-dimensional projection. But in other words, this situation can be characterized that the state cannot be done as a convex combination of two different states. And we don't have the projection or density matrix infinite system. So we say that some state is pure if this latter condition is satisfied, namely, a state omega is pure if it cannot be written as a convex combination of two different states. So that is a definition of state and its pureness. Now, as maybe you know, there is a famous about this state on sister algebra, there is a famous theorem that is called GNS representation, which basically tells us that there for each state on a sister algebra, we can associate some representation on here with space of the sister algebra essentially unique way. More precisely, let us try to look at this theorem. So for each state omega on a sister algebra, A, the GNS representation pi omega on a here with space, and there is also some special unit vector in this here with space satisfying this condition. So this is telling us that expectation value of A with respect to omega can be written like this in the by these objects. And also this is a this it also satisfies this condition memory vector of this form is dense in this here with space. And it says that this is unique up to unitary equivalence in the sense if there is another triple like this, then this they can be related to each other by some unit. And so in other words, it is essentially unique way we can associate such a triple. And here I wrote the detail just to say that it is some concrete definition, but this detail doesn't matter to for my talk. And what I wanted to I want you to remember is that just that if for each state in on a sister algebra, we can associate some kind of representation essentially unique way. I'm sorry, can I ask a question? Yes. Is this valid for any state or for pure states? This is for any state. Okay. Okay. So when state is pure, it has much structure. It gets more structured. This holds for general state. Okay. So that is state and or assist algebra and we notice GNS representation. And now a time evolution I would like to consider in which is given by Hamiltonian of course in a finite dimensional quantum mechanics by this Heisenberg experiment revolution, but in this system framework, it is given by sister dynamics, by which we mean a strongly continuous one parameter group of automorphism, which is defined right here. So it is a group homomorphism from out to automorphism group on sister algebra. So satisfying some proper continuity, namely for each element a, this map is continuous with respect to the law of the sister. So anyway, so instead of talking about Hamiltonian, we consider this a abstract property of the group action. So this is time evolution. Now this talk is about the ground state. I was talking about Hamiltonian whose we have a gap between the lowest eigenvalue and this of the spectrum, which means that I'm interested in ground state. So in finite dimensional mechanics, the ground state was defined in terms of Hamiltonian, of course, which means that a state on environmental matrices is a ground state of this Hamiltonian, means this density matrix has a support under this as project spectral projection of Hamiltonian corresponding to the lowest eigenvalue. So this was a ground state definition of a infinite quantum mechanical system. But my program now is that we do not have Hamiltonian in this framework, but we do have time evolution. So in this framework, for that reason, we talk about the ground state is defined in terms of dynamics instead of Hamiltonian. So here is a definition. So let a be a sister algebra and a sister dynamics on it. And let delta be the generator of this sister dynamics. And a state omega over a is called a tau ground state. If this condition, this inequality holds for any element in the domain of the generator of the dynamics. So this is the definition of ground state in this operator algebra framework, which may look a bit weird compared to this condition. But actually, if you consider this condition in our original setting where a dynamics is given by Hamiltonian, then you can easily show that this condition of original condition of ground state is equivalent to this new condition. Therefore, what I want to say is this may look strange, but actually, this is just a generalization of our usual definition of ground state. And it is taken as a ground definition of ground state in this operator algebra framework. Just a question, where does this generator live in what space? This is a generator on the sister algebra A. The domain is the one which has this limit. So I see. So you didn't, because I thought maybe you were representing your dynamics on the GMS. No, I'm not doing that. Okay. Okay. Okay. Thank you. So that is a sister dynamic ecosystem, but the basic situation. And now I would like, as I said, our problem is about kept ground state phases. And to so what I have to specify what I mean by kept ground state phases in a, what I mean by kept ground state in this framework. And in order to do that, I need the following propositions here. And so let me explain this proposition. So let a omega be a tau ground state for some sister dynamics tau on some sister algebra. And let h by omega be a GMS to the canonical representation of a sister algebra associated to our state omega. And then the proposition tells us that the register unique positive operator h omega on this hillbill space is satisfying this condition. So it's basically implementing the dynamics tau in this hillbill space. So this proposition tell us that there is some, we can associate some positive positive operator uniquely to each ground state. And I will call such a unique positive operator h omega the Hamiltonian associated with this state omega. So this is a proposition. And with this proposition, I can now define what I mean by kept ground state in this talk. And I will define it as follows. We say that sister dynamics has kept ground state is the following two conditions holds. So first condition is the following. So because h omega satisfy this condition, for example, putting one to here and then it punish. And we see that omega omega is invariant under this time evolution, which means in other words that omega omega is an eigenvalue eigenvector of this Hamiltonian corresponding to the eigenvalue zero. And this first condition is that he is telling us that it is non degenerated for pure state. So for any tau ground state omega zero is a non degenerate eigenvalue of this Hamiltonian h omega. That is our first condition. And second condition is that about the gap. So it says that the existing constant gamma positive gamma satisfying this condition for any pure tau ground state omega. And so here, sorry, this h omega, sigma h omega is a spectrum of our Hamiltonian associated to our ground state omega. And it's here we are considering the spectrum other than this lowest eigenvalue zero. And it's saying that there is a gap between the lowest eigenvalue and the rest of the spectrum in this sense. So this is a definition of a gap to a ground state. Can I ask a question? Yes. I don't understand the first part of the definition in physical terms. Can you explain like, why do you need this condition? What does this mean in physical terms? Yes. So very roughly, state being able to representation corresponds to macroscopic status of the physical system. And so, sorry, we can define for each element in for each unit vector in this hubris space, we can consider this kind of functional. This also defines some positive linear function, which is normalized. So this defines a state on the system algebra. And state given like this way, we regard it being close to our original state omega. Such a state given like this form is represented by, you can interpret that they are physically macroscopically, the difference is macroscopically the same. So, and here I'm considering this Hamiltonian in this GNS setting. And I'm considering the Hamiltonian's eigenvalue zero. And if there exists other vector, which is in the kernel of this H omega, it means this is another ground state. So what I'm saying here is that there is no other ground state, which is macroscopically the same as our ground state. That is a condition what the first condition is telling. But can you give example of some spin chain, which relates this condition I, because I'm familiar with the spin chains a little bit. So, we can consider using chain where all the, there is all up spin and all down spin ground state. And they are macroscopically different, right? Yeah. And so, but there is no other ground state, which is can be represented inside of this GNS representation. Okay, so that would be okay. That would pass your definition. But can you give an example of some spin chain, which would not pass your definition? Yeah, so I don't really want to give you this. Yeah, so there is xxz model, where we know there exists a kink, right? And this kink, this kink and that kink, they are macroscopically the same. The difference is only local around here. So, I agree that it is, does not cover all the ground state definition, gap ground state definition, in use of physical sense, in the sense that I would like to eliminate the possibility of degeneracy of ground state, which are macroscopically the same. So, yeah, anyway, the answer to the data question is xxz with this kink should not satisfy this condition. Okay. Okay, thanks. So, in this talk, we are interested in sister dynamics on quantum spin system. So far, I talked only about sister dynamics in general setting, but I would like to actually, we would like to consider is a quantum spin system in this talk. And of course, the dynamics have to be constructed from physical model. So it should be given by something called interaction. And that is what I would like to explain next. So probably it's not that necessary, I don't know. So, let me start. So, throughout my talk, that we are fixed term natural number D and let nu be a spatial dimension. And a new dimensional quantum spin system is a sister which is given as an infinite tensor product of D by D matrices, like this. And we can do, so we can, if it takes a product of D by D matrices along new dimensional lattice. And for each gamma in the subset gamma subset of new dimensional lattice, we can do the same thing, namely with a tensor D by D matrices along this gamma and obtain some sister by algebra A gamma. And this A gamma is naturally regarded as a sub algebra of our new dimensional quantum spin system. So, and of course, we probably it's not necessary, but we say that we observe going here is localized in this gamma or has a support in gamma or so. And a physical model are given by interaction. And in this framework, when I say interaction, it is stated a little bit formally, namely an interaction is a map five from the set of finite subset of new dimensional lattice to our new dimensional quantum spin system and satisfy this condition. And namely, of course, for each x finite subset of new dimensional lattice x, we assign some interaction time five x corresponding to interaction between spins inside of x. And so therefore it should be self-adjoint and it should be localized in x in the sense it belongs to this sub algebra. And out of this interaction, you'd like to construct some some dynamics. And that's not too free to do so. We need to require some physically reasonable locality condition for us to define the dynamics out of interaction. And so we require some additional condition for example, we require finite uniformly bounded interaction in this sense. And from this interaction, we saw from such interaction with three double locality, we construct a dashista dynamics in order to do so. First, we define local Hamiltonian and amnesia that's the summation of all the interaction term inside of each finite set lambda. And out of that, we define hyzenberg dynamics and take the thermodynamic limit and then we learn the thermodynamic limit. And if our interaction is nice one, like uniformly bounded and finite range, or other some sort of locality conditions that is satisfied, then this limit is not to exist. And that defines the sister dynamics on new dimensional quantum spin system. And that is the sister dynamics we are interested in. Um, sorry, I'm having a little trouble understanding the physical definition of this interaction. If you give me like a subset, like just a couple of points near each other, what is the meaning of phi of x? And am I supposed to think of that as like some interacting Hamiltonian that relates all of like that interacts between exactly those points in that subset? Uh, it's, what do you mean exactly? Sorry. What is the meaning of phi of x? Phi of x is like interaction between spins inside of x. So, so why if, why would it be a finite range if I take an x and let's say the diameter is big? I mean, why would I expect it to be zero? Isn't it still going to interact with some? I'm writing here just an example of some locality condition. So even if it's not finite range, it should decay some sort of proper way, right? And this is just an example and you can generalize it to accommodate a little bit more long range interaction. But as this is easiest one, I wrote it. But in general, it's not necessary. I see. Okay. Thank you. So, now, so as I said, we are interested in this sister dynamic star phi given by an interaction phi with gap and this is a kind of interactions. And we are interested in gap to cross state of such a dynamics. And thinking about such a system, we recall that there is some nice property, namely the grand state satisfy exponential decay of correlation function, which is known as a theorem here in this setting. So let phi be a uniformly bounded finite range interaction with gap to cross states. Then in the state per city shown that the correlation functions of any pure tau phi grand state decays exponentially fast. Namely, if x and y be some finite region, this joint region and just say a is localized in x and b is localized in y. And we consider the correlation function and this theorem tells us this correlation function decays exponentially fast with respect to the distance between x and y. That is some consensus, I guess, in physics, but it is it can be is proven in this paper as a theorem as well. So any such property of a gap to cross state. So exponential decay of correlation function make us feel that this ground gap to cross states are kind of normal phase. And that kind of normal phase we would like to classify now. That kind of classification we are interested in. So classification of gap to cross state phases. So in this classification problem, we are interested in a uniformly bounded finite range interaction with gap cross states that are kind of set we are interested in. And as I said, because of the explanation the correlation function of pure cap to cross state physically, we be more or less regard this P as a normal phase. Sorry, I have a question. So in your definition of the set P, the gap can be arbitrarily small, right? Yeah, then then it's possible that then if then you can you can you can get a bunch of phi with smaller and smaller gap, then it might it might look like some guy placed ground state. Is it possible? Actually, it's included in the classification criteria, which will come next. That's that. So namely, basically, we consider this kind of classification. So we introduce the classification that two interactions are we say they are equivalent. And if we can connect them smoothly via a path inside of P, and I'm writing here smoothly, very roughly, but actually this contains more condition indeed, as you said, that we say that two interactions are equivalent if we manage to connect them in a path inside of here, while the gap on the path should be a strictly bounded from below by some strictly positive number. So I'm requiring some path existence of smooth path of interactions connecting this phi 1 and phi 2. Sorry, it's very bad notation, but t equal to 1 is phi 1 and t equal to 2, t equal to 1 is phi 2, sorry. But anyway, it's in a path of interaction connecting phi 1 and phi 2. And the mean in this smoothness, which I didn't really write it down, contains the condition that so each phi t, which has some gap by definition, and I'm requiring this infimum of gamma t to be strictly positive along the path. So in this sense, we don't regard two interactions, which is connected by passive interaction in this set, but not satisfying this one being equivalent. Actually about that, won't that condition always be satisfied? I don't know that's apology, I'm assuming you're going to get to it in a moment. But even before the topology, if zero one is compact, so it's infimum is always, is always greater than zero, right? So I couldn't understand. Isn't the infimum over a continuous path into a space? The continuity of gamma t is quite a hard analytical problem. So that will be great, that is the case. But for the moment, I don't know. So we assure this. I guess I misunderstood. Then smoothness in this case is not stronger than continuous? It continuous, smoothness means that, you know, this story, it's all because I didn't write the conditions precisely. So each finite subset in new dimensional lattice, we have this matrix valued path, right? Smoothness means this map is smooth. Okay. Okay. Thank you. So I have to say that's not all the things I hide it from you. But there is more condition because of analytical technical reason we have to require. And some of them like pointed out here, it's something essentially important. And if you want to know the detail with look at my paper with the moon, and to know that why such a condition, what is the condition and why such a condition is required with look at this paper. That's interesting. So I mean, so I've been to a few like condensed matter physics talks where they usually have the same similar condition, but they're actually talking about specific, like Hamiltonians. So they connect the actual Hamiltonians on your system. And can you indicate just intuitively why you're replacing that picture with this one where you're you're not just looking at Hamiltonians, but you're actually looking at these more fundamental maps, these maps fee. It's same. But as I said, in the beginning, Hamiltonia is not well defined in the infinite system. So that's all. Okay. Arthur, if I can comment, Arthur, this fight is a term in the Hamiltonian. Yes. Yes. So it's like the Hamiltonian can think as a naively as a sum of all these fights or translations. Yeah. So it's, I think it's identical to the definition that you might have seen in physics talk. Yes. Okay. Thank you. Thank you. So that is a classification we would like to consider and verify roughly to interaction which are equivalent. But by the way, we write like this when two interactions are equivalent. And we went to interaction, which are equivalent can be moved to each other without experiencing his transitions. So that is a classification we would like to consider. And the question here is what are the invariant of this classification? So that is a kind of question I would like to know, but how we can do it is a purely not very much clear. And there's some theorem to help us for such kind of analysis, which is called automatic equivalence in the field. So let me explain about it. So for each interaction phi I denote by g phi is a set of all tau five grand state. And the automatic equivalence is a theorem here, which says the following. Suppose that phi 0 and phi 1 in this set P, which would like to classify the interactions. Suppose that phi 0 and phi 1 are equivalent, then the theorem tells us that there exists an automorphism which interpolates the grand state of the first interaction g phi 0 and grand state of the second and interaction phi 1, which interpolate these interactions exist. And that is an automatic equivalence, but actually it's not that there exists some automorphism interpolating these two sets, but actually this alpha automorphism connecting them has a very nice property, namely it belongs to a nice class of automorphism, which I wrote q odd here. So let me define, explain what I mean by q odd. By q odd, I mean that automorphism given by time-dependent interactions. So let me explain, but first time-dependent interaction is just like we did before, we considered before. It's a pass of interaction parameterized by t.  And out of interaction for each time t, we can do the same procedure defining two defined local Hamiltonian and we can consider the solution of this differential equation. And before it was a this was a not a time independent, this was time independent before. So as a result, we obtained some high level dynamics like this. But now we are considering a time dependent ones. So in general, it may not be that far, but what we are doing here is the same as we did to construct sister dynamic system. And so anyway, we consider this solution and take the sum of dynamic limit. And as again, if our interaction pass of interaction is local enough, then this limit exists and define a continuous pass of automorphism. And what I mean by this q odd is the automorphism given in this manner with some of t and some some pass of phi. So that is q odd. In our world, it is automorphism given by time dependent interaction as an analog of a sister dynamic system, sister dynamics given by interactions. So what this theorem is saying that the pi zero and pi one equivalent, then the corresponding ground state can be interpreted by some automorphism, which belongs to this class. And so this class become very important and its property become important for us. So I'd like to take a little bit more time to and I'll see what kind of automorphism it is. Yeah, can you give us an idea? Is this an important? Yeah, why is this on three well theorem on the previous page? What's the difficulty in showing this? I'm not sure I understand what's the big deal. Can you give some idea? What's a big deal? Why is this not obvious? So it seems like you are almost guaranteed if you define alpha wave equation. What can go wrong? What do you have to find against when you prove this theorem? Well, it's natural, but it's maybe not to prove something which look natural doesn't really mean we don't need to do anything. No, no, of course, I'm sure you have to do a lot of things, but I was just wondering what's the main difficulty? What is the main problem here in proving something like that? Difficulty? Well, the idea is quite simple because of the gap we can construct some differential equation connecting ground state and yeah. So actually, I don't know how to answer. Slava, if I may try to intervene, I suspect the difficulty is that you want to actually construct a solution time dependent showing your equation, but if the Hamiltonian is gap that all time you have the adiabatic theorem that tells you that okay, if you go infinitely slowly, you stay in the ground state manifold, but here you want to get to your new ground state by a finite time evolution. So you have to kill all the non adiabatic effects, which I think can be done because the gap exists at all time, but you need a bit of fine tuning probably of the time dependent Hamiltonian so that you don't get any virtual excitation above the gap at any time. I don't know if this helps. So yeah, that's something that I did not indeed appreciate. So this path, yeah, Yoshiko, can you say this path 5xt that appears on this slide, is it something that has to be chosen very carefully or is it something you just choose the same path which comes from the definition of the fact that phi 0 is equivalent to phi 1? No, okay. The path giving this automorphism is different from the path given by this one. Using this existence of gap, we cook up, so let's say this is given by phi t, then we cook up some other path of interaction depending on introducing the information of gap or whatever. I see. Yeah, okay, this is something that, thanks, but no, that's was a very, yeah, now I see the point. Thank you very much. Thanks. Okay, so now I'd like to explain what is a, but I have only 10 minutes left, so I'm not sure. So let me skip this part, but with some reason, so maybe I did only this part. So for if our interaction is on site, then namely, if 5xt is 0, if x contains more than 1 point, then corresponding automorphism becomes infinite transfer product form, which does not create any entanglement at all between sites, different sites. But in general, it's not that extreme situation. It's not on-site interaction, in general. This is our class. It has more tail. As a result, we may a little bit more create entanglement, but for some observation, we can conclude that it does construct entanglement, but maybe not short range, not long range more. So there is some indication we can interpret as an alpha in this class, not creating long range entanglement. And as a result, from based on such observation, I would like to define short range entanglement and long range entanglement as follows. Namely, a state omega which can be written as this form, where omega 0 is just infinite transfer product state, which does not have any entanglement between different sites times, and for which is automorphism, our class qult, which does not create entanglement. And so we say that a state which can be written in this form have a short range entanglement, and we say that otherwise it has a long range entanglement. So that was remark about this property of qult. And we recall that we are interested in, our question was what is the invariant of our classification, and let us come back to this question. And the automorphic equivalence was telling that if two inductions are equivalent, then they interpolate the corresponding ground state of via automorphism in this class qult. And from this theorem, we can conclude that we can see that if some object is stable under this alpha, under any alpha in this class of automorphism, then from this theorem, we can conclude that it is an invariant of our classification. So what I want to say is to find invariant, what we should do is to find some object stable under this automorphism in qult. And that is a hint. And that is what we would like, we should do apparently, but how we can do and what to do, always physicists tell us that in this case, physicists talk about string-like excitation, which is string-like excitation like anion. And in fact, in this Kittai quantum double model, Kittai derived anionic string-like excitation. And the physicists always tell us that these anions or string-like excitations are invariant of that classification and classification. And Kittai also talked about superselection sector in his papers. And because of that, Peter Narkins showed that Kittai quantum double models, this string-like excitation can be understood as a kind of superselection sector. But the difference between Kittai and Narkins, maybe he is considering it in operator algebraic framework, which we are working on. So based on Narkins' work, we think that a superselection sector in operator algebraic sense should be an invariant. So what I would like to think now is the superselection sector in operator algebraic sense. So let me define it here. So let h pi 0 be an irreducible representation of no-dimensional quantum spin system. We say a representation pi of no-dimensional lattice satisfies superselection criterion for pi 0 if this condition holds for any cone and lambda in no-dimensional quantum spin system. So here, cone means that, so let's say this is axis and any element which has an angle with a theta between this axis, the set of such point is called cone in this context. So we see a representation pi of no-dimensional quantum spin system satisfies superselection sector if this condition holds for any such cone. Let us look at what this condition. Here, we are considering the complement of this cone and we are restricting our representation pi and pi 0 to our complement. And the requirement is the unitary equivalence. U dot E dot means unitary equivalence, namely there is some unitary in the human space which satisfies this condition. So this is the definition of superselection criterion and we say that such kind of representation or representation of superselection sector for pi 0. And this is the definition of superselection sector in operator algebraic framework and based on Narkin's observation about a quantum double model, we expected such a sink should be invariant of our classification and from our previous observation based on a automorphic equivalence, what we have to do is that these superselection sectors are invariant stable under this structure of superselection sectors are stable under our automorphism in this class. That is what we have to do to show that superselection sector superselection structures are invariant of our classification. And this theorem written here says that is a case. Okay, so let me read it. Let h pi 0 be an irreducible representation under this alpha via an automorphism and from this class and suppose that a representation pi satisfies a superselection criterion for pi 0. Then pi alpha satisfies the supersection sector criterion for pi 0 alpha, which means the following. So when alpha maps this representation pi 0 to pi 0 alpha, it maps the corresponding superselection sectors to corresponding superselection sectors. So there is bijection given by this alpha between the superselection sector pi 0 or pi 0 and pi 0 alpha. In other words, this superselection sectors are structure of superselection sectors are invariant of the classification. I'm sorry to interrupt you again, but can you explain why cone is a natural set to consider in this context? Why cone and not some other set? Like why not cylinder or whatever? Why is it a cone? Because yeah, why is it a cone? Yes.   So there is a speed of a speed of transportation. And memory when we, so for example, when we map. No, there is, I mean, if you involve time, I understand there's a cone, but here there's no time. You said cone lambda in that new and you're just spatial coordinates. Yes. Where's time in this definition? I don't see time. Yes. But you see, we are considering this kind of map. And this is given by time, time independent interaction, which we can regard as time evolution. And this cone shape, analytically, technically, fit very well with this analysis of this cure. Because it has some finite time, finite velocity for the time evolution. So for example, this cone lives on a spatial lattice, where is velocity? Yeah, maybe I didn't understand what the cone means. So yeah. Yeah, what cone itself is not super important. You can put up a cone if you want. But the reason why technically convenient to consider this cone is because if you apply this alpha to some observable localized in this cone area, then you can approximate it with some automorphism localized in a little bit larger cone. Can you draw the coordinates on this drawing? Where is time? Where is x? So I didn't understand. So you draw the cones, but I don't understand. Here it is just spatial. Yeah, but why are you calling this speed of propagation if it's just spatial? Again, how about we forget about time? That was my mistake. Okay. Okay. Okay. Suppose we are in 1D. Suppose they are in 1D, then what is this cone? Is it just half axis? Yeah. Okay. Okay. Sounds good. Thanks. Okay. So my conclusion is that the super selection sector is is some invariant of our classification, but and and furthermore using this fact that this super selection sectors are stable under our our queue out. We can also show that short range entanglement implies a trivial sector theory namely trivial sector theory you can regard as a long existence of trivial and not trivial union. And they are corollary vectors. And furthermore, sorry, I think I need to conclude now. So let me conclude that first this super selection sector is invariant of our classification that one thing. And although I don't have a time to explain, but this super selection criterion a super selection sector, we can interpret that any one is a kind of a super selection sector because we can derive some mathematical object called graded sister tensor category out of the super selection sector, which actually maybe you know, because many a paper about a QFT do this kind of thing a lot. And so, but what I want to emphasize is that our setting is different from a QFT, but nevertheless, we can still derive some a building structure out of super selection sectors. And sorry, it's a bit out of time. So I would like to stop here. So yeah, thank you very much for your attention. Thank you, Yoshika. So you've been asking questions. So let's see if you have an audience has more questions, please. I was a little curious about that last comment you made because you had introduced this definition in terms of these cones. But initially the motivation was wanted to capture Katayev's notion of anions in your definition of super selection sectors. And I'm assuming that very last thing you said towards the end of the talk was addressing that. So is that right? Yes. Basically, we can say this. So, graded sister tensor category in a QFT setting is given roughly like this. So super selection sector is object and morphism are intertwined, which means the bounded operators which satisfy this condition for each super selection sector both sigma. And in this framework, they can extend the super selection sector is originally just a representation of, at least in quantum spin system, it is just a representation of a sister algebra. But it can be, so there's no composition in the beginning, but it can be extended to endomorphism on larger sister algebra so that you can consider a defined composition. That's kind of things down here. And furthermore, you can define direct sum and you can also define sub-object and you can define grading. And so all the structure called a graded sister tensor category, it can be derived out of this super selection sector based on DHR theory. And the setting of a QFT is a little bit different from our setting. And so technically we need to work a little bit different thing, but it never is a basic basic recipe works for quantum spin system and we can derive such a this sort of thing out of our gap to ground state cases. I see. Thank you. I have a question. So these theorems that you and other people proved, so can we consider given these theorems that in some dimensions, perhaps in one dimension or in two dimension, I don't know, the gap phases have been classified fully or is this problem not yet fully solved? It's not fully solved at all. But can you, yeah, it was not clear, it was not clear to me like how far we are from solving this problem in some particular dimensions, like what is the, what is the main difficulty towards the full classification? Is there some, I mean, I'm not sure if you can summarize it, but if you can say something, I'd be curious to know. Maybe it depends on who to whom you ask, but for me, it looks very difficult. We are far because our classification problem is based on the gap of Hamiltonian with gap. Yeah, sure, sure. I only can see the gap. This is really hard analytical problem. And so basically, if you want to show that this and this with the same index can be connected to each other, you have to construct some path of gap Hamiltonian, which means that, and but in general, to show existence of gap is really hard problem. And so, yeah, that I understand that I know the fact that the practice is very hard to show that there's a gap. But, but leaving this problem aside, you know, if we knew how to show for any Hamiltonian gap to not, but do we know like how many classes are there or something like that? Yeah. Do we have the full list of invariants, for example, perhaps it follows from your theorems, but I'm not sure. Yeah, I don't know. So basically, you're asking if this is the only invariant that is what you're asking? Yeah, something like that. Yeah. In this general direction, could you say something about this? Personally, no, sorry. But if you consider, of course, people talk about modular tensor category. And I often see that people are claiming modular tensor category plus conformal charge are completely impervious. But I never understand why. I don't know if this is a related question. But which which is easier to compute in this case? Because I'm not really, you know, I don't know how to compute either of these, to whether to check whether, you know, there exists such an alpha or whether to check that the two resulting braided C star tensor categories are monohydrally equivalent. How can you say something about how easy it is to check either of those conditions? What do you mean how hard in which situation? I guess, well, I'm not really sure. But I mean, maybe if you're looking at a particular example, you have a system in mind, is it easier to construct such an alpha? Suppose these things are related, you just need to prove it. Is it easier to generally construct such an alpha that exhibits that exhibits this equivalence? Or is it easier to prove that the resulting C star tensor categories are monohydrally equivalent? Right, because I mean, like in modular, I believe it's in modular tensor categories, you have like these, you know, these things that you can just compute, right, kind of like analogous to the algebra brackets. And I thought that, you know, maybe I'm thinking of the wrong word, but they're usually like invariant to compute. But I don't know how easy it is to do it in this setting. If you are talking about this setting, this monohydrally equivalence is given by this alpha using this alpha. But it's not an if and only if, right? Your statement goes in one direction. If omega p2 equals omega p1 composite alpha, then the C star tensor categories are monohydrally equivalent. So it tells you, if I can prove, sorry, if I can prove that they're not monohydrally equivalent, then I know that there exists no such alpha, right? So maybe my question is, is it easier to prove that these categories are not monohydrally equivalent, or is it easier just to prove that no such alpha exists by some other means? Well, I don't know. I think to derive this C star tensor categories highly in concrete example is highly non-trivial issue, I think. So yeah, both sounds sad for me, sorry. Okay, thank you. Okay, other questions? Well, actually, a sort of basic physics question. You mentioned that the axiomatic quantum field theory setting and the setting of spin systems have to be handled differently from the mathematical viewpoint. What is the phenomenon that causes this difference? Because, okay, we may naively think that is it because your systems are defined on a lattice and quantum field theory is usually defined on a continuous space? Or is it something else? What makes these two settings different when you try to prove these theorems? To prove theorems, in essence, this QFT is quite a clean area with nice assumption which is reasonable only in a QFT setting. But our physical quantum lattice system, which where dynamics is given by these interactions, it's kind of messy. And so there is a nice causal cone in a QFT, but we do have, as I said before, we do have some time revolution, but there is always error going out of this cone, which caused some mess for us. Okay. Maybe I'll ask a question. Could you please show back this slide where you had a theorem about Z2 lattice? Yes, this one. Yes, perfect. So let me ask what happens if we replace this dimension two by another dimension? First of all, what's the analog of this theorem in dimension one and what happens in higher dimensions? I think things should work well as well, actually, for a general dimension. It's just that I wrote this paper with this dimension because it's easier to write it down. But basically, I think everything goes fine with higher dimension. The only problem I think is that this braiding, which we can define everywhere, but in higher dimension it becomes trivial because braiding two times in higher dimension. Yes, exactly. So braiding becomes trivial. Is there any higher non-trivial thing remains? Sorry? Does there remain some kind of higher non-trivial thing? If braiding becomes trivial, but is there some kind of higher structure like what people discuss in topological field theories and just trying to ask what do you expect in higher dimensions, says analog of this statement? I don't know. Actually, just looking at that, I'm not sure if we can derive something. But okay, if you go to one dimension, what happens in one dimension? In one dimension. Just one dimensional, let's say, spin chain. What would be the theorem about it? In one dimension. Yes, so if you take spin chain in one dimension. There is no non-trivial sector theory. So, publishing is trivial. Okay. Because in one dimension, the system is almost like a tensor product of left infinite chain, right infinite chain. And so the graph structure is like this tensor product form, which means that super selection sector is trivial. Okay. And maybe also I'll ask like in this way. So suppose I bound the range of interaction by some finite number. Let's say I consider just near-spin interaction or next to the nearest. So then the space of fines is just some finite dimensional space, right? And in this finite dimensional space, we consider points which are equivalent by path with your condition. So if I fix some very low number for dimension new and the range of interaction, let's say one or two, I have just finite dimensional space to study. Can be my complete classification of their sectors that exist in this space? Not that I'm aware of. I don't know. Not even like in dimension one or two, and let's say nearest interaction. It still looks to me like some finite dimensional problem to study. Yeah. No, not, I don't know. Sorry. Maybe. Okay. All right. Anything else? Or if not, maybe you'll be ripping up, Slava? Yeah, I'm, I have no further question. Thanks, Yashiv again for your nice talk. Thank you. Thanks for joining us from so far away. Thank you very much.


Good afternoon everyone. This is Melissa with the stockswish.com and welcome. Welcome to Juniper. It's 615 and I'm seeing this Juniper here now and I had a hundred percent conviction that this would close And get back down to the low of the day. I think this just ran out of day This is just completely just ran out of time here or it would have actually broken and come down here to the 1870 number Look, so this was only trained for me today, and I think some people Just you know lost conviction in it once it did this little tally thing here in the 15 and People in the room took it off, but I knew it would go down to the low I just knew it would go down to the low and there it is Look at this beautiful level of resistance in this. This is amazing and this is just this stock moves That's why and this is traded by machines. That's why I did this tally thing here But you know what? It had chances for an ad and another ad and you could have reduced the stop here And actually I did reduce the stop on this Which was a nice thing and it rolled all the way down and broke the low But it just really ran out of time at the time it broke the low I did not do this one out of the gate, but you could have done this out of the gate. I Saw the setup. I just did it later This was a really really good Move here. Let's go back And what I liked about the second move was it was like the hundred percent conviction because it had the confirmation had the confirmation That the stock wasn't going higher Look at this here gap down in the morning never look back never took a breath of life and fell all the way a Dollar basically a dollar down in here into the 10 o'clock period beautiful move boom Look at this even could have lowered the stop in this one here really nice move in juniper today And it's not often that I trade late trades are in the afternoon But I guess you know yesterday it's rated in the afternoon and today I was in a late trade So, you know, sometimes you get in late trades There are lots of beautiful big moves though that most of the moves do happen in the morning But every once in a while you're gonna gap That's just so strong that it wants to close looking like this where actually the low of the day is near the close Of the bar and so that's where the ones that provide then the afternoon moves So this is juniper. This was a nice play of the day and the stocks was show trading room and if you Play this over and over and over and over and over again. You got pain today Sometimes you can take a trade a bunch of times and a day to play it on through again Total utter just complete weakness market didn't hurt this today or help this today This market allowed this to do its thing in the end though. It's really really nice to see stocks Just fall off a planet. That's what I like. I'd like to see rots and lots of red So this is Melissa with the stocks wish calm if you'd like more information the upcoming gap class It's this weekend October 26 and 27 feel free to email me. Thanks everybody. Have a great night


Everybody forced here up in 22 23 origins basketball hobby six box half case number five got Adam M with the Suns Alice there with the Lakers and Nets Alex Seahawks Anthony C magic Brian C sixers C Zong Raptors did EA Hornets fang see jazz Felix has the nuggets and wizards hung C bulls Isaac K Mavericks Jeffrey Z Thunder Jessica has the T Wolves key hoon pelicans Lou Clippers Matt M Celtics Miguel Pacers Minsu Rockets Robert are Grizzlies Robert P Blazers Robert C Cavaliers on M Kings Shigunori Pistons Steve B heat steward S Bucks and Nicks Why see you with the Warriors and Yi Chow with the Spurs. Good luck everybody and thank you very much for joining Let's get that next one filled up. There's a link in chat for you 10 teams to go Some of them are on seal And it is the second half of this case by the way, all right team origin Steph Curry for the Warriors Alistair gotcha Thank you for correcting me honestly If anyone wants to chat correct me on the higher pronunciation or your name is please please I'd much rather be correct on any pronunciation. Honestly, not a bit Mitchell Jane Hardy rookie for the Mavericks Red Joel and bead a blue rookie Jane Hardy to 99 ice-card Mavericks dude has been a bucket recently Mavs Nuggets rookie Otto Christian Brown There were one of the last teams taken very nice there we go nugs and Nicks rookie Otto Trevor Kiehl's on card to on card rookies there. Oh, they said bucks. I was like What's up? Walker Kessler, right? Pistons originals Jaden Ivy What's your guys favorite insert so far Ernie O'Kiles? I Want to see tiger I we haven't seen a tiger eyes yet. They really are SSP Tie tie or a variation Luca so that design is variation. It also says at the top. That's how I found that out red jammer and Grizzlies and to 99 blue Mike Conley jazz Max Christie rookie Jersey Lakers to 49 for sure Alistair for sure. Yeah all those Scottish and Even like even some of the Irish names Lakers and Pistons Jaden Ivy five of fifteen a rookie patch Otto What a card three colors?  He might be better than Kate. He might be the guy there. He might be the dude there Yeah, big bang as well. We haven't seen any SSPs actually. There's a few of them. I think Maybe this is the break. Maybe it's the next break which has teams left. I don't know Let's see. Let's let's just pull one and find out team origins. Josh giddy thunder. He was a dude ballin It's a killer out there I can't do that Can't do it. Yeah, I don't have the rhythm clay Thompson Jalen Jordan rookie for the Pistons there mark Williams rookie red for the Hornets and an orange Westbrook Lakers to 75 You know this this guy been hitting Elevation rookie Otto on card Christian Brown to 99 Nuggets been hit Jalen Doran rookie on card out of for the Pistons Pistons killing now Nuggets and Pistons doing good for those spots three to go on this box here or on this on this break here The next break Come on. Let's see. Ooh, I see teams coming in. Yeah rockets going random teams full cases or tier random teams full cases filling up for later too So it's pretty much just PYT is left for today 8 10 10 8 so 8 to go All in the next one cool cool 8 Celtics Nets Nuggets Clippers Nick's sixers jazz and wizards No, you just did that. Maybe I should have read chat Don Agbaji jazz probably had his best game There's last night right was the night before Lamello rookie Sohan for the Spurs red rookie Doran Pistons and an orange Yelkich Nuggets to 75 Jazz last spot mojo here Jordan Clarkson on the universal auto pink to 25 I do like this design at the whole box here for you jazz Walker Kessler rookie patch auto You'll like to see it last spot mojo Congrats jazz again right there Matt has a few spots for gold label baseball today everybody, but he's PYT's he's getting pretty close to full There's a red team origin Steph Curry 20 to a 75 warriors always nice to get a numbered Steph Parallel or insert Debuck rookie Tari Easton Rockets Taylor Williams rookie Thunder with a Jamal Murray to 99 Nuggets on the blue Rockets tie tie Washington rookie Jersey. Oh, we got something interesting rookie Jersey auto Rockets It's a three hit box. Maybe or is that another insert? I'm not sure what that is You have something extra extra it seems like Rockets Jabari Smith junior rookie auto on card nice hit Rockets And it is an extra insert. It looks like yeah clippers roots of greatness But that was red. I don't see a number going on with us. I was just gonna be the clippers colors there Kauai and Paul George We got Chet Holmgren is 75 Thunder On the dawn insert How much you think a dish soap paid to have their name on this By Thompson rookie Jalen Doran Rad rookie Jalen Williams for the Thunder Jaleen and Tyler hero Number the shinier The origins lettering has like rainbow foil on it Malachi brand him on the rookie Jersey auto nice hit for the Spurs here to 49 very nice and Thunder rookie Jersey auto who's Montyang On the back and that will do it. Thanks again everybody moving on to six bucks number six