Matrix characteristic decomposition method based on analog calculation circuit

By splitting the matrix feature decomposition problem into two sub-problems: matrix inversion and eigenvalue judgment, the variable resistive memory cross-point array and the feedback loop of the operational amplifier is used to realize the synchronous solution of the matrix eigenvalue and eigenvector, solving the problem of inefficient computing efficiency in the prior art and reducing energy consumption.

CN120541355APending Publication Date: 2025-08-26PEKING UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510627274.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-15
Publication Date
2025-08-26

AI Technical Summary

Technical Problem

Existing analog computing circuits cannot simultaneously implement the solution of matrix eigenvalues ​​and eigenvectors, resulting in low computational efficiency and high energy consumption.

Method used

The matrix feature decomposition problem is split into two sub-problems: matrix inversion and eigenvalue judgment. The feedback loop composed of a variable resistive memory cross-point array and an operational amplifier is used to break a feedback loop and program the scanning and monitoring voltage to achieve synchronous solution of eigenvalue and eigenvectors.

Benefits of technology

It realizes efficient solution of matrix eigenvalues ​​and eigenvectors, reduces calculation complexity and energy consumption, and improves calculation efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120541355A_ABST
    Figure CN120541355A_ABST
Patent Text Reader

Abstract

The invention provides a matrix characteristic decomposition method based on an analog calculation circuit, which is characterized in that a matrix characteristic decomposition problem is split into two sub-problems of matrix inversion and characteristic value judgment, an analog calculation circuit architecture is solved based on a matrix characteristic vector, one feedback loop is disconnected, and an input voltage is connected to one end close to an array, so that the matrix characteristic decomposition problem is solved. The other end is used as monitoring voltage; specifically, main characteristic decomposition and full characteristic decomposition analog calculation circuits of a matrix are realized. And changing the conductivity change direction and change step length by programming and scanning the mapped conductivity value of the memory, judging whether the current scanning value corresponds to a matrix characteristic value or not by using the monitoring voltage, and simultaneously obtaining a characteristic vector corresponding to the characteristic value. According to the method, the characteristic decomposition process with high time complexity is avoided, the calculation efficiency is improved, and the method has important significance and wide development prospects in scenes needing to depend on characteristic value solution, such as machine learning, signal processing and image processing.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the fields of semiconductors, analog computing, and integrated circuits, and specifically relates to a matrix eigendecomposition method based on a variable resistance memory cross-point array analog computing circuit and an implementation method for solving eigenpairs by programming and scanning the conductance of a specific area memory. Background Art

[0002] Solving for matrix eigenvalues ​​and eigenvectors is a common and important matrix operation. Its solution is a core operation in tasks such as machine learning, image processing, and signal processing, and has a wide range of applications. Traditional digital computers face cubic time complexity and frequent data movement in matrix eigendecomposition tasks. The limitations of the von Neumann architecture place enormous pressure on computers in terms of data calculation, movement, and storage. Recently, analog computing based on variable resistance memory cross-point arrays has become an emerging computing paradigm. By mapping data to the conductance values ​​of the memory, operations can be performed directly on the memory cells, avoiding data movement and reducing energy consumption.

[0003] An open-loop, in-memory computation crosspoint array based on variable resistance memory can naturally accelerate matrix-vector multiplication (MVM) by leveraging Ohm's law and Kirchhoff's current law. By connecting the crosspoint array and an operational amplifier to form a loop, a one-step solution to matrix inversion and pseudo-inversion problems, as well as the analog computational solution of the principal eigenvector, is achieved through analog computation. However, existing analog computation circuits cannot simultaneously solve matrix eigenvalues ​​and eigenvectors, necessitating an efficient analog computational solution for matrix eigenpairs. Summary of the Invention

[0004] In response to the problems existing in the above-mentioned prior art, the present invention proposes a method for splitting the eigendecomposition problem into two sub-problems: matrix inversion and eigenvalue judgment. The method is based on an analog computing circuit architecture for solving matrix eigenvectors, which includes a variable resistive memory cross-point array and an operational amplifier connected to form a feedback loop. By disconnecting one of the feedback loops and using a programmed scanning conductance method to observe the changing behavior of the monitoring voltage on the disconnected feedback loop, the simultaneous solution of the matrix eigenvalues ​​and eigenvectors is achieved.

[0005] The principles of the present invention are as follows:

[0006] For an n-order matrix A, the value λ is its eigenvalue if and only if there exists a non-zero vector x=(x1,x2,…,x n ) T ∈R n ×1, so that (A-λI)x=0, where the vector x is the eigenvector corresponding to λ. The above matrix equation can be written as:

[0007]

[0008] Since the eigenvector elements only depend on each other in a proportional relationship, we can assume that x1 is known and perform the following equivalent transformation on the system of equations:

[0009]

[0010] Write the 2nd to nth rows of the system of equations in matrix form:

[0011]

[0012] Equation (3) shows that for a given λ and x1, solving the remaining eigenvectors (x2, x3, ..., x n ) T This is equivalent to solving the corresponding matrix inversion problem, so it can be implemented using the existing matrix inversion simulation calculation circuit structure. When the 2nd to nth rows in the equation group (2) are naturally established in the circuit, it is only necessary to determine the first row of equations (a 11 -λ)x1+a 12 x2+…+a 1n x n = 0, we can verify whether the current λ is the eigenvalue of matrix A. By programming and scanning λ and its mapped conductance value, and observing the change of monitoring voltage in real time, we can achieve the simultaneous solution of eigenvalue and eigenvector.

[0013] The technical solutions of the present invention are as follows:

[0014] A matrix eigendecomposition method based on an analog computing circuit is characterized by splitting the matrix decomposition problem into two sub-problems: matrix inversion and eigenvalue determination. Using the proportional relationship between the components of the eigenvector, the value of one component and the initial eigenvalue of the matrix are first given, and the solution of the remaining components is converted into a matrix inversion problem. At the same time, the validity of the eigenvalue determination equation is used to determine whether the current eigenvalue is the eigenvalue of the matrix. The method is based on solving the eigenvector of the matrix in an analog computing circuit comprising a feedback loop formed by a variable resistive memory cross-point array and an operational amplifier. By disconnecting one of the feedback loops, that is, disconnecting one column of its output voltage, and connecting an input voltage near one end of the array, the other end is used as a monitoring voltage. If the monitoring voltage cannot meet the requirements for accurate eigenvalue solution, other monitoring voltages can be added according to the eigenvalue determination equation. The changes in the monitoring voltages are observed in real time. The method scans the mapped memory conductance values ​​in a programmed manner, changes the direction of conductance change and the change step size, and obtains an eigenvalue that meets the eigenvalue determination equation. The input voltage at this time and the array column line voltage where the loop is not disconnected together constitute the eigenvector corresponding to the eigenvalue.

[0015] On the one hand, the matrix eigendecomposition method based on the analog computing circuit is used to solve the principal eigendecomposition problem of an n×n positive definite matrix A. The matrix eigenvector solving analog computing circuit is a principal eigendecomposition analog computing circuit, which includes an n×n scale variable resistance memory cross-point array, n×1 variable resistance memory transconductors, n×1 operational amplifiers and n×1 amplifiers with a gain of -1; the matrix A and the value λ are mapped to the analog conductance values ​​of the n×n array and the n×1 transconductor in the circuit, and the row line of each row of the n×n variable resistance memory cross-point array is connected to the inverting input terminal of an operational amplifier, and the operational amplifier The positive input of the amplifier is grounded, one output is connected to the input of the operational amplifier through a variable resistance memory transconductance in parallel, the other output is connected to the input of an amplifier with a gain of -1, and the output of the amplifier with a gain of -1 is connected to the column line of the variable resistance memory cross point array to form a feedback loop; by disconnecting one of the feedback loops, that is, disconnecting one of the column lines from the output of the amplifier with a gain of -1, connecting the disconnected array column line to the input voltage x1, and the output voltage x0 of the disconnected amplifier with a gain of -1 is used as the monitoring voltage, the unbroken feedback open loop array column line voltage (x2, x3, ..., x n ) T To solve the matrix inversion problem corresponding to the eigenvector problem, we program and scan λ and its mapping memory conductance value to measure the change of the monitoring voltage. When the difference between the monitoring voltage x0 and the input voltage x1 is within the tolerance value, the corresponding λ is the main eigenvalue of the matrix A. At this time, the input voltage and the array column line voltage without disconnecting the feedback loop together constitute the main eigenvector of the matrix (x1, x2, x3, ..., xn ) T .

[0016] Furthermore, in the principal eigenvalue decomposition simulation calculation circuit, the specific steps of programming and scanning λ and its mapped memory conductance value and solving the eigenvalue pair include:

[0017] (1) Construct a principal eigenvalue decomposition simulation circuit and set the initial value of λ as the upper bound of the principal eigenvalue according to the matrix information;

[0018] (2) Mapping the corresponding memory conductance value according to the current λ and running the circuit;

[0019] (3) Measure the monitoring voltage value x0(n), where n is the number of measurements;

[0020] (4) If the voltage difference between the monitoring voltage and the input voltage is within the tolerance value tol, the current λ is considered to be the main eigenvalue of the matrix A, and the current λ and the eigenvector voltage (x1, x2, ..., x n ) T , end the process; if the voltage difference between the monitoring voltage and the input voltage is not within the tolerance value, then:

[0021] (4-1) If n = 1, set the initial direction of conductance change to decrease λ, maintain the step size of λ and change in the same direction as the current conductance change, and execute step (2);

[0022] (4-2) If n ≥ 2, the direction and step size of the next λ change are determined according to the sign of [x0(n)-x1]*[x0(n-1)-x1]. If [x0(n)-x1]*[x0(n-1)-x1]>0, λ maintains the step size and changes in the same direction as the current conductance change, and executes step (2). If [x0(n)-x1]*[x0(n-1)-x1]<0, λ decreases the step size and changes in the opposite direction of the current conductance change, and executes step (2).

[0023] After continuously scanning and iterating λ, the current λ that satisfies the voltage difference between the monitoring voltage and the input voltage is within the tolerance value tol is regarded as the main eigenvalue of the matrix A. The calculation error of the main eigenvalue and the main eigenvector is positively correlated with the size of tol.

[0024] On the other hand, the matrix eigendecomposition method based on the analog computing circuit is used to solve the full eigendecomposition problem of an n×n symmetric matrix A; the matrix eigenvector solving analog computing circuit is a full eigendecomposition analog computing circuit, including two n×n variable resistance memory cross-point arrays, two n×1 variable resistance memory cross-point diagonal arrays, n×1 transconductance resistors, and n×2 operational amplifiers; the matrix A is mapped to the analog conductance value of the two n×n variable resistance memory cross-point arrays, and the absolute value of the numerical value λ |λ| is mapped to the conductance value of the two n×1 variable resistance memory cross-point diagonal arrays; the first variable resistance memory cross-point array and the first variable resistance memory cross-point diagonal array are the first group, and the second variable resistance memory cross-point array and the second variable resistance memory cross-point diagonal array are the second group, forming two groups of combination arrays; when λ<0, in each group of combination arrays, the column lines of the two arrays are directly connected and the row lines of the two arrays are directly connected, and when λ≥0, the two arrays in the first group of combination arrays are directly connected. The column lines are connected by amplifiers with a gain of -1, and the row lines are directly connected. The row lines of the two arrays in the second group of combination arrays are connected by amplifiers with a gain of -1, and the column lines are directly connected. The two groups of combination arrays are connected by two groups of operational amplifiers to form a feedback loop. Each group of operational amplifiers includes n×1 operational amplifiers. The non-inverting input terminal of one group of operational amplifiers is grounded, the inverting input terminal is connected to the row line of the first group of combination arrays, and the output terminal is connected to the row line of the second group of combination arrays. The other output terminal is connected to the inverting input terminal through a variable resistance memory transconductance resistor. The conductance value of the variable resistance memory is the same and is uniformly mapped and set by an adjustable constant c. The inverting input terminal of the other group of operational amplifiers is grounded, the non-inverting input terminal is connected to the column line of the second group of combination arrays, and the output terminal is connected to the column line of the first group of combination arrays. The output terminal of one of the operational amplifiers is disconnected from the corresponding array column line. The output voltage x0 of the disconnected operational amplifier is used as the first monitoring voltage. The disconnected array column line is connected to the input voltage x1. The output terminal voltage V of the operational amplifier with transconductance connected to the row line corresponding to the column line where the input voltage x1 is located is c1 As the second monitoring voltage; by programming and scanning λ and its mapping memory conductance value, measuring the change of the monitoring voltage, when λ is close to the matrix eigenvalue, the first monitoring voltage x0 changes from the lowest power supply voltage (negative power supply of the operational amplifier) ​​V- to the highest power supply voltage, and vice versa, it is at the lowest voltage position; when the difference between the first monitoring voltage x0 and V- is greater than the voltage sensitivity value, and the second monitoring voltage V c1 When the absolute value of λ is within the tolerance value, it is determined as the eigenvalue of the matrix. At this time, the input voltage x1 and the output voltages of the n-1 operational amplifiers whose inverting input terminals are grounded and whose feedback loops are not disconnected together constitute the eigenvector (x1, x2, x3, ..., x n ) T.

[0025] Furthermore, in the full eigendecomposition analog calculation circuit, the specific steps of programming and scanning λ and its mapped memory conductance value and solving the eigenpair include:

[0026] (1) After constructing the full eigendecomposition simulation calculation circuit, based on the information of the matrix and the known eigenvalues, λ is initially set to any value within the possible range of the target eigenvalue, and the initial direction of the conductance change is set to reduce λ;

[0027] (2) Mapping the corresponding memory conductance value according to the current λ and running the circuit;

[0028] (3) Measure two monitoring voltages x0(n) and V c1 (n), n is the number of measurements;

[0029] (4) If x0(n) and V - The distance is greater than the voltage sensitivity value tol1 and V c1 (n) and V c1 (n-1) are of different signs, it means that there is an eigenvalue within the range of this change; if one of the conditions is not met, it means that there is no eigenvalue within the range of this change; V - It is the negative power supply of the operational amplifier, that is, the lowest supply voltage of the operational amplifier;

[0030] (5-1) If there is no eigenvalue within the range of change, change λ to the same direction and step length, and execute step (2);

[0031] (5-2) When there is a characteristic value within the range of variation: If V c1 If the absolute value of (n) is within the tolerance value tol2, the eigenvalue and eigenvector are read, and the calculation error is positively correlated with the size of tol2, and the process ends; if it is outside the tolerance value, the step size of λ is reduced in the opposite direction and step (2) is executed;

[0032] After continuous scanning and iteration λ, the monitoring voltage x0(n) and V - The voltage difference is greater than the voltage sensitivity value tol1, V c1 (N) and V c1 (n-1) different signs, and V c1 (n) The absolute value of λ within the tolerance value tol2 is regarded as the main eigenvalue of matrix A. The calculation error of the main eigenvalue and the main eigenvector is positively correlated with the size of tol2.

[0033] The beneficial effects of the present invention are as follows:

[0034] This invention proposes splitting the eigendecomposition problem into two subproblems: matrix inversion and eigenvalue determination. This approach employs an analog computational circuit structure based on a variable resistance memory crosspoint array to solve the matrix principal eigenvector and left inverse circuit. By disconnecting one feedback loop and observing the change in the monitored voltage on the disconnected feedback loop, the eigenvalue determination and eigenvector determination are achieved through programmatic scanning of the memory conductance in a specific region. Compared to traditional digital computer-based solutions to eigendecomposition, this invention utilizes analog computational circuits to solve eigenvalues ​​and eigenvectors, avoiding the high time complexity of eigendecomposition and offering advantages in terms of power consumption and time. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] Figure 1 The principle of the present invention is to split the eigendecomposition problem into two sub-problems: matrix inversion and eigenvalue determination;

[0036] Figure 2 This is the analog computing circuit construction process of the method of the present invention;

[0037] Figure 3 This is a schematic diagram of a main characteristic decomposition simulation calculation circuit of the present invention;

[0038] Figure 4 It is a flow chart of the programmed scanning conductance method used in the main characteristic decomposition analog calculation circuit of the present invention;

[0039] Figure 5 This is a schematic diagram of the full feature decomposition simulation calculation circuit of the present invention;

[0040] Figure 6 It is a flow chart of the programmed scanning conductance method adopted by the full feature decomposition analog calculation circuit of the present invention. DETAILED DESCRIPTION

[0041] In order to more clearly illustrate the purpose, technical solutions and advantages of the present invention, the following is a further detailed description with reference to the accompanying drawings. The description herein is only used to explain the present invention and is not intended to limit the present invention.

[0042] Figure 1 This is the principle of the present invention to split the eigendecomposition problem into two sub-problems: matrix inversion and eigenvalue judgment. For the eigendecomposition problem of an n-order positive definite matrix (A-λI)x=0, where x=(x1,x2,…,x n ) T , you can press Figure 1 The process is transformed into a matrix inversion problem, that is, given x1, (A-λI)x=0 is transformed into an eigenvalue judgment equation (a 11 -λ)x1+a 12 x2+…+a 1n x n =0 and the eigenvector to solve the equation:

[0043]

[0044] When the eigenvalue judgment equation is established, the corresponding λ is the eigenvalue of the matrix; at the same time, the eigenvector solution equation can be directly implemented with the help of existing analog computing circuits, thereby synchronously obtaining the corresponding eigenvector.

[0045] Figure 2 This is an analog computing circuit construction process based on the method of the present invention, which solves the problem that the matrix eigenvector solving analog computing circuit cannot solve the matrix eigenvalue. For a matrix eigenvector solving analog computing circuit, the architecture requires disconnecting one column of its output voltage, connecting the input voltage near one end of the array, and using the other end as the monitoring voltage. If the monitoring voltage cannot meet the requirements for accurately solving the eigenvalue, other monitoring voltages can be added according to the eigenvalue judgment equation. The changes in the monitoring voltage are observed in real time, and the λ that meets the eigenvalue judgment equation is obtained by programming and scanning λ and the conductivity value of the memory to which it is mapped, thereby solving the matrix eigenvalue and eigenvector at the same time.

