Hi, Lauren. Hi, Shane. Happy Valentine's Day. Happy Valentine's Day. Can we talk about the song of the ages? Of the ages. It is the song of the ages. I love you. I appreciate you. I love that song. Thank you. It's interesting because my podcast this week that I put out was about your 10 different soulmates. And it explores the concept of the fact that because we're not getting married at 22, 23 anymore, that lightning feeling of, oh my God, like you are my star-crossed lover happens several times in your life. It does. I can attest to that. Yeah. It's happened to me many times. How do you cope when your soulmate is now an ex? Ooh. I think like you said, there's many soulmates, you know? So I think the coping... I had already understood that this person wasn't my... I wasn't going to be with this person forever. So I think that I already knew that in my body. And so I wasn't really coping with walking away from something. It was more... Actually, that's a lie. I was coping with it. But I had an also deep knowing inside of me already. My body knew already that this wasn't resonating with me anymore. And it wasn't good for me anymore, you know? Can you say more about that? Because I had a similar experience where I kept getting bacteria vaginosis, UTIs, yeast infections from a past partner. Right. And I went to a doctor. Because your body was literally rejecting him. Yes. Mm-hmm. Yeah. I think that for me it's more an energetic thing. It's like how I feel when I'm around you. And for me, emotional safety is really important to me in relationships. And I think I had reached a point... I was really young. I was in my early 20s, like beginning of my 20s when I was with this person. So I was emotionally... I wasn't as mature as I am now. And there was just a lot of emotional volatility in the relationship. Because both of us had wounds that we hadn't worked on. And therefore the communication wasn't ideal. And it wasn't what I needed from a partnership in order to feel safe. In order to feel emotionally safe. When I don't feel emotionally safe, my body starts to pull back from somebody. Like I start to not be as attracted to them. Or it doesn't feel the same way that it used to. And I hold on to... What I've learned also from that experience is that is when it's time to walk away, walking. Not lingering, not holding something out, not waiting until every single feeling disappears. But just understanding when something isn't right for me anymore and being able to have the courage to have that honest conversation. Because we get comfortable in co-dependence. We get comfortable in what we're already doing and what is routine for us. Relationships can become that. They can become habits and routines. You're used to this person.  And it is so jarring to walk away from something that's... We were together for two years.  But when you know you have to walk away, you just have to. I also love the term walk rather than run. Right. Yeah, it's a walk. It's a gentle leaving. What was the problem? What was the poison? In that specific relationship? I think there were different factors to be fair. But for me, what my issue was, I just... I felt like I couldn't grow. I felt like me growing was a threat to our relationship. And... Growing how? As a person, as a woman. Exploring myself, figuring out what I like, what I don't like. I was really young at the time. With the dynamic of older men and younger women, sometimes it's just like, I want you to act a certain way. Yes. And I'm like, I can't just act a certain way. I'm myself. And I'm going to keep discovering myself. And I'm going to keep expanding. And if you're not okay with my expansion, then this isn't real. You know? We have this episode that's called Cocooning, and it's a concept that we've coined around here, wherein it's unfortunate truth that some relationships are not going to experience your butterfly phase, but were necessary in order for you to become a butterfly. Mm-hmm. Does that feel about right? Yeah. Yeah. And also, just realistically, he loved me to the best of his ability, you know? Like, given his own obstacles and trust issues and all of the things that's happened to him in his life, you know? Which was I was able to see from a higher perspective after the fact as well, you know? Where it's like these things weren't personal. This is just... And I also didn't know how to handle insecurity properly. You know what I'm saying?  That's not real, you know? And I was very, like, no empathy for that, you know?  Yes. You know? Like, you're literally projecting some entire... In that storyline. An entire story onto me. Like, I refuse to be a character in a story. Like, I'm real. I'm tangible.  I asked you for a story before we got here today. Do you... Because people often tell the story of the moment they knew. Like, the moment I knew that I fell in love with you. The moment that I knew that I liked you. Which, you know, happened very early on. You're lovely. But the moment that you knew this is not your life story. This was just a love story in your life. When did I know? I feel like it's disrespectful. It was a lot earlier than when I left. There was a specific moment. I don't know if it was a specific moment. I think it was just any time that, like I said, the arguments would come up where I would become a character in a story instead of being myself. Where I... When I felt like I wasn't being seen. I was being projected onto. You know? It's like the narrative of whatever his ex had done to him was on me. And I was such a good girl. I am not a cheater.  Like, if I feel something about somebody while I'm with you, I'm going to let you know and I'm going to leave, you know? So I think just this constant questioning of my character kind of just took a toll on me after a while. You know? And this like inability to fully feel like myself. Where I felt like I had to leave certain parts of me in the dark in order to be present. You know? And doing that over and over again because for me, love for a long time met. What can I give you? What can I offer you? How can I show up for you? How can I learn you? How can I understand your languages and understand what you like and need and want and feel? And how can I be of service to you? Was what love was like to me. And as I've grown, I've just understood that I also need love back, you know? There needs to be reciprocation. And a lot of the time it wasn't the people I was with fault. It was my inability to communicate my real needs because I didn't believe that that was the part of the process, you know? It was how I can show up for you is what love means. Not how can you show up better for me? And then if that came up, like if I tried to have a conversation about how things could be better for me, I felt very shut down a lot of the time. And so, and not out of, again, like in retrospect, I can understand I wasn't shut down out of maliciousness.  It can make them feel inadequate. It can trigger trauma wounds of theirs of feeling inadequate, you know? Which probably caused problems for them in other relationships. So I understand those triggers and traumas now. But at the time, and in general, I deserved to be heard. I deserved to be seen. And I deserved for my truth to be able to exist within our partnership. Because without honesty, you don't have a foundation. Like you just don't. You're two floating versions of people who are coexisting with each other. But it's very superficial, you know? Because the real depths that are... The real moments of, I'm asking for you to see me. I'm being really vulnerable right now. To be shut down in those moments, it takes a toll, you know? But someone who is emotionally immature, who doesn't know how to handle those kind of strong emotions, who doesn't know how to talk through difficult emotions, who doesn't know how to handle conflict with love, you know? Because they've never seen that. They don't have any tangible examples of how that exists, you know? It's kind of hard to teach somebody that, you know? I can so, like, sink my teeth into and taste and feel and empathize with exactly what you're saying. So thank you for sharing that. I had Becky Ji on the podcast, and she was talking... She's incredible.  But now that I know that I can, I'm like, Lauren did it, so everybody should. That's not how it works, okay? Just so you know that's genuinely not how it works. People need to feel free. They need to feel free. They also need to be able to sing. Yes. Period. Without autotune. Becky, copy and paste said what you said, though, about... When it came to the way we love and how we receive love, how we give love, I think it set me up to be caring and empathetic of all those around me, but constantly serving to those around me without really realizing what it was costing me. I think there's a Latina woman thing. Tell me more about that. Yeah, I just... I think that the patriarchy is very strong. It's a very stronghold in our communities. And I think that women are absolutely subservient to men in our cultures. The majority of us are just... We grew up in really abusive situations, you know? Like life is abusive. Like white supremacist culture, patriarchal culture is abusive. It thrives off and survives off of abuse. And this inability to tap into the humanity of each person involved in the story, you know? And when you're with somebody, it's easy to get caught up in like what's happening to you and how you're being treated and whatever, but very rarely are we self-aware enough to understand that we're choosing something that's not respecting us.


Item number SCP-17 Object Class Keter Special Containment Procedures SCP-17 is contained in an acrylic glass cage 100 cm x 50 cm x 50 cm centrally suspended in a concrete room measuring 6 m x 6 m x 4 m. Attached to the walls, ceiling, and floor of the room, our high-intensity arc lamp spotlights pointed directly at the acrylic cage to ensure that SCP-17 is constantly exposed to light from every angle. Personnel assigned to the SCP-17 control room are to monitor the functionality of the spotlights and the emergency generator system and call for maintenance immediately upon knowledge of a burnt out lamp or an issue with the generator. The only circumstance under which personnel are allowed entrances to replace lamps. Personnel entering the room are required to wear the designated full-body reflective suits and must be cautioned not to step in front of functional spotlights. Description SCP-17 is a humanoid figure approximately 80 cm in height and atomically similar to a small child, but with no discernible identifying features. SCP-17 seems to be composed of a shadowy smoke-like shroud. No attempt to find any object beneath the shroud has been successful, but the possibility has not been ruled out. SCP-17's reaction to shadows cast upon it is immediate and swift. SCP-17 leaps at the object casting the shadow and completely encloses it in its shroud, where upon it returns to its normal size, leaving no trace of the object behind. Lesson complete. If you missed the previous orientation, go watch SCP-16, sentient microorganism, right now. Or for the complete course, watch this playlist.


