FFC

Detect symmetries when generating code with FErari optimizations

Registered by Anders Logg

FErari does not detect symmetries. FFC should detect symmetries (directly from UFL) and take advantage of symmetries when generating code. For example, the symmetric Laplacian comes out as:

A[1] = -0.5*G0_0_0 - 0.5*G0_1_0;
    A[5] = 0.5*G0_0_1;
    A[0] = -A[1] + 0.5*G0_0_1 + 0.5*G0_1_1;
    A[7] = 0.5*G0_1_0;
    A[6] = -A[7] - 0.5*G0_1_1;
    A[8] = 0.5*G0_1_1;
    A[2] = -A[8] - 0.5*G0_0_1;
    A[4] = 0.5*G0_0_0;
    A[3] = -A[4] - 0.5*G0_0_1;

A[1] should be equal to A[3] etc.

Thanks to Francis Russel for reporting.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Low
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.