[0046] Figure 3 The schematic diagram of the analog calculation circuit of the main characteristic decomposition of the present invention is used to solve an n×n positive definite matrix A=(a ij ) is a principal eigenvalue decomposition problem. The principal eigenvalue decomposition analog computing circuit consists of an n×n variable resistance memory cross-point array, n×1 variable resistance memory transconductors, n×1 operational amplifiers, and n×1 amplifiers with a gain of -1. The matrix A and the value λ are mapped to the analog conductance values ​​of the n×n array and the n×1 transconductance in the circuit. The row line of each row of the n×n variable resistance memory cross-point array is connected to the inverting input of an operational amplifier, the non-inverting input of the operational amplifier is grounded, one output end is connected to the input end of the operational amplifier through a variable resistance memory transconductance in parallel, and the other output end is connected to the input end of an amplifier with a gain of -1. The output end of the amplifier with a gain of -1 is connected to the column line of the variable resistance memory cross-point array, forming n feedback loops. One of the feedback loops is disconnected, and the output voltage of the amplifier with a gain of -1 on the disconnected feedback loop is used as the monitoring voltage. Let its voltage be the monitoring voltage x0. The array column line on the disconnected feedback loop is connected to the input voltage x1; the column line voltages on the remaining n-1 undisconnected feedback loops are the output voltages (x2, x3, ..., x n ) T The conductance values ​​of the variable resistance memories connected in parallel are the same and are all uniformly mapped and set by the current λ value; let the row line current of the i-th (1≤i≤n) row be I i After the circuit stabilizes, the output voltage of the first operational amplifier is -x0, and the output voltage of the i-th (2≤i≤n) operational amplifier is -xi .but

[0047] I1=a 11 x1+a 12 x2+…+a 1n x n -λx0

[0048]

[0049] After the circuit is stable, the operational amplifier works in the linear region, with the characteristics of virtual short and virtual open. At this time, for the input voltage x1 and λ, the stabilized voltage (x2, x3, ..., x n ) T The equation is given by solving the eigenvector. When x0=x1, I1=0, which is equivalent to the eigenvalue judgment equation, so the current λ is the main eigenvalue of the matrix A, (x1, x2,…, x n ) T is the principal eigenvector. Due to stability reasons, when λ maps the principal eigenvalue, the circuit converges, but when λ maps other eigenvalues, the circuit does not converge. Therefore, this circuit can only be decomposed by the principal eigenvalue.

[0050] Figure 4 The program scanning eigenvalue conductance method process of the main characteristic decomposition circuit is shown. The specific process is as follows: (1) Figure 3 After constructing the circuit schematic diagram of the principal eigenvalue decomposition simulation, λ is initialized as an upper bound of the principal eigenvalue according to the matrix information, for example It's an upper bound Map the corresponding memory conductance value according to the current λ and run the circuit. (3) Obtain the monitoring voltage measurement value x0(n), where n is the number of measurements. (4) If the voltage difference between the monitoring voltage and the input voltage is within the tolerance value tol, read the eigenvalue and eigenvector and end the process; if the voltage difference between the monitoring voltage and the input voltage is not within the tolerance value: (4-1) If n = 1, it is advisable to set the initial direction of the conductance change to reduce λ, then λ maintains the step size and changes in the same direction as this conductance change, and execute step (2); (4-2) If n ≥ 2, then according to [x0(n)-x1]*[x0(n-1)-x1] The sign determines the direction and step size of the next λ change. If [x0(n)-x1]*[x0(n-1)-x1]>0, there is no main eigenvalue within the current λ change range, and λ maintains the step size and changes in the same direction as the current conductance change, and executes step (2); if [x0(n)-x1]*[x0(n-1)-x1]<0, the current λ change range contains the main eigenvalue, and λ reduces the step size and changes in the opposite direction of the current conductance change, and executes step (2). When the difference between the monitoring voltage and the input voltage is within the tolerance value, the current λ is considered to be the main eigenvalue of the matrix, and the input voltage and output voltage constitute the main eigenvector of the matrix. The final solution error is positively correlated with the tol value. By programming the scanning λ method, the change behavior of the monitoring voltage is paid attention to determine the size of the main eigenvalue, and then the main eigenvector is obtained simultaneously by combining the input voltage and the output voltage.