Today, I'm going to talk about the last missing components. I told you our goal is to build a fault-tolerant quantum memory based on LDPC codes. And there is one missing component. It's a decoder. I'm going to talk about decoders, or many different decoders, for classical LDPC codes and for quantum LDPC codes. And we're going to see how classical decoders adapt or not to the quantum setting. So it's going to be mostly drawings and graphs. So it's not too many definitions. And my goal is mostly to give you an intuition on how these decoders work. And the reason is because it's the main thing I can do. I cannot prove much. We cannot prove much. Most of them are heuristic. In some cases, we have some proofs that they work partly, but we still don't understand very well. So it's still a very active research topic. And it's one of my favorite topics, personally. So I'm going to review the whole scheme, what we have done until now, and what is the missing component, where it is. So we know that we need to stabilize our code to encode our information. When we have poly errors, they affect our code state. And we use this tanner graph to represent the code. And in practice, we use a syndrome extraction circuit. So we run a quantum circuit to measure the syndrome bits. We run two of them, one to measure the z part, one to measure the x part of the syndrome. We can run them simultaneously. And then we need a decoder. The decoder will take as an input the syndrome. And it's going to output a correction that we apply back to our qubits. So this is a whole loop. We have the code. We are using hypergraph for the codes. We have a circuit, a syndrome extraction circuit. And we even discussed how to lay it out, a proposal to lay it out. It doesn't exist yet, but it's a theoretical proposal. And what we are going to do today is building this decoder. OK, so let's look at the decoding problem. I already defined a minimum weight decoder. We can define other classes of decoders. And the model I'm going to assume is perfect measurement. I'm going to get back to that after. Why perfect measurement? But it's the most simplest model. You have a parli error. You can measure the syndrome. And your circuit measuring the syndrome is perfect. And we have some noise model. We have a distribution, a probability distribution, over the set of parli errors. So I can tell you which parli error appears with which probability. And a decoder, it's a map that's going to take as an input the syndrome, this bit string we measure, and that spits out a parli error, a correction that we apply to our qubit. And our different classes of decoders are returning an error with different properties. A minimum weight decoder gives you an error with minimum weight with the right syndrome. So we always want to have the right syndrome. That's the information we have. And we can change the property we want about our parli error. The second property we can have is that it maximizes the probability to have this error given the syndrome. It seems like it's the right thing to do. We have a probability distribution. We know exactly what error can occur. So given the syndrome, we should take the most likely one. This is the most likely error decoder. But it's the best we can do in classical information theory. In quantum information theory with stabilizer codes, there is something extra. There is something weird that's happening is that multiple errors can have the same effect. They are undistinguishable. And those errors are those that differ from a stabilizer. If you multiply an error by a stabilizer, it's the same error. As they act the same, they cannot be distinguished. So we should maximize the probability of this error up to a stabilizer. We multiply by all possible stabilizers. And we maximize the sum of all the probabilities of these errors. And this is the most likely coset decoder. So it's the three classes of decoder we may want to build. So I will build one of them. And my goal, let me answer with the next slide, maybe. So how do we compare them? I can choose to build a minimum way decoder or to build a most likely error decoder or a most likely coset decoder. Which one should I pick? And the first answer is that you should pick a most likely coset. That's the most accurate. That's the one that takes into account all the information we have. So we should pick a most likely coset if we cannot, we should pick a most likely error decoder. And if we cannot, a minimum way decoder is a good idea. And sometimes we cannot even build that. We build an approximation of that. And when the noise rate is low, they all behave the same. So in practice, we hope to have good enough qubits to have a low noise rate. So we don't care that much. But the thing is that when we have very high noise rate, when we have bad qubits, the most likely coset decoder is a bit better. So it does buy you something. It's not the regime we want in the long term. In the long term, for a large-scale machine, we will be in the regime where we have low noise rate. For the first generation, we should squeeze out as much as we can from the performance of our machine. And the difficulty is that this decoder is much harder to implement. The complexity of implementing a most likely coset decoder is much more trivial than this one or this one. And even this one, even those two, are NP-hard. This one is sharp PR. So we are not even going to try to do a most likely coset decoder. We will be in a regime where they are all roughly the same. We will choose the simplest one. So roughly, your intuition should be I want to find a correction that has minimum weight. That's the simplest explanation for the syndrome. And we saw that we have three noise models. We have a noise model with perfect measurement. Only the input qubits are noisy. A noise model with noise on input qubits and measurement outcomes. And a noise model with noise on every gate. And I told you we should use this noise model with noise everywhere. But in the previous slide, I just told you we should use perfect measurement. We are going to use perfect measurement. For my definition of decoders, I used perfect measurement. There is a reason. It's because we can basically reduce the problem of correcting fault to correcting perfect measurement circuits. So the syndrome extraction circuit is noisy. And that means we need to correct faults in this circuit. So I should take care of faults. But what's happening is that faults typically behave like poly errors. They are exactly equivalent to poly errors in a larger code, in a different code. And it's something we see with surface codes. I'm sure you have seen this kind of picture where. So because of that, we are going to focus on poly errors. And I'm sure you have seen this kind of picture with surface code where this is basically the surface code graph here. And it represents measurement outcomes. And you repeat the measurement multiple rounds. You repeat D rounds of syndrome extraction with surface code. So you have a 3D graph that looks like that. And in this graph, you have faults that correspond to poly errors and qubits. But you also have faults in the time direction. And those faults in the time direction correspond to measurement error. If you have a flip of a measurement between two time steps, it's represented as a vertical edge. And what that means is that, instead of looking at the 2D surface code, which is one layer here, we can build a 3D version of the surface code. And this measurement error can be interpreted as a poly error. So because of that, I will not talk about correcting faults in a circuit. I'm going to assume that I have a bigger code in which those faults are simply poly errors. So this is what this equivalence means. Fault in a 2D surface code are poly errors in a 3D surface code. So I just need to understand poly errors. And we can generalize that recently to faults in a Clifford circuit, in a general Clifford circuit that correspond to poly errors in the space time code, in a code with a time direction, multiple copies of a color. So I'm only going to take care of correcting poly errors, or a bit flip in the classical case. Yes? Yes, exactly. The stabilizers will be supported on two consecutive layers. They look exactly like the stabilizers of the 3D turret code that we have as an example. Thank you. Yes? It's typically not. So what I'm telling you is that circuit faults must correspond to poly errors. So you must define the code as a function of the gates in your circuit. So it's a code that is defined as a function of these gates. It takes into account the exact structure of the circuit. I will not talk about it right now. I'm happy to discuss that during the week, but I will not talk about it during the lectures. OK, let's do the most simple thing we can do. Let's build a table. And in this table, we are going to store all the possible corrections. That's the first decoder. That's a lookup table decoder. So let's try that. So I'm going to give you an algorithm that builds this lookup table decoder. And we are going to see if we can use it. So our input is a code and some bound, m. The goal is to correct all poly errors with weight up to m. So this is our input parameter. We fix it. We want it to be large, ideally, to be of the order of d over 2, at least. And we want to output a minimum weight decoder for the correction of all those poly errors. We are going to do it very naively. We are going to start with our table. d is going to be our table. We initialize it with a correction 0. This should be the identity. It's poly errors. We initialize it. And then we start looping on all poly errors with weight w. So w goes from 1 to m. I loop over all poly errors with weight w. So with weight 1, with weight 2, with weight 3, up to m. So up to roughly d over 2, at least. And each time I compute a syndrome. And if I see a syndrome that is not in my table, I will add it to my table. So I look at if my table has a value 0, or the identity, I will add e to the table. That means I didn't see any poly errors with the same syndrome before. So that means it's the lowest weight. It's the first weight I see. And at the end, after this loop, I return my table. I give you my table. Does it work? So this is what we did with the Hamming code during the first lecture. We built these tables where for each syndrome value, we are going to have a correction to apply. So we just need to store the integer. This is a classical lookup table decoder. We can do the same thing where in this column we have poly corrections. So how much does it cost to build this table? What is the memory cost? What is the size of this table? And we can compute it. We are going to sum over all those poly errors that we put in the table. And the size can be this number. So it's a sum of n choose w, 3 to the w, for all the weights that we consider. And when there is an exponential and a binomial coefficient, it's a bad sign, right? It's going to be big. But I want to give you an intuition on how big it can be. So in this laptop, there is a flash memory. The main memory is flash. And there is your correction inside. It's hard to know exactly what kind of code they put. But to my understanding, it should be a code with lengths about 8,000. It's LDPC codes. And we can assume they have distance about 30. So do you think that if I try to build a lookup table and put it in the main memory of this laptop, it's going to work? Do you think they use that? So how big could it be? What's your guess? Petabytes? I cannot hear. Petabytes? Jeta. How much is jeta? 10 to the 12. 10 to the 12. No, 10 to the 12 should be tera. No, so do you think it's more than 10 to the 12 bits or less? More? How much more? Any other guess? So let's do the calculation. We need to store all correction with weight up to d over 2, so 15. I'm not even going to count all of them. I'm going to count only the weight 15. And it's already tens of 46 bits. And did you know it's called tens of 46? I could not find it. It doesn't even exist. The biggest I found was a queta bit. It's tens of 30. So it's 20 trillion queta bits. So maybe to protect my main memory here, there is a 20 million queta bit memory to store the lookup table decoder. I haven't opened the laptop. I don't know. But it's possible. So let's try to look for something a bit cheaper in memory. So we're going to look for the belief propagation decoder. It's the most popular decoder for LDPC code. It's very efficient. It's also used in statistical physics to estimate local properties of statistical physics systems. And we are going to start with a simplified version with the binary erasure channel. When we have the erasure channel, we have an input bit, 0 or 1. It's sent through the channel perfectly with probability 1 minus p. But with probability p, it's erased. And it's mapped onto a question mark. So this is our noise model. And our goal is to correct this question mark. And if we have a code, a 2-3 code, so 2-3 code, I mean that the bits have degree 2 and the checks have degree 3. And I'm going to look at one of the bits in my code. And I'm going to try to correct it. To correct it, I told you at the beginning of this lecture that the reason we care about LDPC code, it's because they have a local decoder. So we're going to look at the neighbors. We're going to look at the local tanner graph around this bit. We have two checks. It's a 2-3 code, so we have two checks. And each of these checks give me a syndrome bit. And this syndrome bit is the parity of all the neighbor, all the incident bits. So this one is the parity of 3 bits. And now can I use this check to correct this question mark? Sorry. So let's say what we know here, we have some value, 0 or 1. We computed this syndrome. But what is the syndrome here? How do you compute the syndrome? What you receive is a code word where you have some bit values here, 0 or 1. 0 or 1 everywhere. And you know that the sum should be 0. So the sum should be 0. And my 0 here is a question mark plus some value plus question mark. So I have two question marks. I cannot compute the value of this one. But I can look at the other side. I have only one question mark incident. The sum should be 0. So if I sum those two bits and I add this one, I should get 0. So this value should be given by the sum of the two other bits. Now we can locally correct. What's happening if those two bits are erased? Can you still recover my top bit? No, you cannot. Do you have any idea what I should do? So question mark means that the bit was not received. So here I got some value, 0 or 1. Here I got nothing, nothing, nothing, nothing. It's my previous channel. So either I receive a question mark or I receive the correct bit. So here I have four bits erased. I cannot use that, obviously. OK, great. Good idea. Let's look at the next checks. We can look further in our code. And we look further. Each bit has a grid 2. So there is another layer of checks. And each check has a degree 3. So there is an extra two bits. And when we do that, we cannot use this pair because there is a question mark. We cannot use this pair because there is a question mark. But we can use this pair to recover this question mark. We can use this one. Oh, yeah, you're right. This one, I can use those two to recover this one. That's true. Thank you. So I could recover this one. But then I will still be stuck with those two. So from this side of the tree, I'm stuck. And when I look at the other side, I can use those two pairs to recover the two bits. And this check will give me the bit. So I can locally reconstruct my bits. Does it work in practice? OK. So if p is small, I have a small number of question marks. So it should work. But there is another assumption here. Sorry, I cannot hear. They are IID. It's true that it's not always the case, but I'm still going to assume that. But we have seen some tanner graphs, right? Do they look like that? They don't look like that. This is a tree. Our graph does not look like that. So maybe it's going to be hard to use that. But in practice, we can make it look like that. We can pick a graph with no short cycle. And then it's going to look like a tree locally. And we can use this exact structure. OK. So I'm going to go a bit further, a bit more into details. Let's apply it to a graph with cycles, a realistic graph. That's the tanner graph of the Hamming code. We receive a bit string with some missing bits, some question marks they were erased. And now we want to correct that using our checks. We're going to use a notion of dangling checks. A dangling checks, it's a check that is incident to a single question mark. Do you see one here? So is the first one dangling? Exactly, there is two incident question marks. Is the second one dangling? OK, let's use it. How do we use it? We look at the value of this check. It's x1 plus x2 plus x5 plus x6. And it's supposed to be 0. We can put in the value we know. There is only one missing because it's a dangling check. So we can recover the value of x2. OK, we erased one question mark. What do we do next? Do you see it? OK, the third one is dangling. So we can correct our. This is our algorithm. This is a peeling decoder. It's very simple, right? It seems too simple. It's not going to work. So we could go back. It's a good idea to improve the performance. But it's a bad idea in terms of complexity. It's going to make the algorithm very expensive. And it's similar to what we do to solve three SAT problems where we have exponential time algorithms. Yeah, what would you like to do? I'm going to do nothing. Yeah, we are going to leave it. We are going to fail. But it's still good enough. That's the thing. So when does this decoder fail? It fails when there is a stopping set. It's a set of erased bits with no dangling check. If there is no dangling check, we cannot do anything anymore. So this is what's happening in the situation you identified. And then we just stop. The decoder stops. We want to keep a very fast decoder. So it stops. And what we are going to try is to design a graph where there is no dangling checks. And it's actually possible. So this is the claim I just made, that the decoder fail if and only if the erasure contains a stopping set. So we want to avoid stopping sets. And it's possible. About 20 years ago, Richardson and Urbenke designed very carefully. This is an informal statement. A family of LDPC code in such a way that the probability to have a stopping set, to have a failing configuration vanishes. Yes. So I define a stopping set as a set of erased bits. I mean, just one bit can be a stopping set. It is possible that one bit is a stopping set. I'm not claiming that this decoder is good for this code. So here, we can check. So this one isn't. No, if you have just one question mark. Yeah, so if you have one question mark only. And those two are removed. Is that what you mean? You are saying is this a stopping set? So the configuration we just used was a bit simpler. There was no stopping set. So you're right. This one is a stopping set. That's why it's here. Here, we cannot apply the decoder. And it's a stopping set. So if we try, we don't find a dangling check. We cannot even start. It was just two of those bits. So a stopping set is not one question mark. It's a subset of locations, a subset of bits. So the subset that is the set of three bits that we have here is a stopping set. If you tell me I take just this one, this is not a stopping set. Or if you tell me I take those two, this is not a stopping set. Any subset of the bits, any subset of. I don't take any subset of that. I fix my question marks. Here, the subset that I look at is a subset 2, 3, 5. This is a subset of question mark. I want to know, can I correct it? And to know that, I'm asking, is it a stopping set or not? So to know if it's a stopping set, I look at the three checks. This one is incident 2, this one is incident 2, this one is incident 2. So I cannot correct this set. We can chat more about that if it's not clear. Yes? So my motivation is two folds. First, I want to give you an intuition for local decoding because you will see the equation for the belief propagation. It's a bit more technical. And second, it's a useful tool in practice. I'm going to discuss the union find decoder, which is based on reducing the problem of correcting poly errors to erasures. And I'm going to discuss two LDPC decoders, which can be improved using an erasure decoder. Yeah, after we can discuss in which physical model this kind of thing applies, for now my model is depolarizing channel. What I'm aiming for is depolarizing channel and noise in a circuit, which is depolarizing the qubits. But I like the loss of a qubit, loss of a photon, as an erasure model. It's where a erasure decoder applies also in practice. OK, so the point that they, so now the point I want to make is that they manage to design families of codes by selecting random graphs and removing short cycles that removes stopping sets. And those codes are optimal. They achieve the optimal performance, they achieve capacity, and they come with a linear time decoder. So even though we are often stuck, we can design codes for which we are rarely enough stuck. And the basic idea is to remove short cycle again. If you want more about information theory, I was not very careful with the references until now. But those three are great books for classical LDPC codes and classical information theory and the link with statistical physics. I'm going to add more references at the very end of the lecture. OK, now let's look at a channel closer to what we care about, the binary symmetric channel. Each bit is flipped with probability P. And when we have our channel, we apply it to our bit string, we receive another bit string where some of the bits are flipped, OK? And what we are going to compute is what is the probability to have a bit with value 0 in our input message when we receive Y. So I see only Y and I want to know what was the input bit. Was it a 0? What is a 1? Was it a 1? To know that, I just compute those two probabilities and then I can use this information to correct. How do you think I correct? If I tell you what is the probability that bit number 1 was 0 and 1, I give you those two numbers. So most likely, yes, so we can pick the one with the largest probability. So this is what the decoder does and this is what we mean by computing marginals. It's only computing the marginal bit flip probability for a given bit. It's a local decoder. It's not doing a global correction. Yes? That's true. If we correct the first bit, it may change the probability for the second bit. Is that what you mean? Yes, that's true. We are going to correct all of them simultaneously. OK, now we need to compute this probability. And to compute it, we want to evaluate something that looks like that. It's a sum over all codeword where the value of the first bit is 0. I want to compute the probability that the first bit is 0. And I sum over all the other variables. And I compute the probability to have y given x. And by this sum, I get my probability to have my bit equal to 0. This sum, we can rewrite it a little. This probability to have a flip here is independent of each bit, so we can write it as a product. It's a probability that we get y i given x i. Each bit is sent through the channel one at a time. And this 1x in C, what is it for the revision code? This function is simple. It's 1 when the bit string x is in the code. And it's 0 if it's not. So for that, we can use the checks of the code. And we know that x is in the code if and only if x1 plus x2 is 0 and x2 plus x3 is 0.  These two things are 1 when the two values are 0, when the two checks are 0. So what I want to say is just that this thing we compute, it's a sum of products. And typically, those products have a small number of bits, a small number of variable. So it looks like that. It's a sum of a product of function. And in addition, because we have LDPC code, each function f i, it comes from a check. So it's acting on a small number of variables. So now we want an algorithm to compute that. How many multiplications do we need to do that naively? So this sum is over all the possible code words. So there is two to the k code words. And when we have two to the k code word, we do all of the order of m multiplications. Oops, it should be a m. So it's many multiplications. It's exponential in the number of logical bits of the code. We can do better than that. And the goal of belief propagation is to do this calculation with fewer operations. k is the code dimension, because we sum over all the bit strings that are inside the code. Yeah, it's a number of logical bits, or qubits in the quantum setting. So for instance, if you want to compute a sum like that, do you have a way to simplify it? We can extract, okay, yeah, we can extract the second term or the first term. And it's faster, right? But it's hard to see in general what kind of transformation we can do. If I give you this one, in which order should we evaluate those functions? Should we multiply them? Should we add them? It's hard to see. And we're gonna do that with a graph. This graph is called the factor graph. We have two types of nodes. It's gonna look like a familiar graph. There is a reason for that. We have some node corresponding to the fi to the function, and some nodes corresponding to the variables. It's called a factor graph. And we're gonna use the topology of this graph to compute, to compute this sum. So I'm gonna show you this graph. What we want is a sum where X1 is missing. So I fix the value of X1. I want to know what's happening to this sum when X1 is fixed to zero and X1 is fixed to one. So I want an output here on top. And I'm gonna do the calculation by flowing through this graph toward X1, towards the variable I want to evaluate. And to do that, we do two... This one's not working. Oh, thank you so much. Can you hear me? Okay, great. Thank you. Okay, so we have two types of operation in this graph. We are gonna go from variables to functions, from bits to checks. And when we go from a bit to check, we take a product. So this one is gonna send a message to the check, which is a product of all incoming messages. And when we go from a check to a bit, we do a sum over all the inputs. And when we do that, we are gonna do our sum of products. So I'm gonna show you what it looks like. From a bit to a check, we take a product of everything inputs. But those bits have no input. So the empty product is gonna be one. So there is nothing to do for now. Now we go from checks to bits. So here, I take the sum of all the values. There is no input bits, so we don't sum over anything. It's also a trivial case. Now let's look at one non-trivial case. We take the product, the sum, so it's a check. So we take the sum over all the input variable. So I sum over all value of x5 and I multiply by the previous message. And I do the same thing all along. It's a bit, so I take a product of all the inputs, a product of this side and this side, give me this product, evaluated when x4 is zero. And here it's evaluated when x4 is one. So I look at both values simultaneously. And I keep doing that for all the edges and this give me my exact formula. But the way we factorize this function is much more efficient that we will have done it naively. And this is what belief propagation does. It can compute this thing, which is a marginal error probability of this bit. It's telling you if there is a flip on this bit, by sending messages through this graph. And this factor graph is actually a tanner graph. We saw that the function we want to evaluate is a product of the checks. So by sending messages through the tanner graph, we can get our bit value. Now I'm going to ask you the same question as in the Erasure case. Is that realistic? Can we apply it in practice? I do it by look, so this graph represents a function we want to evaluate, right? So we build this graph by looking at this function we want to evaluate. In our case, it's always a sum of product. And we are going to put one bit for each of the value, X1 to X6, and a check for each of the F. So F3 act only on X4. So F3 is connected to X4. F4 is acting on X4 and X5. So FF4 is acting on X4 and X5. So the relation between the bits and the functions is represented by this graph. Okay, so now is that realistic? Yeah, I heard the answer. Like in the Erasure case, it's not a tree in practice. In practice we have cycles. So BP works exactly in a tree. It's a good approximation in a graph if we have large girth, if we have no short cycle and we know how to build that. So for our DPC code, we select random graph, typically with large girth, and we get a good approximation of those bit flip probabilities. And we can, we have even an algorithm to produce those large graph with no short cycles that look locally like a tree. So in practice we do it in the graph simultaneously over all vertices. So it will all send a message to their neighbors and constantly each vertex is sending a message to the neighbor. So it's equivalent to looking at a ball. Okay, now I can talk about the quantum case. So in the quantum case we have the depolarizing channel. So it's the same thing as our bit flip channel, but it's supplying the identity X, Y, or Z to our quantum state. Yes? Yeah, if you have, if you know for instance that your knowledge rate is extremely low, then you can build a lookup table and you can assume that there will be only one bit flip out of a thousand. But does that mean that you're using the right code if you know that there is one bit flip and you use a very large distance code? So typically we have enough bit flips to make the lookup table impractical. Yes, otherwise that means you are using a code that is too strong for what you need so you could store more information. So it's, yeah, but it's a good point. If you have a very low noise rate, you can deal with a very simple lookup table. Okay, so now let's, so in the classical case we computed those two bit flip probabilities and we select the bit with the largest value. So we correct the flip that is the most likely. In the quantum case, can we do the same thing? So we have four things to compute. We have a syndrome and we want to compute the probability that a given qubit has an error. It can be I, X, Y, or Z. We have four probabilities to compute. We can compute that, but it's not gonna work well. And the first reason is that, look at the telegraph, it's full of short cycles. And it has two because of the commutation relations. Because those stabilizer generators commute it creates four cycles. So it doesn't look like a tree and it cannot look like a tree. The second thing is that even asking this question, what is this probability to have an X on qubit I, does not mean anything. It's not meaningful because we consider errors up to a stabilizer. The stabilizer does nothing to our quantum state. So if there is an X on one qubit and I apply an X stabilizer, it doesn't change my state but it changed the value of the error. So this question is not well stated. And that's what makes BP underperforming for stabilizer codes. So we're gonna look at two different decoders. The union find decoder for LDPC codes and BP OSD. In the case of BP OSD, in the case of LDPC code, I think the BP OSD perform better. But it will be good to have more, to understand that better and to have a comparison. And in the case of, yeah, but it's fully heuristic. Our goal with the union find decoder for LDPC code was to try to prove something. So we can prove that we correct the polynomial number of errors and we are trying to push it further. I don't know, I think it's very, it's still research questions, what I'm gonna discuss about now. And there is still a lot of improvement needed for these two decoders. The first thing is that you will see they are too slow. The complexity is very far from linear. So I'm gonna first give you an intuition for the surface code. Then we are gonna move to LDPC codes. So in the surface code, we have this tanner graph with our qubits and our two types of checks, X checks and Z checks. And we are gonna focus on Z errors to simplify. So we have a new tanner graph where we look only at the X check. And what's happening when there is an error in this graph is there is a Z error on one of the qubits. The two incident checks light up. They see a non-trivial value. There is a non-trivial syndrome. So we measure something. And when there is a path of errors, then we measure the endpoints. Those syndrome along the path can sell. So basically what we see about the error is the end of chains of errors. We see the endpoints of those chains. And our goal when decoding is to recover this chain given the endpoints. And we have also this notion of stabilizers that's gonna help us. There is some error configurations, some chains, some loops of errors that are trivial. And those that look like a loop, they correspond to a stabilizer. And those that connect the same boundary. If they connect left to left, they have a trivial syndrome, but they are stabilizers. They are not non-trivial logical errors. The one that is problematic is the one that connects the two opposite sides. Those have no syndrome. They have no end. There's no check at the end. They are not detectable, but they apply a logical operation. They change the quantum state. So we want to correct up to a loop, but not up to something that connects the opposite sides. And I'm just gonna give you the basic idea here. The basic idea is to say we see those red vertices. We want to find a correction, a minimum weight correction ideally, or a low weight correction that matches those vertices by pairs. What information do we have when we see that there is one vertex that's lit up? If there is one check that is not satisfied, what do we know? Exactly. If there is a check with non-trivial values, there must be an error in one of the four incident qubits. Let's use that. What we're gonna do is erase them. I picked the wrong one. If this check is on, one of the four incident qubits must contain an error. I'm gonna start growing clusters around the information I have, around the syndrome bits. I do the same thing, starting with a small cluster. Those two have ground already. I'm gonna grow the others, and sometimes two clusters meet. When two clusters meet, I'm gonna look at this entire thing and I'm gonna ask, can I correct this erasure? Can I find a correction inside this cluster, restricted to the cluster? Can I, in this case? Yes? Okay. I can find a correction. I correct this qubit here, and it's turning off those two checks. I can find a correction locally. I'm gonna keep this cluster alive, and I'm gonna keep growing the other clusters, those that have not been corrected yet. I'm gonna grow those two clusters, starting from the smallest one, and at some point they meet again. When they meet, I ask, can I find a correction inside this one? How do you know it? Sorry? There is a connection between them. So, is there some information I can track to know immediately if there is a correction inside this cluster or not? Yes, exactly. If there is an even number of them, I will be able to find a path connecting them. They are in the same cluster. So I just need to start one bit to know if I can correct that. So we start one bit, we update it when we grow the clusters, and when we see that this bit is zero, we stop growing, and we keep growing the other clusters. And at the end, we only have to correct an erasure. And correcting an erasure is easier. We previously worked out a linear time erasure decoder. We just have to plug it in, and it gives us an algorithm whose complexity is dominated by growing clusters. You can think of erasing all these qubits in this cluster. I know that there is a correction inside the cluster, so I just have to find it inside a subset of qubits. So you can think that, I give you a set of question marks, and I know that inside, you have a correction. Yes? I'm saying if you want to know if this cluster is correctable, you just need to count the number of syndrome bits, of red vertices inside. If it's even, that means you can find a correction. If it's odd, you cannot. Because a correction is going to be a path, a chain of errors that connects two vertices, that connects pairs of vertices. Because each correction connects a pair, you must have a pair to correct it. Exactly. If it's four, I'm going to pick whatever two pairs. But because I do it locally, I know that all paths are equivalent up to a stabilizer. Because those local loops have no effect. And I know that it's going to work. Okay. So now... Oh, sorry. I'm not assuming anything. It works for any fault configuration. Here, there is one error here and one, two, three, maybe. In this case, there is one error, but I don't assume it. If there was more than one error, I would have grown further and found a different configuration. It's hard for me to visualize that maybe we can talk about this technical case after. What's the other question? So it does happen, and the same thing happens, let's say, three cluster meet. You just compute the parity of those three. If the parity is even, we can find a correction in the union of those three clusters. Okay. So now I want to tell you why for a long time we're thinking it's not going to work with LDPC codes. I told you they look like that, right? LDPC codes. So they look like that, and that means when we start with a cluster with vertex, with one vertex, if we grow it with adding the neighbors, we get this red part.  So if I can grow only three times to find the entire graph, it's not going to work, right? And that's what we were thinking, but actually we managed to prove that for some LDPC code with enough expansion, we can correct a polynomial number of errors with this strategy, with the same strategy for LDPC code telegraph. And the key ingredient is to look at this notion of covering radius. I'm just going to give you an intuition and then I'm going to state the result. The idea is that you start with some syndromes. Those are some red checks in the telegraph, and you have an hydrate like this bulb.   We stop here, this is the covering radius. This is the minimum radius we need to cover the arrow. And what we can prove is that if this radius is small, then we are going to be able to correct with the union find decoder, because we don't need to grow too many times. Even though we grow fast, if we can prove that we only need to grow a small number of steps, it's enough. And with that we can apply the union find decoder to correct some polynomial number of errors for quantum expander codes or for hyperbolic codes or for toric codes in iDimension. So we can expand the range of the union find decoder. But still, it's not fully satisfying. It's an unopened question to push it further and to reach the full distance, distance over 2, instead of this polynomial. And we also lose the fast complexity. So in the case of surface codes, the complexity is n alpha of n where alpha is this inverse sacrament function, which means that if the number of qubits is smaller than the number of atoms in the universe, this alpha of n is so slowly growing that it's at most 5. So it's basically linear function. It's very slowly growing. And that's what we call almost linear. And for ldpc codes, the complexity jumps to n to 4 or n cubed log n for expander ldpc codes. So there is a big jump. And the issue is that we cannot count the number of qubits and the main issue is that we cannot correct this array's cluster efficiently. So the main issue again is erasure. That's one of the reasons why I like the erasure decoder problem. Okay, I'm going to stop here. I think I'm running out of time. Or maybe I'm going to give you the intuition for the BPOSD in one minute. So BPOSD decoder, by Pentelayev and Kalachev. And the idea is more solving a linear system. So we have an error. We have a parity check matrix. It's basically our tanner graph, right? And we have a syndrome. The syndrome of this error. And our goal is to find a likely error whose syndrome is s. The way they do that is by estimating all the bit flip probabilities using BP. So you need BP. You need the classical BP. Or you apply it to X, Y, Z. But it's the same algorithm to compute those probabilities. Here there is a probability 0.12 to have a bit flip on the first bit. And then we select a basis of the columns of H, the column space. So we need three vectors here. We select a basis with the highest probability. So the first one will be this one, the second one is 0.31 and the third one is 0.17. And once we get this matrix we are going to solve a simplified linear system which is based on this matrix. When does this matrix give me the right syndrome? The advantage of this matrix is that it's smaller and we can invert it typically. Because of that we can find X prime and we can reconstruct X from X prime. So doing that is great. What is the cost of doing that? What is the complexity of doing that? N N square. So the most expensive will be to solve a linear system. And solving a linear system by Gaussian elimination it's going to be N cubed. So it's expensive. We would like to get it to linear. That's why it's still a research question. There is still a lot of work to go down there. But it performs very well. So it's already a good first step. And now I'm going to leave you with this question. I gave you a few decoders. BP, so you need to find BP OSD. All have issues. BP doesn't work because of short cycles. So you need to find it doesn't achieve the distance and it doesn't work that well numerically for some codes. BP OSD works well in practice, but it's heuristic and it has N cubed complexity. Which one do you pick? How did we generate those plots? So we use the first one, the most terrible one. Because it's fast and because it has some fault-tolerant structure by nature. So I'm going to discuss I'm going to summarize how we put everything together in the next lecture. Thank you.


Hi everybody. We are today again with Dr. Sam Bachman, and he's going to talk to us today about how to educate people for us to avoid to be victims of narcissistic people, especially in the workplace, because as we said in the previous episodes, the fact that we keep on electing narcissistic leaders is actually affecting our future, but most of us only focus on the short term. However, this actually goes against everything that we believe in and the word in general, as a whole. So how can we make sure not to be victims of narcissists from the workplace relationships, but especially in the workplace victims are created victims. They are, for example, people with unclear boundaries or missing boundaries, personal boundaries, that we usually raised up this way. The parents refuse to allow them to separate to become individuals to individuate. So people without boundaries are wide open.  Most of them would they would sacrifice their own self interest in order to see a smile on someone's face or to be liked, liked, accepted to be long. This is not victim blaming. This is just to explain that education can only go that far. I can educate a victim, a potential victim, I can educate her from here till Tuesday, and she will leave the room and she will immediately become a victim. Education is only part of the equation and a small part of the equation. It would take a day to educate someone to recognize the warning signs and the red flags of a narcissist or a psychopath. If he doesn't respect your wishes and boundaries, not good. If he tries to force on you. Anything, not good. If he makes decisions and choices, instead of you, not good. If he disrespects your opinions and disrespects you, not good, etc. We can combine such a list. We can comprise such a list.  But then majority of them, highly and fully educated, would still become victims. Education is not guaranteed. We know, for example, that most victims re-victimize. In other words, most victims go through an experience with a narcissist or a psychopath, and then they go through it again and again and again. What do you think that happens? I can tell my personal experience too, and I can tell later, you know, my own remedies to it. But like, what do you think that happens that people, despite being educated, they keep doing that? Because it fulfills deep psychological functions and caters to deep psychological needs. Victimhood is a state, is a state of mind and a state of being that is actually adaptive. That's the problem. When you learn to become a victim, because it's a profession. When you learn to become a victim as a child, usually, but not necessarily, but usually as a child, you had become a victim because it worked well for you. It helped you to survive. It gave you some competitive and evolutionary or otherwise adaptive value. In other words, it was good for you to become a victim. It was the right choice to become a victim.  So victimhood then is adaptive. And the problem, of course, is we don't get rid of this mindset when we are adults and it's no longer needed. And it's embedded. Far more important than education, which is of course important, but far more important than education is coping with these personal deficits, cognitive deficits, lack of boundaries, people pleasing. It's far more important to deal with this regulation of emotions, modulability, impulsiveness, recklessness, acting out the compensation. In other words, it's far more important to deal with the psychology of the victim than with her cognitive capacity to recognize abuse. We know, for example, that victims of sexual assault.  And so it's sometimes very difficult to tell that you are being abused. But if you're raped, that's pretty clear. Yes, there's no argument here, you're raped. And yet, the statistics are is that victims of sexual assault experience on average for sexual assaults. In other words, they repeat the experience. Why? They know everything there is to know after sexual assault in the first, after the first time. After the first time as a woman, you know everything there is to know about rape. Why do you do it another three times? Because you're victim, you're preconditioned. Sorry, don't you think that the reason why people do this kind of things is because they don't know any better in some sort of sense, like, for example, being a victim of rape or being a victim of narcissistic abuse and do it again.  So in the end, these people don't know any better. They live in a cave where they are surrounded by people that make their being a victim an adaptive behavior that is actually successful. So the only way to maybe change and make sure that people don't do these things again is by somewhat changing their perception. Like to change what they think is actually good for them, like adaptive behaviors being a victim, to make them understand that those things are not good for them by changing their surroundings or their perception in other ways. That's precisely the problem. First of all, they're not surrounded. They choose and they attract and they go.  These are multiple steps of choice. This is not that she's surrounded by any by numerous rapists, is that she goes where the rapists are, where the predators are. So it's a choice, not, not a happenstance or circumstance. That's the first thing. The second thing is that it's not only that she doesn't have a choice or doesn't know any better. I'm not saying she because most victims are women, but it's a comfort zone. What she does best is to be a victim. Now we all love to do what we do best. I do best writing articles. So I write articles all the time because that's what I do best. A victim does best being a victim. So that's what she does all the time. It's a comfort zone. She feels good when she's a victim. She knows the ropes. She knows the rules. She knows what to expect. When it does happen, it's predictable, no big deal. And gradually there is emotional numbing. And when you talk to victims who had been victimized multiple times, they minimize the abuse. They minimize the victimhood. They say, come on, it's not a big deal. You know, happened to me before and so on. This comfort zone issue is a huge problem, a huge obstacle to learning and to change. Because change is more frightening than abuse. That's something we don't realize. It is true. Change is more frightening than abuse. So, and the unknown is always more terrifying than the known, whatever the known is. The unknown is abuse and torture. It's much better than the unknown. So we go back to my idea, though, that maybe the only way to change the victims is to show them that not being a victim is possible and is actually more advantageous. And maybe having support groups, because that's the point.  So people have their boundaries, their thresholds of what abuse, what healthy relationship is, they have it on the unhealthy zone, right? So their comfort zone is actually a zone of abuse. So what if instead we have like we should use maybe psychologists or I don't know what other like healthy people as examples of what they should actually perceive as normal and not, and show them how those people are very happy instead. And you can learn from that. I don't know, like I'm just, you know, guessing here, because I really want to find ways for people to abandon these adaptive behaviors and get out of this comfort zone, which is not comfortable at all. But to do that, they have to know that another reality is possible that people are can be different than that and are much happier and much more successful than that. So do you think there is a way to do that? We need to overcome three obstacles before we attempt anything whatsoever. The first obstacle is an external locus of control. The victim believes that her life is determined by others from the outside.  She has learned helplessness. She is disempowered by her own hand. She disempowers herself. I mean, negative automatic thought. I'm helpless. I can't help it. There's nothing I can do about it. That's the way it is. That's the way the world is. That's the way I am. I'm defective and whatever. So that's the first thing. This can be done with CBT, Cognitive Behavioral Therapy. The second thing we need to overcome is the emotional investment in victimhood. Victimhood is very gratifying because you are not responsible for what's happening to you and therefore you are not accountable for what's happening to you.  There is this whole movement on like narcissists magnet. I'm a magnet. What is a magnet? A magnet is a passive, totally passive thing. And so a magnet can never be held accountable or responsible or can never be thrown in prison. A magnet is just a magnet. So it's very emotionally gratifying. And that's how dictatorships start. That's how Nazi Germany started. The whole German nation gave responsibility and accountability to Adolf Hitler. And from that moment they were relieved. And Sartor said that existence is a burden because you have to make choices. As a victim, you are released and relieved from the need to make choices. Victims don't make choices. And so they have no angst. They have no anxiety because someone else is making the choices for them. Like Hitler in Nazi Germany.  He's making the choices for you. So it's very gratifying. It's difficult to overcome this. Extremely difficult to tell someone you must own your life. From now on, you make the choices.  You will be held accountable and responsible. They don't want that. They are, in other words, in an infantilized state. They're infantile, they're children. Victims are children. Eternal children, exactly like narcissists. That's the irony. Narcissistic abuse is about one type of child abusing another type of child. It's a child infantile dynamic, totally. The third obstacle we have to overcome is alloplastic defenses. Alloplastic defenses mean that you blame others, the world, the universe, your boss, your spouse, for everything that's happening to you. There is a lot of alloplastic defenses in victims. They tend to abrogate ownership of their life. So it's linked to external office of control. And so they never feel guilty or ashamed. On the contrary, they're kind of proud. They are morally superior. There's moral superiority being victim. Some, some, some ethnicities and some minorities made a fortune, literal fortune, money from being victims. Victimhood pace, like crime, crime pace, victimhood pace. How do you fight this proposition? You're not responsible for anything. You have gratifications and rewards. You're morally superior. You're in your comfort zone. And how do you fight all this? It's a complex. It's not easy. And that's why we have also been spread of narcissistic abuse because there are a lot of victims, because if there were no victims, there were no abusers. So that's why I'm trying to focus on the victims and trying to build awareness so that they at least know and they don't allow, because not all narcissists are the same. And that are not that skilled. So if you at least give some awareness to the victims, at least you kind of like, you know, this incentive, at least a part of the least complex artistic people. And that it's already something because then you can build and build, you know, so maybe the next generations to come, it will take generations to make these changes. And that's something that is going to happen with person to person, you know, but like you can, we should probably start from a children to educate children to the network. We are talking about in the previous episode to having a network of kind of workplace and communities that are having a hierarchy. And to wanting the best for each other and to wanting, you know, the best for their own future for them to believe in a future. But this could be, this can be only from the bottom, it must be grassroots, because the elite and the power structures and the institutions, and, and technology. They are encouraging narcissism, they will never fight narcissism. On the contrary, they will teach narcissism skills. You look at people under the age of 25. They have zero intimacy skills, zero intimacy skills. All people under age 25 have had sex only outside intimate relationships. It's a fact. You can read her Lisa wait to quarter a few scholars. Literally all people under age 25 never had intimacy with another person and had sex only outside intimacy. In other words, who cups one night stands. They are objectifying each other. The young are objectifying each other. They're treating each other already as objects. majority of them are also addicted to substances and so on. It's not a good ground, not a fertile ground. It's a problem that we are facing serious problems, even in the younger generations. I don't know, I don't know exactly how because if you go if you go to a young, let's let's assume I'm talking to young kids right now, 20 years. Not about 25 years old and talking about young kids like from two years old because I see that even right. I would like, for example, imagine I go to another two year old but I go to a 14 year old and I said, listen, this, that, not this isn't this. He says, Mr. Vaknin is Donald Trump a narcissist and say, yes, yes, is a bad narcissist is a malignant narcissist. The kids says, well, I want to be like him. Your message is idiotic.  Here's the thing though, this is my. This is what I think will benefit this kind of you because not Trump is a narcissist but I don't think he is a top narcissist is not a top predator because he's too overt to actually be in control and is an actual example of what happens to narcissists that don't know how to you know themselves and they don't know how to actually do good for everybody. He will be taken down as is almost as being impeached. So we're talking about the president of the United States that reached a peak, and then it's being taken down by everybody piece by piece is being taken apart. This is not what anyone wants maybe you become the president in the United States but not in a good way right and then afterwards you have the backlash of that. So who wants that maybe you wanted that once he was in power but now he's not a good example anymore. And so what I would like to offer to people because as you're saying, this is for everybody both for narcissistic and for victim. So I have to have to give people a better option for them to want to change to exchange to trade their life for something else.  So actually, I don't think anybody wants that because in the end, the reason why people are keep being victims is because they have an ego and they allow themselves and their ego to be fed. So if you make people understand that still maybe leveraging on their ego initially, if you make make them understand that having more awareness gives you a better position as compared to others. Maybe initially, you will transport them in some sort of narcissistic people as well by the time I feel like that can nurture more people that want the best for everybody because they will understand their ego will be fed, not through being I'm the best, but through understanding that either you do the best for everybody, or you will be taken down after a while, everybody goes through the same sort of abuse from the system unless you change the system.  So it's better to like invest in a better world now for you, not for me, not for anybody else for you. So, I don't know, I'm just we need to restore what you're saying is we need to restore faith in the future in a future, not the future, but a future. Young people don't believe in the future, because there is climate change and COVID and we need to restore faith in the future. And we need to restore faith in the future also for 50 years old and 60 years old. I lost, I lost faith in the future, I must study. I lost faith in any future. I live in a permanent present. And I see myself as I live in a permanent present becoming less and less moral, less and less regulated, less and less inhibited. I see my own moral corruption in the generation setting in as my time horizon narrows and becomes from a spectrum to a point. Yes, consequences are in the future right so if you live in the present there are no consequences the consequences are after you know you don't have to restore faith in the future victims will understand that the victim who has consequences, even narcissists would understand that the narcissism has consequences. Yes, this is a very self interested. They may say, you know what, maybe I should modify my narcissism a bit to secure, you know, longevity or so. The problem in modern modern civilization, especially now with COVID and all this climate change, we lost faith in the future completely. This needs to be restored on the individual level and collectively, this would be my focus not not educating about abuse, not, you know, all this can come later. I educate people that there is a reason to live a reason to stop being a victim, a reason to stop abusing a reason. There's a reason to stop all this. But right now no one has any incentive to do anything but CalPDM maximum maximum outcomes right now. Never mind the cost to me and to others narcissistic mindset. That's just a manipulation because future exists. That's the problem that people don't understand that they've been fed with the idea that you live here now because they are just consumers in the end. And so they can spend their money and they don't have to think to save for the future also right so most probably that's also the reason why people start living in the present only instead of thinking about the future. I don't see, I don't see the elites, I don't see the elites are different. The elites are also living in the present. I think everyone gave up on the future elites as well. And that's why the elites don't mind at all income inequality and something because elite, the elites are self perpetuating they're very careful. They don't want a revolution. They don't revolution, but the elites of today. It looks like they don't care if there is revolution. They don't care anymore. They just want more and more and more business made $50 billion in the year of the pandemic. 50 billion is flying his brother and himself to space for a few minutes 15 minutes is going to cost $10 million. But couldn't he have taken this $10 million and do something good with them. But he doesn't, but he doesn't care anymore. He doesn't care. The elites don't care anymore, because they also live in the present. We have lost the perspective of the future, even on the elite level, which is seriously bad news, because the elite was the regulator of resources and the regulator of time. The elites, they were, they were and are horrible people. But at least they regulated civilization somehow. They took care of institutions. They took care of time management. They took care of having some horizon, so that the people don't revolutionize don't create revolutions. They wanted to start to score wanted to preserve. They don't care. They don't care. The 10,000 richest people on earth, 10,000, just 10,000, they control half the world's property and income. And they don't care. They accumulate so much money. They don't give back any of it with one or two exceptions.   And of course, if you don't have a future, you're perpetual victim. We are all victims. We are all victims. Even narcissists, they're victims. Look, look how Donald Trump ended. We are all victims. Yeah. I agree. Well, thank you for this amazing chat today. And I would love to continue having chats about this and like, especially because, you know, like, unfortunately, it is true that it's very challenging. We're talking about a topic that is not just us talking about it, like very high experts in the world, including you are trying to figure out how to fix it probably or maybe they're starting to become less and less, you know, willing to do it because they started not to care about the future as well. So I hope I'll have you in the next episode. Thank you. I wish you a good day. Hope you had fun with this interview. Take care. Thank you. Thank you so much.


What's up guys? Welcome to today's video.  Let's paint that at the base and then I'll show you guys the rest of the technique All right, so now that we got that deep plum work through I want to section off the front I'm gonna do this in a very simple way just creating little triangles throughout the head shape And and really rubber banding them off and what this does it keeps the sections nice and tight and really showcases All the movement that we're gonna create we're using triangles That's the softest way to section off You can see the two triangles in the front creating that money piece right in the front area And then we build triangles off of that and really just being creative with it I want you guys to take this technique and do your own thing Think about how the hair is gonna fall and then just create your different shapes on the head And then you can color them multiple different colors So just to start off we're gonna color the back with dusty rose dash of clear to really brighten it up I want to keep her in the blonde family So we're gonna paint this through the back and then I'll show you guys the front All right, so now that we got the back application done We're gonna mix up our third formula the honey coral with a dash of clear We also have our dusty rose with the dash of clear and we're gonna rotate those on the triangles in the front So I'll paint some of the dusty rose throughout and then I'll add honey coral in certain parts So that's all dusty rows on the top and then watch what I do right here in the mid shaft area I'll paint that honey coral in the mid shaft all the way up to that deep plumb And then I'll paint dusty rose throughout the ends and you can see that that gives me a nice little color blend I'm also gonna put that honey coral all the way through the front to add more brightness in the front And not add really any depth throughout that so just have some fun paint different colors Experiment grab a mannequin and just enjoy these different color tones All right, so here's a spin around of the final application super fun technique Now let's get into the cut so that we can show you guys that final look at the end Just separating the front in the back This is something I do on every single haircut that I do because what I'm doing is I'm separating the different densities So you got the same density through the side and then you've got the same density all the way through the back So to start off this haircut vertical line straight down center back And then I'm gonna over direct everything over to behind the ear and then I'm gonna use my brand new tool This is the tri razor by free salon education And I'm gonna swipe mid shaft to ends and pull the cut layers What this is gonna do is it condenses all that section together So it makes it really simple, but it pushes the weight to the center back So it gives you that V shape on the haircut. Alright, so the theme of today is condensed cutting So really pulling everything together speeding up the process in the salon making things faster So again mid shaft to ends pull everything forward right in front of me Disconnecting a little bit in that temple area to keep the length and I just swipe like a credit card that tri razor across It's a really really simple technique now I'm gonna go with my round brush blow dry everything give it tons of volume And we'll just work it through and you'll get to see that end style All right guys, so once we finished our round brushing I'm just gonna go in hit the style with a wand iron just to define some of those waves To showcase this end result you guys can see all those layers the highlight of this video to me is the fact that we did this hair Cut in four sections only four swipes of the tri razor. So I hope you guys can use this in the salon I definitely think you can hope you guys like the color Let us know in the comments below make sure you subscribe to the channel and I'll see you on the next video By the way guys, if you didn't know already we have an online store called shop fse that shop free salon education I always love to hear if you guys made it this far in the video So right made it in the chat down below and also go to our online store and use the code made it at checkout And I'll give you 10% off your order of $100 or more You can pick up the tri razor you can pick up the ergo brushes the combs the clips everything that I use in These videos is available on shop fse. So thank you guys so much. I appreciate the support and I'll see you guys again I'll see you on the next video


