Skip to content

Change order for the 2nd order derivative tensors #154

@jlperla

Description

@jlperla

The storage order for the A_2 and C_2 3-tensors should be reversed. This shoudl be done in conjunction with SciML/DifferenceEquations.jl#54

Instead of a 3-tensor, the natural datastructure is a vector of matrices, which will make the calculation of likelihoods/etc. and simulatino much more convenient. Basically we want to have the transformation of the current structure from C_2 to C_2_new and then get rid of the old C_2.

C_2_new = [C_2[i, :, :] for i in 1:size(C_2, 1)] 

To do this,

        fill!(c.C_2, zero(eltype(c.C_2)))  # reset as we need to use `+=`
        for i in 1:n_z
            for j in 1:n_y
                c.C_2[i, :, :] += 0.5 * c.Q[i, j] * c.g_xx[j, :, :]
            end
        end

becomes something like

        fill!.(c.C_2, Ref(zero(eltype(c.C_2[1])))  # reset as we need to use `+=`
        for i in 1:n_z
            for j in 1:n_y
                c.C_2[i]+= 0.5 * c.Q[i, j] * c.g_xx[j, :, :]
            end
        end

After this is done, SciML/DifferenceEquations.jl#54 can then be sync'd up - which might be required for the full unit tests to pass.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions