FFC

Detect symmetries when generating code with FErari optimizations

Registered by Anders Logg on 2012-07-19

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.