[0051] Figure 5This is a schematic diagram of an analog computation circuit for implementing matrix full eigendecomposition (FID) according to the present invention, used to solve the FID problem for an n×n symmetric matrix A. The circuit comprises two n×n variable resistance memory (VRAM) crosspoint arrays, two n×1 VRAM crosspoint diagonal arrays, n×1 transconductance resistors, n×2 operational amplifiers, and n×2 amplifiers with a gain of -1. A is mapped to the analog conductance values ​​of the two n×n VRAM crosspoint arrays, and the current absolute value of λ, |λ|, is mapped to the conductance values ​​of the two n×1 VRAM crosspoint diagonal arrays. The first VRAM crosspoint array and the first VRAM crosspoint diagonal array form a first group, while the second VRAM crosspoint array and the second VRAM crosspoint diagonal array form a second group, forming two combined arrays. When λ≥0, the column lines of the two arrays in the first group of combined arrays are connected by an amplifier with a gain of -1, and the row lines are directly connected. The row lines of the two arrays in the second group of combined arrays are connected by an amplifier with a gain of -1, and the column lines are directly connected. When λ<0, the column lines and row lines of the two arrays in each group are directly connected. The present invention is specifically described using the case of λ≥0 as an example. Two groups of combination arrays are connected by two groups of operational amplifiers to form a feedback loop. Each group of operational amplifiers includes n×1 operational amplifiers. The non-inverting input terminal of one group of operational amplifiers is grounded, the inverting input terminal is connected to the row line of the first group of combination arrays, the output terminal is connected to the row line of the second group of combination arrays, and the output terminal is further connected to the inverting input terminal through a variable resistance memory transconductance resistor. The variable resistance memory transconductance has the same conductance value and is uniformly mapped and set by an adjustable constant c; the inverting input terminal of the other group of operational amplifiers is grounded, the non-inverting input terminal is connected to the column line of the second group of combination arrays, and the output terminal is connected to the column line of the first group of combination arrays. The output terminal of one of the operational amplifiers is disconnected from the corresponding column line, and its output voltage is used as a monitoring voltage, which is set as the first monitoring voltage x0. The voltage of the column line that is disconnected in the array and does not form a feedback loop is connected to the input voltage x1; the output terminal voltages of the remaining n-1 operational amplifiers are set to the output voltage (x2, x3, ..., x n ) T When the circuit is stable, the output voltage of the amplifier with a gain of -1 is inverse to the input voltage, and the operational amplifier works in the linear region to meet the virtual short and virtual open characteristics. Let the current vector flowing through the n transconductance resistors c be I c =(I c1 ,I c2 ,…,I cn ) T The output voltage vector of the operational amplifier connected in parallel with these transconductance resistors is V c =(V c1 ,V c2 ,…,V cn )T .

[0052] Then these equations satisfy

[0053] I c =A1x1+(λI)1(-x1)+A 2:n x 2:n +(λI) 2:n (-x 2:n ) (4)

[0054]

[0055] A1 refers to the first column of A. 2:n Refers to the second to nth columns of A. Equation (4) refers to the current accumulated on the transconductance resistors of each row by the voltage on the column line of the first combination array on the left through the resistive memory. Equation (5) refers to the relationship between the output voltage, transconductance resistance and current obtained by using the virtual short characteristic of the operational amplifier. Equation (6) refers to the current gathered at the input of the positive feedback operational amplifier by the second combination array on the right under the action of the row line voltage, and then the current sum is zero obtained by using the virtual short characteristic of the operational amplifier. Combining the above three equations, we can get:

[0056]

[0057] This is actually equivalent to a left inverse problem:

[0058]

[0059] If the first column of the left array and its voltage x1 are regarded as equivalent current sources and the first column of the right array is ignored, the entire circuit can be regarded as a left inverse solution circuit. When λ corresponds to the matrix eigenvalue, the vector (x1, x2, ..., x n ) T That is the eigenvector corresponding to λ. The output voltage of the positive feedback operational amplifier connected to the first column line of the right array is used as the monitoring voltage. When λ approaches the matrix eigenvalue, the input voltage of the operational amplifier gradually changes from negative to positive. Since the inverting input of the operational amplifier is grounded, the monitoring voltage x0 changes from the lowest power supply voltage (negative power supply of the operational amplifier) ​​V- to the highest power supply voltage. Therefore, this signal can be regarded as the basis for judging whether λ is the eigenvalue of the matrix. Since the x0 change window has a certain width, in order to improve the accuracy of the eigenvalue calculation, the present invention uses V c The first vector in As the second monitoring voltage to improve the accuracy of eigenvalue solution, when λ is close to the matrix eigenvalue, V c1 is close to zero, and this characteristic can be used to improve the accuracy of the final eigendecomposition calculation.

[0060] Figure 6This is the process of programming scanning eigenvalue conductance method for full eigendecomposition analog calculation circuit. The specific process is as follows: (1) According to Figure 5 The circuit is constructed by fully decomposing the analog calculation circuit. Based on the information of the matrix and the known eigenvalues, λ is initially set to any value within the possible range of the target eigenvalue. It is recommended to set the initial direction of the conductance change to reduce λ. (2) The corresponding memory conductance value is mapped according to the current λ and the circuit is run. (3) The two monitoring voltages x0(n) and V are measured. c1 (n), n is the number of measurements. (4) If x0(n) and V - The distance is greater than the voltage sensitivity value tol1 and V c1 (n) and V c1 (n-1) has a different sign, it means that there is a characteristic value within the range of this change (set V c1 (0)=0); If one of the conditions is not met, it means that there is no eigenvalue within the range of change. (5-1) If there is no eigenvalue within the range of change, then change λ to the same direction and the same step length. (5-2) When there is an eigenvalue within the range of change: If V c1 If the absolute value of (n) is within the tolerance value tol2, the eigenvalue and eigenvector are read, and the calculation error is positively correlated with the size of tol2, and the process ends; if it is outside the tolerance value, the step size of λ is reduced in the opposite direction to obtain a more accurate eigenvalue.