One of the primary tasks of mathematics is to try and generalize things that we do. So, for example, many times what we do is we use a symbol to indicate that we're going to do something to a particular object. And these symbols are actually referred to as operators, and the way to interpret them is they are instructions that we're going to do something to what follows. So, for example, when I write this particular symbol, I read this as the square root operator, and what it tells us is we want to find the principal square root of whatever we put inside. So, if I write this 4, this says find the principal square root of 4, and I can calculate that to be 2. Likewise, I have things like the differential operator. This says you're going to differentiate with respect to x whatever follows it. So, I can write down d dx x cubed, and I know I'm going to do something to x cubed, and so, in this case, that gives me 3x squared. And we can actually extend this to even simpler operations. So, for example, I might write 5 plus, and that's an operator if I choose to interpret it as adding whatever follows to the value 5. So, when I write this before 3, this says take 3 and add it to 5, and that gets me 8. Well, there's many, many different types of operators, but those that are particularly nice are known as linear operator, and what makes this a very nice operator is that it is something that acts on a vector, which is kind of our now generic term for something, and it's a linear operator if we preserve scalar multiplication and vector addition. And what that means in particular, if I apply the operator to a scalar multiple of a vector, what I get is the scalar multiple of the linear operator applied to the vector. And if I have the linear operator applied to the sum of two vectors, it's going to give me the sum of the linear operators applied to the vectors individually. So, let's take an example. Let's take an actual vector, u equals u1, u2, u3, and I'll define a particular operator. I'll give it a name capital D, and if I apply that to the vector v, it's going to be u, this given vector dotted with whatever vector I have. And we want to prove or disprove that D is a linear operator. So, we want to determine whether D meets the requirements, so we'll check those requirements. So, first thing, it does our operator D preserve scalar multiplication. If I apply D to c times a vector, do I get c times D applied to the vector? So, let's see if we can do this. We'll build a bridge. We'll go from the left-hand side to the right-hand side. So, I have some vector v, D applied to cv. What I'd like to determine is whether it's going to be c times Dv. And here's my starting point. Here's where I'd like to get to, and if I can build a bridge from this side to this side, then I have proven that we've preserved scalar multiplication. Conversely, if I can't build the bridge, if there's something that happens in here that prevents me from getting here, then I know that these two are not equal, and I don't have a linear operator. Well, let's go ahead and fill in the gaps. And again, we have our definition c times vector v. Well, that's a scalar multiple of this vector v, so I know what that's going to be. It's going to be cv1, cv2, cv3. And my definition D applied to any vector v is going to be the dot product of that vector with u. So, I'll find the dot product of this vector with this vector, and that's going to be this. Let's take a step back. Let's meet in the middle. So, vector v is going to be this v1, v2, v3. C applied to D. Well, so D applied to this vector. D applied to a vector is u dot v. Here's my vector. Here's u. So, I'll find that dot product. And c is going to be multiplied by that whole thing. And these two lines I can get from this line to this line by factors A. And so what that means is I do actually have a bridge that goes from my initial line here to my final line there. And so my operator D does in fact preserve scalar multiplication. Now, the other thing we have to show in order to claim that D is a linear operator is we have to show it also preserves a vector addition. So, D applied to the sum of two vectors is the same as the sum of D applied to the vectors individually. So, I need two vectors. So, let v equal v1, v2, v3. W equals w1 through 3. And let's go ahead and do the same sort of bridge building. Here's the starting point D of v plus w. Here's my ending point D of v plus D of w. And I want to go from here to here and see if I can build that bridge. So, this is going to be D. Well, v plus w, that's a vector addition. So, I can add the component wise. I can add the vectors component wise. And my definition says if I apply D to a vector, it's the dot product of that vector with my predefined vector u. So, there's my dot product. And let's see. Yeah, let's take a step backwards. So, here I have D applied to v, D applied to w. So, I'm going to dot v with u. I'm going to dot w with u. And so, that's going to be those two dot products. And again, the question is, will these two bridges meet in the middle? And if they do, we're in good shape. And let's see. Well, that takes a little bit of, let's go ahead and expand that out. I'll expand each of these products out. And let's see. There's u1, v1. That's u1, w1 is over here. u2, v2 is here. u2, w2, u3, v3, u3, w3. So, just rearranging these terms will give me this set of terms. And so, I now have the bridge from here to there. It connects. And so, my starting point and my ending point are connected. And my operator D satisfies all the requirements for a linear operator. I have the preservation of vector addition and the preservation of scalar multiplication. So, I have everything. And again, it's nice to have a little tag line that summarizes all the work that we've done. So, we might say D satisfies all the required properties for a linear operator.


