Okay, thank you very much. Thank you. Thank you Fabrizio for inviting me here and Welcome everybody to these lectures. So Do you hear me? No Okay, maybe I can just Okay, so do you hear me? Yeah, good so Good morning. Good. Good afternoon and This is the first of three lectures that I'm going to present to you and During which I would like to discuss some basic introductory subject on the topic of What are the limits and the possibility offered by quantum mechanics in? Okay, so in In the process of extracting information from a quantum system So basically what I'm going to do is While entering this field I will I will present you something about quantum communication And this is the topic of this lecture that I'm going to give today and then I will move To present in you some basic result on quantum etrology Okay, so you have three objects to deal with I'm not sure I can do that the microphone the The laser and pointer and and the computer but anyway, so Let's discuss about quantum communication So first of all it is important to notice that quantum communication is a theory of open quantum systems So basically more precisely we deal with What happens when you try to send quantum signal through a communication channel that we represent as a medium which is Which is an external environmental medium through which the the signal propagate and basically in quantum communication you assume Input output formalism where basically you give To one you have two parties say helis and Bob the center of the message and the receiver of the message You give helis the possibility of manipulating the the quantum signal the initial state of the quantum signal that you want to send through the communication line and You give Bob the possibility of instead manipulating or operating on the Messages which have been transferred and transformed by the action of the environmental noise that represent the dynamics of the path that propagate through the Communication line. So this is the main The typical setting that we are going to discuss so the how to look of my presentation is basically the following first of all, I will like to spend few words in by introducing the basic Properties of of quantum channel. So what we what what these objects are how do we characterize them in quantum information? Then I will briefly recall some basic idea of quantum communication of classical communication theory Which will provide us the the figure of merit that allows us to Establish under which condition and what are the the the the possibility that We have when we want to transfer message through a communication line And as I told you first we will review these Some basic notion that have been developed in classical information theory and then we will generalize these ideas Into the context of quantum information and we will introduce the notion of quantum capacities of of a quantum channel and basically we will study what is the efficiency of Communication when you try to send classical message through a quantum channel or when you try to send quantum Information through a quantum channel and so on and so forth And in the other hand if I do have time I will like to give to discuss a specific example of a quantum communication line Which is given by the so-called Bosonic Gaussian channels model Okay, so let's discuss about quantum channel as I told you a quantum channel in our representation Just describe the evolution of a quantum system in the presence of an external environment And these basically these object will allows us to represent the propagation of quantum message from the sender to the receiver Now in these representation We assume a sort of a discreet discreet time evolution meaning that there is not real time The time that the propagation time is fixed and you only are interested in characterizing what happens to some to the input state that Alice is Preparing during the the transferring of the message for a fixed Temporal evolution which basically is associated with the time it takes from to the signal to go from Alice lab to Bob's lab Okay, so as a matter of fact there are several way in which you can characterize these kind of mappings and There are at least three equivalent Way of introducing this object. There is a physical or a string sick Representation of the channel. There is an intrinsic representation and finally there is an axiomatic Representation of this object. Let's let's start with the the first one the physical Representation so the in the physical representation of a quantum channel. Basically you you observe that the propagation of Of your messages through the environment is barely basically due to the Interaction of the message that you have selected which have been prepared say in a quantum state raw and and these these message are interacting with an external environment which is the The medium of that represent the quantum channel itself and therefore you treat the system say the carrier the information carrier and the environment as a Joint system which you can assume to be isolated from the rest of the universe according these two object will evolve through a unitary transformation through which which depends upon the Hamiltonian that basically governs the interaction between the system and the environment and There will be also some time associated with the propagation of the signal the Hamiltonian plus the time gives you a complete definition of this unitary you that define the evolution of system and environment So in this representation basically you associate you introduce the input state of the environment They the initial at the beginning of the communication of the transmission and this is the state zero Which I'm going to assume to be pure And this is always possible because you can even if the initial state of the environment was not pure at the beginning of the Transmission you can purify it by adding some extra degree of freedom that allows you to describe The initial density matrix of the environment as a pure state so you start with the joint state which is row tensor the state of the environment then these two guys evolved through the Unitary coupling and at this point because the environment is you don't have really access to the environment but only on the degree of freedom of the transmittance System which is Represented by this guy here you have to trace out the degree of freedom of E And when you do that you define the final mapping in this form this is The extrinsic or stein spring representation of your propagation So you start from row and you hand up into a new state which is fee of row which is obtained through this transformation now it turns out that these representation is can be also in Casted in a different form which is called the intrinsic or Krause representation of the of the mapping and In this representation the propagation of the signal can be fully described by introducing a collection of operators which only act on the ill-bred space of the of the carriers and these are the MK operator and Inviting here and these operators are called the Krause operator of that represent the channel and they have only a single prop they have they only have a Single property and the and the property they have is that they fulfill these Normalization condition that is if you take the the multiplication of MK with MK dagger and they use some with respect to the index K You must have the identity operator on the ill-bred space of the input signal so it turns out that for Given a quantum channel, which is described in the Stein Springs form you can also Represent it into the Krause representation in Krause form and vice versa So these two representation are kind of equivalent you can move from one to the other in the as you like So as I told you there is also an asthmatic way of Representing a quantum channel and in this axiomatic way You simply define the map in v which represent the transformation of your input into the output As a super operator that is an operator that act on the space of state Which in our case are described by density matrix It's a super operator, which is linear in the space of Linear operators of the system that is fulfilled this kind of Property here if you if you apply the action of the map into a linear combination of operators on the input then the action of fee is just given by the action can be obtained as the sum of The action of fee on the individual component of the sum you started with so it's linear It's a linear operator Also has to be trace preserving in meaning that if you compute the trace of a genetic operator theta which lives in the input Hilbert space of your system and then you Compare the trace of this object with the trace of the transform operator these two guys has to be the same Okay, and finally a quantum channel Fulfill a third hypothesis third property, let's say which is complete positivity Okay, so what does it mean to be complete positive? first of all let discuss what means to be positive so a super operator is said to be positive if It send positive operators into positive operators So if you start with an operator row which is a positive semi definite So for instance if it is a density matrix, then it's transformed version under the action of the Of the map has to be also positive and now it turns out that this property is is Is enough to guarantee that any input state of your initial little bit space is going to be transferred into a legitimate output state of the same system, which is a good thing yet Positivity is not sufficient to characterize quantum channels indeed What you need is complete positivity and complete positivity basically is Basically the similar the same requirement that we have asked here But apply not to fee but to any extension of the channel fee Into an extended Hilbert space that include the original degree of freedom plus a degree of freedom Why we do need that and The reason we do need that is the following so s suppose that s is the state Is the system that we use as a quantum carrier that we want to transfer and suppose that this guy is interacting with your environment Under the action of this channel fee. Well now consider what happens if your initial state Your initial system s is not prepared in some isolated state, but is instead part of a density matrix row as a where a is an An uncillary system which has been initially entangled with the system s well even under this condition because of the action of the Of the environment that in this case still only Interact with s but not with a we do expect that after the interaction with the environment This joint state is gonna be transformed into a state And if we want to have this property we have to ask Complete positivity so only if the channel fee is completely positive He will map joint state of s with an unciller into joint state of the two system Okay, so and This discussion about complete positivity is relevant because there are example known trivial example of Positive operator which are not completely positive and the point is that we only have to consider completely positive transformation if we want to describe the evolution under the action of an environment or Because otherwise we don't have this property and the interpretation of quantum mechanics basically down Okay, that's enough. So this is the formal representation of our quantum channel They have this different way of being represented in terms of Stein spring or Krause or axiomatic representation what Now what I would like to discuss what are the extra properties? What else we can we say about quantum channels? So suppose we have one of these transformation which represent the evolution of the system under the interaction with an environment then Because of these of the properties of these maps It turns out that these transformation are non-expansive so from the complete positivity a trace-preserving property of Of the channels it follows that these maps are Contractive what does it mean? It means that if you apply the same transformation to two different state of your initial state Say row one and row two these are two density matrix of the information carrier that you want to send Then after the interaction of the environment these two the transform state are going to be closer than the original one and when I discuss about the Of course in order to Be precise in this representation. I need to introduce a matrix in these in the space of density matrix and For instance, I'm referring here to the trace this trace distance into The trace distance. Okay, so quantum channel are non-expansive Transformation in the space of density matrix and this fact has two main consequences The first consequence is that the complete the complete positive transformation the quantum channel are typically not physically invertible What does it mean? This it means that there is this no physical process that can Reverse the action in general of a quantum channel. Of course, they can be mathematically Invertible from the mathematical point of view But the point is that there is no physical process that can implement the inverse the inverse Transformation that we are talking about because the inverse transformation is going to be also Contractive so it cannot undo this kind of behavior the second consequence That follows from the fact that quantum channel and are not expensive as to do with the fact that Everyone or each one of these channels Admit at least a fixed point. What is a fixed point a fixed point is a state a special state of your career That is left unchanged by the action of the quantum channel Okay So let's discuss it. Yep, we will discuss this property in a moment. Yeah. Thank you for the question. Yeah Okay, so yeah, it's one always Sorry. Yes Sure, just take a negative state of the Hamiltonian and the other state of the Hamiltonian will be left unchanged by the evolution by the unitary evolution induced by your Hamiltonian No, it has It always has this is a genetic property any completely positive trace preserving process must have at least a fixed point and This is gonna be a density matrix. We are sorry So maybe wish I should have been a little bit more precise when I discuss the evolution of open quantum system I'm always refer to state as density matrix. Okay? Why time-dependent? There is no time dependence here as I told you we fix the evolution time Okay, and we study for a given Temporal evolution of the interaction the mapping between the input and the output Okay, so sorry just a moment We try to be a little bit more precise I cannot hear you Sorry, yes It's not easy to to to to describe it so it's not simple to to find a direct And there is not way a simple way to connect the Krause representation of the channel With the fixed point of the channel itself Yeah, yeah No, it's not unique you can have more than a single fixed point. It depends on the channel. Let me just give you an example Yeah Okay, so a trivial example of a quantum channel is a unitary transformation So this transformation here is simply what you have when you don't interact with an environment with an environment Okay, so your system will evolve Through this kind of mapping where V is a unitary operator. This is just the evolution of an isolated system Yeah Now if you have a mapping of this form, of course the time has been fixed Okay, clearly you have infinitely many fixed point So just take a generic eigenstate of V And this guy is gonna be a fixed point Yeah Now just a moment So in that kind of example just take psi Which is an eigenvector of V Okay, because this is this is unitary this guy is just a phase because unitary operator of just you know eigenvalues of that form therefore when you do apply The mapping to it you get psi Because the phase that you get here cancel out with a face that you get here. That's kind of trivial. Isn't it? Yeah, so any state of this form is gonna be a fixed point But not only those you can just take convex combination of these objects and you still will have Fixed points. Yeah Yeah, for more general there is a theorem that tells you that there exists at least always a fixed point I'm not proving the theorem, but I'm telling you that there is a theorem that proves That for any CPT there exists at least one fixed point. That's a fact Okay, you may not believe in it, but it's a fact Okay, so now Okay If you try to solve that then I will continue okay in the blackboard so this isn't one example of Of a quantum channel, but this is not of course just a trivial example other example of quantum channel for instance is given by An object of that form so you take row and you map it into something like p of row plus one minus p Trace of row tensor the identity divided by d So this is a CPT map which With some probability p Doesn't change the initial state of your system and with complementary probability one minus p p is a probability Transform the state into of course trace of row is just the identity It's just one transforming to a complete mixed state So this is a partially depolarizing channel Okay, with some probability just throw away The state that you have and replace it with a completely mixed state and this guy is CPT and For instance this object admit as a fixed point The identity operator of course so if you apply Fee of identity D This is just mapped into the identity and in this case you can prove this is the only fixed point of the channel Okay, but it's just an example if you have more complex as an example than that you still have a fixed point Okay, so Let's discuss other example So there of course there are many different Example of quantum channels. This is the unitary channel This is the partially depolarizing channel and as an extra example of a quantum channel I can discuss about Entanglement breaking channel Okay, so what is an entanglement breaking channel an entanglement breaking channel fee is CPT transformation one of those guys that we have introduced before which has the following property So of course he talks on a system s But let's assume that We have prepared the system s into Some initial state row as a Which share some entanglement with An incident system a Okay, so let's see what happens in this case and now we evolve this object through the action of the CPT map fee and this guy is associated with the interaction of the environment of s with With s but nothing happens to hay because a is supposed not to interact with the environment that is tampering the dynamics of s According this object will be transformed into a new state Which is given by fee tensor the Identity channel acting on a on row as a this is something that we already have seen when we were discussing The CPT property and now the channel is set to be entanglement breaking if for all possible choice of the input state row as a When you look at its output counterpart this guy has no entanglement no entanglement so An entanglement breaking channel basically is a channel which is so noisy that No matter what is the input state you Inject into this process what you get at the hand is a state where no entanglement has survived Okay, so this is a special Instance of of a quantum channel of course is a very noisy channel Which tends to deteriorate the quantum coherence that you have in your system now? This set of state of this special subset of channels We know it is pretty much very well characterized and For instance, we know that this They can be described There is a theorem by shore Rousskay and I Don't remember the third guy. I think it's one of the order they keep but I'm not sure okay They have proven that In a quantum channel is entanglement breaking if at only if we can represent the action of this channel as The two-step process so this channel here, which is entanglement breaking Is entanglement breaking if and only if we can represent this transformation as the following process first we perform some measurement on this guy and The measurement is going to be a POVM. I'm going to introduce the notion of POVM In the next lecture is let's say is just a generalized measurement That takes the state that enter into the system and produce some classical output. This is a classical output Okay, meaning that is just some measurement that you have performed on the system and you get some number Yeah Yeah It's it's for the moment is just a Measurement, I don't care if it is selective or not And the point is that when you get this number here you use this number to prepare to trigger a State preparation device. So this is a state preparation device that takes this classical information and depending on this input J Classical input J prepare some output state row J Okay, and of course the measurement We average with respect to the this measurement process. In other words, we don't have access to this classical information Okay, so in this case in this sense is not selective Any quantum channel of this form is gonna be entanglement breaking channel and vice versa for this reason because of this representation entanglement breaking channel are also said to be crypto Classical in the sense that there is a classical communication line Which goes which is behind the representation of the channel itself? Okay Okay, so these are just example of quantum channel. I need my slides Yeah, you think so because the computer is is dead Yeah So that's a problem, you know Yeah, yeah, I can continue with the blackboard, but if I have some power is maybe it's better Yeah, yeah, you do okay, okay, so I Will go I will continue with the blackboard. Yeah, I mean the middle of a crisis because apparently my computer is dead anyway Yeah, exactly Anyway So what else we can say about quantum channels? So we have said they are contractive. They have admit fixed points and Now it's time to discuss about composition rules perfect okay composition rules of Quantum channels, okay, so let's see Let's see one and fitu be CPT Transformations So let's say they are two Quantum channels like these guys that they have introduced here then you can construct a new map Fee which is just given by the convex combination of the two guys So things like this where P is Is the probability so the convex combination of quantum channels is yet a quantum channel Okay So this property you can prove it and the way you prove it is simply to show that by showing that if this guy Are completely positive then also these guys completely positive interest preserving you can do that Okay, so now What this means it means that the set of quantum channel that acts on a given system is a convex channel form a convex is close under Convex combination, okay, so the way This is composition rules number one composition rules number two is the following suppose again Fee one and fitu are quantum channel acting on a given system then you can create a new channel by simply composing the two Something like you can create a new channel Fee one two by acting first on the system with the channel two Okay, and then after that acting on the system with the channel Fee one the resulting map we just represented as Fee one compose Fee two and it turns out is also CPT is CPT So it's a legitimate Quantum transformation It does work. That's good. Okay. Sorry about that Okay, good. Okay. So good Okay Okay, thank you so good so I can go back to my slides so This is the I was just introducing the concatenation property here of quantum channel and So you can compose quantum channel to form a new one And that means that the set of CPT is form a semi group Which is not necessary a billion in the sense that if you reverse the way you compose these two guys Not necessary you obtain the same channel and this has to do with the non-commutativity of quantum mechanics, of course and It's a semi group not a group just because we have already seen that CPT in general don't admit an inverse So you may have the identity operator Element which is given by the identity channel, but you don't have the inverse for all possible transformation By the way, how much time do is? 15 minutes, okay, so good and finally We can also define the tensor product of quantum channels meaning that if you have two channels that act Independently on two systems a fee one acting on system one and fee two acting on system two then you can define The tensor product of these two guys as fee one tensor fee two and also this object is going to be CPT So these are the way you can compose channels Okay, so that's enough for the the formal represent way of representing quantum channels, so So Now let's consider the case in which you do have one of these objects that allows you to transfer in a noisy way possibly Signals from one guy hell is to the other one Bob and this is for instance is a realistic representation of an extreme example of a quantum channel that was realized a few years ago during this experiment in which people were just sending light pulses from this observatory here to to the one on Tenerife for a very long distance and Of course the the signal that were transferred in this process were affected by the noise by the medium which Which somehow destroy the the information that you try to send from hell is to Bob and this kind of mapping Independently from the fact it's this kind of complex because we have to deal with the propagation of light pulses through free air and so on and so forth can be still described in terms of One of one of those maps that we have analyzed before and now in this kind of a situation You have a model for a common of a quantum channel that describe the communication Line and you can ask yourself how reliably can we use this kind of this process here in order to transfer messages from hell is to Bob and in particular you can ask yourself how Efficient is a communication line of this form in transferring classical message from hell is to Bob now in order to answer this question I need to Go a step back and describe And and and introduce the notion of of of channel capacity and for doing for for for this purpose, I need to Remind you what Was done in the context of classical information theory. So in classical information theory you You have you can ask similar question to the one that we were considering now But of course the the the situation here is slightly more Simpler is simpler than than before so first of all in classical information theory You don't have quantum state. Of course, you have random variables that you use to encode information from From hell is to Bob. So you have some input random variable x which is That ellis as over which ellis as the control and then these random variable is transferred to Bob But because of the noise He will not receive x as ellis as prepare it, but it will receive a transformed version of that symbol of that random variable according to some mapping P y given x which represent the action of a noisy Channel in the classical representation. So basically these conditional probability by py of x Which represent the statistical error that the propagation? Introducing to the communication are the Formal equivalent of the CPT map that we have described before while the random variable represent the formal equivalent of the density matrix That we are using in quantum in quantum information now and again. You can ask yourself. What is the How efficiently you can transfer message from hell is to Bob When you are in the presence of some non-trivial noise acting in the communication now now So an example of a channel of this form is given for instance by these binary symmetric channel model where x the Input variable selected by hell is a bit and why the input variable received by Bob is also a bit But the two guys are related through a statistic process in which with some probability P Bob receive exactly this the symbol that helis are selected and with probability one minus P instead you receive the opposite symbol and of course if you have a channel of this form Bob when Bob receive one symbol it cannot Decide with certainty whether the zero was indeed a zero or it was a one Which was transformed by the noise into a zero and again The question is how can we improve the efficiency of the communication line in this context and of course in classical Information there are strategies that allows you to overcome this kind of noise and these strategies have to do with error Correction and in error correction and classical error correction basically what you do you use redundancy You copy the same signal many many times and you send it through the start channel The same symbol and at the hand of the transmission Bob simply Depending on the number of zero and one that you receive by using say a majority voting technique can Decide whether or not the helis was trying to send a single zero or a single one Be simply because the signal is repeated many many many many times Okay, so this is very effective, but there is a but And the problem is that you can improve the quality of the transmission of information But you have to pay a price and the price is that in order to send the symbol a single sing a single bit Say a single zero now you are using the channel more than a single time In this case you are using the channel three times in order to decrease the error probability of the transmission and these of course Introduce the noise automatically gives you Introduce the notion of rate Okay, so the rate of the communication now is is given by the number of bits that you can transfer divided by the number of channel uses of Uses of the channel that you are that are needed in order to transfer that number of bits So this is the real figure of merit that you want that you have to consider if you want to Determine how good is the the communication in this kind of model because it is true That you can decrease the error probability But you are increasing the number of passes that you have to send in order to decrease such number of bits and The rate is the good figure of merit that you you may consider now Of course, there are different error quantum error Correcting strategies that you can try and each one of them will have a different kind of rate And of course the thing that you are aiming at is the optimal Rate Okay, and the optimal rate that is the highest value of this number are that you see there gives you exactly the definition of Channel of capacity of your quantum channel So the capacity of a classical channel is the maximum achievable Rate that you can obtain by achievable rate we means a rate that I ensure Zero error zero error probability Probability in the limit in which you are sending many many many many some messages So you have to take a limit with respect to n where n is the number of Message that you want to send them from helis to Bob and okay, so The the classical capacity of a channel is formally defined by that awful expression in which you have to optimize with respect to all possible Encoding and decoding procedure and then you have to take a limit over the number of channel uses that are involved into the process Sorry Epsilon epsilon is the error probability. Sorry. So you have to take this Epsilon is the error pro is an upper bound you put on the error probability of the decoding of the process You have to take the limit in which the error probability goes to zero a limit where the number of channel uses goes to infinity and then you Compute the rate and you take the optimal the maximum value of this of this object here Okay, so it's an awful expression Really an awful expression, but likely enough we do have good theorems that allows us to explicitly compute this These these value here and the theorem that allows us to compute this quantity is the noisy channel coding theorem by Shannon So Shannon was able to show that these awful Optimization limit that you have here these leave these awful limited that you see here Admit a very simple and elegant and compact expression, which is the one that they providing you here So the capacity of a channel is given by the maximum Mutual information of the channel itself where you maximize with respect to all possible choice of the of the probability of Generating a given input in sending a given in a symbol into the channel the mutual information I think was already introduced by Martin a few lectures ago So I don't need to discuss about that but the things that you should appreciate when you see this formula is that you start from this amazing complex Quantity here to a relatively simple and elegant expression here and this theorem was proven by by channel Yes Yeah, yes These these quantity here Okay, so this quantity so here. I'm just Using a kind of compact notation for this symbol here represent a coding procedure a Coding procedure is simply defined by a number of possible codewords that you can select at the beginning and A measurement that you have to perform at the head at the at the out at the receiving stage So this is a coding procedure each coding procedure see Is associated with an average error probability that you can compute? Okay, and then you evaluate these these quantity here And you must consider those coding that ensure an error probability Which is below this a threshold epsilon and then you have to take the limit with respect to epsilon then to n it's not simple to compute and But this is a formally well-defined Okay So error probability associated with a coding Okay Okay, so Let's see Okay, so I'm not sure I can finish The lecture today because I lost too much time Because of the problem with the computer, but I will at least Try to finish this part, okay And the part I want to discuss is how to generalize this notion of classical capacity in the case where your Channel is given by a quantum channel. So the guy that we have seen before for instance, okay So suppose now you have a quantum channel that allows you to transfer Quantum pulses say photons from helis to Bob Okay, and the mapping phi represents the evolution of the propagation of the signal to the channel This takes the place the role of the conditional probability in the classical model now We can use this object to transfer classical information by simply encoding the classical message represented by some classical random variable X into the state of The pulses that are transferred into the communication line. So there is a Classical to quantum encoding stage which takes place on a list side where you prepare some input state of the carriers You send the car is through the channel and then Bob received the transformed version of these states and Here Bob does what we may call a quantum to Classical decoding procedure, which is basically a measurement. So Bob received the state Measure it somehow trying to guess what was the symbol X that Bob the tail is was trying to send to him So if you look at the input output connection at this stage You get you start with a classical message, which is a random variables And you end up with a classical output, which is the result of the measurement that Bob is performing But in between there is the quantum part of the communication which has to do with this quantum Classical to quantum encoding and quantum to classical in the coding procedure well now Basically, we can simply apply the same result that we have obtained for the classical Line because at least from this point to this point the channel is completely classical in classical input classical output so when you fix the encoding here and the qc encoding the coding here basically you have and you have a fixed model of Quantum channel what you end up is just a classical channel and for this classical channel we can construct we can compute the classical capacity and You can construct you can compute the classical capacity of this object But the point is now that we can optimize the rate that we obtain not only in terms of the choice of the input X and the Data processing of the output Y that we receive But we can also optimize with respect to all possible classical to quantum encoding and quantum to classical decoding Okay, so you can define a notion of classical capacity also in this case exactly as you do before but now the strategy that you are optimizing with Here are not just classical strategy, but include these State preparation and measurement procedure that you can try to optimize Okay now It is important to notice that already at this level. There is an important difference between the classical model and the quantum model because In optimizing with respect to the classical to quantum Encoding there are at least two different Things that you can do so for instance you can create You can prepare your the initial state of your carriers into some separable state like here Or you can prepare and tangle You can entangle the different pulses that you sent to the channel and this is called an entanglement coding and Depending whether or not you include this separable encoding into the optimization that you are performing here You obtain two different definition of the classical capacity of a quantum channel so this one is the C1 capacity or level capacity of the channel which is the Maximum rate of information you can send if you restrict yourself Into the process where you prepare your input carriers into separable inputs not entangled input And then you have the full capacity of the channel while instead you are allowing yourself for the use of Entangled state as input state of your communication line. So for instance like this massive superposition here Okay, so how much time? Yeah, so okay, so I think I will stop here and we continue tomorrow and that we'll see how Depending on do these two different choices you can have you out how to compute this quantity here and What else we can do with with quantum channel, so I apologize for the trouble. I had with a computer I hope tomorrow is gonna be like that. Okay. Thank you


