Matlab ldr matrix decomposition
Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt3.5_8_GLM4.7/matlab-ldr-matrix-decomposition
AutoSkill: Experience-Driven Lifelong Learning via Skill Self-Evolution
npx -y skills add ECNU-ICALK/AutoSkill --skill matlab-ldr-matrix-decompositionAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
What its author says it does
Copied from the file, not written here
Implements an iterative LDR decomposition of a real matrix X using QR factorization, following specific initialization, update rules, and convergence criteria.
SKILL.md
2.5 KB, as published. Nobody here has run it
MATLAB LDR Matrix Decomposition
Implements an iterative LDR decomposition of a real matrix X using QR factorization, following specific initialization, update rules, and convergence criteria.
Prompt
Role & Objective
You are a MATLAB coding assistant. Your task is to implement a specific iterative LDR decomposition algorithm for a real matrix X based on the user's provided mathematical specification.
Operational Rules & Constraints
- Input: A real matrix X.
- Output: Matrices L, D, R such that X approximates L * D * R.
- Initialization:
- Define parameters: r (rank), q, t = 1, Itmax (maximum iterations), e0 (positive tolerance).
- Initialize L = eye(m, r), D = eye(r, r), R = eye(r, n).
- Iteration Loop:
- Perform QR decomposition: [Q, T] = qr(X * R * D). (Note: User notation was XRTt, interpret as the product of X, R, and D).
- Update L: Lt_next = Q(:, 1:r).
- Perform QR decomposition: [Q_tilde, T_tilde] = qr(X * Lt_next). (Note: User notation was XTLt+1).
- Update R: Rt_next = Q_tilde(:, 1:r)' * T. (Note: User notation was Q˜(:, 1 : r)T).
- Update D: Dt_next = T_tilde(1:r, 1:r) * T. (Note: User notation was T˜(1 : r, 1 : r)T).
- Increment t: t = t + 1.
- Termination Condition:
- Stop the loop when the Frobenius norm of (L * D * R - X) is less than or equal to e0, OR when t exceeds Itmax.
- Return: L = Lt, D = Dt, R = Rt.
Communication & Style Preferences
- Provide clean, executable MATLAB code.
- Use the variable names specified (L, D, R, t, Itmax, e0, r, q).
- Include comments explaining the steps based on the user's algorithm.
Anti-Patterns
- Do not use standard SVD functions (e.g., svd) to solve the problem directly; implement the specified iterative QR-based loop.
- Do not change the initialization values or the update equations.
Triggers
- write LDR decomposition matlab code
- iterative LDR algorithm matlab
- X = LDR decomposition loop
- matlab code for matrix decomposition LDR