[0061] The embodiments described above are not intended to limit the present invention. Any person skilled in the art may make various changes and modifications without departing from the spirit and scope of the present invention. Therefore, the scope of protection of the present invention is defined by the scope of the claims.

Claims

1. A matrix eigendecomposition method based on analog computing circuit, characterized in that: By splitting the matrix eigendecomposition problem into two sub-problems, matrix inversion and eigenvalue determination, and utilizing the proportional relationship between the components of the eigenvector, the value of one of the components and the initial eigenvalue of the matrix are first given, and the solution of the remaining components is converted into a matrix inversion problem. At the same time, the validity of the eigenvalue determination equation is used to determine whether the current eigenvalue is the eigenvalue of the matrix. The method is based on a matrix eigenvector solution analog computing circuit architecture including a variable resistive memory cross-point array and an operational amplifier connected to form a feedback loop. By disconnecting one of the feedback loops, that is, disconnecting one column of its output voltage, and connecting an input voltage near one end of the array, the other end is used as a monitoring voltage. If the monitoring voltage cannot meet the requirements for accurate eigenvalue solution, other monitoring voltages can be added according to the eigenvalue determination equation. The changes in the monitoring voltages are observed in real time. The method of scanning the mapped memory conductance value is programmed to change the direction and step size of the conductance change to obtain the eigenvalue that meets the eigenvalue determination equation. The input voltage at this time and the array column line voltage where the loop is not disconnected together constitute the eigenvector corresponding to the eigenvalue.

2. The method according to claim 1, wherein The method is used to solve the principal eigenvalue decomposition problem of an n×n positive definite matrix A, wherein the matrix eigenvalue solving analog calculation circuit is a principal eigenvalue decomposition analog calculation circuit, comprising an n×n variable resistance memory cross-point array, n×1 variable resistance memory transconductors, n×1 operational amplifiers, and n×1 amplifiers with a gain of -1; The matrix A and the value λ are mapped to the analog conductance values ​​of the n×n array and the n×1 transconductance in the circuit. The row line of each row of the n×n variable resistance memory cross-point array is connected to the inverting input terminal of an operational amplifier, the non-inverting input terminal of the operational amplifier is grounded, one output terminal is connected to the input terminal of the operational amplifier through a variable resistance memory transconductance in parallel, and the other output terminal is connected to the input terminal of an amplifier with a gain of -1. The output terminal of the amplifier with a gain of -1 is connected to the column line of the variable resistance memory cross-point array to form a feedback loop; by disconnecting one of the feedback loops, that is, disconnecting one of the column lines from the output terminal of the amplifier with a gain of -1, the disconnected array column line is connected to the input voltage x1, and the output voltage x0 of the disconnected amplifier with a gain of -1 is used as the monitoring voltage. The column line voltages (x2, x3, ..., x n ) T To solve the matrix inversion problem corresponding to the eigenvector problem, we program and scan λ and its mapping memory conductance value to measure the change of the monitoring voltage. When the difference between the monitoring voltage x0 and the input voltage x1 is within the tolerance value, the corresponding λ is the main eigenvalue of the matrix A. At this time, the input voltage and the array column line voltage without disconnecting the feedback loop together constitute the main eigenvector of the matrix (x1, x2, x3, ..., x n ) T .

3. The method according to claim 2, wherein In the principal eigenvalue decomposition simulation calculation circuit, the specific steps of programming and scanning λ and its mapped memory conductance value and solving the eigenvalue pair include: (1) Construct a principal eigenvalue decomposition simulation circuit and set the initial value of λ as the upper bound of the principal eigenvalue according to the matrix information; (2) Mapping the corresponding memory conductance value according to the current λ and running the circuit; (3) Measure the monitoring voltage value x0(n), where n is the number of measurements; (4) If the voltage difference between the monitoring voltage and the input voltage is within the tolerance value tol, the current λ is considered to be the main eigenvalue of the matrix A, and the current λ and the eigenvector voltage (x1, x2, ..., x n ) T , end the process; if the voltage difference between the monitoring voltage and the input voltage is not within the tolerance value, then: (4-1) If n = 1, set the initial direction of conductance change to decrease λ, maintain the step size of λ and change in the same direction as the current conductance change, and execute step (2); (4-2) If n ≥ 2, the direction and step size of the next λ change are determined according to the sign of [x0(n)-x1]*[x0(n-1)-x1]. If [x0(n)-x1]*[x0(n-1)-x1]>0, then λ maintains the step size and changes in the same direction as the current conductance change, and executes step (2). If [x0(n)-x1]*[0(n-1)-x1]<0, then λ decreases the step size and changes in the opposite direction of the current conductance change, and executes step (2). After continuously scanning and iterating λ, the current λ that satisfies the voltage difference between the monitoring voltage and the input voltage is within the tolerance value tol is regarded as the main eigenvalue of the matrix A. The calculation error of the main eigenvalue and the main eigenvector is positively correlated with the size of tol.