Hello friends. I'm Sanjay Gupta. I welcome you on Sanjay Gupta Tech School. In this video, I'm going to demonstrate you how you can use LIST in Apex. So first we are going to cover the introduction part of LIST and then I will be explaining each and every method that you can use with the help of LIST in Apex. So I will be demonstrating them as well. So if you want to watch more videos related to Apex and Salesforce, so I have provided the complete playlist link in the description of this video. So you can use that link to watch other videos as well. So now coming on to the list. So basically a list is an ordered collection of elements. Then each element of LIST has an index for identification and index position of first element is always zero. So you can put element on a particular index as well and you can fetch values from a particular index as well. Then LIST can be nested and even multi-dimensional. Elements can be of any data type like primitives, collections, S objects, user defined types and built-in types. User defined types are like if you have created any class in Apex, so you can use that class with LIST as well. And built-in type means if class is already implemented, so you can use that as well. So now I'm going to show you a few examples like how we can create the list. So here you can see string and integer both are primitive data types. So we are creating LIST of string and LIST of integers. Then at second point you can see LIST of accounts, so it is basically referring to S object. Fourth is also referring to S object but here we are also using SOQL. So we are querying the data from the Salesforce object. So these are some examples. So let me open developer console and I'm going to create a new class naming it as LIST demo. So inside this class I'm going to create a method, so public void naming it as LIST method. So inside this method I'm going to create all these things. So let's say I'm going to create LIST of string naming it as strList equals to new LIST of string. So this way you can create instances for LIST of string type. Now, if you want to add values to it, so we need to move to methods. So first I'm going to explain methods with the help of string then we will also cover how we can use S objects with LIST. So here you can see first method is add and inside parenthesis we need to pass the element that we need to add. So I'm going to write strList.add and inside bracket in single quotes I'm writing India. Like semicolon. Now I need to add one more value. So I'm adding USA. Now I need to show whatever I added into LIST. So I'm using system.debug strList equals to then plus strList. So this way you can debug whatever values are available in your list. So I'm saving this. Now to execute this class directly we can open execute anonymous window. So here we can create instance of this list demo class and we can execute the method which is mentioned inside it. Because right now we are not implementing any kind of trigger or we are not calling this class from any automation. So I'm going to create instance of list demo. So let's say L equals to new list demo. Now L.List method, right? And I'm checking this checkbox as true so that debug log will be opened automatically. And I need to execute both the statements so I'm not selecting them. I'm just clicking on execute. So you will see debug log will be opened automatically. And I'm clicking on debug only. So here you can see strList equals to India comma USA. So both the values are available here. So this way this first method I hope you understood how we can add values to list. Now if you want to add value to a particular index. Now let's try this. So I am adding strList dot add. So right now what is happening on zero index India is available on one index USA is available. So I'm putting new value on one index like UK. Right. And again I'm opening anonymous window and executing this code. And clicking on debug only. So here you can see on zero index right now India is as it is on one index now UK is available and on two index USA is available. So if you insert a particular value on a particular index and if that index is having value already so that will be shifted to further indexes. So this way you can add value to a particular index as well. Now add all. So if you want to add values of a list into another list, then you can use this at all. So this is our first list. Let me create one more. So list of string strList two equals to new list of string. Right. Now I'm going to values into it. So strList two. Let's say Australia. I'm adding Australia into it. And then strList two dot add all. And here I'm passing strList. And I'm going to print both. So this way I created two lists. I'm going to execute them. So two results will be there. So let's see what happens in output. So clicking on debug only. So here you can see list strList one is displaying India UK of USA and strList two is displaying Australia then India UK USA. So Australia we provided as a value with add method and with add all method we provided strList. So complete list is added to another list. So this way you can use add all methods so that you can add a list into another list. Now at fourth number we have one more method at all, which is receiving set. So in my another video that is after this list in the playlist. In that video I will be explaining the complete use of set, but here for demonstration purpose. I'm just creating a simple set and I will be adding that set into a list. So I'm creating set of string str set equals to new set of string, right. Now I need to add values to this. So here I'm adding values for set str set dot add. Let's say Japan and strList two dot add all str set, right. So I'm just printing both the list and let's comment this one. I'm just printing list two because I'm adding set into list two. So I'm displaying that only I'm closing this output executing this. So now you will see the output so debug only so here you can see Australia India UK USA was added through list Japan is added through set and Australia we added individually. Then str list we added then str set we added. So this way you can add complete list to another list. Even you can add complete set to another list as well. Right. So I hope you understood all the all these things. Now we have clear methods. So let's say we are printing str list to here. And I'm calling str list two dot clear here and I'm copying this and pasting it here. So before doing clear, we are going to print the result and after calling the clear method we are going to print str list two. So let's see what happens. So one more time I'm executing this. Sorry, I just forgot to save this. I'm saving this. So here you can see str list two is displaying the values in that is displayed on line number 16. But at line number 18 you can see list is empty. Why so because we applied this str list two dot clear. So clear automatically raises all the values which are available inside the list. Then we have clone. So that is to create copy of the list. So let me erase all these things and removing this set as well. So now you can see we have values inside str list only. And I'm going to clone this to str list two. Right. And I'm going to display both str list and str list two. So both will be displaying same results. So I'm executing this. So this way you can copy content of a list into another. You can see both are displaying same results. So this way you can use clone method. Then we have contains method. So contains check whether a particular element is available inside list or not. So it returns Boolean value through false. So Boolean result. Then result equals to str dot contains. And here I'm passing India. And here I'm, let me comment these. So I'm commenting these both and I'm using one more system. And here I'm going to print result equals to. Yes. Right. So if India is available in str list, then areas will be printing true. Otherwise falls. So let's execute this. So right now India is available. So let's hope it will print true. So it is printing true. And if I'm typing India one and now if I execute this, you will see it will be displaying false. So this way you can check whether a particular element is available inside the list or not. So all these operations I am performing on string, but you can do these for other as well for integers for doubles for s objects. So as per the data type, which you are using inside list, you can use the methods. Then equals. So we can compare two lists. So, so str list is containing three values, but str list two is empty. So let's see what happens. It also returns Boolean value. So it will be displaying false because both lists are not having same values. Right. So this way I hope you understood all these methods, how you can use them. Now we have next method as get index. So I'm preventing this. I'm going to use this people. So now I'm going to use that method inside the debug. Right. So we need to use get method based on index. So str list dot get and I'm passing index number two. So what will happen? It will display the value which is available on index number two inside this list. Right. And I'm commenting this as well. So on zero two index, we have USA because on one index we have UK on zero index, we have India. So on two index USA is available. So that will be displayed. So now I'm executing this debug only. So yeah, you can see str list is displaying USA only. So this is working as well. Now get S object type. So for this purpose, I need to use S object. So I'm removing all these statements. This is basically SOQL. So through SOQL, I am just querying ID and name of account object and limit one is telling only one record will be queried and that will be stored into S object. So now I'm going to use this method gas S object, get S object type. So here I'm going to use object type and after plus I'm going to use that. So I'm using SOBG dot get S object type. So here you can see this method is available. So this is a generic variable SOBG which is of type S object. And it is retrieving or receiving values related to account object through this SOQL. So automatically this method will identify type of this SOBG like which type of values are available in this. So I'm saving this executing this. So now we need to check the S object type as output. So it is executed. So in debug only, you can see object type is equals to account because we queried account. If I put contact here, if I put contact here, and if I again executed, so it will be showing object type as contact. So this way, if you are using generic variable and storing specific type of object values into that variable, so you can check which type of records are available in that SOBG, generic origin. So you can use get S object type method for that. Then index of, so here we can identify index of a particular value. So I'm making comment and system dot debug. I'm just calling str list dot index of India. So it will tell us like on which index India is available and it will search for the first occurrence only. If India is available multiple times, so first occurrence will be printed. So here you can see it is showing zero because India is available on 0th index. It is working well. Then is empty. So we can check it as well. So str list dot is empty. And you can also store this result into Boolean variable and then you can display that Boolean and you can directly display this in system dot debug as well. And you can also use this str list dot is empty into if condition. So sometimes in our code, we need to check whether list is containing some values or not. So in that case, in if condition, we apply this condition. Sorry, this method. So I am executing this. This empty method is very useful to check whether list is containing some content or not. So here you can see it is showing false because our list is not empty. Then remove a particular index. So this I think you can use at your own. Then call remove and pass the index. So that index value will be removed from the list. Then set is similar to add this one second method. We need to pass the index and list element that will be set on that particular index. Then size and sort. We can use so str list dot size. I'm executing this so it will tell us the size of the list. So this you can also use. So it is showing three because list is having three values India, USA and UK. Then we can have sort as well. So right now it is printing India, then UK and then USA. So it is already sorted. So let me put that here. So on zero index we have Z then on one index we have UK and then USA. So I'm saving this. So let's see. Okay. So it is giving me one error. What it is saying method does not exist or incorrect signature. Why debug. Okay. So I need to resolve this error. It means we cannot directly print this. We need to store this into another list. And then we can display that list. Okay. This is also incorrect. So what we need to do, we need to use this first str list dot sort and then we can use this here. So now it will work. You don't need to store it into another list. So I'm executing this. So this way you can also see if you are using any method incorrectly. So automatically error will be thrown. So UK USA and Z India. So India was on zero index, but now it is displaying on last index. So this way you can sort values which are available inside your list. So this way all the methods are completed. Now let me show you how you can use these accounts. So we already used it here, but now let's use it from the beginning. So list of account ACC list equals to new list of account. So this way you can create list of S object. Now ACC list equals to then you can write select ID name from account and you can say limit. Let's say three. So three requests will be required. Right. And if you want to display those so you can write system dot debug. And here you can write the ACC list. Then plus ACC list. So this will display as it is. And here this ACC list is a variable of this list of account type that we are going to display. So this way you can you can create list of S objects as well. So this is very important. So while doing any operation, we mostly prefer this kind of thing because whenever you are going to perform any DML operation like insert update, so then forcefully you need to create list because those DML operation can only be performed on the list. So now I'm going to execute this. So you will see three records of account will be displayed as output because we have provided limit as three. So this is first ID name, then second ID name. And if I scroll it, so you can see third ID name. So three account records are displayed through this list. So this way you can use S objects with the help of list. And if you have created any class, if you have any, if you have created any class, so you can use that class as well. So inside these angular brackets, you can put the name of class, then you can create a variable, then new list of. So this way you can do, right? So these things you can do as well. So I hope you understood about the list through this video. So I tried to explain the theoretical concepts, then these examples I demoed you like how we can query the list as well through objects, how we can use primitive. So similar to string, you can use integer as well. And all these methods I demoed you one by one. So you can practice them in your org so that you can get familiar how we can use list in a picks. So in my another video, I will be explaining about set and map. So watch those videos as well so that you can understand all three collections list, set and map. All three collections are important if you are working in Salesforce as a developer. So I hope this video will help you to learn about the list. If you want to watch more Salesforce related videos, you can go to description of this video and there you can find links of various playlist. So you can follow them. Thank you for watching this video.


