agentsclimarketplace

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

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill matlab-ldr-matrix-decomposition

Assembled 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

  1. Input: A real matrix X.
  2. Output: Matrices L, D, R such that X approximates L * D * R.
  3. 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).
  4. 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.
  5. 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.
  6. 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

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.