4. The method according to claim 1, wherein Used to solve the full eigendecomposition problem of an n×n symmetric matrix A; the matrix eigenvector solving analog calculation circuit is a full eigendecomposition analog calculation circuit, including two n×n variable resistance memory cross-point arrays, two n×1 variable resistance memory cross-point diagonal arrays, n×1 transconductance resistors, and n×2 operational amplifiers; the matrix A is mapped to the analog conductance values ​​of the two n×n variable resistance memory cross-point arrays, and the absolute value of the value λ |λ| is mapped to the conductance value of the two n×1 variable resistance memory cross-point diagonal arrays; The first variable resistance memory cross point array and the first variable resistance memory cross point diagonal array are a first group, and the second variable resistance memory cross point array and the second variable resistance memory cross point diagonal array are a second group, forming two groups of combination arrays; when λ<0, in each combination array, the column lines of the two arrays are directly connected, and the row lines of the two arrays are directly connected; when λ≥0, the column lines of the two arrays in the first combination array are connected by an amplifier with a gain of -1, and the row lines are directly connected; the row lines of the two arrays in the second combination array are connected by an amplifier with a gain of -1, and the column lines are directly connected; the two combination arrays are connected by two groups of operational amplifiers to form a feedback loop, each group of operational amplifiers includes n×1 operational amplifiers, and one group of operational amplifiers The non-inverting input terminal is grounded, the inverting input terminal is connected to the row line of the first group of combination arrays, the output terminal is connected to the row line of the second group of combination arrays, and the other output terminal is connected to the inverting input terminal through a variable resistance memory transconductance resistor. The conductance values ​​of the variable resistance memory are the same and are all uniformly mapped and set by an adjustable constant c; the inverting input terminal of another group of operational amplifiers is grounded, the non-inverting input terminal is connected to the column line of the second group of combination arrays, and the output terminal is connected to the column line of the first group of combination arrays. The output terminal of one of the operational amplifiers is disconnected from the corresponding array column line, and the output voltage x0 of the disconnected operational amplifier is used as the first monitoring voltage. The disconnected array column line is connected to the input voltage x1; the output terminal voltage V of the operational amplifier with transconductance connected to the row line corresponding to the column line where the input voltage x1 is located is c1 As the second monitoring voltage; by programming and scanning λ and its mapping memory conductance value, measuring the change of the monitoring voltage, when λ is close to the matrix eigenvalue, the first monitoring voltage x0 changes from the lowest supply voltage V - Towards the highest supply voltage, and vice versa at the lowest voltage position. When the first monitoring voltage x0 is equal to V - The difference is greater than the voltage sensitivity value, and the second monitoring voltage V c1 When the absolute value of λ is within the tolerance value, it is determined as the eigenvalue of the matrix. At this time, the input voltage x1 and the output voltages of the n-1 operational amplifiers whose inverting input terminals are grounded and whose feedback loops are not disconnected together constitute the eigenvector (x1, x2, x3, ..., x n ) T .

5. The method according to claim 4, wherein In the full eigendecomposition analog calculation circuit, the specific steps of programming and scanning λ and its mapped memory conductance value and solving the eigenpair include: (1) After constructing the full eigendecomposition simulation calculation circuit, based on the information of the matrix and the known eigenvalues, λ is initially set to any value within the possible range of the target eigenvalue, and the initial direction of the conductance change is set to reduce λ; (2) Mapping the corresponding memory conductance value according to the current λ and running the circuit; (3) Measure two monitoring voltages x0(n) and V c1 (n), n is the number of measurements; (4) If x0(n) and V - The distance is greater than the voltage sensitivity value tol1 and V c1 (n) and V c1 (n-1) are of different signs, it means that the characteristic value exists within the range of this change. If one of the conditions is not met, it means that the characteristic value does not exist within the range of this change. V- is the negative power supply of the operational amplifier, that is, the minimum supply voltage of the operational amplifier. (5-1) If there is no eigenvalue within the range of change, change λ to the same direction and step length, and execute step (2); (5-2) When there is a characteristic value within the range of variation: If V c1 If the absolute value of (n) is within the tolerance value tol2, the eigenvalue and eigenvector are read, and the calculation error is positively correlated with the size of tol2, and the process ends; if it is outside the tolerance value, the step size of λ is reduced in the opposite direction and step (2) is executed; After continuous scanning and iteration λ, the monitoring voltage x0(n) and V - The voltage difference is greater than the voltage sensitivity value tol1, V c1 (n) and V c1 (n-1) different signs, and V c1 (n) The absolute value of λ within the tolerance value tol2 is regarded as the main eigenvalue of matrix A. The calculation error of the main eigenvalue and the main eigenvector is positively correlated with the size of tol2.