Are you swallowing the water? Yes sir. You did? Okay. Was this a still wait or was it? Okay.   His mouth is normal. Okay. No rashes? No rashes. His joints are all okay? Okay. I'm slightly underwhelmed. I'm worried that I'm missing something.  Okay. Okay. So I need to do, I couldn't do it. And that's it? So. Full breath sounds? Yes. And his heart sounds normal? Yep. Okay. Perfect.  Perfect. It's fine. Good. Perfect. You've got a very, very fine. We have pep dough. We have pep dough, but I don't think we actually want to stop them up right now with this stuff. And people should not be going there to drink the water or participate in any festivities. Get over.


This is Sally. Sally is 17 years old and she and her family live on under $2 per day in the developing world. She has heard about a service that uses cell phones to provide access to bank accounts and she'd like to sign up. Oh, sorry, Sally. A miner can't open a bank account or buy a SIM card. You'll have to wait until you legally become an adult to use this service. Johnny is 18 years old, so he won't have that problem, won't you, Johnny? He would also like a phone to start mobile banking. That will be $20, the mobile agent says. Like so many of his peers, Johnny does not have enough money for even a basic handset, so he heads back home dejected. Jenny is old enough to receive a cell phone and has the money for one. Having cleared all those hurdles, she's ready to start mobile banking. Here you go, says the mobile agent. Oh, by the way, cell coverage is rather spotty around here. Some of our customers have had trouble sending or receiving money. Thought you might like to know. Since Jenny lives in a rural area with poor infrastructure, it's difficult for her to trust that her money is safe and accessible, and therefore difficult to use the service, even though she has overcome other barriers. The youth population in the developing world that could benefit from financial inclusion is massive. 83% of the world's 1.2 billion young people aged 15 to 24 live in developing nations. Around 50% of these live on less than $2 a day, but just 10% save using formal financial services. Based on the high and still growing rate of mobile access, the mobile phone could offer a revolutionary way to get financial services to youth across the developing world. Mobile phones have the potential to provide remote access to bank accounts, send and receive money, facilitate saving and accessing credit, or even financial education through texts and games. Plus, kids just love new technology. Their potential for economic development through technology is much greater than their parents or grandparents. If we start creating smart policy today, someday Sally, Johnny and Jenny might be able to tap into the promise of mobile phones and give many more youth a path to a financially stable future.


This is U.S. energy use in the year 2010 from the Energy Information Agency of the United States government, and what you'll notice is that renewables over here make up about 8% of the mix, similar to nuclear used for electric power, and then you have all of these different fossil fuels, coal 21% dropping a little bit, natural gas 26% and rising a little bit, and the biggest thing has been reliance on petroleum, what's usually called oil. If you add these together, it's 84%. For the world, for most other countries, this dominance by fossil fuels also happens in those other countries, and for the world as a whole. We really are fossil fueled.