monthly meal prep video so I do these twice a month where I take and make things that are just for my freezer, things that are for in between meals, snacks, breakfast items, a lot of things that you would normally buy out of convenience at the grocery store like in a big bag in the freezer section but I like to make them myself so that I know what I'm putting in them and I can make healthier options. These are things you could totally do once a month I don't have very big freezer so I just find every two weeks works out great. Another thing you could do is double or triple the recipes if you have a large family. A lot of this stuff is really friendly to that idea of where you can make a bigger batch if you want it to. I also do a lot of things that are gluten-free friendly just because we have some gluten sensitivity in our house. I also do things sometimes that are sugar-free friendly just really leaning towards a healthy lifestyle. I'm super excited about today's video because it is in collaboration with my friend Lynette Yoder here on YouTube. I think she was like my first YouTube friend back whenever I started and she helped me out a lot in growing my channel giving me tips and tricks and just learning how to do YouTube. So anyways she's become a really close friend of mine. We definitely talk on a personal basis and all of that. She's gonna be doing some cooking as well so be sure to go and check out her channel when you're done watching this video. Lynette is a mom of three. She has two boys and a little girl that is so sweet and she does a lot of home making and DIY. Her and her husband do some projects together. They've been doing some makeovers on different rooms in their home and of course lots of yummy recipes, cleaning motivation, all of the great things that you guys love if you're here at my channel. I know that you'll love hers. So go ahead and click on that link in the description whenever you're done watching this and tell her that I sent you. Today's video I have a lot planned and I have a lot of great recipes to share with you guys and we're gonna be doing some baking which I don't normally do a ton of baking whenever I do this cooking but I thought it would be nice to have some muffins and some cookies in the freezer. I love frozen cookies especially during the summertime like right now. I'm also doing a requested recipe. I did this in my last video as well so if you have any requested recipes let me know in the comments. So without further ado let's go ahead and get started on our cooking. Okay on our list of stuff to make today is sweet potato waffles. I've never tried these before but I think they're gonna be really great. They are gluten-free and there's just something totally different and I'm always looking for different things so that are healthy. So since I have my new fun kitchen gadget of my air fryer I'm gonna go ahead and put these in the air fryer and make them up because I need the puree. I'm gonna like mash them up to put into the waffle mixture. The instructions to do whole sweet potatoes in the air fryer are pretty simple so I'm going to take my fruit and veggie cloth from Doorwax scrub these down and then I'm going to actually like coat them in olive oil and then you put them in the air fryer for 25 to 55 minutes depending on the size and if you have an air fryer and you're learning how to work with it it's really simple to just open pause it open up the basket and check the tenderness of whatever you're cooking so it's pretty easy to kind of like check on them as you go so I'll probably set it for like 30 minutes check them see how they're going so you cover them in whatever oil you want to use and then you also need to take a fork and just stab them about 10 times just to make sure that you're not trapping the steam inside the potato and it like explodes on you also you'll be setting your air fryer at 390 degrees Fahrenheit while those are being made in the air fryer I'm gonna do a really simple recipe just kind of as a version of granola bars or chewy bars I've actually made a recipe that's very similar to those before if I can remember I will link that video below but this one is more like a cereal bar you know you can get the bars that actually have the cereal mixed into them and they're really really delicious but I'm gonna be doing this with peanut butter honey and these would be like Cheerios they're just an off brand that Aldi carries and then some chocolate chips for on top this looks like a super simple recipe and like everything else will be linked below I'm just gonna go ahead and heat these two up I believe and then you mix that in and top them with the chocolate chips also I'm gonna be doubling this recipe because I want to put it in a 9 by 13 pan and just make a few you know make it a little bit more than the original recipe alright so this recipe was requested recently I do have the waffles going to if you hear the waffle iron kind of sizzling back there that's what's going on but somebody asked for me to do like salmon bites or salmon cakes or something with salmon so which is perfect because I've actually been trying to incorporate more salmon into our diets just because it's so much healthier than a lot of other proteins so I have about a pound of salmon here and this recipe actually calls for you to cook the salmon first if you click on the link of the recipe below you'll see the instructions on how to do it in the oven I am gonna do this in my air fryer since I'm like going a little crazy with the air fryer since we just got it so I'm gonna cook it up in the air fryer first and then we'll put it back I wash the bowl put it back in the bowl and then make it into the bite sized with the rest of the ingredients and then I'm going to put them back in the air fryer make them crispy little bites so I can stick them in the freezer flash-free them put them in a bag and then I can just reheat them in the air fryer if that all makes sense so the first thing I'm going to do is lay all this out in the air fryer and get them cooked up all right so this has a couple droplets of water in here because I just washed this out from doing the salmon fillets in here and now I've mixed this up in her recipe I believe she has like a vegan option for egg I just used a regular egg and then of course she does use I think panko bread crumbs and I used almond flour now the almond flour didn't quite absorb enough moisture to be able to like pack this into bite sized pieces so I added a little bit of coconut flour I've mentioned this before but coconut flour absorbs a lot of liquid so if you're looking for a gluten-free option to put in your burgers or meatballs or something like that a little bit goes a really long way but it helps to kind of bind together things so I think this is good enough to make into bite-sized pieces I'm just gonna put them all in here and then I'm gonna put them in the air fryer probably on the french fry setting that's on my air fryer just to kind of give them a crispy outside enough that I can flash freeze them and then put them in the freezer also like I said there is oven instructions on this recipe like you just saw I'm flash freezing the waffles right now and now I'm gonna start in on some green muffins so I've got some oats in my blender up here I'm gonna blend those first and then put all the other ingredients in blend them up and I'm actually gonna be making mini muffins just because they're a little bit easier for my little girls to eat instead of doing a regular size muffin and this recipe is really easy I love if you guys haven't noticed from my meal prep videos I really like blender recipes you can just blend everything up like the waffles and you can make stuff super quick and it's a really good way to do really healthy recipes like this one for example is gluten-free as long as you get gluten free oats and then you put in some bananas and some spinach and use a little bit of local honey and it's super delicious I've made things like this one before I haven't made this exact recipe so I'm really excited to try it out while the muffins are baking I'm gonna head into the next recipe I'm so excited about trying this recipe out it is a gluten-free oatmeal cookie it is not keto friendly and it's not sugar-free so keep those in mind because I do a lot of recipes that are like that but this one does have brown sugar and I'm also going to be using some organic raw sugar as well and so basically it's just a chocolate chip oatmeal cookie I know that my husband really enjoys these and he's the one in our house that is the most gluten-sensitive so these will work out great and I'm so curious to see if they're a little bit more of a hard like snappable oatmeal cookie or if they're a little more soft we'll see how they turn out but I'm gonna get all the ingredients mixed up and then get ready to put them on the pan these muffins turned out super yummy I know my girls are really gonna like them they definitely had a very banana taste to them but of course sneaking some greens in is never a bad thing also I wanted to tell you that the salmon bites ended up being so delicious I plan to reheat them for lunches and then just serve them with like a tartar sauce it's really easy to whip up and also these cookies were really good they were more of a soft cookie which I know our family will really enjoy I hope that today's video inspired you if you're new here I'd love it if you joined my channel and hit the subscribe button if you're coming from Lin's channel welcome I hope you stick around and don't forget to leave me a comment give this video a like and I'll see you guys in my next video